diff options
| author | Michael P | 2011-05-27 08:14:24 +0000 |
|---|---|---|
| committer | Michael P | 2011-05-30 02:40:09 +0000 |
| commit | 2c8118bade2df8636928aac73b73a2fc1e6c25cf (patch) | |
| tree | 3fe6c8b102245947cf05e58b01002aa0c5e1737c | |
| parent | 49025616ae6204a041412f5fe2204b41a5113fbf (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.c | 8 |
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 |
