On 2024-07-02 10:45 +0200, Peter Eisentraut wrote:
> On 02.07.24 10:14, Peter Eisentraut wrote:
> > I have committed your two v4 patches.
>
> I had to revert the test case from the 0002 patch. It ended up running some
> build farm machines out of memory.
dhole, morepork, and schnauzer. For example, schnauzer[1]:
> diff -U3 /home/pgbf/buildroot/HEAD/pgsql.build/src/test/regress/expected/prepare.out
/home/pgbf/buildroot/HEAD/pgsql.build/src/test/regress/results/prepare.out
> --- /home/pgbf/buildroot/HEAD/pgsql.build/src/test/regress/expected/prepare.out Tue Jul 2 10:31:34 2024
> +++ /home/pgbf/buildroot/HEAD/pgsql.build/src/test/regress/results/prepare.out Tue Jul 2 10:33:15 2024
> @@ -186,9 +186,8 @@
>
> -- max parameter number and one above
> PREPARE q9 AS SELECT $268435455, $268435456;
> -ERROR: there is no parameter $268435456
> -LINE 1: PREPARE q9 AS SELECT $268435455, $268435456;
> - ^
> +ERROR: out of memory
> +DETAIL: Failed on request of size 1073741820 in memory context "PortalContext".
> -- test DEALLOCATE ALL;
> DEALLOCATE ALL;
> SELECT name, statement, parameter_types FROM pg_prepared_statements
That means paramno is less than MaxAllocSize/sizeof(Oid) if it tries to
allocate memory. MaxAllocSize is always 0x3fffffff. Is sizeof(Oid)
less than 4 on those machines?
[1] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=schnauzer&dt=2024-07-02%2008%3A31%3A34
--
Erik