Re: pgsql: Avoid creation of the free space map for small heap relations.

2019-01-27 Thread John Naylor
gt; > > > No, it also depends on vacuum to remove rows and then truncate the > relation accordingly. That particular test could be removed -- it's just verifying behavior that's already been there for years and is a direct consquence of normal truncation combined with the a

pgsql: Remove unused function parameter in get_qual_from_partbound

2021-07-14 Thread John Naylor
Remove unused function parameter in get_qual_from_partbound Commit 0563a3a8b changed how partition constraints were generated such that this function no longer computes the mapping of parent attnos to child attnos. This is an external function that extensions could use, so this is potentially a b

pgsql: Add missing check of noError parameter in euc_tw_and_big5.c

2021-07-21 Thread John Naylor
Add missing check of noError parameter in euc_tw_and_big5.c Oversight in ea1b99a66 Yukun Wang Backpatch to v14 where this parameter was introduced Discussion: https://www.postgresql.org/message-id/flat/OS0PR01MB6003FCEFF0201EF21685FD33B4E39%40OS0PR01MB6003.jpnprd01.prod.outlook.com Branch

pgsql: Add missing check of noError parameter in euc_tw_and_big5.c

2021-07-21 Thread John Naylor
Add missing check of noError parameter in euc_tw_and_big5.c Oversight in ea1b99a66 Yukun Wang Backpatch to v14 where this parameter was introduced Discussion: https://www.postgresql.org/message-id/flat/OS0PR01MB6003FCEFF0201EF21685FD33B4E39%40OS0PR01MB6003.jpnprd01.prod.outlook.com Branch ---

pgsql: Document "B" and "us" as accepted units in postgres.conf.sample

2021-07-21 Thread John Naylor
Document "B" and "us" as accepted units in postgres.conf.sample In postgresql.conf, memory and file size GUCs can be specified with "B" (bytes) as of b06d8e58b. Likewise, time GUCs can be specified with "us" (microseconds) as of caf626b2c. Update postgres.conf.sample to reflect that fact. Pavel L

pgsql: Document "B" and "us" as accepted units in postgres.conf.sample

2021-07-21 Thread John Naylor
Document "B" and "us" as accepted units in postgres.conf.sample In postgresql.conf, memory and file size GUCs can be specified with "B" (bytes) as of b06d8e58b. Likewise, time GUCs can be specified with "us" (microseconds) as of caf626b2c. Update postgres.conf.sample to reflect that fact. Pavel L

pgsql: Document "B" and "us" as accepted units in postgres.conf.sample

2021-07-21 Thread John Naylor
Document "B" and "us" as accepted units in postgres.conf.sample In postgresql.conf, memory and file size GUCs can be specified with "B" (bytes) as of b06d8e58b. Likewise, time GUCs can be specified with "us" (microseconds) as of caf626b2c. Update postgres.conf.sample to reflect that fact. Pavel L

pgsql: Document "B" and "us" as accepted units in postgres.conf.sample

2021-07-21 Thread John Naylor
Document "B" and "us" as accepted units in postgres.conf.sample In postgresql.conf, memory and file size GUCs can be specified with "B" (bytes) as of b06d8e58b. Likewise, time GUCs can be specified with "us" (microseconds) as of caf626b2c. Update postgres.conf.sample to reflect that fact. Pavel L

pgsql: Document "B" as an accepted unit in postgres.conf.sample

2021-07-21 Thread John Naylor
Document "B" as an accepted unit in postgres.conf.sample In postgresql.conf, memory and file size GUCs can be specified with "B" (bytes) as of b06d8e58b. Pavel Luzanov This is a backpatch to v11 of a portion of bb95feabb. Discussion: https://www.postgresql.org/message-id/flat/f10d16fc-8fa0-1b3

pgsql: Fix division by zero error in date_bin

2021-07-22 Thread John Naylor
Fix division by zero error in date_bin Bauyrzhan Sakhariyev, via Github Backpatch to v14 Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/a0db4294aeffe428cdcb381fc66ba725ec588e95 Modified Files -- src/backend/utils/adt/timestamp.c | 10 +

pgsql: Fix division by zero error in date_bin

2021-07-22 Thread John Naylor
Fix division by zero error in date_bin Bauyrzhan Sakhariyev, via Github Backpatch to v14 Branch -- REL_14_STABLE Details --- https://git.postgresql.org/pg/commitdiff/81322fc409743f9ef169cb7bd89b0d0113a0aaa1 Modified Files -- src/backend/utils/adt/timestamp.c | 10 ++

pgsql: Disallow negative strides in date_bin()

2021-07-28 Thread John Naylor
Disallow negative strides in date_bin() It's not clear what the semantics of negative strides would be, so throw an error instead. Per report from Bauyrzhan Sakhariyev Reviewed-by: Tom Lane, Michael Paquier Discussion: https://www.postgresql.org/message-id/CAKpL73vZmLuFVuwF26FJ%2BNk11PVHhAnQRoR

pgsql: Disallow negative strides in date_bin()

2021-07-28 Thread John Naylor
Disallow negative strides in date_bin() It's not clear what the semantics of negative strides would be, so throw an error instead. Per report from Bauyrzhan Sakhariyev Reviewed-by: Tom Lane, Michael Paquier Discussion: https://www.postgresql.org/message-id/CAKpL73vZmLuFVuwF26FJ%2BNk11PVHhAnQRoR

pgsql: Fix range check in ECPG numeric to int conversion

2021-07-30 Thread John Naylor
Fix range check in ECPG numeric to int conversion The previous coding guarded against -INT_MAX instead of INT_MIN, leading to -2147483648 being rejected as out of range. Per bug #17128 from Kevin Sweet Discussion: https://www.postgresql.org/message-id/flat/17128-55a8a879727a3e3a%40postgresql.or

pgsql: Fix range check in ECPG numeric to int conversion

2021-07-30 Thread John Naylor
Fix range check in ECPG numeric to int conversion The previous coding guarded against -INT_MAX instead of INT_MIN, leading to -2147483648 being rejected as out of range. Per bug #17128 from Kevin Sweet Discussion: https://www.postgresql.org/message-id/flat/17128-55a8a879727a3e3a%40postgresql.or

pgsql: Fix range check in ECPG numeric to int conversion

2021-07-30 Thread John Naylor
Fix range check in ECPG numeric to int conversion The previous coding guarded against -INT_MAX instead of INT_MIN, leading to -2147483648 being rejected as out of range. Per bug #17128 from Kevin Sweet Discussion: https://www.postgresql.org/message-id/flat/17128-55a8a879727a3e3a%40postgresql.or

pgsql: Fix range check in ECPG numeric to int conversion

2021-07-30 Thread John Naylor
Fix range check in ECPG numeric to int conversion The previous coding guarded against -INT_MAX instead of INT_MIN, leading to -2147483648 being rejected as out of range. Per bug #17128 from Kevin Sweet Discussion: https://www.postgresql.org/message-id/flat/17128-55a8a879727a3e3a%40postgresql.or

pgsql: Fix range check in ECPG numeric to int conversion

2021-07-30 Thread John Naylor
Fix range check in ECPG numeric to int conversion The previous coding guarded against -INT_MAX instead of INT_MIN, leading to -2147483648 being rejected as out of range. Per bug #17128 from Kevin Sweet Discussion: https://www.postgresql.org/message-id/flat/17128-55a8a879727a3e3a%40postgresql.or

pgsql: Fix range check in ECPG numeric to int conversion

2021-07-30 Thread John Naylor
Fix range check in ECPG numeric to int conversion The previous coding guarded against -INT_MAX instead of INT_MIN, leading to -2147483648 being rejected as out of range. Per bug #17128 from Kevin Sweet Discussion: https://www.postgresql.org/message-id/flat/17128-55a8a879727a3e3a%40postgresql.or

pgsql: Fix range check in ECPG numeric to int conversion

2021-07-30 Thread John Naylor
Fix range check in ECPG numeric to int conversion The previous coding guarded against -INT_MAX instead of INT_MIN, leading to -2147483648 being rejected as out of range. Per bug #17128 from Kevin Sweet Discussion: https://www.postgresql.org/message-id/flat/17128-55a8a879727a3e3a%40postgresql.or

Re: pgsql: Fix range check in ECPG numeric to int conversion

2021-07-30 Thread John Naylor
Member walleye doesn't like this, since there is a separate .stdout file for MinGW32. Will fix. -- John Naylor EDB: http://www.enterprisedb.com

pgsql: Fix expect file for MinGW32 ECPG regression tests

2021-07-30 Thread John Naylor
Fix expect file for MinGW32 ECPG regression tests On versions 11 and earlier, MinGW32 has a separate expect file for the regression test changed by master commit 5fcf3945b. Branch -- REL_11_STABLE Details --- https://git.postgresql.org/pg/commitdiff/9455e7f5050fdc82ead9858b3aa531cc830b3b

pgsql: Fix expect file for MinGW32 ECPG regression tests

2021-07-30 Thread John Naylor
Fix expect file for MinGW32 ECPG regression tests On versions 11 and earlier, MinGW32 has a separate expect file for the regression test changed by master commit 5fcf3945b. Branch -- REL9_6_STABLE Details --- https://git.postgresql.org/pg/commitdiff/fa27389c53ca095f52b146d8bdfeb62e8d7f4f

pgsql: Fix expect file for MinGW32 ECPG regression tests

2021-07-30 Thread John Naylor
Fix expect file for MinGW32 ECPG regression tests On versions 11 and earlier, MinGW32 has a separate expect file for the regression test changed by master commit 5fcf3945b. Branch -- REL_10_STABLE Details --- https://git.postgresql.org/pg/commitdiff/f3cd6aeb8d8e000414622bf07d26996ee1c5bc

