diff options
author | Pavan Deolasee | 2014-11-06 07:52:59 +0000 |
---|---|---|
committer | Pavan Deolasee | 2015-04-15 05:46:38 +0000 |
commit | 58a80dbf7182f6edff44d66efdd191238ded46af (patch) | |
tree | a3df8dc92aef65fd2478755fdf925dd2fd41583e /src/backend/tcop/postgres.c | |
parent | 626e8dcee52abc3189c810b00ad12cbbb44eabb4 (diff) |
Use ResourceOwner to track internally prepared statements
XL uses prepared statements internally to execute querys on remote datanodes.
But in case of transaction aborts, these statements are left open on the
datanodes causing issues later. We now track such prepared statements using
transaction resource owner and drop them in case of aborts.
Diffstat (limited to 'src/backend/tcop/postgres.c')
-rw-r--r-- | src/backend/tcop/postgres.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 9bf91a3e33..465b03fe9b 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -1625,7 +1625,7 @@ exec_parse_message(const char *query_string, /* string to execute */ /* * Store the query as a prepared statement. */ - StorePreparedStatement(stmt_name, psrc, false); + StorePreparedStatement(stmt_name, psrc, false, false); } else { @@ -1768,7 +1768,7 @@ exec_plan_message(const char *query_string, /* source of the query */ /* * Store the query as a prepared statement. See above comments. */ - StorePreparedStatement(stmt_name, psrc, false); + StorePreparedStatement(stmt_name, psrc, false, true); SetRemoteSubplan(psrc, plan_string); |