postgresql/src/pl
Tom Lane 6a7283dd2f Refactor pl_funcs.c to provide a usage-independent tree walker.
We haven't done this up to now because there was only one use-case,
namely plpgsql_free_function_memory's search for expressions to clean
up.  However an upcoming patch has another need for walking plpgsql
functions' statement trees, so let's create sharable tree-walker
infrastructure in the same style as expression_tree_walker().

This patch actually makes the code shorter, although that's
mainly down to having used a more compact coding style.  (I didn't
write a separate subroutine for each statement type, and I made
use of some newer notations like foreach_ptr.)

Author: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Andrey Borodin <x4mmm@yandex-team.ru>
Reviewed-by: Pavel Borisov <pashkin.elfe@gmail.com>
Discussion: https://postgr.es/m/CACxu=vJaKFNsYxooSnW1wEgsAO5u_v1XYBacfVJ14wgJV_PYeg@mail.gmail.com
2025-02-11 12:14:12 -05:00
..
plperl Virtual generated columns 2025-02-07 09:46:59 +01:00
plpgsql Refactor pl_funcs.c to provide a usage-independent tree walker. 2025-02-11 12:14:12 -05:00
plpython Virtual generated columns 2025-02-07 09:46:59 +01:00
tcl Virtual generated columns 2025-02-07 09:46:59 +01:00
Makefile Make distprep and *clean build targets recurse into all subdirectories. 2011-07-03 13:55:12 -04:00
meson.build Update copyright for 2025 2025-01-01 11:21:55 -05:00