pgsql: Remove redundant setting of pg_attribute.attcompression

2021-07-31 Thread John Naylor
Remove redundant setting of pg_attribute.attcompression Since e6241d8e0, no attribute needs a non-default value of this during initdb, so let the usual machinery for defaults take care of it. Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/89404a01b4dadab8231dfa08ca

pgsql: Fix grammar mistake in hash index README

2021-08-12 Thread John Naylor
Fix grammar mistake in hash index README Dilip Kumar Discussion: https://www.postgresql.org/message-id/CAFiTN-tjZbuY6vy7kZZ6xO%2BD4mVcO5wOPB5KiwJ3AHhpytd8fg%40mail.gmail.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/b05f7ecec44be22f6de703e5afdeb4ff3559315a

pgsql: Speed up generation of Unicode hash functions.

2021-08-12 Thread John Naylor
Speed up generation of Unicode hash functions. Sets of Unicode keys are picky about the primes used when generating a perfect hash function for them. Callers can spend many seconds iterating through all the possible combinations of candidate multipliers and seeds to find one that works. Unicode u

pgsql: Use direct function calls for pg_popcount{32,64} on non-x86 plat

2021-08-16 Thread John Naylor
Use direct function calls for pg_popcount{32,64} on non-x86 platforms Previously, all pg_popcount{32,64} calls were indirected through a function pointer, even though we had no fast implementation for non-x86 platforms. Instead, for those platforms use wrappers around the pg_popcount{32,64}_slow f

pgsql: Rename unicode_combining_table to unicode_width_table

2021-08-25 Thread John Naylor
Rename unicode_combining_table to unicode_width_table No functional changes. A future commit will use this table for other purposes besides combining characters. Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/eb0d0d2c7300c9c5c22b35975c11265aa4becc84 Modified Files

pgsql: Change mbbisearch to return the character range

2021-08-25 Thread John Naylor
Change mbbisearch to return the character range Add a width field to mbinterval and have mbbisearch return a pointer to the found range rather than just bool for success. A future commit will add another width besides zero, and this will allow that to use the same search. Reviewed by Jacob Champi

pgsql: Revert "Rename unicode_combining_table to unicode_width_table"

2021-08-26 Thread John Naylor
Revert "Rename unicode_combining_table to unicode_width_table" This reverts commit eb0d0d2c7300c9c5c22b35975c11265aa4becc84. After I had committed eb0d0d2c7 and 78ab944cd, I decided to add a sanity check for a "can't happen" scenario just to be cautious. It turned out that it already happened in

pgsql: Revert "Change mbbisearch to return the character range"

2021-08-26 Thread John Naylor
Revert "Change mbbisearch to return the character range" This reverts commit 78ab944cd4b9977732becd9d0bc83223b88af9a2. After I had committed eb0d0d2c7 and 78ab944cd, I decided to add a sanity check for a "can't happen" scenario just to be cautious. It turned out that it already happened in the of

pgsql: Update display widths as part of updating Unicode

2021-08-26 Thread John Naylor
Update display widths as part of updating Unicode The hardcoded "wide character" set in ucs_wcwidth() was last updated around the Unicode 5.0 era. This led to misalignment when printing emojis and other codepoints that have since been designated wide or full-width. To fix and keep up to date, ex

pgsql: Extend collection of Unicode combining characters to beyond the

2021-08-26 Thread John Naylor
Extend collection of Unicode combining characters to beyond the BMP The former limit was perhaps a carryover from an older hand-coded table. Since commit bab982161 we have enough space in mbinterval to store larger codepoints, so collect all combining characters. Discussion: https://www.postgres

pgsql: Mark the timestamptz variant of date_bin() as stable

2021-08-31 Thread John Naylor
Mark the timestamptz variant of date_bin() as stable Previously, it was immutable by lack of marking. This is not correct, since the time zone could change. Bump catversion Discussion: https://www.postgresql.org/message-id/CAFBsxsG2UHk8mOWL0tca%3D_cg%2B_oA5mVRNLhDF0TBw980iOg5NQ%40mail.gmail.com

pgsql: Mark the timestamptz variant of date_bin() as stable

2021-08-31 Thread John Naylor
Mark the timestamptz variant of date_bin() as stable Previously, it was immutable by lack of marking. This is not correct, since the time zone could change. Bump catversion Discussion: https://www.postgresql.org/message-id/CAFBsxsG2UHk8mOWL0tca%3D_cg%2B_oA5mVRNLhDF0TBw980iOg5NQ%40mail.gmail.com

pgsql: Set the volatility of the timestamptz version of date_bin() back

2021-09-03 Thread John Naylor
Set the volatility of the timestamptz version of date_bin() back to immutable 543f36b43d was too hasty in thinking that the volatility of date_bin() had to match date_trunc(), since only the latter references session_timezone. Bump catversion Per feedback from Aleksander Alekseev Backpatch to v1

