pgsql: Fix missing FSM vacuum opportunities on tables without indexes.

2025-07-01 Thread Masahiko Sawada
Fix missing FSM vacuum opportunities on tables without indexes. Commit c120550edb86 optimized the vacuuming of relations without indexes (a.k.a. one-pass strategy) by directly marking dead item IDs as LP_UNUSED. However, the periodic FSM vacuum was still checking if dead item IDs had been marked a

pgsql: Fix missing FSM vacuum opportunities on tables without indexes.

2025-07-01 Thread Masahiko Sawada
Fix missing FSM vacuum opportunities on tables without indexes. Commit c120550edb86 optimized the vacuuming of relations without indexes (a.k.a. one-pass strategy) by directly marking dead item IDs as LP_UNUSED. However, the periodic FSM vacuum was still checking if dead item IDs had been marked a

pgsql: Fix missing FSM vacuum opportunities on tables without indexes.

2025-07-01 Thread Masahiko Sawada
Fix missing FSM vacuum opportunities on tables without indexes. Commit c120550edb86 optimized the vacuuming of relations without indexes (a.k.a. one-pass strategy) by directly marking dead item IDs as LP_UNUSED. However, the periodic FSM vacuum was still checking if dead item IDs had been marked a

pgsql: Remove implicit cast from 'void *'

2025-07-01 Thread John Naylor
Remove implicit cast from 'void *' Commit e2809e3a101 added code to a header which assigns a pointer to void to a pointer to unsigned char. This causes build errors for extensions written in C++. Fix by adding an explicit cast. Reviewed-by: Tom Lane Discussion: https://postgr.es/m/CANWCAZaCq9AH

pgsql: Remove implicit cast from 'void *'

2025-07-01 Thread John Naylor
Remove implicit cast from 'void *' Commit e2809e3a101 added code to a header which assigns a pointer to void to a pointer to unsigned char. This causes build errors for extensions written in C++. Fix by adding an explicit cast. Reviewed-by: Tom Lane Discussion: https://postgr.es/m/CANWCAZaCq9AH

pgsql: Fix bug in archive streamer with LZ4 decompression

2025-07-01 Thread Michael Paquier
Fix bug in archive streamer with LZ4 decompression When decompressing some input data, the calculation for the initial starting point and the initial size were incorrect, potentially leading to failures when decompressing contents with LZ4. These initialization points are fixed in this commit, br

pgsql: Fix bug in archive streamer with LZ4 decompression

2025-07-01 Thread Michael Paquier
Fix bug in archive streamer with LZ4 decompression When decompressing some input data, the calculation for the initial starting point and the initial size were incorrect, potentially leading to failures when decompressing contents with LZ4. These initialization points are fixed in this commit, br

pgsql: Fix bug in archive streamer with LZ4 decompression

2025-07-01 Thread Michael Paquier
Fix bug in archive streamer with LZ4 decompression When decompressing some input data, the calculation for the initial starting point and the initial size were incorrect, potentially leading to failures when decompressing contents with LZ4. These initialization points are fixed in this commit, br

pgsql: Fix bug in archive streamer with LZ4 decompression

2025-07-01 Thread Michael Paquier
Fix bug in archive streamer with LZ4 decompression When decompressing some input data, the calculation for the initial starting point and the initial size were incorrect, potentially leading to failures when decompressing contents with LZ4. These initialization points are fixed in this commit, br

pgsql: Fix bug in archive streamer with LZ4 decompression

2025-07-01 Thread Michael Paquier
Fix bug in archive streamer with LZ4 decompression When decompressing some input data, the calculation for the initial starting point and the initial size were incorrect, potentially leading to failures when decompressing contents with LZ4. These initialization points are fixed in this commit, br

pgsql: Move code for the bytea data type from varlena.c to new bytea.c

2025-07-01 Thread Michael Paquier
Move code for the bytea data type from varlena.c to new bytea.c This commit moves all the routines related to the bytea data type into its own new file, called bytea.c, clearing some of the bloat in varlena.c. This includes the routines for: - Input, output, receive and send - Comparison - Casts

