pgsql: Use 'void *' for arbitrary buffers, 'uint8 *' for byte arrays

2025-05-08 Thread Heikki Linnakangas
Use 'void *' for arbitrary buffers, 'uint8 *' for byte arrays A 'void *' argument suggests that the caller might pass an arbitrary struct, which is appropriate for functions like libc's read/write, or pq_sendbytes(). 'uint8 *' is more appropriate for byte arrays that have no structure, like the ca

pgsql: Use more mundane 'int' type for cancel key lengths in libpq

2025-05-08 Thread Heikki Linnakangas
Use more mundane 'int' type for cancel key lengths in libpq The documented max length of a cancel key is 256 bytes, so it fits in uint8. It nevertheless seems weird to not just use 'int', like in commit 0f1433f053 for the backend. Discussion: https://www.postgresql.org/message-id/61be9e31-7b7d-4

pgsql: Last-minute updates for release notes.

2025-05-08 Thread Tom Lane
Last-minute updates for release notes. Security: CVE-2025-4207 Branch -- REL_14_STABLE Details --- https://git.postgresql.org/pg/commitdiff/d9cee6a5f2ad73e1c13b619fdc2d42961079dbc3 Modified Files -- doc/src/sgml/release-14.sgml | 37 +++-- 1 fi

pgsql: Refactor test_escape.c for additional ways of testing.

2025-05-08 Thread Noah Misch
Refactor test_escape.c for additional ways of testing. Start the file with static functions not specific to pe_test_vectors tests. This way, new tests can use them without disrupting the file's layout. Change report_result() PQExpBuffer arguments to plain strings. Back-patch to v13 (all supporte

pgsql: Suppress unnecessary explicit sorting for EPQ mergejoin path

2025-05-08 Thread Richard Guo
Suppress unnecessary explicit sorting for EPQ mergejoin path When building a ForeignPath for a joinrel, if there's a possibility that EvalPlanQual will be executed, we must identify a suitable path for EPQ checks. If the outer or inner path of the chosen path is a ForeignPath representing a pushe

pgsql: Track the number of presorted outer pathkeys in MergePath

2025-05-08 Thread Richard Guo
Track the number of presorted outer pathkeys in MergePath When creating an explicit Sort node for the outer path of a mergejoin, we need to determine the number of presorted keys of the outer path to decide whether explicit incremental sort can be applied. Currently, this is done by repeatedly ca

pgsql: Last-minute updates for release notes.

2025-05-08 Thread Tom Lane
Last-minute updates for release notes. Security: CVE-2025-4207 Branch -- REL_16_STABLE Details --- https://git.postgresql.org/pg/commitdiff/ce12d66ce731a863abb489dfb9b3f01a4537ee73 Modified Files -- doc/src/sgml/release-16.sgml | 37 +++-- 1 fi

pgsql: Last-minute updates for release notes.

2025-05-08 Thread Tom Lane
Last-minute updates for release notes. Security: CVE-2025-4207 Branch -- REL_15_STABLE Details --- https://git.postgresql.org/pg/commitdiff/4b6f246b6791904b16d277138800a3f8a4ece847 Modified Files -- doc/src/sgml/release-15.sgml | 37 +++-- 1 fi

pgsql: With GB18030, prevent SIGSEGV from reading past end of allocatio

2025-05-08 Thread Noah Misch
With GB18030, prevent SIGSEGV from reading past end of allocation. With GB18030 as source encoding, applications could crash the server via SQL functions convert() or convert_from(). Applications themselves could crash after passing unterminated GB18030 input to libpq functions PQescapeLiteral(),

pgsql: With GB18030, prevent SIGSEGV from reading past end of allocatio

2025-05-08 Thread Noah Misch
With GB18030, prevent SIGSEGV from reading past end of allocation. With GB18030 as source encoding, applications could crash the server via SQL functions convert() or convert_from(). Applications themselves could crash after passing unterminated GB18030 input to libpq functions PQescapeLiteral(),

pgsql: Last-minute updates for release notes.

2025-05-08 Thread Tom Lane
Last-minute updates for release notes. Security: CVE-2025-4207 Branch -- REL_13_STABLE Details --- https://git.postgresql.org/pg/commitdiff/5dff5ce8636660772f23493918e69af91c820321 Modified Files -- doc/src/sgml/release-13.sgml | 35 ++- 1 file

pgsql: With GB18030, prevent SIGSEGV from reading past end of allocatio

2025-05-08 Thread Noah Misch
With GB18030, prevent SIGSEGV from reading past end of allocation. With GB18030 as source encoding, applications could crash the server via SQL functions convert() or convert_from(). Applications themselves could crash after passing unterminated GB18030 input to libpq functions PQescapeLiteral(),

pgsql: Last-minute updates for release notes.

