Fix pool_start_query and pool_virtual_master_db_node_id
authorTatsuo Ishii <ishii at sraoss.co.jp>
Wed, 14 Jul 2010 08:10:55 +0000 (08:10 +0000)
committerTatsuo Ishii <ishii at sraoss.co.jp>
Wed, 14 Jul 2010 08:10:55 +0000 (08:10 +0000)
so that they use REAL_MASTER_NODE_ID, rather than 0.
This is neccessary when primary node (0) goes down.

pool_query_context.c

index fcb4a2a8a87daa30eaefedb6b8e4ecfd418e6087..61e4aa3a0f17571bdce6b71112b21bddec45f2dc 100644 (file)
@@ -88,6 +88,7 @@ void pool_start_query(POOL_QUERY_CONTEXT *query_context, char *query, Node *node
                session_context = pool_get_session_context();
                query_context->original_query = query;
                query_context->parse_tree = node;
+               query_context->virtual_master_node_id = REAL_MASTER_NODE_ID;
                pool_set_query_in_progress();
                session_context->query_context = query_context;
        }
@@ -221,7 +222,9 @@ int pool_virtual_master_db_node_id(void)
 
        sc = pool_get_session_context();
        if (!sc)
-               return 0;
+       {
+               return REAL_MASTER_NODE_ID;
+       }
 
        if (sc->query_context)
        {