postgresql/src
Richard Guo 3a08a2a8b4 Fix volatile function evaluation in eager aggregation
Pushing aggregates containing volatile functions below a join can
violate volatility semantics by changing the number of times the
function is executed.

Here we check the Aggref nodes in the targetlist and havingQual for
volatile functions and disable eager aggregation when such functions
are present.

Author: Richard Guo <guofenglinux@gmail.com>
Reviewed-by: Matheus Alcantara <matheusssilv97@gmail.com>
Discussion: https://postgr.es/m/CAMbWs48A53PY1Y4zoj7YhxPww9fO1hfnbdntKfA855zpXfVFRA@mail.gmail.com
2026-04-06 11:54:08 +09:00
..
backend Fix volatile function evaluation in eager aggregation 2026-04-06 11:54:08 +09:00
bin Online enabling and disabling of data checksums 2026-04-03 22:58:51 +02:00
common Make implementation of SASLprep compliant for ASCII characters 2026-03-24 08:29:23 +09:00
fe_utils Harden astreamer tar parsing logic against archives it can't handle. 2026-04-02 12:20:36 -04:00
include Add wal_sender_shutdown_timeout GUC to limit shutdown wait for replication 2026-04-06 11:35:03 +09:00
interfaces libpq: Allow developers to reimplement libpq-oauth 2026-03-31 11:47:26 -07:00
makefiles meson: Add {perl|python}_includespec to generated Makefile.global 2026-03-18 11:09:14 +01:00
pl Avoid including vacuum.h in tableam.h and heapam.h. 2026-03-31 12:43:52 -05:00
port Fix unused function warning on Arm platforms 2026-04-05 08:49:47 +07:00
template Switch the semaphore API on Solaris to unnamed POSIX. 2026-03-14 14:10:32 -04:00
test Fix volatile function evaluation in eager aggregation 2026-04-06 11:54:08 +09:00
timezone Use fallthrough attribute instead of comment 2026-02-19 08:51:12 +01:00
tools Convert SLRUs to use the new shmem allocation functions 2026-04-06 02:13:02 +03:00
tutorial Force standard_conforming_strings to always be ON. 2026-01-21 15:08:38 -05:00
.gitignore
DEVELOPERS
Makefile
Makefile.global.in Update Unicode data to Unicode 17.0.0 2026-03-20 08:42:50 +01:00
Makefile.shlib Restore AIX support. 2026-02-23 13:34:22 -05:00
meson.build Update copyright for 2026 2026-01-01 13:24:10 -05:00
nls-global.mk Fix update-po for the PGXS case 2025-10-16 20:21:05 +02:00