pgsql: Update some tests in 013_crash_restart.pl.

2022-04-04 Thread Tom Lane
Update some tests in 013_crash_restart.pl. The expected backend message after SIGQUIT changed in commit 7e784d1dc, but we missed updating this test case. Also, experience shows that we might sometimes get "could not send data to server" instead of either of the libpq messages the test is looking

pgsql: Update some tests in 013_crash_restart.pl.

2022-04-04 Thread Tom Lane
Update some tests in 013_crash_restart.pl. The expected backend message after SIGQUIT changed in commit 7e784d1dc, but we missed updating this test case. Also, experience shows that we might sometimes get "could not send data to server" instead of either of the libpq messages the test is looking

Re: pgsql: JSON_TABLE

2022-04-04 Thread Andrew Dunstan
On 4/4/22 18:16, Erik Rijkers wrote: > Op 04-04-2022 om 22:23 schreef Andrew Dunstan: >> JSON_TABLE > > Great that this is now committed! > > I notice one changed item: the NESTED-PATH-phrase does not accept an > alias anymore.  The JSON_PATH v59 patches still had: > > | NESTED PATH json_path_spe

Re: pgsql: JSON_TABLE

2022-04-04 Thread Erik Rijkers
Op 04-04-2022 om 22:23 schreef Andrew Dunstan: JSON_TABLE Great that this is now committed! I notice one changed item: the NESTED-PATH-phrase does not accept an alias anymore. The JSON_PATH v59 patches still had: | NESTED PATH json_path_specification [ AS path_name ] COLUMNS ( json_table

pgsql: pgstat: remove some superflous comments from pgstat.h.

2022-04-04 Thread Andres Freund
pgstat: remove some superflous comments from pgstat.h. These would all need to be rephrased when moving to shared memory stats, but since they don't provide actual information right now, remove them instead. The comments for PgStat_Msg* are left in, because they will all be removed as part of the

pgsql: dshash: revise sequential scan support.

2022-04-04 Thread Andres Freund
dshash: revise sequential scan support. The previous coding of dshash_seq_next(), on the first call, accessed status->hash_table->size_log2 without holding a partition lock and without guaranteeing that ensure_valid_bucket_pointers() had ever been called. That oversight turns out to not have imme

pgsql: pgstat: consistent function comment formatting.

2022-04-04 Thread Andres Freund
pgstat: consistent function comment formatting. There was a wild mishmash of function comment formatting in pgstat, making it hard to know what to use for any new function and hard to extend existing comments (particularly due to randomly different forms of indentation). Author: Andres Freund Re

pgsql: JSON_TABLE

2022-04-04 Thread Andrew Dunstan
JSON_TABLE This feature allows jsonb data to be treated as a table and thus used in a FROM clause like other tabular data. Data can be selected from the jsonb using jsonpath expressions, and hoisted out of nested structures in the jsonb to form multiple rows, more or less like an outer join. Niki

pgsql: vacuumlazy.c: Further consolidate resource allocation.

2022-04-04 Thread Peter Geoghegan
vacuumlazy.c: Further consolidate resource allocation. Move remaining VACUUM resource allocation and deallocation code from lazy_scan_heap() to its caller, heap_vacuum_rel(). This finishes off work started by commit 73f6ec3d. Author: Peter Geoghegan Discussion: https://postgr.es/m/CAH2-Wzk3fNB

pgsql: psql: Show all query results by default

2022-04-04 Thread Peter Eisentraut
psql: Show all query results by default Previously, psql printed only the last result if a command string returned multiple result sets. Now it prints all of them. The previous behavior can be obtained by setting the psql variable SHOW_ALL_RESULTS to off. This is a significantly enhanced versio

pgsql: Disable synchronize_seqscans in 027_stream_regress.pl.

2022-04-04 Thread Tom Lane
Disable synchronize_seqscans in 027_stream_regress.pl. This script runs the core regression tests with quite a small value of shared_buffers, making it prone to breakage due to synchronize_seqscans kicking in where the tests don't expect that. Disable that feature to stabilize the tests. Discuss

pgsql: Avoid freeing objects during json aggregate finalization

2022-04-04 Thread Andrew Dunstan
Avoid freeing objects during json aggregate finalization Commit f4fb45d15c tried to free memory during aggregate finalization. This cause issues, particularly when used as a window function, so stop doing that. Per complaint by Jaime Casanova and diagnosis by Andres Freund Discussion: https://po

pgsql: pg_basebackup: Fix code that thinks about LZ4 buffer size.

2022-04-04 Thread Robert Haas
pg_basebackup: Fix code that thinks about LZ4 buffer size. Before this patch, there was some code that tried to make sure that the buffer was always big enough at the start, and then asserted that it didn't need to be enlarged later. However, the code to make sure it was big enough at the start do

pgsql: Use Generation memory contexts to store tuples in sorts

2022-04-04 Thread David Rowley
Use Generation memory contexts to store tuples in sorts The general usage pattern when we store tuples in tuplesort.c is that we store a series of tuples one by one then either perform a sort or spill them to disk. In the common case, there is no pfreeing of already stored tuples. For the common

pgsql: Adjust tuplesort API to have bitwise option flags

2022-04-04 Thread David Rowley
Adjust tuplesort API to have bitwise option flags This replaces the bool flag for randomAccess. An upcoming patch requires adding another option, so instead of breaking the API for that, then breaking it again one day if we add more options, let's just break it once. Any boolean options we add i

pgsql: Improve the generation memory allocator

2022-04-04 Thread David Rowley
Improve the generation memory allocator Here we make a series of improvements to the generation memory allocator, namely: 1. Allow generation contexts to have a minimum, initial and maximum block sizes. The standard allocator allows this already but when the generation context was added, it only