*** pool_proto_modules.c.orig 2010-02-22 12:53:11.000000000 +0900 --- pool_proto_modules.c 2010-03-09 10:09:16.000000000 +0900 *************** *** 150,155 **** --- 150,156 ---- Node *node = NULL, *node1; POOL_STATUS status; int specific_error; + int is_pgcatalog = 0; POOL_MEMORY_POOL *old_context = NULL; Portal *portal; *************** *** 245,250 **** --- 246,252 ---- /* analyze the query */ RewriteQuery *r_query = is_parallel_query(node,backend); + is_pgcatalog = r_query->is_pg_catalog; if(r_query->is_loadbalance) { *************** *** 472,478 **** in_load_balance = 1; select_in_transaction = 1; } ! /* * determine if we need to lock the table --- 474,486 ---- in_load_balance = 1; select_in_transaction = 1; } ! else if (PARALLEL_MODE && is_pgcatalog) ! { ! pool_debug("force load_balance: %d",is_pgcatalog); ! selected_slot = MASTER_NODE_ID; ! LOAD_BALANCE_STATUS(MASTER_NODE_ID) = LOAD_SELECTED; ! in_load_balance = 1; ! } /* * determine if we need to lock the table