BUG #18340: BitString may break nodetoString() conversion for a raw parse tree

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: exclusion(at)gmail(dot)com
Subject: BUG #18340: BitString may break nodetoString() conversion for a raw parse tree
Date: 2024-02-13 09:00:00
Message-ID: 18340-4aa1ae6ed4121912@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 18340
Logged by: Alexander Lakhin
Email address: exclusion(at)gmail(dot)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).

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Heikki Linnakangas 2024-02-13 14:23:20 Re: DSA_ALLOC_NO_OOM doesn't work
Previous Message PG Bug reporting form 2024-02-12 18:44:32 BUG #18339: Erroneous dependency references of Postgres 15.4 packages when installing 16.2 from GPDG repository