Re: BUG #18340: BitString may break nodetoString() conversion for a raw parse tree
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: exclusion@gmail.com
Cc: pgsql-bugs@lists.postgresql.org
Date: 2024-02-13T15:34:32Z
Lists: pgsql-bugs
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
Commits
-
Use a safer outfuncs/readfuncs representation for BitStrings.
- f15d01cb5dbd 16.3 landed
- 0736a8ef6f0e 17.0 landed
-
Implement WRITE_READ_PARSE_PLAN_TREES for raw parse trees
- 40ad8f9deed2 16.0 cited