pgsql: Use perfect hash for NFC and NFKC Unicode Normalization quick ch
Use perfect hash for NFC and NFKC Unicode Normalization quick check This makes the normalization quick check about 30% faster for NFC and 50% faster for NFKC than the binary search used previously. The hash lookup reuses the existing array of bit fields used for the binary search to get the quick check property and is generated as part of "make update-unicode" in src/common/unicode/. Author: John Naylor Reviewed-by: Mark Dilger, Michael Paquier Discussion: https://postgr.es/m/CACPNZCt4fbJ0_bGrN5QPt34N4whv=mszm0lmvqdoa2rc9um...@mail.gmail.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/80f8eb79e24d9b7963eaf17ce846667e2c6b6e6f Modified Files -- .../unicode/generate-unicode_normprops_table.pl| 41 +- src/common/unicode_norm.c | 48 +- src/include/common/unicode_normprops_table.h | 1610 +++- src/tools/pgindent/exclude_file_patterns |5 + src/tools/pgindent/typedefs.list |1 + 5 files changed, 1681 insertions(+), 24 deletions(-)
pgsql: For ppc gcc, implement 64-bit compare_exchange and fetch_add wit
For ppc gcc, implement 64-bit compare_exchange and fetch_add with asm. While xlc defines __64BIT__, gcc does not. Due to this oversight in commit 30ee5d17c20dbb282a9952b3048d6ad52d56c371, gcc builds continued implementing 64-bit atomics by way of intrinsics. Back-patch to v13, where that commit first appeared. Reviewed by Tom Lane. Discussion: https://postgr.es/m/[email protected] Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/f5c1167b173d6e7a5d4c938fe716f0d29ae7228d Modified Files -- src/include/port/atomics/arch-ppc.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
pgsql: Choose ppc compare_exchange constant path for more operand value
Choose ppc compare_exchange constant path for more operand values. The implementation uses smaller code when the "expected" operand is a small constant, but the implementation needlessly defined the set of acceptable constants more narrowly than the ABI does. Core PostgreSQL and PGXN don't use the constant path at all, so this is future-proofing. Back-patch to v13, where commit 30ee5d17c20dbb282a9952b3048d6ad52d56c371 introduced this code. Reviewed by Tom Lane. Reported by Christoph Berg. Discussion: https://postgr.es/m/[email protected] Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/88ea7a1188d1afb25695124045e0ff81870f55e3 Modified Files -- src/include/port/atomics/arch-ppc.h | 14 -- src/test/regress/regress.c | 8 2 files changed, 12 insertions(+), 10 deletions(-)
pgsql: Choose ppc compare_exchange constant path for more operand value
Choose ppc compare_exchange constant path for more operand values. The implementation uses smaller code when the "expected" operand is a small constant, but the implementation needlessly defined the set of acceptable constants more narrowly than the ABI does. Core PostgreSQL and PGXN don't use the constant path at all, so this is future-proofing. Back-patch to v13, where commit 30ee5d17c20dbb282a9952b3048d6ad52d56c371 introduced this code. Reviewed by Tom Lane. Reported by Christoph Berg. Discussion: https://postgr.es/m/[email protected] Branch -- REL_13_STABLE Details --- https://git.postgresql.org/pg/commitdiff/5efa788e1d070dd14cb94a8e087184dda36dc3ea Modified Files -- src/include/port/atomics/arch-ppc.h | 14 -- src/test/regress/regress.c | 8 2 files changed, 12 insertions(+), 10 deletions(-)
pgsql: For ppc gcc, implement 64-bit compare_exchange and fetch_add wit
For ppc gcc, implement 64-bit compare_exchange and fetch_add with asm. While xlc defines __64BIT__, gcc does not. Due to this oversight in commit 30ee5d17c20dbb282a9952b3048d6ad52d56c371, gcc builds continued implementing 64-bit atomics by way of intrinsics. Back-patch to v13, where that commit first appeared. Reviewed by Tom Lane. Discussion: https://postgr.es/m/[email protected] Branch -- REL_13_STABLE Details --- https://git.postgresql.org/pg/commitdiff/d41cb63ff4d114d856837fbf61ba2872c5076ac2 Modified Files -- src/include/port/atomics/arch-ppc.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
pgsql: Adjust cycle detection examples and tests
Adjust cycle detection examples and tests Adjust the existing cycle detection example and test queries to put the cycle column before the path column. This is mainly because the SQL-standard CYCLE clause puts them in that order, and so if we added that feature that would make the sequence of examples more consistent and easier to follow. Discussion: https://www.postgresql.org/message-id/[email protected] Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/3fb676504da9c019540c7384423c7e3d7d394110 Modified Files -- doc/src/sgml/queries.sgml | 26 src/test/regress/expected/with.out | 124 ++--- src/test/regress/sql/with.sql | 16 ++--- 3 files changed, 83 insertions(+), 83 deletions(-)
