pgsql: Improve stability of btree page split on ERRORs

2025-09-25 Thread Michael Paquier
Improve stability of btree page split on ERRORs This improves the stability of VACUUM when processing btree indexes, which was previously able to trigger an assertion failure in _bt_lock_subtree_parent() when an error was previously thrown outside the scope of _bt_split() when splitting a btree pa

pgsql: Fix misleading comment in pg_get_statisticsobjdef_string()

2025-09-25 Thread David Rowley
Fix misleading comment in pg_get_statisticsobjdef_string() The comment claimed that a TABLESPACE reference was added to the resulting string, but that's not true. Looks like the comment was copied from pg_get_indexdef_string() without being adjusted correctly. Reported-by: jian he Discussion:

pgsql: Remove unused parameter from check_and_push_window_quals

2025-09-25 Thread David Rowley
Remove unused parameter from check_and_push_window_quals ... and find_window_run_conditions. This seems to have been around and unused ever since the Run Condition feature was added in 9d9c02ccd. Let's remove it to clean things up a bit. Author: Matheus Alcantara Discussion: https://postgr.es/

pgsql: psql: Add COMPLETE_WITH_FILES and COMPLETE_WITH_GENERATOR macros

2025-09-25 Thread Masahiko Sawada
psql: Add COMPLETE_WITH_FILES and COMPLETE_WITH_GENERATOR macros. While most tab completions in match_previous_words() use COMPLETE_WITH* macros to wrap rl_completion_matches(), some direct calls to rl_completion_matches() still remained. This commit introduces COMPLETE_WITH_FILES and COMPLETE_WI

pgsql: Remove preprocessor guards from injection points

2025-09-25 Thread Daniel Gustafsson
Remove preprocessor guards from injection points When defining an injection point there is no need to wrap the definition with USE_INJECTION_POINT guards, the INJECTION_POINT macro is available in all builds. Remove to make the code consistent. Author: Hayato Kuroda Reviewed-by: Michael Paquier

pgsql: Try to avoid floating-point roundoff error in pg_sleep().

2025-09-25 Thread Tom Lane
Try to avoid floating-point roundoff error in pg_sleep(). I noticed the surprising behavior that pg_sleep(0.001) will sleep for 2ms not the expected 1ms. Apparently the float8 calculation of time-to-sleep is managing to produce something a hair over 1, which ceil() rounds up to 2, and then WaitLa

pgsql: Add minimal sleep to stats isolation test functions.

2025-09-25 Thread Tom Lane
Add minimal sleep to stats isolation test functions. The functions test_stat_func() and test_stat_func2() had empty function bodies, so that they took very little time to run. This made it possible that on machines with relatively low timer resolution the functions could return before the clock a

pgsql: Add minimal sleep to stats isolation test functions.

2025-09-25 Thread Tom Lane
Add minimal sleep to stats isolation test functions. The functions test_stat_func() and test_stat_func2() had empty function bodies, so that they took very little time to run. This made it possible that on machines with relatively low timer resolution the functions could return before the clock a

pgsql: Add minimal sleep to stats isolation test functions.

2025-09-25 Thread Tom Lane
Add minimal sleep to stats isolation test functions. The functions test_stat_func() and test_stat_func2() had empty function bodies, so that they took very little time to run. This made it possible that on machines with relatively low timer resolution the functions could return before the clock a

pgsql: Add minimal sleep to stats isolation test functions.

2025-09-25 Thread Tom Lane
Add minimal sleep to stats isolation test functions. The functions test_stat_func() and test_stat_func2() had empty function bodies, so that they took very little time to run. This made it possible that on machines with relatively low timer resolution the functions could return before the clock a

pgsql: Add minimal sleep to stats isolation test functions.

2025-09-25 Thread Tom Lane
Add minimal sleep to stats isolation test functions. The functions test_stat_func() and test_stat_func2() had empty function bodies, so that they took very little time to run. This made it possible that on machines with relatively low timer resolution the functions could return before the clock a

