pgsql: Ignore dropped columns during apply of update/delete.

2023-03-20 Thread Amit Kapila
Ignore dropped columns during apply of update/delete. We fail to apply updates and deletes when the REPLICA IDENTITY FULL is used for the table having dropped columns. We didn't use to ignore dropped columns while doing tuple comparison among the tuples from the publisher and subscriber during

pgsql: Ignore dropped columns during apply of update/delete.

2023-03-20 Thread Amit Kapila
Ignore dropped columns during apply of update/delete. We fail to apply updates and deletes when the REPLICA IDENTITY FULL is used for the table having dropped columns. We didn't use to ignore dropped columns while doing tuple comparison among the tuples from the publisher and subscriber during

pgsql: Ignore dropped columns during apply of update/delete.

2023-03-20 Thread Amit Kapila
Ignore dropped columns during apply of update/delete. We fail to apply updates and deletes when the REPLICA IDENTITY FULL is used for the table having dropped columns. We didn't use to ignore dropped columns while doing tuple comparison among the tuples from the publisher and subscriber during

pgsql: Ignore dropped columns during apply of update/delete.

2023-03-20 Thread Amit Kapila
Ignore dropped columns during apply of update/delete. We fail to apply updates and deletes when the REPLICA IDENTITY FULL is used for the table having dropped columns. We didn't use to ignore dropped columns while doing tuple comparison among the tuples from the publisher and subscriber during

pgsql: Ignore dropped columns during apply of update/delete.

2023-03-20 Thread Amit Kapila
Ignore dropped columns during apply of update/delete. We fail to apply updates and deletes when the REPLICA IDENTITY FULL is used for the table having dropped columns. We didn't use to ignore dropped columns while doing tuple comparison among the tuples from the publisher and subscriber during

pgsql: Ignore dropped columns during apply of update/delete.

2023-03-20 Thread Amit Kapila
Ignore dropped columns during apply of update/delete. We fail to apply updates and deletes when the REPLICA IDENTITY FULL is used for the table having dropped columns. We didn't use to ignore dropped columns while doing tuple comparison among the tuples from the publisher and subscriber during

pgsql: Fix race in parallel hash join batch cleanup, take II.

2023-03-20 Thread Thomas Munro
Fix race in parallel hash join batch cleanup, take II. With unlucky timing and parallel_leader_participation=off (not the default), PHJ could attempt to access per-batch shared state just as it was being freed. There was code intended to prevent that by checking for a cleared pointer, but it was

pgsql: Fix race in parallel hash join batch cleanup, take II.

2023-03-20 Thread Thomas Munro
Fix race in parallel hash join batch cleanup, take II. With unlucky timing and parallel_leader_participation=off (not the default), PHJ could attempt to access per-batch shared state just as it was being freed. There was code intended to prevent that by checking for a cleared pointer, but it was

pgsql: Fix race in parallel hash join batch cleanup, take II.

2023-03-20 Thread Thomas Munro
Fix race in parallel hash join batch cleanup, take II. With unlucky timing and parallel_leader_participation=off (not the default), PHJ could attempt to access per-batch shared state just as it was being freed. There was code intended to prevent that by checking for a cleared pointer, but it was

pgsql: Fix race in parallel hash join batch cleanup, take II.

2023-03-20 Thread Thomas Munro
Fix race in parallel hash join batch cleanup, take II. With unlucky timing and parallel_leader_participation=off (not the default), PHJ could attempt to access per-batch shared state just as it was being freed. There was code intended to prevent that by checking for a cleared pointer, but it was

pgsql: Fix race in parallel hash join batch cleanup, take II.

2023-03-20 Thread Thomas Munro
Fix race in parallel hash join batch cleanup, take II. With unlucky timing and parallel_leader_participation=off (not the default), PHJ could attempt to access per-batch shared state just as it was being freed. There was code intended to prevent that by checking for a cleared pointer, but it was

pgsql: Fix race in parallel hash join batch cleanup, take II.

2023-03-20 Thread Thomas Munro
Fix race in parallel hash join batch cleanup, take II. With unlucky timing and parallel_leader_participation=off (not the default), PHJ could attempt to access per-batch shared state just as it was being freed. There was code intended to prevent that by checking for a cleared pointer, but it was

pgsql: Stabilize pg_stat_io writes test

2023-03-20 Thread Andres Freund
Stabilize pg_stat_io writes test Counting writes only for io_context = 'normal' is unreliable, as backends using a buffer access strategy could flush all of the dirty buffers out from under the other backends and checkpointer. Change the test to count writes in any context. This achieves roughly

pgsql: meson: rename html_help target to htmlhelp

2023-03-20 Thread Andres Freund
meson: rename html_help target to htmlhelp Reported-by: Peter Eisentraut Discussion: https://postgr.es/m/3fc3bb9b-f7f8-d442-35c1-ec82280c5...@enterprisedb.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/7730ceb43fe5ecaa2b3cb26eb0ed8ad2e18c2d46 Modified Files

pgsql: Add @extschema:name@ and no_relocate options to extensions.

2023-03-20 Thread Tom Lane
Add @extschema:name@ and no_relocate options to extensions. @extschema:name@ extends the existing @extschema@ feature so that we can also insert the schema name of some required extension, thus making cross-extension references robust even if they are in different schemas. However, this has the

pgsql: doc/PDF: Add page breaks for in contrib appendix

2023-03-20 Thread Alvaro Herrera
doc/PDF: Add page breaks for in contrib appendix This better separates the content for each extension/module. Author: Karl Pinc Discussion: https://postgr.es/m/20230120142225.3d3be...@slate.karlpinc.com Branch -- master Details ---

pgsql: Ignore BRIN indexes when checking for HOT updates

2023-03-20 Thread Tomas Vondra
Ignore BRIN indexes when checking for HOT updates When determining whether an index update may be skipped by using HOT, we can ignore attributes indexed by block summarizing indexes without references to individual tuples that need to be cleaned up. A new type TU_UpdateIndexes provides a signal

pgsql: Fix netmask handling in inet_minmax_multi_ops

2023-03-20 Thread Tomas Vondra
Fix netmask handling in inet_minmax_multi_ops When calculating distance in brin_minmax_multi_distance_inet(), the netmask was applied incorrectly. This results in (seemingly) incorrect ordering of values, triggering an assert. For builds without asserts this is mostly harmless - we may merge

pgsql: Fix netmask handling in inet_minmax_multi_ops

2023-03-20 Thread Tomas Vondra
Fix netmask handling in inet_minmax_multi_ops When calculating distance in brin_minmax_multi_distance_inet(), the netmask was applied incorrectly. This results in (seemingly) incorrect ordering of values, triggering an assert. For builds without asserts this is mostly harmless - we may merge

pgsql: Fix netmask handling in inet_minmax_multi_ops

2023-03-20 Thread Tomas Vondra
Fix netmask handling in inet_minmax_multi_ops When calculating distance in brin_minmax_multi_distance_inet(), the netmask was applied incorrectly. This results in (seemingly) incorrect ordering of values, triggering an assert. For builds without asserts this is mostly harmless - we may merge

pgsql: doc: Additional information about timeline ID hexadecimal format

2023-03-20 Thread Peter Eisentraut
doc: Additional information about timeline ID hexadecimal format Timeline IDs are sometimes presented to the user in hexadecimal format (for example in WAL file names). Add a few bits of information to clarify this. Author: Sébastien Lardière Discussion: