pgsql: Update outdated comment in ApplyRetrieveRule

2022-12-07 Thread Alvaro Herrera
Update outdated comment in ApplyRetrieveRule

After a61b1f74823c.

Author: Amit Langote 
Discussion: 
https://postgr.es/m/CA+HiwqGZm7hb2VAy8HGM22-fTDaQzqE6T=5GbAk=gkt9h0h...@mail.gmail.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/29861e228a47c3b6c292f1bd4da413662a246ca2

Modified Files
--
src/backend/rewrite/rewriteHandler.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)



pgsql: Fix FK comment think-o

2022-12-07 Thread Peter Eisentraut
Fix FK comment think-o

from commit d6f96ed94e7

Author: Paul Jungwirth 
Reviewed-by: Ian Lawrence Barwick 
Discussion: 
https://www.postgresql.org/message-id/flat/6a7c7338-1aa2-4689-d171-0b0b294fdd84%40illuminatedcomputing.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/5e9b1220599946621984ec95f1cb80989f7c76d6

Modified Files
--
src/backend/commands/tablecmds.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)



pgsql: Fix FK comment think-o

2022-12-07 Thread Peter Eisentraut
Fix FK comment think-o

from commit d6f96ed94e7

Author: Paul Jungwirth 
Reviewed-by: Ian Lawrence Barwick 
Discussion: 
https://www.postgresql.org/message-id/flat/6a7c7338-1aa2-4689-d171-0b0b294fdd84%40illuminatedcomputing.com

Branch
--
REL_15_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/6bcd1d9f30c00fda59cd5210fc368bc086db15f6

Modified Files
--
src/backend/commands/tablecmds.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)



pgsql: Doc: subdivide System Information Functions and Operators.

2022-12-07 Thread Tom Lane
Doc: subdivide System Information Functions and Operators.

Provide  subdivisions in 9.26 System Information Functions and
Operators.  This is useful because it adds a mini-TOC at the top of
the page to aid jumping to portions of what's become quite a long
section.  Also, now that several of the subsections contain multiple
tables, it's hard to see the overall structure without headings.

Discussion: https://postgr.es/m/4026789.1670426...@sss.pgh.pa.us

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/3b3182195304777430d16d7967f0adcd8dbfe2ed

Modified Files
--
doc/src/sgml/func.sgml | 50 ++
1 file changed, 50 insertions(+)



pgsql: Minor code refactoring in elog.c (no functional change).

2022-12-07 Thread Tom Lane
Minor code refactoring in elog.c (no functional change).

Combine some duplicated code stanzas by creating small functions.
Most of these duplications arose at a time when I wouldn't have
trusted C compilers to auto-inline small functions intelligently,
but they're probably poor practice now.  Similarly split out some
bits that aren't actually duplicative as the code stands, but would
become so after an upcoming patch to add another error-handling
code path.

Take the opportunity to add some lengthier comments about what
we're doing here, too.  Re-order one function that seemed not
very well-placed.

Patch by me, per suggestions from Andres Freund.

Discussion: 
https://postgr.es/m/30df-7382-bf87-9737-340ba096e...@postgrespro.ru

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/8305629afe64c9065369d022e91be9f16f3972fa

Modified Files
--
src/backend/utils/error/elog.c | 257 ++---
1 file changed, 141 insertions(+), 116 deletions(-)



pgsql: meson: Add 'running' test setup, as a replacement for installche

2022-12-07 Thread Andres Freund
meson: Add 'running' test setup, as a replacement for installcheck

To run all tests that support running against existing server:
$ meson test --setup running

To run just the main pg_regress tests against existing server:
$ meson test --setup running regress-running/regress

To ensure the 'running' setup continues to work, test it as part of the
freebsd CI task.

Discussion: 
https://postgr.es/m/CAH2-Wz=xdqcmloo7rr_i6fkqddmcyb9q5gstnfuuqxroghb...@mail.gmail.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/3f0e786ccbf50a2f819fbf72d51ba13221adaaa1