pgsql: Show sizes of FETCH queries as constants in pg_stat_statements

2025-07-01 Thread Michael Paquier
Show sizes of FETCH queries as constants in pg_stat_statements Prior to this patch, every FETCH call would generate a unique queryId with a different size specified. Depending on the workloads, this could lead to a significant bloat in pg_stat_statements, as repeatedly calling a specific cursor w

pgsql: Fix outdated comment for IndexInfo

2025-07-01 Thread Peter Eisentraut
Fix outdated comment for IndexInfo Commit 78416235713 removed the ii_OpclassOptions field, but the comment was not updated. Author: Japin Li Reviewed-by: Richard Guo Discussion: https://www.postgresql.org/message-id/flat/ME0P300MB04453E6C7EA635F0ECF41BFCB6832%40ME0P300MB0445.AUSP300.PROD.OUTLO

pgsql: Update comment for IndexInfo.ii_NullsNotDistinct

2025-07-01 Thread Peter Eisentraut
Update comment for IndexInfo.ii_NullsNotDistinct Commit 7a7b3e11e61 added the ii_NullsNotDistinct field, but the comment was not updated. Author: Japin Li Reviewed-by: Richard Guo Discussion: https://www.postgresql.org/message-id/flat/ME0P300MB04453E6C7EA635F0ECF41BFCB6832%40ME0P300MB0445.AUSP

pgsql: Update comment for IndexInfo.ii_NullsNotDistinct

2025-07-01 Thread Peter Eisentraut
Update comment for IndexInfo.ii_NullsNotDistinct Commit 7a7b3e11e61 added the ii_NullsNotDistinct field, but the comment was not updated. Author: Japin Li Reviewed-by: Richard Guo Discussion: https://www.postgresql.org/message-id/flat/ME0P300MB04453E6C7EA635F0ECF41BFCB6832%40ME0P300MB0445.AUSP

pgsql: Update comment for IndexInfo.ii_NullsNotDistinct

2025-07-01 Thread Peter Eisentraut
Update comment for IndexInfo.ii_NullsNotDistinct Commit 7a7b3e11e61 added the ii_NullsNotDistinct field, but the comment was not updated. Author: Japin Li Reviewed-by: Richard Guo Discussion: https://www.postgresql.org/message-id/flat/ME0P300MB04453E6C7EA635F0ECF41BFCB6832%40ME0P300MB0445.AUSP

pgsql: Update comment for IndexInfo.ii_NullsNotDistinct

2025-07-01 Thread Peter Eisentraut
Update comment for IndexInfo.ii_NullsNotDistinct Commit 7a7b3e11e61 added the ii_NullsNotDistinct field, but the comment was not updated. Author: Japin Li Reviewed-by: Richard Guo Discussion: https://www.postgresql.org/message-id/flat/ME0P300MB04453E6C7EA635F0ECF41BFCB6832%40ME0P300MB0445.AUSP

pgsql: Update comment for IndexInfo.ii_NullsNotDistinct

2025-07-01 Thread Peter Eisentraut
Update comment for IndexInfo.ii_NullsNotDistinct Commit 7a7b3e11e61 added the ii_NullsNotDistinct field, but the comment was not updated. Author: Japin Li Reviewed-by: Richard Guo Discussion: https://www.postgresql.org/message-id/flat/ME0P300MB04453E6C7EA635F0ECF41BFCB6832%40ME0P300MB0445.AUSP

pgsql: Document pg_get_multixact_members().

2025-07-01 Thread Nathan Bossart
Document pg_get_multixact_members(). Oversight in commit 0ac5ad5134. Author: Sami Imseih Co-authored-by: Álvaro Herrera Reviewed-by: Ashutosh Bapat Discussion: https://postgr.es/m/20150619215231.GT133018%40postgresql.org Discussion: https://postgr.es/m/CAA5RZ0sjQDDwJfMRb%3DZ13nDLuRpF13ME2L_Bd

pgsql: Document pg_get_multixact_members().

