pgsql: Simplify create_merge_append_path for clarity

2024-07-28 Thread Richard Guo
Simplify create_merge_append_path for clarity We don't currently support parameterized MergeAppend paths: there's little use for an ordered path on the inside of a nestloop. Given this, we can simplify create_merge_append_path by directly setting param_info to NULL instead of calling get_appendre

pgsql: Reduce memory used by partitionwise joins

2024-07-28 Thread Richard Guo
Reduce memory used by partitionwise joins In try_partitionwise_join, we aim to break down the join between two partitioned relations into joins between matching partitions. To achieve this, we iterate through each pair of partitions from the two joining relations and create child-join relations f

pgsql: Refactor pg_set_regex_collation() for clarity.

2024-07-28 Thread Jeff Davis
Refactor pg_set_regex_collation() for clarity. Discussion: https://postgr.es/m/63409030-2746-462e-beac-759bd4303...@proxel.se Reviewed-by: Andreas Karlsson Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/2e68077b07cc597ef6bdfacffb5acbd17e179237 Modified Files -

pgsql: Add missing pointer dereference in pg_backend_memory_contexts vi

2024-07-28 Thread David Rowley
Add missing pointer dereference in pg_backend_memory_contexts view 32d3ed816 moved the logic for setting the context's name and ident into a reusable function. I missed adding a pointer dereference after copying and pasting the code into that function. The ident parameter is a pointer to the ide

pgsql: Fix whitespace in commit 005c6b833f.

2024-07-28 Thread Jeff Davis
Fix whitespace in commit 005c6b833f. Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/c0ef1234dfb68bb0b5c926c0eafd82881ad78374 Modified Files -- src/backend/utils/adt/pg_locale.c | 4 ++-- src/tools/pgindent/typedefs.list | 1 + 2 files changed, 3 insertio

pgsql: Refactor: make default_locale internal to pg_locale.c.

2024-07-28 Thread Jeff Davis
Refactor: make default_locale internal to pg_locale.c. Discussion: https://postgr.es/m/2228884bb1f1a02614b39f71a90c94d2cc8a3a2f.ca...@j-davis.com Reviewed-by: Peter Eisentraut, Andreas Karlsson Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/1c461a8d8d3c7a4655fdb94

pgsql: Change collation cache to use simplehash.h.

2024-07-28 Thread Jeff Davis
Change collation cache to use simplehash.h. Speeds up text comparison expressions when using a collation other than the database default collation. Does not affect larger operations such as ORDER BY, because the lookup is only done once. Discussion: https://postgr.es/m/7bb9f018d20a7b30b9a7f6231e

pgsql: amcheck: Optimize speed of checking for unique constraint violat

2024-07-28 Thread Alexander Korotkov
amcheck: Optimize speed of checking for unique constraint violation Currently, when amcheck validates a unique constraint, it visits the heap for each index tuple. This commit implements skipping keys, which have only one non-dedeuplicated index tuple (quite common case for unique indexes). That

Re: pgsql: Wait for WAL summarization to catch up before creating .partial

2024-07-28 Thread Alexander Korotkov
On Sun, Jul 28, 2024 at 7:12 AM Tom Lane wrote: > Alexander Korotkov writes: > > It appears that I was late with my review [1]. But the new tap test > > could still use pgperltidy. > > I believe our current policy is that we're asking committers to > maintain pgindent cleanliness, but not pgperl

pgsql: Fix incorrect return value for pg_size_pretty(bigint)

2024-07-28 Thread David Rowley
Fix incorrect return value for pg_size_pretty(bigint) pg_size_pretty(bigint) would return the value in bytes rather than PB for the smallest-most bigint value. This happened due to an incorrect assumption that the absolute value of -9223372036854775808 could be stored inside a signed 64-bit type.

pgsql: Fix incorrect return value for pg_size_pretty(bigint)

2024-07-28 Thread David Rowley
Fix incorrect return value for pg_size_pretty(bigint) pg_size_pretty(bigint) would return the value in bytes rather than PB for the smallest-most bigint value. This happened due to an incorrect assumption that the absolute value of -9223372036854775808 could be stored inside a signed 64-bit type.

