pgpool2.git / summary / log / commit / refs

commit    52626a47bc8b65482d8f63f76d0001c38cb59e47
Author:   Tatsuo Ishii <ishii at sraoss.co.jp>
Date:     Wed Oct 21 14:41:10 2009 +0000

    Do not execute CREATE/DROP TABLE SPACE inside a transaction block.
    
    Teach do_command() that S (parameter status) should be ignored
    until receiving command complete.


pool_process_query.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pool_process_query.c b/pool_process_query.c index d2b59b2cd..4b79944b0 100644 --- a/pool_process_query.c +++ b/pool_process_query.c @@ -2639,9 +2639,9 @@ static POOL_STATUS do_command(POOL_CONNECTION *frontend, POOL_CONNECTION *backen } len = ntohl(len) - 4; - if (kind != 'N' && kind != 'E' && kind != 'C') + if (kind != 'N' && kind != 'E' && kind != 'S' && kind != 'C') { - pool_error("do_command: error, kind is not N, E or C(%02x)", kind); + pool_error("do_command: error, kind is not N, E, S or C(%02x)", kind); return POOL_END; } string = pool_read2(backend, len); @@ -4205,8 +4205,10 @@ static bool is_internal_transaction_needed(Node *node) T_ExecuteStmt, T_DeallocateStmt, T_DeclareCursorStmt, - T_CreateTableSpaceStmt, +/* + T_CreateTableSpaceStmt, CREATE/DROP TABLE SPACE cannot execute inside a transaction block T_DropTableSpaceStmt, +*/ T_AlterObjectSchemaStmt, T_AlterOwnerStmt, T_DropOwnedStmt, [parent: 1d54ab33edf1]