postgresql/src/include/nodes
Álvaro Herrera c2da1a5d63
Make query jumbling also squash PARAM_EXTERN params
Commit 62d712ecfd made query jumbling squash lists of Consts as a
single element, but there's no reason not to treat PARAM_EXTERN
parameters the same.  For these purposes, these values are indeed
constants for any particular execution of a query.

In particular, this should make list squashing more useful for
applications using extended query protocol, which would use parameters
extensively.

A complication arises: if a query has both external parameters and
squashable lists, then the parameter number used as placeholder for the
squashed list might be inconsistent with regards to the parameter
numbers used by the query literal.  To reduce the surprise factor, all
parameters are renumbered starting from 1 in that case.

Author: Sami Imseih <samimseih@gmail.com>
Author: Dmitry Dolgov <9erthalion6@gmail.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://postgr.es/m/CAA5RZ0tRXoPG2y6bMgBCWNDt0Tn=unRerbzYM=oW0syi1=C1OA@mail.gmail.com
2025-06-24 19:36:32 +02:00
..
.gitignore Automatically generate node support functions 2022-07-09 08:53:59 +02:00
bitmapset.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
execnodes.h Revert "Don't lock partitions pruned by initial pruning" 2025-05-22 17:02:35 +09:00
extensible.h Make it possible for loadable modules to add EXPLAIN options. 2025-03-18 08:41:12 -04:00
lockoptions.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
makefuncs.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
memnodes.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
meson.build Move CompareType to separate header file 2025-02-02 08:11:57 +01:00
miscnodes.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
multibitmapset.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
nodeFuncs.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
nodes.h Add support for custom_query_jumble as a node field attribute 2025-03-25 14:18:00 +09:00
params.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
parsenodes.h Fix squashing algorithm for query texts 2025-06-12 14:21:21 +02:00
pathnodes.h Revert "Don't lock partitions pruned by initial pruning" 2025-05-22 17:02:35 +09:00
pg_list.h Swap order of extern/static and pg_nodiscard 2025-03-14 07:18:07 +01:00
plannodes.h Change internal plan ID type from uint64 to int64 2025-05-31 09:40:45 +09:00
primnodes.h Make query jumbling also squash PARAM_EXTERN params 2025-06-24 19:36:32 +02:00
print.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
queryjumble.h Make query jumbling also squash PARAM_EXTERN params 2025-06-24 19:36:32 +02:00
readfuncs.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
replnodes.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
subscripting.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
supportnodes.h Allow extension functions to participate in in-place updates. 2025-02-11 12:49:34 -05:00
tidbitmap.h Separate TBM[Shared|Private]Iterator and TBMIterateResult 2025-03-15 10:11:19 -04:00
value.h Update copyright for 2025 2025-01-01 11:21:55 -05:00