Modified Files
--
.cirrus.yml   | 15 +
contrib/basic_archive/meson.build |  3 +
contrib/pg_freespacemap/meson.build   |  3 +
contrib/pg_stat_statements/meson.build|  4 ++
contrib/pg_walinspect/meson.build |  3 +
contrib/test_decoding/meson.build |  5 ++
doc/src/sgml/installation.sgml|  6 ++
meson.build   | 91 ++-
src/interfaces/ecpg/test/meson.build  |  1 +
src/test/isolation/meson.build|  1 +
src/test/modules/commit_ts/meson.build|  3 +
src/test/modules/snapshot_too_old/meson.build |  3 +
src/test/modules/test_oat_hooks/meson.build   |  1 +
src/test/modules/test_pg_dump/meson.build |  2 +
src/test/modules/test_slru/meson.build|  1 +
src/test/modules/worker_spi/meson.build   |  4 +-
src/test/regress/meson.build  |  1 +
17 files changed, 132 insertions(+), 15 deletions(-)



pgsql: Avoid unnecessary streaming of transactions during logical repli

2022-12-07 Thread Amit Kapila
Avoid unnecessary streaming of transactions during logical replication.

After restart, we don't perform streaming of an in-progress transaction if
it was previously decoded and confirmed by the client. To achieve that we
were comparing the END location of the WAL record being decoded with the
WAL location we have already decoded and confirmed by the client. While
decoding the commit record, to decide whether to process and send the
complete transaction, we compare its START location with the WAL location
we have already decoded and confirmed by the client. Now, if we need to
queue some change in the transaction while decoding the commit record
(e.g. snapshot), it is possible that we decide to stream the transaction
but later commit processing decides to skip it. In such a case, we would
needlessly send the changes and later when we decide to skip it, we will
send stream abort.

We also sometimes decide to stream the changes when we actually just need
to process them locally like a change for invalidations. This will lead us
to send empty streams. To avoid this, while queuing each change for
decoding, we remember whether the transaction has any change that actually
needs to be sent downstream and use that information later to decide
whether to stream the transaction or not.

Note, we can't avoid all cases where we have to send empty streams like
the case where the plugin later decides that the change is not
publishable. However, we will no longer need to send stream_abort when we
skip sending a particular transaction.

Author: Dilip Kumar
Reviewed-by: Hou Zhijie, Ashutosh Bapat, Shi yu, Amit Kapila
Discussion: 
https://postgr.es/m/CAFiTN-tHK=7lzfrps8fbt2ksrojgqbzywcgxst2bm9-rjja...@mail.gmail.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/bf07ab492c461460b4a69279abb2ef996b4f67ec

Modified Files
--
src/backend/replication/logical/reorderbuffer.c | 51 ++---
src/include/replication/reorderbuffer.h | 23 +++
2 files changed, 53 insertions(+), 21 deletions(-)



pgsql: Add option to specify segment size in blocks

2022-12-07 Thread Andres Freund
Add option to specify segment size in blocks

The tests don't have much coverage of segment related code, as we don't create
large enough tables. To make it easier to test these paths, add a new option
specifying the segment size in blocks.

Set the new option to 6 blocks in one of the CI tasks. Smaller numbers
currently fail one of the tests, for understandable reasons.

While at it, fix some segment size related issues in the meson build.

Author: Andres Freund 
Discussion: 
https://postgr.es/m/20221107171355.c23fzwanfzq2p...@awork3.anarazel.de

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/d3b111e3205b6e681e16b4f8e6ed01f67142ce7b

Modified Files
--
.cirrus.yml|  2 ++
configure  | 63 +++---
configure.ac   | 36 ++--
doc/src/sgml/installation.sgml | 28 +++
meson.build| 24 
meson_options.txt  |  3 ++
6 files changed, 132 insertions(+), 24 deletions(-)



