On Thu, 7 Dec 2023 at 10:09, Matthias van de Meent <boekewurm+postg...@gmail.com> wrote: > PFA a patch that reduces the output size of nodeToString by 50%+ in > most cases (measured on pg_rewrite), which on my system reduces the > total size of pg_rewrite by 33% to 472KiB. This does keep the textual > pg_node_tree format alive, but reduces its size significantly.
It would be very cool to have the technology proposed by Andres back in 2019 [1]. With that, we could easily write various output functions. One could be compact and easily machine-readable and another designed to be better for humans for debugging purposes. We could also easily serialize plans to binary format for copying to parallel workers rather than converting them to a text-based serialized format. It would also allow us to do things like serialize PREPAREd plans into a nicely compact single allocation that we could just pfree in a single pfree call on DEALLOCATE. Likely we could just use the existing Perl scripts to form the metadata arrays rather than the clang parsing stuff Andres used in his patch. Anyway, just wanted to ensure you knew about this idea. David [1] https://postgr.es/m/flat/20190828234136.fk2ndqtld3onfrrp%40alap3.anarazel.de