pgsql: Update GB18030 encoding from version 2000 to 2022

2025-09-25 Thread John Naylor
Update GB18030 encoding from version 2000 to 2022 Mappings for 18 characters have changed, affecting 36 code points. This is a break in compatibility, but these characters are rarely used. U+E5E5 (Private Use Area) was previously mapped to \xA3A0. This code point now maps to \x65356535. Attemptin

pgsql: Doc: clean up documentation for new UUID functions.

2025-09-25 Thread Tom Lane
Doc: clean up documentation for new UUID functions. Fix assorted failures to conform to our normal style for function documentation, such as lack of parentheses and incorrect markup. Author: Marcos Pegoraro Co-authored-by: Tom Lane Discussion: https://postgr.es/m/cab-jlwbocrfjkfghoky43phtf49ca

pgsql: Fix array allocation bugs in SetExplainExtensionState.

2025-09-25 Thread Robert Haas
Fix array allocation bugs in SetExplainExtensionState. If we already have an extension_state array but see a new extension_id much larger than the highest the extension_id we've previously seen, the old code might have failed to expand the array to a large enough size, leading to disaster. Also, i

pgsql: Fix array allocation bugs in SetExplainExtensionState.

2025-09-25 Thread Robert Haas
Fix array allocation bugs in SetExplainExtensionState. If we already have an extension_state array but see a new extension_id much larger than the highest the extension_id we've previously seen, the old code might have failed to expand the array to a large enough size, leading to disaster. Also, i

pgsql: Doc: clean up documentation for new UUID functions.

2025-09-25 Thread Tom Lane
Doc: clean up documentation for new UUID functions. Fix assorted failures to conform to our normal style for function documentation, such as lack of parentheses and incorrect markup. Author: Marcos Pegoraro Co-authored-by: Tom Lane Discussion: https://postgr.es/m/cab-jlwbocrfjkfghoky43phtf49ca

pgsql: Teach doc/src/sgml/Makefile about the new func/*.sgml files.

2025-09-25 Thread Tom Lane
Teach doc/src/sgml/Makefile about the new func/*.sgml files. These were omitted from build dependencies and also tab/nbsp checks, with the result that "make" did nothing after modifying a func/*.sgml file. Oversight in 4e23c9ef6. AFAICT we don't need any comparable changes in meson.build, or at

pgsql: Remove preprocessor guards from injection points

2025-09-25 Thread Daniel Gustafsson
Remove preprocessor guards from injection points When defining an injection point there is no need to wrap the definition with USE_INJECTION_POINT guards, the INJECTION_POINT macro is available in all builds. Remove to make the code consistent. Author: Hayato Kuroda Reviewed-by: Michael Paquier

pgsql: Fix comments in recovery tests

2025-09-25 Thread Daniel Gustafsson
Fix comments in recovery tests Commit 4464fddf removed the large insertions but missed to remove all the comments referring to them. Also remove a superfluous ')' in another comment. Author: Hayato Kuroda Reviewed-by: Michael Paquier Reviewed-by: Daniel Gustafsson Discussion: https://postgr.

pgsql: Don't include execnodes.h in replication/conflict.h

2025-09-25 Thread Álvaro Herrera
Don't include execnodes.h in replication/conflict.h ... which silently propagates a lot of headers into many places via pgstat.h, as evidenced by the variety of headers that this patch needs to add to seemingly random places. Add a minimum of typedefs to conflict.h to be able to remove execnodes.

pgsql: Update some more forward declarations to use typedef

2025-09-25 Thread Álvaro Herrera
Update some more forward declarations to use typedef As commit d4d1fc527bdb. Reviewed-by: Peter Eisentraut Discussion: https://postgr.es/m/[email protected] Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/81fc3e28e383d9a21843a5ab845a1bd1a104