2025-05-08 Thread Tom Lane
Last-minute updates for release notes. Security: CVE-2025-4207 Branch -- REL_17_STABLE Details --- https://git.postgresql.org/pg/commitdiff/ecbe349e9128b678311a2b8e328cbe258d7807ed Modified Files -- doc/src/sgml/release-17.sgml | 37 +++-- 1 fi

pgsql: Refactor test_escape.c for additional ways of testing.

2025-05-08 Thread Noah Misch
Refactor test_escape.c for additional ways of testing. Start the file with static functions not specific to pe_test_vectors tests. This way, new tests can use them without disrupting the file's layout. Change report_result() PQExpBuffer arguments to plain strings. Back-patch to v13 (all supporte

pgsql: Refactor test_escape.c for additional ways of testing.

2025-05-08 Thread Noah Misch
Refactor test_escape.c for additional ways of testing. Start the file with static functions not specific to pe_test_vectors tests. This way, new tests can use them without disrupting the file's layout. Change report_result() PQExpBuffer arguments to plain strings. Back-patch to v13 (all supporte

pgsql: With GB18030, prevent SIGSEGV from reading past end of allocatio

2025-05-08 Thread Noah Misch
With GB18030, prevent SIGSEGV from reading past end of allocation. With GB18030 as source encoding, applications could crash the server via SQL functions convert() or convert_from(). Applications themselves could crash after passing unterminated GB18030 input to libpq functions PQescapeLiteral(),

pgsql: With GB18030, prevent SIGSEGV from reading past end of allocatio

2025-05-08 Thread Noah Misch
With GB18030, prevent SIGSEGV from reading past end of allocation. With GB18030 as source encoding, applications could crash the server via SQL functions convert() or convert_from(). Applications themselves could crash after passing unterminated GB18030 input to libpq functions PQescapeLiteral(),

pgsql: With GB18030, prevent SIGSEGV from reading past end of allocatio

2025-05-08 Thread Noah Misch
With GB18030, prevent SIGSEGV from reading past end of allocation. With GB18030 as source encoding, applications could crash the server via SQL functions convert() or convert_from(). Applications themselves could crash after passing unterminated GB18030 input to libpq functions PQescapeLiteral(),

pgsql: Refactor test_escape.c for additional ways of testing.

2025-05-08 Thread Noah Misch
Refactor test_escape.c for additional ways of testing. Start the file with static functions not specific to pe_test_vectors tests. This way, new tests can use them without disrupting the file's layout. Change report_result() PQExpBuffer arguments to plain strings. Back-patch to v13 (all supporte

pgsql: Refactor test_escape.c for additional ways of testing.

2025-05-08 Thread Noah Misch
Refactor test_escape.c for additional ways of testing. Start the file with static functions not specific to pe_test_vectors tests. This way, new tests can use them without disrupting the file's layout. Change report_result() PQExpBuffer arguments to plain strings. Back-patch to v13 (all supporte

pgsql: Refactor test_escape.c for additional ways of testing.

2025-05-08 Thread Noah Misch
Refactor test_escape.c for additional ways of testing. Start the file with static functions not specific to pe_test_vectors tests. This way, new tests can use them without disrupting the file's layout. Change report_result() PQExpBuffer arguments to plain strings. Back-patch to v13 (all supporte

pgsql: PG 18 relnotes: adjust RETURNING new/old item

2025-05-08 Thread Bruce Momjian
PG 18 relnotes: adjust RETURNING new/old item Reported-by: jian he Discussion: https://postgr.es/m/CACJufxFM1avdwu=ortx_umajtdbfoj1gp7mnnhooftvj9qt...@mail.gmail.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/9d710a1ac0912244934277a99fe4666df3d2b825 Modifie

pgsql: doc: Fix title markup for AT TIME ZONE and AT LOCAL

2025-05-08 Thread Daniel Gustafsson
doc: Fix title markup for AT TIME ZONE and AT LOCAL The title for AT TIME ZONE and AT LOCAL was accidentally wrapping the "and" in the tag. Backpatch to v17 where it was introduced in 97957fdbaa42. Author: Noboru Saito Reviewed-by: Daniel Gustafsson Reviewed-by: Tatsuo Ishii Reviewed-by: Mic

pgsql: doc: Fix title markup for AT TIME ZONE and AT LOCAL

2025-05-08 Thread Daniel Gustafsson
doc: Fix title markup for AT TIME ZONE and AT LOCAL The title for AT TIME ZONE and AT LOCAL was accidentally wrapping the "and" in the tag. Backpatch to v17 where it was introduced in 97957fdbaa42. Author: Noboru Saito Reviewed-by: Daniel Gustafsson Reviewed-by: Tatsuo Ishii Reviewed-by: Mic