pgsql: Set the volatility of the timestamptz version of date_bin() back

2021-09-03 Thread John Naylor
Set the volatility of the timestamptz version of date_bin() back to immutable 543f36b43d was too hasty in thinking that the volatility of date_bin() had to match date_trunc(), since only the latter references session_timezone. Bump catversion Per feedback from Aleksander Alekseev Backpatch to v1

pgsql: Add exception for unicode_east_asian_fw_table.h to cpluspluschec

2021-09-23 Thread John Naylor
Add exception for unicode_east_asian_fw_table.h to cpluspluscheck unicode_east_asian_fw_table.h should not be compiled standalone, similarly to unicode_combining_table.h, but cpluspluscheck did not get the memo. Oversight in bab982161. Per report from Tom Lane Branch -- master Details

pgsql: Add exception for unicode_east_asian_fw_table.h to headerscheck

2021-09-23 Thread John Naylor
Add exception for unicode_east_asian_fw_table.h to headerscheck also Followup to a315b19cc Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/88b0ae15bc099df6192a3b69b853f86fb015339a Modified Files -- src/tools/pginclude/headerscheck | 1 + 1 file changed,

pgsql: Add fast path for validating UTF-8 text

2021-12-20 Thread John Naylor
Add fast path for validating UTF-8 text Our previous validator used a traditional algorithm that performed comparison and branching one byte at a time. It's useful in that we always know exactly how many bytes we have validated, but that precision comes at a cost. Input validation can show up prom

pgsql: Improve warning message in pg_signal_backend()

2022-01-11 Thread John Naylor
Improve warning message in pg_signal_backend() Previously, invoking pg_terminate_backend() or pg_cancel_backend() with the postmaster PID produced a "PID is not a PostgresSQL server process" warning, which does not make sense. Change to "backend process" to make the message more exact. Natha

pgsql: Improve code clarity in epilogue of UTF-8 verification fast path

2022-01-17 Thread John Naylor
Improve code clarity in epilogue of UTF-8 verification fast path The previous coding was correct, but the style and commentary were a bit vague about which operations had to happen, in what circumstances, and in what order. Rearrange so that the epilogue does nothing in the DFA END state. That all

Re: pgsql: Add missing pthread_barrier_t.

2022-01-26 Thread John Naylor
7;sem_post@@GLIBC_2.2.5' /usr/bin/ld: /usr/lib/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status I figured there must be something broken on my end, but wanted to mention it here in case something bigger is going on. -- John Naylor EDB: http://www.enterprisedb.com

pgsql: Fix missing undefine in sort_template.h

2022-01-31 Thread John Naylor
Fix missing undefine in sort_template.h All parameter macros are supposed to be undefined at the end of the header. ST_CHECK_FOR_INTERRUPTS was forgotten, so could affect later inclusions. Thomas Munro The patch set of which this is a part is discussed in https://www.postgresql.org/message-id/CA

pgsql: Improve worst-case performance of text_position_get_match_pos()

2022-02-04 Thread John Naylor
Improve worst-case performance of text_position_get_match_pos() This function converts a byte position to a character position after a successful string match. Rather than calling pg_mblen() in a loop, use pg_mbstrlen_with_len() since the latter can inline its own call to pg_mblen(). When the stri

pgsql: Correct Makefile dependencies for catalog scripts

2022-02-13 Thread John Naylor
Correct Makefile dependencies for catalog scripts At some point, Gen_fmgrtab.pl stopped needing the value of defined symbols from access/transam.h, while genbki.pl starting doing so. The Makefiles didn't get the memo, so update the relevant dependencies. Branch -- master Details --- http

pgsql: Spell "startup process" with lower case in the documentation

2022-02-14 Thread John Naylor
Spell "startup process" with lower case in the documentation Most uses were already lower case, so this just makes all user-visible spellings consistent. Bharath Rupireddy The proposed patch also had analagous changes for the code comments, but I decided that wasn't worth the churn. Discussion:

pgsql: Add missing TYPEALIGN macros

2022-02-16 Thread John Naylor
Add missing TYPEALIGN macros A couple call sites still had hard-coded characters. Amul Sul Discussion: https://www.postgresql.org/message-id/CAAJ_b94Y35MWB3PJoCbc_O-_Q4%2B-9DHKhWtAwboEyx8wm4mqcA%40mail.gmail.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/01a

pgsql: Use bitwise rotate functions in more places

2022-02-19 Thread John Naylor
Use bitwise rotate functions in more places There were a number of places in the code that used bespoke bit-twiddling expressions to do bitwise rotation. While we've had pg_rotate_right32() for a while now, we hadn't gotten around to standardizing on that. Do so now. Since many potential call site

pgsql: Specialize tuplesort routines for different kinds of abbreviated

