Skip to content

Commit 7a5015e

Browse files
author
Manav Kumar
committed
[#29526] YSQL: Don't send custom parse error packet for un-named prep stmt
Summary: This diff avoids sending `YBParsePrepareErrorResponse` packet for un-named prepared statement from backend to connection manager as no entry is made into server hash map for it. Test Plan: Jenkins: all tests **Manually** Checked connection manager logs for un-named prepared statement on an error no 'YBParsePrepareErrorResponse' packet is received nor 'failed to evict %u hashmap entry from server' message is seen. Reviewers: skumar, anabaria, vikram.damle, asrinivasan, arpit.saxena Reviewed By: arpit.saxena Subscribers: svc_phabricator, arpit.saxena, yql Differential Revision: https://phorge.dev.yugabyte.com/D48640
1 parent bf4318e commit 7a5015e

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/postgres/src/backend/tcop/postgres.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6757,7 +6757,13 @@ PostgresMain(const char *dbname, const char *username)
67576757
yb_is_dml_command(query_string),
67586758
&need_retry);
67596759
MemoryContextSwitchTo(errorcontext);
6760-
if (YbIsClientYsqlConnMgr())
6760+
/*
6761+
* YB: Report parse error with the prepared statement name to connection
6762+
* manager. This is done so that connection manager can evict the entry
6763+
* from the server hashmap as parse has failed. Conn mgr does not record
6764+
* any entry for unnamed prepared statement in it's server hashmap.
6765+
*/
6766+
if (YbIsClientYsqlConnMgr() && stmt_name[0] != '\0')
67616767
{
67626768
pq_puttextmessage('4', stmt_name);
67636769
pq_flush();

0 commit comments

Comments
 (0)