Re: queryId constant squashing does not support prepared statements

From: Dmitry Dolgov <9erthalion6(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Sami Imseih <samimseih(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-05-08 19:36:55
Message-ID: xvi4n75iyzq7kinjvogetavkkhtatovfwnp3ple5oohcvdbs4u@b7ljcfqwkdoh
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Thu, May 08, 2025 at 02:22:00PM GMT, Michael Paquier wrote:
> On Wed, May 07, 2025 at 10:41:22AM +0200, Dmitry Dolgov wrote:
> > Ah, I see what you mean. I think the idea is fine, it will simplify
> > certain things as well as address the issue. But I'm afraid adding
> > start/end location to A_Expr is a bit too invasive, as it's being used
> > for many other purposes. How about introducing a new expression for this
> > purposes, and use it only in in_expr/array_expr, and wrap the
> > corresponding expressions into it? This way the change could be applied
> > in a more targeted fashion.
>
> Yes, that feels invasive. The use of two static variables to track
> the start and the end positions in an expression list can also be a
> bit unstable to rely on, I think. It seems to me that this part
> could be handled in a new Node that takes care of tracking the two
> positions, instead, be it a start/end couple or a location/length
> couple? That seems necessary to have when going through
> jumbleElements().

To clarify, I had in mind something like in the attached patch. The
idea is to make start/end location capturing relatively independent from
the constants squashing. The new parsing node conveys the location
information, which is then getting transformed to be a part of an
ArrayExpr. It's done for in_expr only here, something similar would be
needed for array_expr as well. Feedback is appreciated.

Attachment Content-Type Size
v1-0001-Introduce-LocationExpr.patch text/plain 7.9 KB
v1-0002-Use-LocationExpr-in-squashing.patch text/plain 13.0 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Yasir 2025-05-08 19:51:43 Re: Valgrind - showing memory leaks
Previous Message Heikki Linnakangas 2025-05-08 19:11:07 Re: pgsql: Make cancel request keys longer