Re: Reducing output size of nodeToString
Matthias van de Meent <boekewurm+postgres@gmail.com>
From: Matthias van de Meent <boekewurm+postgres@gmail.com>
To:
Cc: Robert Haas <robertmhaas@gmail.com>,
Peter Eisentraut <peter@eisentraut.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Andres Freund <andres@anarazel.de>, Michel Pelletier <pelletier.michel@gmail.com>
Date: 2024-02-12T23:10:56Z
Lists: pgsql-hackers
Attachments
- v4-0001-pg_node_tree-Omit-serialization-of-fields-with-de.patch (application/octet-stream) patch v4-0001
- v4-0002-pg_node_tree-Don-t-store-query-text-locations-in-.patch (application/octet-stream) patch v4-0002
- v4-0005-nodeToString-omit-serializing-NULL-datums-in-Cons.patch (application/octet-stream) patch v4-0005
- v4-0004-gen_node_support.pl-Add-a-TypMod-type-for-signall.patch (application/octet-stream) patch v4-0004
- v4-0003-gen_node_support.pl-Mark-location-fields-as-type-.patch (application/octet-stream) patch v4-0003
- v4-0007-gen_node_support.pl-Optimize-serialization-of-fie.patch (application/octet-stream) patch v4-0007
- v4-0006-nodeToString-Apply-RLE-on-Bitmapset-and-numeric-L.patch (application/octet-stream) patch v4-0006
On Mon, 12 Feb 2024 at 20:32, Matthias van de Meent <boekewurm+postgres@gmail.com> wrote: > > On Mon, 12 Feb 2024 at 19:03, Matthias van de Meent > <boekewurm+postgres@gmail.com> wrote: > > Attached is patchset v2, which contains the improvements from these patches: > > Attached v3, which fixes an out-of-bounds read in pg_strtoken_next, > detected by asan, that was a likely cause of the problems in CFBot's > FreeBSD regression tests. Apparently that was caused by issues in my updated bitmapset serializer; where I used bms_next_member(..., x=0) as first iteration thus skipping the first bit. This didn't show up earlier because that bit is not exercised in PG's builtin views, but is exercised when WRITE_READ_PARSE_PLAN_TREES is defined (as on the FreeBSD CI job). Trivial fix in the attached v4 of the patchset, with some fixes for other assertions that'd get some exercise in non-pg_node_tree paths in the WRITE_READ configuration.
Commits
-
Do not output actual value of location fields in node serialization by default
- d20d8fbd3e4d 17.0 landed
-
gen_node_support.pl: Mark location fields as type alias ParseLoc
- 605721f819f5 17.0 landed