pgpool2.git / summary / log / commit / refs

commit    dd8ba142aeaa9a8123a2997aa1b594fdb2da8412
Author:   Tatsuo Ishii <ishii at sraoss.co.jp>
Date:     Tue Jul 20 08:04:48 2010 +0000

    Fix is_internal_transaction_needed. Add lots of missing query type
    appeared in 9.0 (still our parser does not parse some of them).


pool_process_query.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/pool_process_query.c b/pool_process_query.c index ad667a4cf..a6ae61e88 100644 --- a/pool_process_query.c +++ b/pool_process_query.c @@ -4018,6 +4018,7 @@ int compare(const void *p1, const void *p2) static bool is_internal_transaction_needed(Node *node) { static NodeTag nodemap[] = { + T_PlannedStmt, T_InsertStmt, T_DeleteStmt, T_UpdateStmt, @@ -4026,6 +4027,9 @@ static bool is_internal_transaction_needed(Node *node) T_AlterDomainStmt, T_GrantStmt, T_GrantRoleStmt, + /* + T_AlterDefaultPrivilegesStmt, Our parser does not support yet + */ T_ClosePortalStmt, T_ClusterStmt, T_CopyStmt, @@ -4039,6 +4043,9 @@ static bool is_internal_transaction_needed(Node *node) T_CreateFunctionStmt, T_AlterFunctionStmt, T_RemoveFuncStmt, + /* + T_DoStmt, Our parser does not support yet + */ T_RenameStmt, /* ALTER AGGREGATE etc. */ T_RuleStmt, /* CREATE RULE */ T_NotifyStmt, @@ -4050,6 +4057,8 @@ static bool is_internal_transaction_needed(Node *node) /* T_CreatedbStmt, CREATE DATABASE/DROP DATABASE cannot execute inside a transaction block T_DropdbStmt, + T_VacuumStmt, + T_ExplainStmt, */ T_CreateSeqStmt, T_AlterSeqStmt, @@ -4091,7 +4100,19 @@ static bool is_internal_transaction_needed(Node *node) T_CompositeTypeStmt, /* CREATE TYPE */ T_CreateEnumStmt, T_AlterTSDictionaryStmt, - T_AlterTSConfigurationStmt + T_AlterTSConfigurationStmt, + T_CreateFdwStmt, + T_AlterFdwStmt, + T_DropFdwStmt, + T_CreateForeignServerStmt, + T_AlterForeignServerStmt, + T_DropForeignServerStmt, + T_CreateUserMappingStmt, + T_AlterUserMappingStmt, + T_DropUserMappingStmt, + /* + T_AlterTableSpaceOptionsStmt, Our parser does not support yet + */ }; if (bsearch(&nodeTag(node), nodemap, sizeof(nodemap)/sizeof(nodemap[0]), sizeof(NodeTag), compare) != NULL) [parent: d88063b7c2b2]