Re: queryId constant squashing does not support prepared statements

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
Cc: Sami Imseih <samimseih(at)gmail(dot)com>, Dmitry Dolgov <9erthalion6(at)gmail(dot)com>, Junwang Zhao <zhjwpku(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: queryId constant squashing does not support prepared statements
Date: 2025-06-10 06:37:18
Message-ID: aEfSnvl0HVQniWzn@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Jun 09, 2025 at 12:44:59PM +0200, Alvaro Herrera wrote:
> 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.

v9-0002 is failing in the CI for the freebsd task:
https://github.com/michaelpq/postgres/runs/43784034162

Here is the link to the diffs, also attached to this message:
https://api.cirrus-ci.com/v1/artifact/task/5378459897167872/testrun/build/testrun/pg_stat_statements/regress/regression.diffs

I am also able to reproduce these failures locally, FWIW. For
example, with a IN clause made of integer constants gets converted to
an ArrayExpr, but in _jumbleElements() we fail to call
RecordConstLocation() and the list is not squashed.

I think that this is can be reproduced by
-DWRITE_READ_PARSE_PLAN_TREES -DCOPY_PARSE_PLAN_TREES
-DRAW_EXPRESSION_COVERAGE_TEST that I always include in my builds.
The freebsd task uses the same with debug_copy_parse_plan_trees=on,
debug_write_read_parse_plan_trees=on and
debug_raw_expression_coverage_test=on.
--
Michael

Attachment Content-Type Size
regression.diffs text/plain 16.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dilip Kumar 2025-06-10 06:44:40 Re: Question on error code selection in conflict detection
Previous Message Zhijie Hou (Fujitsu) 2025-06-10 06:25:34 RE: Conflict detection for update_deleted in logical replication