pgsql: Fix incorrect return value for pg_size_pretty(bigint)

2024-07-28 Thread David Rowley
Fix incorrect return value for pg_size_pretty(bigint) pg_size_pretty(bigint) would return the value in bytes rather than PB for the smallest-most bigint value. This happened due to an incorrect assumption that the absolute value of -9223372036854775808 could be stored inside a signed 64-bit type.

pgsql: Fix incorrect return value for pg_size_pretty(bigint)

2024-07-28 Thread David Rowley
Fix incorrect return value for pg_size_pretty(bigint) pg_size_pretty(bigint) would return the value in bytes rather than PB for the smallest-most bigint value. This happened due to an incorrect assumption that the absolute value of -9223372036854775808 could be stored inside a signed 64-bit type.

pgsql: libpq: Use strerror_r instead of strerror

2024-07-28 Thread Peter Eisentraut
libpq: Use strerror_r instead of strerror Commit 453c4687377 introduced a use of strerror() into libpq, but that is not thread-safe. Fix by using strerror_r() instead. In passing, update some of the code comments added by 453c4687377, as we have learned more about the reason for the change in Op

pgsql: libpq: Use strerror_r instead of strerror

2024-07-28 Thread Peter Eisentraut
libpq: Use strerror_r instead of strerror Commit 453c4687377 introduced a use of strerror() into libpq, but that is not thread-safe. Fix by using strerror_r() instead. In passing, update some of the code comments added by 453c4687377, as we have learned more about the reason for the change in Op

pgsql: libpq: Use strerror_r instead of strerror

2024-07-28 Thread Peter Eisentraut
libpq: Use strerror_r instead of strerror Commit 453c4687377 introduced a use of strerror() into libpq, but that is not thread-safe. Fix by using strerror_r() instead. In passing, update some of the code comments added by 453c4687377, as we have learned more about the reason for the change in Op

pgsql: libpq: Use strerror_r instead of strerror

2024-07-28 Thread Peter Eisentraut
libpq: Use strerror_r instead of strerror Commit 453c4687377 introduced a use of strerror() into libpq, but that is not thread-safe. Fix by using strerror_r() instead. In passing, update some of the code comments added by 453c4687377, as we have learned more about the reason for the change in Op

pgsql: libpq: Use strerror_r instead of strerror

2024-07-28 Thread Peter Eisentraut
libpq: Use strerror_r instead of strerror Commit 453c4687377 introduced a use of strerror() into libpq, but that is not thread-safe. Fix by using strerror_r() instead. In passing, update some of the code comments added by 453c4687377, as we have learned more about the reason for the change in Op

pgsql: libpq: Use strerror_r instead of strerror

2024-07-28 Thread Peter Eisentraut
libpq: Use strerror_r instead of strerror Commit 453c4687377 introduced a use of strerror() into libpq, but that is not thread-safe. Fix by using strerror_r() instead. In passing, update some of the code comments added by 453c4687377, as we have learned more about the reason for the change in Op

pgsql: libpq: Use strerror_r instead of strerror

2024-07-28 Thread Peter Eisentraut
libpq: Use strerror_r instead of strerror Commit 453c4687377 introduced a use of strerror() into libpq, but that is not thread-safe. Fix by using strerror_r() instead. In passing, update some of the code comments added by 453c4687377, as we have learned more about the reason for the change in Op

pgsql: doc PG 17 relnotes: add "()" to PQsocketPoll mention

2024-07-28 Thread Bruce Momjian
doc PG 17 relnotes: add "()" to PQsocketPoll mention Backpatch-through: 17 only Branch -- REL_17_STABLE Details --- https://git.postgresql.org/pg/commitdiff/7525e4c62f99aca910566ddb0749dbaf944904c5 Modified Files -- doc/src/sgml/release-17.sgml | 2 +- 1 file changed, 1 inse