summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael P2011-05-27 08:14:24 +0000
committerMichael P2011-05-30 02:40:09 +0000
commit2c8118bade2df8636928aac73b73a2fc1e6c25cf (patch)
tree3fe6c8b102245947cf05e58b01002aa0c5e1737c
parent49025616ae6204a041412f5fe2204b41a5113fbf (diff)
Fix for bug 3307846: multiple INSERT with JDBC driver
This fixes issues when JDBC was used with multi INSERT such as: INSERT INTO table_name VALUES (1),(2);
-rw-r--r--src/backend/tcop/postgres.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 16998f966a..9dc1617e72 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -667,11 +667,11 @@ pg_analyze_and_rewrite(Node *parsetree, const char *query_string,
if (IS_PGXC_COORDINATOR && !IsConnFromCoord())
{
ListCell *lc;
-
+
foreach(lc, querytree_list)
{
Query *query = (Query *) lfirst(lc);
-
+
if (query->sql_statement == NULL)
query->sql_statement = pstrdup(query_string);
}
@@ -1380,7 +1380,9 @@ exec_parse_message(const char *query_string, /* string to execute */
foreach(lc, querytree_list)
{
Query *query = (Query *) lfirst(lc);
- query->sql_statement = pstrdup(query_string);
+
+ if (query->sql_statement == NULL)
+ query->sql_statement = pstrdup(query_string);
}
}
#endif