2025-07-01 Thread Nathan Bossart
Document pg_get_multixact_members(). Oversight in commit 0ac5ad5134. Author: Sami Imseih Co-authored-by: Álvaro Herrera Reviewed-by: Ashutosh Bapat Discussion: https://postgr.es/m/20150619215231.GT133018%40postgresql.org Discussion: https://postgr.es/m/CAA5RZ0sjQDDwJfMRb%3DZ13nDLuRpF13ME2L_Bd

pgsql: Add commit 9e345415bc to .git-blame-ignore-revs.

2025-07-01 Thread Nathan Bossart
Add commit 9e345415bc to .git-blame-ignore-revs. Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/aa268cbaade2e7c87addc2fabc7fc8a43310a440 Modified Files -- .git-blame-ignore-revs | 3 +++ 1 file changed, 3 insertions(+)

pgsql: Add commit 07448b3969 to .git-blame-ignore-revs.

2025-07-01 Thread Nathan Bossart
Add commit 07448b3969 to .git-blame-ignore-revs. Branch -- REL_18_STABLE Details --- https://git.postgresql.org/pg/commitdiff/3386b2fe7af98159b0c7bc3f0f03fcb524d98cd6 Modified Files -- .git-blame-ignore-revs | 3 +++ 1 file changed, 3 insertions(+)

pgsql: Make more use of binaryheap_empty() and binaryheap_size().

2025-07-01 Thread Nathan Bossart
Make more use of binaryheap_empty() and binaryheap_size(). A few places were accessing bh_size directly instead of via these handy macros. Author: Aleksander Alekseev Discussion: https://postgr.es/m/CAJ7c6TPQMVL%2B028T4zuw9ZqL5Du9JavOLhBQLkJeK0RznYx_6w%40mail.gmail.com Branch -- master De

pgsql: Document pg_get_multixact_members().

2025-07-01 Thread Nathan Bossart
Document pg_get_multixact_members(). Oversight in commit 0ac5ad5134. Author: Sami Imseih Co-authored-by: Álvaro Herrera Reviewed-by: Ashutosh Bapat Discussion: https://postgr.es/m/20150619215231.GT133018%40postgresql.org Discussion: https://postgr.es/m/CAA5RZ0sjQDDwJfMRb%3DZ13nDLuRpF13ME2L_Bd

pgsql: Document pg_get_multixact_members().

2025-07-01 Thread Nathan Bossart
Document pg_get_multixact_members(). Oversight in commit 0ac5ad5134. Author: Sami Imseih Co-authored-by: Álvaro Herrera Reviewed-by: Ashutosh Bapat Discussion: https://postgr.es/m/20150619215231.GT133018%40postgresql.org Discussion: https://postgr.es/m/CAA5RZ0sjQDDwJfMRb%3DZ13nDLuRpF13ME2L_Bd

pgsql: Document pg_get_multixact_members().

2025-07-01 Thread Nathan Bossart
Document pg_get_multixact_members(). Oversight in commit 0ac5ad5134. Author: Sami Imseih Co-authored-by: Álvaro Herrera Reviewed-by: Ashutosh Bapat Discussion: https://postgr.es/m/20150619215231.GT133018%40postgresql.org Discussion: https://postgr.es/m/CAA5RZ0sjQDDwJfMRb%3DZ13nDLuRpF13ME2L_Bd

pgsql: Document pg_get_multixact_members().

2025-07-01 Thread Nathan Bossart
Document pg_get_multixact_members(). Oversight in commit 0ac5ad5134. Author: Sami Imseih Co-authored-by: Álvaro Herrera Reviewed-by: Ashutosh Bapat Discussion: https://postgr.es/m/20150619215231.GT133018%40postgresql.org Discussion: https://postgr.es/m/CAA5RZ0sjQDDwJfMRb%3DZ13nDLuRpF13ME2L_Bd

pgsql: Document pg_get_multixact_members().

