Re: queryId constant squashing does not support prepared statements - Mailing list pgsql-hackers

From Álvaro Herrera
Subject Re: queryId constant squashing does not support prepared statements
Date
Msg-id 202506091044.hj6p54uzytq7@alvherre.pgsql
Whole thread Raw
In response to queryId constant squashing does not support prepared statements  (Sami Imseih <samimseih@gmail.com>)
Responses Re: queryId constant squashing does not support prepared statements
Re: queryId constant squashing does not support prepared statements
List pgsql-hackers
Hello,

I've spent a bunch of time looking at this series and here's my take on
the second one.  (The testing patch is unchanged from Sami's).  The
third patch (for PARAM_EXTERNs) should be a mostly trivial rebase on top
of these two.

I realized that the whole in_expr production in gram.y is pointless, and
the whole private struct that was added was unnecessary.  A much simpler
solution is to remove in_expr, expand its use in a_expr to the two
possibilities, and with that we can remove the need for a new struct.

I also added a recursive call in IsSquashableExpression to itself.  The
check for stack depth can be done without throwing an error.  I tested
this by adding stack bloat in that function.  I also renamed it to
IsSquashableConstant.  This changes one of the tests, because a cast
sequence like 42::int::bigint::int is considered squashable.

Other than that, the changes are cosmetic.

Barring objections, I'll push this soon, then look at rebasing 0003 on
top, which I expect to be an easy job.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/

Attachment

pgsql-hackers by date:

Previous
From: Antonin Houska
Date:
Subject: Re: why there is not VACUUM FULL CONCURRENTLY?
Next
From: Ashutosh Bapat
Date:
Subject: Re: Add enable_groupagg GUC parameter to control GroupAggregate usage