Re: [BUG] CRASH: ECPGprepared_statement() and ECPGdeallocate_all() when connection is NULL
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Shruthi Gowda <gowdashru@gmail.com>
Cc: SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com>, Andrew Dunstan <andrew@dunslane.net>, Nishant Sharma <nishant.sharma@enterprisedb.com>, Mahendra Singh Thalor <mahi6run@gmail.com>, Fujii Masao <masao.fujii@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL Development <pgsql-hackers@postgresql.org>
Date: 2026-05-25T23:34:43Z
Lists: pgsql-hackers
On Mon, May 25, 2026 at 01:16:20PM +0530, Shruthi Gowda wrote: > Thanks Satya for looking into this. However, we don't need to add the > validation here because the caller ecpg_do_prologue*()* has already taken > care of it. Adding it again would be redundant. What do you think? Right, but I think that this points at a different issue: it is wasteful to call a second time ecpg_get_connection() to get a connection while ecpg_do_prologue() has already done a cache lookup for the connection. Wouldn't it be better to pass directly the connection obtained by the first call of ecpg_get_connection() as a function argument of ecpg_auto_prepare(), replacing the connection name? If we need the extra init() at the end, please show if this can go wrong in the shape of a regression test. -- Michael