2025-07-01 Thread Nathan Bossart
Document pg_get_multixact_members(). Oversight in commit 0ac5ad5134. Author: Sami Imseih Co-authored-by: Álvaro Herrera Reviewed-by: Ashutosh Bapat Discussion: https://postgr.es/m/20150619215231.GT133018%40postgresql.org Discussion: https://postgr.es/m/CAA5RZ0sjQDDwJfMRb%3DZ13nDLuRpF13ME2L_Bd

pgsql: Update comment for IndexInfo.ii_WithoutOverlaps

2025-07-01 Thread Peter Eisentraut
Update comment for IndexInfo.ii_WithoutOverlaps Commit fc0438b4e80 added the ii_WithoutOverlaps field, but the comment was not updated. Author: Japin Li Reviewed-by: Richard Guo Discussion: https://www.postgresql.org/message-id/flat/ME0P300MB04453E6C7EA635F0ECF41BFCB6832%40ME0P300MB0445.AUSP30

pgsql: Update comment for IndexInfo.ii_WithoutOverlaps

2025-07-01 Thread Peter Eisentraut
Update comment for IndexInfo.ii_WithoutOverlaps Commit fc0438b4e80 added the ii_WithoutOverlaps field, but the comment was not updated. Author: Japin Li Reviewed-by: Richard Guo Discussion: https://www.postgresql.org/message-id/flat/ME0P300MB04453E6C7EA635F0ECF41BFCB6832%40ME0P300MB0445.AUSP30

pgsql: Fix outdated comment for IndexInfo

2025-07-01 Thread Peter Eisentraut
Fix outdated comment for IndexInfo Commit 78416235713 removed the ii_OpclassOptions field, but the comment was not updated. Author: Japin Li Reviewed-by: Richard Guo Discussion: https://www.postgresql.org/message-id/flat/ME0P300MB04453E6C7EA635F0ECF41BFCB6832%40ME0P300MB0445.AUSP300.PROD.OUTLO

pgsql: Fix outdated comment for IndexInfo

2025-07-01 Thread Peter Eisentraut
Fix outdated comment for IndexInfo Commit 78416235713 removed the ii_OpclassOptions field, but the comment was not updated. Author: Japin Li Reviewed-by: Richard Guo Discussion: https://www.postgresql.org/message-id/flat/ME0P300MB04453E6C7EA635F0ECF41BFCB6832%40ME0P300MB0445.AUSP300.PROD.OUTLO

pgsql: Improve code comment

2025-07-01 Thread Peter Eisentraut
Improve code comment The previous wording was potentially confusing about the impact of the OVERRIDING clause on generated columns. Reword slightly to avoid that. Reported-by: jian he Reviewed-by: Dean Rasheed Discussion: https://www.postgresql.org/message-id/flat/CACJufxFMBe0nPXOQZMLTH4Ry5Gy

pgsql: Make sure IOV_MAX is defined.

2025-07-01 Thread Tom Lane
Make sure IOV_MAX is defined. We stopped defining IOV_MAX on non-Windows systems in 75357ab94, on the assumption that every non-Windows system defines it in as required by X/Open. GNU Hurd, however, doesn't follow that standard either. Put back the old logic to assume 16 if it's not defined. A

pgsql: Make sure IOV_MAX is defined.

2025-07-01 Thread Tom Lane
Make sure IOV_MAX is defined. We stopped defining IOV_MAX on non-Windows systems in 75357ab94, on the assumption that every non-Windows system defines it in as required by X/Open. GNU Hurd, however, doesn't follow that standard either. Put back the old logic to assume 16 if it's not defined. A

pgsql: Make sure IOV_MAX is defined.

2025-07-01 Thread Tom Lane
Make sure IOV_MAX is defined. We stopped defining IOV_MAX on non-Windows systems in 75357ab94, on the assumption that every non-Windows system defines it in as required by X/Open. GNU Hurd, however, doesn't follow that standard either. Put back the old logic to assume 16 if it's not defined. A

pgsql: Make sure IOV_MAX is defined.

