Compare commits

...

6 Commits

Author SHA1 Message Date
Bruce Momjian
acecd6746c doc PG 17 relnotes: adjust "builtin" collation provider
Reported-by: Daniel Verite

Discussion: https://postgr.es/m/13447ff6-15fd-4137-8339-f4fddda7eb11@manitou-mail.org

Backpatch-through: master
2024-05-18 17:52:56 -04:00
Bruce Momjian
15b4d46308 doc PG 17 relnotes: update to current
Reported-by: jian he

Discussion: https://postgr.es/m/CACJufxE7fbWckFeXdW86VTia2BV+LOcfNR-aPf1cP2fjxEB0Aw@mail.gmail.com

Backpatch-through: master
2024-05-18 17:43:37 -04:00
Tom Lane
779ac2c74b Add test case showing that commit d0d44049d fixed a live bug.
When I committed d0d44049d (Account for optimized MinMax aggregates
during SS_finalize_plan), I didn't have a test case showing that it
was fixing any reachable bug.  Here is one, based on bug #18465 from
Hal Takahara.  Without the fix, all rows of the result show the same
"min" value, because the aggregate doesn't get recalculated.

Committed despite beta1 release freeze, with the concurrence of
pgsql-release.

Discussion: https://postgr.es/m/18465-2fae927718976b22@postgresql.org
Discussion: https://postgr.es/m/2391880.1689025003@sss.pgh.pa.us
2024-05-18 14:26:13 -04:00
Bruce Momjian
3f49df98d8 doc PG 17 relnotes: add incremental JSON parser item
Reported-by: Andrew Dunstan

Discussion: https://postgr.es/m/e48dbf1e-62c9-4dbb-8b42-bb9ed898a0ab@dunslane.net

Backpatch-through: master
2024-05-18 12:50:22 -04:00
Bruce Momjian
5829444879 doc PG 17 relnotes: improve JSON casting item
Reported-by: jian he

Discussion: https://postgr.es/m/CACJufxE0HY19F8Oo-wb-+i4bKDamiaL_aUV8qB69_8mwoScZow@mail.gmail.com

Backpatch-through: master
2024-05-18 12:13:59 -04:00
Bruce Momjian
b67478b99b doc PG 17 relnotes: adjust vacuum memory item
Reported-by: David Rowley

Discussion: https://postgr.es/m/CAApHDvpZnr+wRMX5Wic9Na60fZSbruEffMoECVubBjv483jV2w@mail.gmail.com

Backpatch-through: master
2024-05-18 10:39:47 -04:00
3 changed files with 61 additions and 45 deletions

View File

