pgpool2.git / summary / log / commit / refs

commit    178b115f28a8f5e7d1812908a1e503def135c7ed
Author:   Toshihiro Kitagawa <kitagawa at sraoss.co.jp>
Date:     Fri Jul 23 04:57:15 2010 +0000

    Fix read_kind_from_backend so that it check query_context exist.


pool_process_query.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pool_process_query.c b/pool_process_query.c index 273a38bb3..b597d58fd 100644 --- a/pool_process_query.c +++ b/pool_process_query.c @@ -3385,7 +3385,6 @@ POOL_STATUS read_kind_from_backend(POOL_CONNECTION *frontend, POOL_CONNECTION_PO int degenerate_node[MAX_NUM_BACKENDS]; /* degeneration requested backend list */ POOL_MEMORY_POOL *old_context = NULL; -// POOL_MEMORY_POOL *parser_context = NULL; POOL_SESSION_CONTEXT *session_context = pool_get_session_context(); POOL_QUERY_CONTEXT *query_context = session_context->query_context; @@ -3507,7 +3506,10 @@ POOL_STATUS read_kind_from_backend(POOL_CONNECTION *frontend, POOL_CONNECTION_PO if (degenerate_node_num) { old_context = pool_memory; - pool_memory = query_context->memory_context; + if (query_context) + pool_memory = query_context->memory_context; + else + pool_memory = session_context->memory_context; String *msg = init_string("kind mismatch among backends. "); @@ -3547,9 +3549,11 @@ POOL_STATUS read_kind_from_backend(POOL_CONNECTION *frontend, POOL_CONNECTION_PO List *parse_tree_list; Node *node; +#ifdef NOT_USED /* Switch to parser memory context */ -// old_context = pool_memory; -// pool_memory = parser_context; + old_context = pool_memory; + pool_memory = parser_context; +#endif parse_tree_list = raw_parser(query_string_buffer); @@ -3573,9 +3577,11 @@ POOL_STATUS read_kind_from_backend(POOL_CONNECTION *frontend, POOL_CONNECTION_PO } free_parser(); +#ifdef NOT_USED /* Switch to old memory context */ -// parser_context = pool_memory; -// pool_memory = old_context; + parser_context = pool_memory; + pool_memory = old_context; +#endif } } else [parent: bcd480518aea]