2022-04-02 Thread John Naylor
Specialize tuplesort routines for different kinds of abbreviated keys Previously, the specialized tuplesort routine inlined handling for reverse-sort and NULLs-ordering but called the datum comparator via a pointer in the SortSupport struct parameter. Testing has showed that we can get a useful pe

Re: pgsql: Specialize tuplesort routines for different kinds of abbreviated

2022-04-02 Thread John Naylor
So far, kestrel and tamandua don't like this, and they both use "-fsanitize=undefined,alignment". I'll try to reproduce locally in a bit. -- John Naylor EDB: http://www.enterprisedb.com

Re: pgsql: pgstat: add pg_stat_force_next_flush(), use it to simplify tests

2022-04-07 Thread John Naylor
On Thu, Apr 7, 2022 at 1:40 PM Andres Freund wrote: > Bumps catversion. Looks like this part didn't make it. -- John Naylor EDB: http://www.enterprisedb.com

pgsql: Fix SQL syntax in comment in logical/worker.c

2022-04-27 Thread John Naylor
Fix SQL syntax in comment in logical/worker.c Euler Taveira Disussion: https://www.postgresql.org/message-id/25f95189-eef8-43c4-9d7b-419b651963c8%40www.fastmail.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/e84f82ab5cff2811745ae8e2ac163a4b8b733394 Modified

Re: pgsql: Specialize tuplesort routines for different kinds of abbreviated

2022-05-10 Thread John Naylor
builds and we should be consistent about how we determine when > comparators to use. > > I've attached a patch which is along the lines of how I imagined this > should look. > > What do you think? +1 -- John Naylor EDB: http://www.enterprisedb.com

Re: pgsql: Specialize tuplesort routines for different kinds of abbreviated

2022-05-11 Thread John Naylor
on being unused. Earlier I looked at your patch, but didn't think to check the rest of the code affected by this commit. Do we also need something like the attached, for the ApplyXYZSortComparator functions? (I don't have a 32-bit platform to test on) -- John Naylor EDB: http://www.enterpri

Re: pgsql: Specialize tuplesort routines for different kinds of abbreviated