2025-07-01 Thread Tom Lane
Make sure IOV_MAX is defined. We stopped defining IOV_MAX on non-Windows systems in 75357ab94, on the assumption that every non-Windows system defines it in as required by X/Open. GNU Hurd, however, doesn't follow that standard either. Put back the old logic to assume 16 if it's not defined. A

pgsql: Document age(xid) and mxid_age(xid).

2025-07-01 Thread Nathan Bossart
Document age(xid) and mxid_age(xid). These functions have been around for some time, but commits 48b5aa3143 and 15afb7d61c were only back-patched to v16. Let's back-patch them to all supported versions now. Reported-by: David Rowley (commit 48b5aa3143) Author: Bruce Momjian (commit 48b5aa3143)

pgsql: Document age(xid) and mxid_age(xid).

2025-07-01 Thread Nathan Bossart
Document age(xid) and mxid_age(xid). These functions have been around for some time, but commits 48b5aa3143 and 15afb7d61c were only back-patched to v16. Let's back-patch them to all supported versions now. Reported-by: David Rowley (commit 48b5aa3143) Author: Bruce Momjian (commit 48b5aa3143)

pgsql: Make safeguard against incorrect flags for fsync more portable.

2025-07-01 Thread Tom Lane
Make safeguard against incorrect flags for fsync more portable. The existing code assumed that O_RDONLY is defined as 0, but this is not required by POSIX and is not true on GNU Hurd. We can avoid the assumption by relying on O_ACCMODE to mask the fcntl() result. (Hopefully, all supported platfor

pgsql: Make safeguard against incorrect flags for fsync more portable.

2025-07-01 Thread Tom Lane
Make safeguard against incorrect flags for fsync more portable. The existing code assumed that O_RDONLY is defined as 0, but this is not required by POSIX and is not true on GNU Hurd. We can avoid the assumption by relying on O_ACCMODE to mask the fcntl() result. (Hopefully, all supported platfor

pgsql: Make safeguard against incorrect flags for fsync more portable.

2025-07-01 Thread Tom Lane
Make safeguard against incorrect flags for fsync more portable. The existing code assumed that O_RDONLY is defined as 0, but this is not required by POSIX and is not true on GNU Hurd. We can avoid the assumption by relying on O_ACCMODE to mask the fcntl() result. (Hopefully, all supported platfor

pgsql: Make safeguard against incorrect flags for fsync more portable.

2025-07-01 Thread Tom Lane
Make safeguard against incorrect flags for fsync more portable. The existing code assumed that O_RDONLY is defined as 0, but this is not required by POSIX and is not true on GNU Hurd. We can avoid the assumption by relying on O_ACCMODE to mask the fcntl() result. (Hopefully, all supported platfor

pgsql: Make safeguard against incorrect flags for fsync more portable.

2025-07-01 Thread Tom Lane
Make safeguard against incorrect flags for fsync more portable. The existing code assumed that O_RDONLY is defined as 0, but this is not required by POSIX and is not true on GNU Hurd. We can avoid the assumption by relying on O_ACCMODE to mask the fcntl() result. (Hopefully, all supported platfor

pgsql: Make safeguard against incorrect flags for fsync more portable.

2025-07-01 Thread Tom Lane
Make safeguard against incorrect flags for fsync more portable. The existing code assumed that O_RDONLY is defined as 0, but this is not required by POSIX and is not true on GNU Hurd. We can avoid the assumption by relying on O_ACCMODE to mask the fcntl() result. (Hopefully, all supported platfor

pgsql: Make safeguard against incorrect flags for fsync more portable.

2025-07-01 Thread Tom Lane
Make safeguard against incorrect flags for fsync more portable. The existing code assumed that O_RDONLY is defined as 0, but this is not required by POSIX and is not true on GNU Hurd. We can avoid the assumption by relying on O_ACCMODE to mask the fcntl() result. (Hopefully, all supported platfor

pgsql: Document age(xid) and mxid_age(xid).

2025-07-01 Thread Nathan Bossart
Document age(xid) and mxid_age(xid). These functions have been around for some time, but commits 48b5aa3143 and 15afb7d61c were only back-patched to v16. Let's back-patch them to all supported versions now. Reported-by: David Rowley (commit 48b5aa3143) Author: Bruce Momjian (commit 48b5aa3143)

pgsql: Remove provider field from pg_locale_t.

2025-07-01 Thread Jeff Davis
Remove provider field from pg_locale_t. The behavior of pg_locale_t is specified by methods, so a separate provider field is no longer necessary. Reviewed-by: Andreas Karlsson Reviewed-by: Peter Eisentraut Discussion: https://postgr.es/m/2830211e1b6e6a2e26d845780b03e125281ea17b.camel%40j-davis

pgsql: Control ctype behavior internally with a method table.

2025-07-01 Thread Jeff Davis
Control ctype behavior internally with a method table. Previously, pattern matching and case mapping behavior branched based on the provider. Refactor to use a method table, which is less error-prone. This is also a step toward multiple provider versions, which we may want to support in the futur

pgsql: Fix typos in comments

2025-07-01 Thread Amit Langote
Fix typos in comments Commit 19d8e2308bc added enum values with the prefix TU_, but a few comments still referred to TUUI_, which was used in development versions of the patches committed as 19d8e2308bc. Author: Yugo Nagata Discussion: https://postgr.es/m/20250701110216.8ac8a9e4c6f607f1d954f...

pgsql: Fix typos in comments

2025-07-01 Thread Amit Langote
Fix typos in comments Commit 19d8e2308bc added enum values with the prefix TU_, but a few comments still referred to TUUI_, which was used in development versions of the patches committed as 19d8e2308bc. Author: Yugo Nagata Discussion: https://postgr.es/m/20250701110216.8ac8a9e4c6f607f1d954f...

pgsql: Fix typos in comments

2025-07-01 Thread Amit Langote
Fix typos in comments Commit 19d8e2308bc added enum values with the prefix TU_, but a few comments still referred to TUUI_, which was used in development versions of the patches committed as 19d8e2308bc. Author: Yugo Nagata Discussion: https://postgr.es/m/20250701110216.8ac8a9e4c6f607f1d954f...

pgsql: Fix typos in comments

2025-07-01 Thread Amit Langote
Fix typos in comments Commit 19d8e2308bc added enum values with the prefix TU_, but a few comments still referred to TUUI_, which was used in development versions of the patches committed as 19d8e2308bc. Author: Yugo Nagata Discussion: https://postgr.es/m/20250701110216.8ac8a9e4c6f607f1d954f...

pgsql: Use pg_ascii_tolower()/pg_ascii_toupper() where appropriate.

2025-07-01 Thread Jeff Davis
Use pg_ascii_tolower()/pg_ascii_toupper() where appropriate. Avoids unnecessary dependence on setlocale(). No behavior change. This commit reverts e1458f2f1b, which reverted some changes unintentionally committed before the branch for 19. Reviewed-by: Peter Eisentraut Discussion: https://postg

pgsql: Fix indentation in pg_numa code

2025-07-01 Thread Tomas Vondra
Fix indentation in pg_numa code Broken by commits 7fe2f67c7c9f, 81f287dc923f and bf1119d74a79. Backpatch to 18, same as the offending commits. Backpatch-through: 18 Branch -- REL_18_STABLE Details --- https://git.postgresql.org/pg/commitdiff/07448b3969d55a2081cdafafc23f68df3392f220 Mod

pgsql: Fix indentation in pg_numa code

2025-07-01 Thread Tomas Vondra
Fix indentation in pg_numa code Broken by commits 7fe2f67c7c9f, 81f287dc923f and bf1119d74a79. Backpatch to 18, same as the offending commits. Backpatch-through: 18 Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/9e345415bcd3c4358350b89edfd710469b8bfaf9 Modified F

pgsql: Add CHECK_FOR_INTERRUPTS into pg_numa_query_pages

2025-07-01 Thread Tomas Vondra
Add CHECK_FOR_INTERRUPTS into pg_numa_query_pages Querying the NUMA status can be quite time consuming, especially with large shared buffers. 8cc139bec34a called numa_move_pages() once, for all buffers, and we had to wait for the syscall to complete. But with the chunking, introduced by 7fe2f67c7

pgsql: Add CHECK_FOR_INTERRUPTS into pg_numa_query_pages

2025-07-01 Thread Tomas Vondra
Add CHECK_FOR_INTERRUPTS into pg_numa_query_pages Querying the NUMA status can be quite time consuming, especially with large shared buffers. 8cc139bec34a called numa_move_pages() once, for all buffers, and we had to wait for the syscall to complete. But with the chunking, introduced by 7fe2f67c7

pgsql: Silence valgrind about pg_numa_touch_mem_if_required

2025-07-01 Thread Tomas Vondra
Silence valgrind about pg_numa_touch_mem_if_required When querying NUMA status of pages in shared memory, we need to touch the memory first to get valid results. This may trigger valgrind reports, because some of the memory (e.g. unpinned buffers) may be marked as noaccess. Solved by adding a val

pgsql: amcheck: Improve confusing message

2025-07-01 Thread Peter Eisentraut
amcheck: Improve confusing message The way it was worded, the %u placeholder could be read as the table OID. Rearrange slightly to avoid the possible confusion. Reported-by: jian he Reviewed-by: Bertrand Drouvot Discussion: https://www.postgresql.org/message-id/flat/CACJufxFx-25XQV%2Br23oku7Z

pgsql: Silence valgrind about pg_numa_touch_mem_if_required

2025-07-01 Thread Tomas Vondra
Silence valgrind about pg_numa_touch_mem_if_required When querying NUMA status of pages in shared memory, we need to touch the memory first to get valid results. This may trigger valgrind reports, because some of the memory (e.g. unpinned buffers) may be marked as noaccess. Solved by adding a val

pgsql: Limit the size of numa_move_pages requests

2025-07-01 Thread Tomas Vondra
Limit the size of numa_move_pages requests There's a kernel bug in do_pages_stat(), affecting systems combining 64-bit kernel and 32-bit user space. The function splits the request into chunks of 16 pointers, but forgets the pointers are 32-bit when advancing to the next chunk. Some of the pointer

pgsql: Fix typo in pg_publication.h.

2025-07-01 Thread Amit Kapila
Fix typo in pg_publication.h. Author: shveta malik Discussion: https://postgr.es/m/CAJpy0uAyFN9o7vU_ZkZFv5-6ysXDNKNx_fC0gwLLKg=8==e...@mail.gmail.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/b5cd0ecd4d4fa89b716785f22e9f009624104d61 Modified Files -

pgsql: Limit the size of numa_move_pages requests

2025-07-01 Thread Tomas Vondra
Limit the size of numa_move_pages requests There's a kernel bug in do_pages_stat(), affecting systems combining 64-bit kernel and 32-bit user space. The function splits the request into chunks of 16 pointers, but forgets the pointers are 32-bit when advancing to the next chunk. Some of the pointer

pgsql: doc: TOAST not toast

2025-07-01 Thread Peter Eisentraut
doc: TOAST not toast There are different capitializations of "TOAST" around the documentation and code. This just changes a few places that were more obviously inconsistent with similar phrases elsewhere. Author: Peter Smith Discussion: https://www.postgresql.org/message-id/flat/CAHut+PtxXLJFh

pgsql: Enable MSVC conforming preprocessor

2025-07-01 Thread Peter Eisentraut
Enable MSVC conforming preprocessor Switch MSVC to use the conforming preprocessor, using the /Zc:preprocessor option. This allows us to drop the alternative implementation of VA_ARGS_NARGS() for the previous "traditional" preprocessor. This also prepares the way for enabling C11 mode in the fut

pgsql: xml2: Improve error handling of libxml2 calls

2025-07-01 Thread Michael Paquier
xml2: Improve error handling of libxml2 calls The contrib module xml2/ has always been fuzzy with the cleanup of the memory allocated by the calls internal to libxml2, even if there are APIs in place giving a lot of control over the error behavior, all located in the backend's xml.c. The code pat