postgresql/src/tools
Michael Paquier d8c3106bb6 Add back SQLValueFunction for SQL keywords
This is equivalent to a revert of f193883 and fb32748, with the addition
that the declaration of the SQLValueFunction node needs to gain a couple
of node_attr for query jumbling.  The performance impact of removing the
function call inlining is proving to be too huge for some workloads
where these are used.  A worst-case test case of involving only simple
SELECT queries with a SQL keyword is proving to lead to a reduction of
10% in TPS via pgbench and prepared queries on a high-end machine.

None of the tests I ran back for this set of changes saw such a huge
gap, but Alexander Lakhin and Andres Freund have found that this can be
noticeable.  Keeping the older performance would mean to do more
inlining in the executor when using COERCE_SQL_SYNTAX for a function
expression, similarly to what SQLValueFunction does.  This requires more
redesign work and there is little time until 16beta1 is released, so for
now reverting the change is the best way forward, bringing back the
previous performance.

Bump catalog version.

Reported-by: Alexander Lakhin
Discussion: https://postgr.es/m/b32bed1b-0746-9b20-1472-4bdc9ca66d52@gmail.com
2023-05-17 10:19:17 +09:00
..
ci Fix typo in CI README 2023-04-03 10:50:17 +02:00
editors Make Emacs perl-mode indent more like perltidy. 2019-01-13 11:32:31 -08:00
ifaddrs Update copyright for 2023 2023-01-02 15:00:37 -05:00
msvc Update Solution.pm for HAVE_GSSAPI[_GSSAPI]_EXT_H, too. 2023-04-17 16:00:39 -04:00
perlcheck doc: update metacpan.org links to avoid redirects 2022-11-16 10:24:37 +01:00
pg_bsd_indent Fix some typos and some incorrectly duplicated words 2023-04-18 14:03:49 +12:00
pginclude pg_dump: Add support for zstd compression 2023-04-05 21:39:33 +02:00
pgindent Add back SQLValueFunction for SQL keywords 2023-05-17 10:19:17 +09:00
ccsym tools/ccsym: update for modern versions of gcc 2015-01-20 13:02:58 -05:00
check_bison_recursion.pl Update copyright for 2023 2023-01-02 15:00:37 -05:00
codelines Fix remaining stray references to CVS. 2010-09-22 19:51:39 -04:00
copyright.pl Update copyright for 2023 2023-01-02 15:00:37 -05:00
darwin_sysroot Move darwin sysroot determination into separate file 2022-09-01 16:54:19 -07:00
find_badmacros Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
find_meson meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
find_static Fix trap in a few shell scripts 2022-09-20 18:50:16 +02:00
find_typedef Refer to OS X as "macOS", except for the port name which is still "darwin". 2016-09-25 15:40:57 -04:00
fix-old-flex-code.pl Update copyright for 2023 2023-01-02 15:00:37 -05:00
gen_export.pl meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
gen_keywordlist.pl Update copyright for 2023 2023-01-02 15:00:37 -05:00
git-external-diff Preserve information on use of git-external-diff 2018-05-24 23:45:31 +09:30
git_changelog Update copyright for 2023 2023-01-02 15:00:37 -05:00
install_files meson: make install_test_files more generic, rename to install_files 2023-03-23 21:20:18 -07:00
make_ctags Fix make_etags failure on Mac. 2023-02-15 09:52:42 +09:00
make_etags Fix make_etags failure on Mac. 2023-02-15 09:52:42 +09:00
make_mkid Add another pgdefine path check, and a cvs-git change. 2011-08-26 21:52:35 -04:00
mark_pgdllimport.pl Fix various typos and incorrect/outdated name references 2023-04-19 13:50:33 +12:00
PerfectHash.pm Update copyright for 2023 2023-01-02 15:00:37 -05:00
pgflex meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
pgtest Fix trap in a few shell scripts 2022-09-20 18:50:16 +02:00
rcgen meson: Add windows resource files 2022-10-05 09:56:05 -07:00
RELEASE_CHANGES Add defenses against unexpected changes in the NodeTag enum list. 2022-07-12 11:22:52 -04:00
testint128.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
testwrap meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
valgrind.supp Record dependencies of a cast on other casts that it requires. 2022-10-17 14:02:05 -04:00
version_stamp.pl Update copyright for 2023 2023-01-02 15:00:37 -05:00
win32tzlist.pl Update copyright for 2023 2023-01-02 15:00:37 -05:00