@ -6,7 +6,7 @@
<formalpara>
<title>Release date:</title>
<para>2024-??-??, AS OF 2024-05-14</para>
<para>2024-??-??, AS OF 2024-05-18</para>
</formalpara>
<sect2 id="release-17-highlights">
@ -480,17 +480,6 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org>
<para>
Allow BRIN indexes to be created using parallel workers (Tomas Vondra, Matthias van de Meent)
</para>
</listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2024-01-19 [6db4598fc] Add stratnum GiST support function
-->
<listitem>
<para>
Add stratnum GiST support function (Paul A. Jungwirth)
</para>
</listitem>
</itemizedlist>
@ -530,11 +519,12 @@ Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
<listitem>
<para>
Allow vacuum to more efficiently store tuple references and remove its memory limit (Masahiko Sawada, John Naylor)
Allow vacuum to more efficiently store tuple references (Masahiko Sawada, John Naylor)
</para>
<para>
Specifically, maintenance_work_mem and autovacuum_work_mem can now be configured to use more than one gigabyte of memory. WAL traffic caused by vacuum is also more compact.
Additionally, vacuum is no longer silently limited to one gigabyte of memory when maintenance_work_mem and autovacuum_work_mem are higher. WAL traffic caused by
vacuum is also more compact.
</para>
</listitem>
@ -896,11 +886,11 @@ Author: Jeff Davis <jdavis@postgresql.org>
<listitem>
<para>
Create a "builtin" collation provider similar to libc's C locale (Jeff Davis)
Create "builtin" collation provider similar to libc's C locale (Jeff Davis)
</para>
<para>
It uses a "C" locale which is identical but independent of libc, but it allows the use of non-"C" collations like "en_US" and "C.UTF-8" with the "C" locale, which libc does not. MORE?
While its C locale is similar but independent of libc, its C.UTF-8 locale sorts by Unicode code points and has Unicode-based case folding.
</para>
</listitem>
@ -1466,34 +1456,6 @@ Add DEFAULT setting for ALTER TABLE .. SET ACCESS METHOD (Michael Paquier)
</para>
</listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2024-03-24 [34768ee36] Add temporal FOREIGN KEY contraints
-->
<listitem>
<para>
Allow foreign keys to reference WITHOUT OVERLAPS primary keys (Paul A. Jungwirth)
</para>
<para>
The keyword PERIOD is used for this purpose.
</para>
</listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2024-01-24 [46a0cd4ce] Add temporal PRIMARY KEY and UNIQUE constraints
Author: Peter Eisentraut <peter@eisentraut.org>
2024-03-05 [030e10ff1] Rename pg_constraint.conwithoutoverlaps to conperiod
-->
<listitem>
<para>
Allow PRIMARY KEY and UNIQUE constraints to use WITHOUT OVERLAPS for non-overlapping exclusion constraints (Paul A. Jungwirth)
</para>
</listitem>
<!--
Author: Alexander Korotkov <akorotkov@postgresql.org>
2023-10-16 [e83d1b0c4] Add support event triggers on authenticated login
@ -1677,7 +1639,7 @@ Author: Andrew Dunstan <andrew@dunslane.net>
<listitem>
<para>
Add jsonpath methods to convert JSON values to different data types (Jeevan Chalke)
Add jsonpath methods to convert JSON values to other JSON data types (Jeevan Chalke)
</para>
<para>
@ -1956,6 +1918,8 @@ Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2024-04-29 [17a834a04] Reject SSL connection if ALPN is used but there's no com
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2024-05-11 [407e0b023] Change ALPN protocol ID to IANA-approved "postgresql"
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2024-05-16 [fb5718f35] Remove option to fall back from direct to postgres SSL n
-->
<listitem>
@ -2450,6 +2414,17 @@ User-defined data type receive functions will no longer receive their data null-
</para>
</listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
2024-04-04 [3311ea86e] Introduce a non-recursive JSON parser
-->
<listitem>
<para>
Add incremental JSON parser for use with huge JSON documents (Andrew Dunstan)
</para>
</listitem>
<!--
Author: Nathan Bossart <nathan@postgresql.org>
2024-02-28 [363eb0599] Convert README to Markdown.

View File

@ -1273,6 +1273,37 @@ NOTICE: drop cascades to 3 other objects
DETAIL: drop cascades to table minmaxtest1
drop cascades to table minmaxtest2
drop cascades to table minmaxtest3
-- DISTINCT can also trigger wrong answers with hash aggregation (bug #18465)
begin;
set local enable_sort = off;
explain (costs off)
select f1, (select distinct min(t1.f1) from int4_tbl t1 where t1.f1 = t0.f1)
from int4_tbl t0;
QUERY PLAN
---------------------------------------------------------------------
Seq Scan on int4_tbl t0
SubPlan 2
-> HashAggregate
Group Key: (InitPlan 1).col1
InitPlan 1
-> Limit
-> Seq Scan on int4_tbl t1
Filter: ((f1 IS NOT NULL) AND (f1 = t0.f1))
-> Result
(9 rows)
select f1, (select distinct min(t1.f1) from int4_tbl t1 where t1.f1 = t0.f1)
from int4_tbl t0;
f1 | min
-------------+-------------
0 | 0
123456 | 123456
-123456 | -123456
2147483647 | 2147483647
-2147483647 | -2147483647
(5 rows)
rollback;
-- check for correct detection of nested-aggregate errors
select max(min(unique1)) from tenk1;
ERROR: aggregate function calls cannot be nested

View File

@ -436,6 +436,16 @@ select distinct min(f1), max(f1) from minmaxtest;
drop table minmaxtest cascade;
-- DISTINCT can also trigger wrong answers with hash aggregation (bug #18465)
begin;
set local enable_sort = off;
explain (costs off)
select f1, (select distinct min(t1.f1) from int4_tbl t1 where t1.f1 = t0.f1)
from int4_tbl t0;
select f1, (select distinct min(t1.f1) from int4_tbl t1 where t1.f1 = t0.f1)
from int4_tbl t0;
rollback;
-- check for correct detection of nested-aggregate errors
select max(min(unique1)) from tenk1;
select (select max(min(unique1)) from int8_tbl) from tenk1;