postgresql/src
David Rowley 2bcf0785cd Re-disallow Memoize for parameterized nested loops with join filters
This was previously fixed in 9e215378d but got broken again as a result
of 2489d76c4.  It seems that commit causes ppi_clauses to contain
duplicate clauses and it's no longer safe to check the list_length of
that list to determine if there are join conditions other than what's
mentioned in ppi_clauses.

Here we adjust the check to count the distinct rinfo_serial mentioned in
ppi_clauses.  We expect that extra->restrictlist won't have duplicate
rinfo_serials.

Reported-by: Amadeo Gallardo
Author: Richard Guo
Discussion: https://postgr.es/m/CADFREbW-BLJd7-a5J%2B5wjVumeFG1ByXiSOFzMtkmY_SDWckTxw%40mail.gmail.com
Backpatch-through: 16, where 2489d76c4 was introduced.
2024-01-22 22:45:02 +13:00
..
backend Re-disallow Memoize for parameterized nested loops with join filters 2024-01-22 22:45:02 +13:00
bin Rename COPY option from SAVE_ERROR_TO to ON_ERROR 2024-01-19 15:15:51 +02:00
common Cleanup for unicode-update build target and test. 2024-01-11 12:35:29 -08:00
fe_utils Update copyright for 2024 2024-01-03 20:49:05 -05:00
include Add backend support for injection points 2024-01-22 10:15:50 +09:00
interfaces Remove some comments related to pqPipelineSync() and PQsendPipelineSync() 2024-01-17 15:53:59 +09:00
makefiles Add backend support for injection points 2024-01-22 10:15:50 +09:00
pl Fix plpgsql to allow new-style SQL CREATE FUNCTION as a SQL command. 2024-01-18 16:11:16 -05:00
port Update copyright for 2024 2024-01-03 20:49:05 -05:00
template Use unnamed POSIX semaphores on Cygwin. 2023-01-06 10:33:28 +13:00
test Fix some typos 2024-01-22 13:55:25 +09:00
timezone Update copyright for 2024 2024-01-03 20:49:05 -05:00
tools Add backend support for injection points 2024-01-22 10:15:50 +09:00
tutorial Update copyright for 2024 2024-01-03 20:49:05 -05:00
.gitignore
DEVELOPERS
Makefile Remove distprep 2023-11-06 15:18:04 +01:00
Makefile.global.in Add backend support for injection points 2024-01-22 10:15:50 +09:00
Makefile.shlib Stop using "-multiply_defined suppress" on macOS. 2023-09-26 21:06:21 -04:00
meson.build Update copyright for 2024 2024-01-03 20:49:05 -05:00
nls-global.mk Remove distprep 2023-11-06 15:18:04 +01:00