pgsql: Remove unnecessary declaration of heapam_methods

2024-08-06 Thread Michael Paquier
Remove unnecessary declaration of heapam_methods This overlaps with the declaration at the end of heapam_handler.c that lists all the callback routines for the heap table AM. Author: Japin Li Discussion: https://postgr.es/m/me0p300mb04459456d5c4e70d48116896b6...@me0p300mb0445.ausp300.prod.outloo

pgsql: Fix comments in instr_time.h and remove an unneeded cast to int6

2024-08-06 Thread Heikki Linnakangas
Fix comments in instr_time.h and remove an unneeded cast to int64 03023a2664 represented time as an int64 on all platforms but forgot to update the comment related to INSTR_TIME_GET_MICROSEC() and provided an incorrect comment for INSTR_TIME_GET_NANOSEC(). In passing remove an unneeded cast to in

pgsql: Remove volatile qualifiers from pg_stat_statements.c.

2024-08-06 Thread Nathan Bossart
Remove volatile qualifiers from pg_stat_statements.c. Prior to commit 0709b7ee72, which changed the spinlock primitives to function as compiler barriers, access to variables within a spinlock-protected section required using a volatile pointer, but that is no longer necessary. Reviewed-by: Bertra

pgsql: Clean up handling of client_encoding GUC in parallel workers.

2024-08-06 Thread Tom Lane
Clean up handling of client_encoding GUC in parallel workers. The previous coding here threw an error from assign_client_encoding if it was invoked in a parallel worker. That's a very fundamental violation of the GUC hook API: assign hooks must not throw errors. The place to complain is in the ch

pgsql: Allow parallel workers to cope with a newly-created session user

2024-08-06 Thread Tom Lane
Allow parallel workers to cope with a newly-created session user ID. Parallel workers failed after a sequence like BEGIN; CREATE USER foo; SET SESSION AUTHORIZATION foo; because check_session_authorization could not see the uncommitted pg_authid row for "foo". This is because we ran RestoreGUCSta

pgsql: Revert "Fix comments in instr_time.h and remove an unneeded cast

2024-08-06 Thread Heikki Linnakangas
Revert "Fix comments in instr_time.h and remove an unneeded cast to int64" This reverts commit 3dcb09de7b. Tom Lane pointed out that it broke the abstraction provided by the macros. The callers should not need to know what the internal type is. This commit is an exact revert, the next commit will

pgsql: Fix datatypes in comments in instr_time.h

2024-08-06 Thread Heikki Linnakangas
Fix datatypes in comments in instr_time.h The INSTR_TIME_GET_NANOSEC(t) and INSTR_TIME_GET_MICROSEC(t) macros return a signed int64. Discussion: https://www.postgresql.org/message-id/zrhkv3maqfwns...@ip-10-97-1-34.eu-west-3.compute.internal Branch -- master Details --- https://git.post

pgsql: selfuncs.c: use pg_strxfrm() instead of strxfrm().

2024-08-06 Thread Jeff Davis
selfuncs.c: use pg_strxfrm() instead of strxfrm(). pg_strxfrm() takes a pg_locale_t, so it works properly with all providers. This improves estimates for ICU when performing linear interpolation within a histogram bin. Previously, convert_string_datum() always used strxfrm() and relied on setloca

pgsql: Use psprintf to simplify gtsvectorout()

2024-08-06 Thread Heikki Linnakangas
Use psprintf to simplify gtsvectorout() The buffer allocation was correct, but looked archaic and scary: - It was weird to calculate the buffer size before determining which format string was used. With the same effort, we could've used the right-sized buffer for each branch. - Commit aa0d35

pgsql: Constify fields and parameters in spell.c

2024-08-06 Thread Heikki Linnakangas
Constify fields and parameters in spell.c I started by marking VoidString as const, and fixing the fallout by marking more fields and function arguments as const. It proliferated quite a lot, but all within spell.c and spell.h. A more narrow patch to get rid of the static VoidString buffer would

pgsql: Turn a few 'validnsps' static variables into locals

2024-08-06 Thread Heikki Linnakangas
Turn a few 'validnsps' static variables into locals There was no need for these to be static buffers, local variables work just as well. I think they were marked as 'static' to imply that they are read-only, but 'const' is more appropriate for that, so change them to const. To make it possible to

pgsql: Make nullSemAction const, add 'const' decorators to related func

2024-08-06 Thread Heikki Linnakangas
Make nullSemAction const, add 'const' decorators to related functions To make it more clear that these should never be modified. Reviewed-by: Andres Freund Discussion: https://www.postgresql.org/message-id/54c29fb0-edf2-48ea-9814-44e918bbd...@iki.fi Branch -- master Details --- https:/

pgsql: Mark misc static global variables as const

2024-08-06 Thread Heikki Linnakangas
Mark misc static global variables as const Reviewed-by: Andres Freund Discussion: https://www.postgresql.org/message-id/54c29fb0-edf2-48ea-9814-44e918bbd...@iki.fi Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/fe8dd65bf28db1a6ad690ffcd5124d1863b5a4c6 Modified Fi

pgsql: Tag refs/tags/REL_15_8 was created

2024-08-06 Thread noreply
Tag refs/tags/REL_15_8 was created.

pgsql: Tag refs/tags/REL_14_13 was created

2024-08-06 Thread noreply
Tag refs/tags/REL_14_13 was created.

pgsql: Tag refs/tags/REL_17_BETA3 was created

2024-08-06 Thread noreply
Tag refs/tags/REL_17_BETA3 was created.

pgsql: Tag refs/tags/REL_16_4 was created

2024-08-06 Thread noreply
Tag refs/tags/REL_16_4 was created.

pgsql: Tag refs/tags/REL_13_16 was created

2024-08-06 Thread noreply
Tag refs/tags/REL_13_16 was created.

pgsql: Tag refs/tags/REL_12_20 was created

2024-08-06 Thread noreply
Tag refs/tags/REL_12_20 was created.

pgsql: Introduce hash_search_with_hash_value() function

2024-08-06 Thread Alexander Korotkov
Introduce hash_search_with_hash_value() function This new function iterates hash entries with given hash values. This function is designed to avoid full sequential hash search in the syscache invalidation callbacks. Discussion: https://postgr.es/m/5812a6e5-68ae-4d84-9d85-b443176966a1%40sigaev.ru

pgsql: Optimize InvalidateAttoptCacheCallback() and TypeCacheTypCallbac

2024-08-06 Thread Alexander Korotkov
Optimize InvalidateAttoptCacheCallback() and TypeCacheTypCallback() These callbacks are receiving hash values as arguments, which doesn't allow direct lookups for AttoptCacheHash and TypeCacheHash. This is why subject callbacks currently use full iteration over corresponding hashes. This commit

Re: pgsql: Introduce hash_search_with_hash_value() function

2024-08-06 Thread Pavel Stehule
Hi st 7. 8. 2024 v 6:08 odesílatel Alexander Korotkov napsal: > Introduce hash_search_with_hash_value() function > > This new function iterates hash entries with given hash values. This > function > is designed to avoid full sequential hash search in the syscache > invalidation > callbacks. > >