On Fri, May 9, 2025 at 1:35 PM Michael Paquier <michael@paquier.xyz> wrote:
>
> On Fri, May 09, 2025 at 11:05:43AM +0800, Junwang Zhao wrote:
> > Why not a location and a length, it should be more natural, it
> > seems we use this convention in some existing nodes, like
> > RawStmt, InsertStmt etc.
>
> These are new concepts as of Postgres 18 (aka only on HEAD), chosen
> mainly to match with the internals of pg_stat_statements as far as I
> recall. Doing the same here would not hurt, but it may be better
> depending on the cases to rely on a start/end.
ISTM that for string manipulation, start_pos/length are more appropriate,
start/end are often better suited for iterator use, where start refers to the
first element and end marks the position one past the last element.
Just my opinion, I can live with either way though.
> I suspect that
> switching from one to the other should not change much the internal
> squashing logic.
Yeah, not much difference, one can easily be computed from the other.
> --
> Michael
--
Regards
Junwang Zhao