pgsql: Give SMgrRelation pointers a well-defined lifetime.

2024-01-31 Thread Heikki Linnakangas
Give SMgrRelation pointers a well-defined lifetime. After calling smgropen(), it was not clear how long you could continue to use the result, because various code paths including cache invalidation could call smgrclose(), which freed the memory. Guarantee that the object won't be destroyed until

pgsql: Remove some obsolete smgrcloseall() calls.

2024-01-31 Thread Heikki Linnakangas
Remove some obsolete smgrcloseall() calls. Before the advent of PROCSIGNAL_BARRIER_SMGRRELEASE, we didn't have a comprehensive way to deal with Windows file handles that get in the way of unlinking directories. We had smgrcloseall() calls in a few places to try to mitigate. It's still a good ide

pgsql: doc: Document more that relations share a namespace

2024-01-31 Thread Peter Eisentraut
doc: Document more that relations share a namespace This was already documented in the CREATE INDEX reference, but not in the introductory "Data Definition" chapter. Also, document that the index that implements a constraint has the same name as the constraint. Author: Laurenz Albe Reviewed-by:

pgsql: Revise pg_walsummary's 002_blocks test to avoid spurious failure

2024-01-31 Thread Robert Haas
Revise pg_walsummary's 002_blocks test to avoid spurious failures. Analysis of buildfarm results showed that the code that was intended to wait for the inserts performed by this test to complete did not actually do so. Try to make that logic more robust. Improve error checking elsewhere in the sc

pgsql: Update pg_walsummary copyright notices to 2024

2024-01-31 Thread Alvaro Herrera
Update pg_walsummary copyright notices to 2024 Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/f0106b6d2dc28660d9ecba3de77cee14de921c94 Modified Files -- src/bin/pg_walsummary/Makefile| 2 +- src/bin/pg_walsummary/meson.build | 2 +- src/bin/pg

pgsql: In 002_blocks.pl, try to prevent a HOT update.

2024-01-31 Thread Robert Haas
In 002_blocks.pl, try to prevent a HOT update. Make the new tuple larger than the old one so that it, hopefully, won't manage to squeeze into leftover freespace on the same page. The test is trying to verify that the UPDATE touches 2 pages, but if a HOT update happens, then it doesn't. Per buildf

pgsql: Clean pg_walsummary's tmp_check directory.

2024-01-31 Thread Tom Lane
Clean pg_walsummary's tmp_check directory. Oversight similar to ba08c10fc. Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/9589b038d3203cd5ba708fb4f5c23182c88ad0b3 Modified Files -- src/bin/pg_walsummary/Makefile | 1 + 1 file changed, 1 insertion(+)

Re: pgsql: Temporary patch to help debug pg_walsummary test failures.

2024-01-31 Thread Robert Haas
On Tue, Jan 30, 2024 at 10:06 PM David Rowley wrote: > On Mon, 29 Jan 2024 at 12:40, Michael Paquier wrote: > > Not sure if that's worth fixing if this should be gone at some point, > > but koel has been complaining on this one: > > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=koel&dt=

pgsql: Fix costing bug in MergeAppend

2024-01-31 Thread David Rowley
Fix costing bug in MergeAppend When building a MergeAppendPath which has child paths that are not sorted correctly for the MergeAppend's sort order, we apply the cost of sorting those paths to the MergeAppendPath costs. Here we fix a bug where the number of tuples specified that needed to be sort

pgsql: Exclude Threadsanitizer instrumentation in exit check

2024-01-31 Thread Daniel Gustafsson
Exclude Threadsanitizer instrumentation in exit check When building libpq there is a check to ensure that we're not linking against code that calls exit(). This check is using a heuristic grep with exclusions for known false positives. The Threadsanitizer library instrumentation for function exits

pgsql: Fix copy&paste typo in comment

2024-01-31 Thread Alvaro Herrera
Fix copy&paste typo in comment Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/402388946fb3ac54f0fd5944d7e177ef7737eab2 Modified Files -- src/backend/storage/lmgr/lwlock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)