pgsql: Remove new structure member from ResultRelInfo.

2022-12-07 Thread Etsuro Fujita
Remove new structure member from ResultRelInfo.

In commit ffbb7e65a, I added a ModifyTableState member to ResultRelInfo
to save the owning ModifyTableState for use by nodeModifyTable.c when
performing batch inserts, but as pointed out by Tom Lane, that changed
the array stride of es_result_relations, and that would break any
previously-compiled extension code that accesses that array.  Fix by
removing that member from ResultRelInfo and instead adding a List member
at the end of EState to save such ModifyTableStates.

Per report from Tom Lane.  Back-patch to v14, like the previous commit;
I chose to apply the patch to HEAD as well, to make back-patching easy.

Discussion: http://postgr.es/m/4065383.1669395453%40sss.pgh.pa.us

Branch
--
REL_15_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/a0bf7a0eccbf73c7ce4efd7b09c3c9544a57c5a4

Modified Files
--
src/backend/executor/execMain.c|  1 -
src/backend/executor/execPartition.c   |  7 ---
src/backend/executor/execUtils.c   |  4 +++-
src/backend/executor/nodeModifyTable.c | 31 ---
src/include/nodes/execnodes.h  |  8 +++-
5 files changed, 22 insertions(+), 29 deletions(-)



pgsql: Remove new structure member from ResultRelInfo.

2022-12-07 Thread Etsuro Fujita
Remove new structure member from ResultRelInfo.

In commit ffbb7e65a, I added a ModifyTableState member to ResultRelInfo
to save the owning ModifyTableState for use by nodeModifyTable.c when
performing batch inserts, but as pointed out by Tom Lane, that changed
the array stride of es_result_relations, and that would break any
previously-compiled extension code that accesses that array.  Fix by
removing that member from ResultRelInfo and instead adding a List member
at the end of EState to save such ModifyTableStates.

Per report from Tom Lane.  Back-patch to v14, like the previous commit;
I chose to apply the patch to HEAD as well, to make back-patching easy.

Discussion: http://postgr.es/m/4065383.1669395453%40sss.pgh.pa.us

Branch
--
REL_14_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/d43a97ef493a7edc9e03b5dd15870e04a0c38f75

Modified Files
--
src/backend/executor/execMain.c|  1 -
src/backend/executor/execPartition.c   |  7 ---
src/backend/executor/execUtils.c   |  4 +++-
src/backend/executor/nodeModifyTable.c | 31 ---
src/include/nodes/execnodes.h  |  8 +++-
5 files changed, 22 insertions(+), 29 deletions(-)



pgsql: Remove new structure member from ResultRelInfo.

2022-12-07 Thread Etsuro Fujita
Remove new structure member from ResultRelInfo.

In commit ffbb7e65a, I added a ModifyTableState member to ResultRelInfo
to save the owning ModifyTableState for use by nodeModifyTable.c when
performing batch inserts, but as pointed out by Tom Lane, that changed
the array stride of es_result_relations, and that would break any
previously-compiled extension code that accesses that array.  Fix by
removing that member from ResultRelInfo and instead adding a List member
at the end of EState to save such ModifyTableStates.

Per report from Tom Lane.  Back-patch to v14, like the previous commit;
I chose to apply the patch to HEAD as well, to make back-patching easy.

Discussion: http://postgr.es/m/4065383.1669395453%40sss.pgh.pa.us

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/4b3e37993254ed098219e62ceffb1b32fac388cb

Modified Files
--
src/backend/executor/execMain.c|  1 -
src/backend/executor/execPartition.c   |  7 ---
src/backend/executor/execUtils.c   |  4 +++-
src/backend/executor/nodeModifyTable.c | 31 ---
src/include/nodes/execnodes.h  |  8 +++-
5 files changed, 22 insertions(+), 29 deletions(-)