2022-05-11 Thread John Naylor
On Thu, May 12, 2022 at 4:50 AM David Rowley wrote: > > On Wed, 11 May 2022 at 20:42, John Naylor > wrote: > > (I don't have a > > 32-bit platform to test on) > > I had to do as Michael mentioned yesterday to test this. > > FWIW, I compiled and ran th

pgsql: Use correct datum macros in more tuplesort specialization functi

2022-05-11 Thread John Naylor
Use correct datum macros in more tuplesort specialization functions. Also clarify that ApplySignedSortComparator() is not built on 32-bit machines. Folow-up to c90c16591 Reviewed-by: David Rowley Discussion: https://www.postgresql.org/message-id/CAFBsxsFmt4_JUP8XgSJqwaAS9a9s8K8_PvMu%3Dj%3DDfwU%

pgsql: Remove debug messages from tuplesort_sort_memtuples()

2022-05-22 Thread John Naylor
Remove debug messages from tuplesort_sort_memtuples() These were of value only during development. Reported by Justin Pryzby Discussion: https://www.postgresql.org/message-id/20220519201254.GU19626%40telsasoft.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/6e

pgsql: Clarify that pg_dump takes ACCESS SHARE lock

2022-06-30 Thread John Naylor
Clarify that pg_dump takes ACCESS SHARE lock Add link to the description of lock levels to avoid confusing "shared locks" with SHARE locks. Florin Irion Reviewed-by: Álvaro Herrera, Tom Lane, and Nathan Bossart Discussion: https://www.postgresql.org/message-id/flat/d0f30cc2-3c76-1d43-f291-7c4b2

pgsql: Simplify json lexing state

2022-07-08 Thread John Naylor
Simplify json lexing state Instead of updating the length as we go, use a const pointer to end of the input, which we know already at the start. This simplifies the coding and may improve performance slightly, but the real motivation for doing this is to make further changes in this area easier t

pgsql: Build de-escaped JSON strings in larger chunks during lexing

2022-07-10 Thread John Naylor
batching multiple bytes via appendBinaryStringInfo(). Also use this same logic when de-escaping is not done, to avoid code duplication. Report and proof of concept patch by Jelte Fennema, reworked by Andres Freund and John Naylor Discussion: https://www.postgresql.org/message-id

Re: pgsql: Build de-escaped JSON strings in larger chunks during lexing

2022-07-11 Thread John Naylor
On Tue, Jul 12, 2022 at 5:15 AM Tom Lane wrote: > > It looks like this broke buildfarm member skink (valgrind). Looking... -- John Naylor EDB: http://www.enterprisedb.com

pgsql: Fix out-of-bounds read in json_lex_string

2022-07-11 Thread John Naylor
Fix out-of-bounds read in json_lex_string Commit 3838fa269 added a lookahead loop to allow building strings multiple bytes at a time. This loop could exit because it reached the end of input, yet did not check for that before checking if we reached the end of a valid string. To fix, put the end of

Re: pgsql: Fix out-of-bounds read in json_lex_string

2022-07-11 Thread John Naylor
On Tue, Jul 12, 2022 at 11:27 AM John Naylor wrote: > > Fix out-of-bounds read in json_lex_string The failure on peripatus (FreeBSD HEAD) seems completely unrelated to the changes in the commit: ld: error: unable to find library -lldap_r clang: error: linker command failed with exit code

Re: pgsql: Clarify that pg_dump takes ACCESS SHARE lock

2022-07-12 Thread John Naylor
On Fri, Jul 1, 2022 at 11:43 AM John Naylor wrote: > > Clarify that pg_dump takes ACCESS SHARE lock It occurred to me that this could easily be backpatched to v15. Since it's not a mistake or omission, there's less of a case to go back further than that. Opinions? -- John

pgsql: Correct some uses of e.g. and i.e. in message strings and docume

2022-07-13 Thread John Naylor
Correct some uses of e.g. and i.e. in message strings and documentation E.g. means "for example" and i.e. means "that is". Fix a couple uses that don't match the intended meaning. Kyotaro Horiguchi Reviewed by Junwang Zhao and Aleksander Alekseev, with one addition by me Discussion: https://www

pgsql: Clarify that pg_dump takes ACCESS SHARE lock

2022-07-14 Thread John Naylor
Clarify that pg_dump takes ACCESS SHARE lock Add link to the description of lock levels to avoid confusing "shared locks" with SHARE locks. Florin Irion Reviewed-by: Álvaro Herrera, Tom Lane, and Nathan Bossart Discussion: https://www.postgresql.org/message-id/flat/d0f30cc2-3c76-1d43-f291-7c4b2

pgsql: Clarify that pg_dump takes ACCESS SHARE lock

2022-07-14 Thread John Naylor
Clarify that pg_dump takes ACCESS SHARE lock Add link to the description of lock levels to avoid confusing "shared locks" with SHARE locks. Florin Irion Reviewed-by: Álvaro Herrera, Tom Lane, and Nathan Bossart Discussion: https://www.postgresql.org/message-id/flat/d0f30cc2-3c76-1d43-f291-7c4b2

pgsql: Correct some uses of e.g. and i.e. in message strings and docume

2022-07-20 Thread John Naylor
Correct some uses of e.g. and i.e. in message strings and documentation E.g. means "for example" and i.e. means "that is". Fix a couple uses that don't match the intended meaning. Kyotaro Horiguchi Reviewed by Junwang Zhao and Aleksander Alekseev, with one addition by me Discussion: https://www

pgsql: Fix comment in pg_db_role_setting.h

2022-08-01 Thread John Naylor
Fix comment in pg_db_role_setting.h Noted by Japin Li Discussion: https://www.postgresql.org/message-id/MEYP282MB16691ACEDBC94161CF4BA1CCB69A9%40MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/c689baa158bbe76597b4dacd61c415b5

pgsql: Support SSE2 intrinsics where available

2022-08-03 Thread John Naylor
Support SSE2 intrinsics where available SSE2 vector instructions are part of the spec for the 64-bit x86 architecture. Until now we have relied on the compiler to autovectorize in some limited situations, but some useful coding idioms can only be expressed explicitly via compiler intrinsics. To th

pgsql: Clarify DROP EXTENSION docs regarding explicitly dependent routi

2022-08-04 Thread John Naylor
Clarify DROP EXTENSION docs regarding explicitly dependent routines Per suggestion from Robert Haas Backpatch to v14 Discussion: https://www.postgresql.org/message-id/CA%2BTgmoZ1QvHquYHLkMy1oHKqz4-E7QQctj6e0ocq_GP1B5%2B9bA%40mail.gmail.com Branch -- master Details --- https://git.post

pgsql: Clarify DROP EXTENSION docs regarding explicitly dependent routi

2022-08-04 Thread John Naylor
Clarify DROP EXTENSION docs regarding explicitly dependent routines Per suggestion from Robert Haas Backpatch to v14 Discussion: https://www.postgresql.org/message-id/CA%2BTgmoZ1QvHquYHLkMy1oHKqz4-E7QQctj6e0ocq_GP1B5%2B9bA%40mail.gmail.com Branch -- REL_15_STABLE Details --- https://g

pgsql: Clarify DROP EXTENSION docs regarding explicitly dependent routi

2022-08-04 Thread John Naylor
Clarify DROP EXTENSION docs regarding explicitly dependent routines Per suggestion from Robert Haas Backpatch to v14 Discussion: https://www.postgresql.org/message-id/CA%2BTgmoZ1QvHquYHLkMy1oHKqz4-E7QQctj6e0ocq_GP1B5%2B9bA%40mail.gmail.com Branch -- REL_14_STABLE Details --- https://g

pgsql: Fix assorted doc typos

2022-08-04 Thread John Naylor
Fix assorted doc typos Erik Rijkers and Justin Pryzby Backpatch to v14 Discussion: https://www.postgresql.org/message-id/b79bfeff-d0e3-29a3-2576-0e325848dede%40xs4all.nl Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/9f08803828d7dc9691e773f5bec4eed21f5ff520 Mod

pgsql: Fix assorted doc typos

2022-08-04 Thread John Naylor
Fix assorted doc typos Erik Rijkers and Justin Pryzby Backpatch to v14 Discussion: https://www.postgresql.org/message-id/b79bfeff-d0e3-29a3-2576-0e325848dede%40xs4all.nl Branch -- REL_15_STABLE Details --- https://git.postgresql.org/pg/commitdiff/b25566ab3c6536040df4df3ad99dd69c812215

pgsql: Fix assorted doc typos

2022-08-04 Thread John Naylor
Fix assorted doc typos Erik Rijkers and Justin Pryzby Backpatch to v14 Discussion: https://www.postgresql.org/message-id/b79bfeff-d0e3-29a3-2576-0e325848dede%40xs4all.nl Branch -- REL_14_STABLE Details --- https://git.postgresql.org/pg/commitdiff/120e159b7d93fa36b94ded8a51fe4e619e1261

pgsql: Fix formatting and comment typos

2022-08-04 Thread John Naylor
Fix formatting and comment typos Justin Pryzby Discussion: https://www.postgresql.org/message-id/20220801181136.GJ15006%40telsasoft.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/bcabbfc6a94bb1d59e380f1bcb7cd5da8338cd11 Modified Files -- src/back

pgsql: Simplify coding style of is_valid_ascii()

2022-08-05 Thread John Naylor
Simplify coding style of is_valid_ascii() Calculate end of input rather than maintaining length, per prior suggestion from Heikki Linnakangas. In passing, use more natural language in a comment. Discussion: https://www.postgresql.org/message-id/b4648cc2-5e9c-c93a-52cc-51e5c658a4f6%40iki.fi Bran

pgsql: Fix mismatched file identifications

2022-08-08 Thread John Naylor
Fix mismatched file identifications Masahiko Sawada Discussion: https://www.postgresql.org/message-id/cad21aoasq93kpinxippatczedsnxt9665uesonwckhmx9qf...@mail.gmail.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/ffbfde4c87725c5342aa0727ed61c5c3c7c0cb39 Modifi

pgsql: Introduce optimized routine for linear searches of arrays

2022-08-09 Thread John Naylor
Introduce optimized routine for linear searches of arrays Use SSE2 intrinsics to speed up the search, where available. Otherwise, use a simple 'for' loop. The motivation to add this now is to speed up XidInMVCCSnapshot(), which is the reason only unsigned 32-bit integer arrays are optimized. Oth

pgsql: Optimize xid/subxid searches in XidInMVCCSnapshot().

2022-08-10 Thread John Naylor
ory allocation. Credit to Andres Freund for the idea to optimize linear search using SIMD instructions. Nathan Bossart Reviewed by: Andres Freund, John Naylor, Bharath Rupireddy, Masahiko Sawada Discussion: https://postgr.es/m/20220713170950.GA3116318%40nathanxps13 Branch -- master Details --- ht

pgsql: Refer to replication origin roident as "ID" in user facing messa

2022-08-17 Thread John Naylor
Refer to replication origin roident as "ID" in user facing messages and docs The table column that stores this is of type oid, but is actually limited to uint16 and has a different path for creating new values. Some of the documentation already referred to it as an ID, so let's standardize on that

pgsql: Refer to replication origin roident as "ID" in user facing messa

2022-08-17 Thread John Naylor
Refer to replication origin roident as "ID" in user facing messages and docs The table column that stores this is of type oid, but is actually limited to uint16 and has a different path for creating new values. Some of the documentation already referred to it as an ID, so let's standardize on that

pgsql: Update comment in gramparse.h

2022-08-17 Thread John Naylor
Update comment in gramparse.h src/common/keywords.c hasn't included this header since afb0d0712. Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/3f5dbcb5fe0bd68df7e5de5e95e10b3b892c43b2 Modified Files -- src/include/parser/gramparse.h | 2 +- 1 file chan

Re: pgsql: Refer to replication origin roident as "ID" in user facing messa

2022-08-18 Thread John Naylor
On Thu, Aug 18, 2022 at 4:49 PM Peter Eisentraut wrote: > > On 18.08.22 04:10, John Naylor wrote: > > While at it, most format strings already use %u, so for consintency > > change the remaining stragglers using %d. > > This is incorrect. Replication origin IDs are of t

pgsql: Remove empty statement

2022-08-22 Thread John Naylor
Remove empty statement Peter Smith Discussion: https://www.postgresql.org/message-id/CAHut%2BPtRGVuj8Q_GpHHxZyk7fGwdYDG8_s4GSfKoc_4Yd9vR-w%40mail.gmail.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/1b9050da66aba821fec18376bee30d17e91e7027 Modified Files ---

pgsql: Switch format specifier for replication origins to %d

2022-08-22 Thread John Naylor
Switch format specifier for replication origins to %d Using %u with uint16 causes warnings with -Wformat-signedness. There are many other warnings, but for now change only these since c920fe4818 already changed the message string for most of them. Per report from Peter Eisentraut Discussion: htt

Re: pgsql: Refer to replication origin roident as "ID" in user facing messa

2022-08-22 Thread John Naylor
On Mon, Aug 22, 2022 at 9:35 PM Peter Eisentraut wrote: > > On 19.08.22 03:06, John Naylor wrote: > > On Thu, Aug 18, 2022 at 4:49 PM Peter Eisentraut > > wrote: > >> > >> On 18.08.22 04:10, John Naylor wrote: > >>> While at it, most format strings

pgsql: Remove unused symbol __aarch64

2022-08-24 Thread John Naylor
Remove unused symbol __aarch64 This was added as a possible variant of __aarch64__ back when 64-bit ARM was vaporware. It hasn't shown up in the wild since then, so remove. Nathan Bossart Discussion: https://www.postgresql.org/message-id/CAFBsxsEN5nW3uRh%3Djrs-QexDrC1btu0ZfriD3FFfb%3D3J6tAngg%4

pgsql: Add optimized functions for linear search within byte arrays

2022-08-26 Thread John Naylor
Add optimized functions for linear search within byte arrays In similar vein to b6ef167564, add pg_lfind8() and pg_lfind8_le() to search for bytes equal or less-than-or-equal to a given byte, respectively. To abstract away platform details, add helper functions and typedefs to simd.h. John

pgsql: Use SSE2 in is_valid_ascii() where available.

2022-08-26 Thread John Naylor
Use SSE2 in is_valid_ascii() where available. Per flame graph from Jelte Fennema, COPY FROM ... USING BINARY shows input validation taking at least 5% of the profile, so it's worth trying to be more efficient here. With this change, validation of pure ASCII is nearly 40% faster on contemporary Int

Re: pgsql: Use SSE2 in is_valid_ascii() where available.

2022-08-26 Thread John Naylor
On Fri, Aug 26, 2022 at 3:59 PM John Naylor wrote: > Per flame graph from Jelte Fennema, COPY FROM ... USING BINARY shows For the archives: This is not correct syntax: should be COPY BINARY or ... WITH BINARY. -- John Naylor EDB: http://www.enterprisedb.com

pgsql: Be more careful to avoid including system headers after perl.h

2022-08-27 Thread John Naylor
Be more careful to avoid including system headers after perl.h Commit 121d2d3d70 included simd.h into pg_wchar.h. This caused a problem on Windows, since Perl has "#define free" (referring to globals), which breaks the Windows' header. To fix, move the static inline function definitions from plper

pgsql: Abstract some more architecture-specific details away from SIMD

2022-08-29 Thread John Naylor
commit to add ARM NEON support. Nathan Bossart Reviewed by John Naylor and Tom Lane Discussion: https://www.postgresql.org/message-id/flat/CAFBsxsEyR9JkfbPcDXBRYEfdfC__OkwVGdwEAgY4Rv0cvw35EA%40mail.gmail.com#aba7a64b11503494ffd8dd27067626a9 Branch -- master Details --- https

pgsql: Use ARM Advanced SIMD (NEON) intrinsics where available

2022-08-29 Thread John Naylor
h x86, some SIMD support is available on 32-bit platforms, but those are not interesting from a performance standpoint and would require an inconvenient runtime check. Nathan Bossart Reviewed by John Naylor, Andres Freund, Thomas Munro, and Tom Lane Discussion: https://www.postgresql.org/messa

pgsql: Fix broken cast on MSVC

2022-08-29 Thread John Naylor
Fix broken cast on MSVC Per buildfarm animal drongo, casting a vector type to the same type causes a compile error. We still need the cast on ARM64, so invent a wrapper function that does the casting only where necessary. Discussion: https://www.postgresql.org/message-id/CAFBsxsEouaTwbmpqV%2BEW2

pgsql: Further code review of port/simd.h

2022-08-29 Thread John Naylor
Further code review of port/simd.h Add missing declaration per existing style, and fix a couple typos. Nathan Bossart and Julien Rouhaud Discussion: https://www.postgresql.org/message-id/20220829171712.GA509233%40nathanxps13 Discussion: https://www.postgresql.org/message-id/20220830022636.qrcb

Re: pgsql: Fix broken cast on MSVC

2022-08-29 Thread John Naylor
On Tue, Aug 30, 2022 at 9:26 AM Julien Rouhaud wrote: > > Shouldn't the comment be "Exactly like vector8_is_highbit_set..."? > > Also, is there any reason to not have a function prototype for this one? As > far as I can see that's the only one that doesn

  1   2   3   >