pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
BUG #18340: BitString may break nodetoString() conversion for a raw parse tree
2+ messages / 2 participants
[nested] [flat]

Commits from this thread:
  2024-02-13 0736a8ef6f f15d01cb5d  Use a safer outfuncs/readfuncs representation for BitStrings.
* BUG #18340: BitString may break nodetoString() conversion for a raw parse tree
@ 2024-02-13 09:00 PG Bug reporting form <noreply@postgresql.org>
  2024-02-13 15:34 ` Re: BUG #18340: BitString may break nodetoString() conversion for a raw parse tree Tom Lane <tgl@sss.pgh.pa.us>
  0 siblings, 1 reply; 2+ messages in thread

From: PG Bug reporting form @ 2024-02-13 09:00 UTC (permalink / raw)
  To: pgsql-bugs@lists.postgresql.org; +Cc: exclusion@gmail.com

The following bug has been logged on the website:

Bug reference:      18340
Logged by:          Alexander Lakhin
Email address:      exclusion@gmail.com
PostgreSQL version: 16.2
Operating system:   Ubuntu 22.04
Description:        

When a server compiled with -DWRITE_READ_PARSE_PLAN_TREES, the following
query:
SELECT x' 0';
produces:
ERROR:  did not find '}' at end of input node

Observed starting from commit 40ad8f9de, which implemented
WRITE_READ_PARSE_PLAN_TREES for raw parse trees.

More interesting results may be obtained (e.g.,
WARNING:  outfuncs/readfuncs failed to produce an equal raw parse tree
), but with raw trees only, not with node trees stored in the database,
considering core code.

Still codesearch.debian.net shows that nodeToString() used by several
extensions: pg_qual_stats, pgpool2, hypopg, pglogical; perhaps some of
them use that conversion unsafely (without processing a node with
transformExpr() or so).



^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* Re: BUG #18340: BitString may break nodetoString() conversion for a raw parse tree
  2024-02-13 09:00 BUG #18340: BitString may break nodetoString() conversion for a raw parse tree PG Bug reporting form <noreply@postgresql.org>
@ 2024-02-13 15:34 ` Tom Lane <tgl@sss.pgh.pa.us>
  0 siblings, 0 replies; 2+ messages in thread

From: Tom Lane @ 2024-02-13 15:34 UTC (permalink / raw)
  To: exclusion@gmail.com; +Cc: pgsql-bugs@lists.postgresql.org

PG Bug reporting form <noreply@postgresql.org> writes:
> When a server compiled with -DWRITE_READ_PARSE_PLAN_TREES, the following
> query:
> SELECT x' 0';
> produces:
> ERROR:  did not find '}' at end of input node

> Observed starting from commit 40ad8f9de, which implemented
> WRITE_READ_PARSE_PLAN_TREES for raw parse trees.

Bleah.  That's presumably my fault, will take a look.

> More interesting results may be obtained (e.g.,
> WARNING:  outfuncs/readfuncs failed to produce an equal raw parse tree
> ), but with raw trees only, not with node trees stored in the database,
> considering core code.
> Still codesearch.debian.net shows that nodeToString() used by several
> extensions: pg_qual_stats, pgpool2, hypopg, pglogical; perhaps some of
> them use that conversion unsafely (without processing a node with
> transformExpr() or so).

I doubt there's any reason to consider this a critical problem
right now.  We should fix it of course, in the expectation that
we might need it to work someday.

			regards, tom lane





^ permalink  raw  reply  [nested|flat] 2+ messages in thread


end of thread, other threads:[~2024-02-13 15:34 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2024-02-13 09:00 BUG #18340: BitString may break nodetoString() conversion for a raw parse tree PG Bug reporting form <noreply@postgresql.org>
2024-02-13 15:34 ` Tom Lane <tgl@sss.pgh.pa.us>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox