postgresql/src/include
David Rowley 91e9e89dcc Make nodeSort.c use Datum sorts for single column sorts
Datum sorts can be significantly faster than tuple sorts, especially when
the data type being sorted is a pass-by-value type.  Something in the
region of 50-70% performance improvements appear to be possible.

Just in case there's any confusion; the Datum sort is only used when the
targetlist of the Sort node contains a single column, not when there's a
single column in the sort key and multiple items in the target list.

Author: Ronan Dunklau
Reviewed-by: James Coleman, David Rowley, Ranier Vilela, Hou Zhijie
Tested-by: John Naylor
Discussion: https://postgr.es/m/3177670.itZtoPt7T5@aivenronan
2021-07-22 14:03:19 +12:00
..
access Support direct I/O on macOS. 2021-07-19 11:01:01 +12:00
bootstrap Update copyright for 2021 2021-01-02 13:06:25 -05:00
catalog Forgotten catversion bump for 9e3c217bd9 2021-07-18 21:08:44 +03:00
commands Preserve firing-on state when cloning row triggers to partitions 2021-07-16 13:01:43 -04:00
common Adjust locations which have an incorrect copyright year 2021-06-04 12:19:50 +12:00
datatype Update copyright for 2021 2021-01-02 13:06:25 -05:00
executor Change the name of the Result Cache node to Memoize 2021-07-14 12:43:58 +12:00
fe_utils psql: Refine lexing of BEGIN...END blocks in CREATE FUNCTION statements 2021-04-16 12:20:23 +02:00
foreign Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
jit Update copyright for 2021 2021-01-02 13:06:25 -05:00
lib Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
libpq Refactor SASL code with a generic interface for its mechanisms 2021-07-07 10:55:15 +09:00
mb Fix incautious handling of possibly-miscoded strings in client code. 2021-06-07 14:15:25 -04:00
nodes Make nodeSort.c use Datum sorts for single column sorts 2021-07-22 14:03:19 +12:00
optimizer Change the name of the Result Cache node to Memoize 2021-07-14 12:43:58 +12:00
parser Cleanup some aggregate code in the executor 2021-07-04 18:47:31 +12:00
partitioning Remove unused function parameter in get_qual_from_partbound 2021-07-14 09:52:04 -04:00
port Probe for preadv/pwritev in a more macOS-friendly way. 2021-07-12 19:17:35 -04:00
portability Fix another portability bug in recent pgbench commit. 2021-03-10 23:20:41 +13:00
postmaster Remove temporary files after backend crash 2021-03-18 17:38:28 +01:00
regex Improve memory management in regex compiler. 2021-02-26 13:52:10 -05:00
replication Advance old-segment horizon properly after slot invalidation 2021-07-16 12:07:30 -04:00
rewrite Adjust locations which have an incorrect copyright year 2021-06-04 12:19:50 +12:00
snowball Update snowball 2021-02-19 08:10:15 +01:00
statistics Extended statistics on expressions 2021-03-27 00:01:11 +01:00
storage Support direct I/O on macOS. 2021-07-19 11:01:01 +12:00
tcop Centralize the logic for protective copying of utility statements. 2021-06-18 11:22:58 -04:00
tsearch Don't leak compiled regex(es) when an ispell cache entry is dropped. 2021-03-18 22:22:47 -04:00
utils Rename debug_invalidate_system_caches_always to debug_discard_caches. 2021-07-13 15:01:01 -04:00
.gitignore Refactor dlopen() support 2018-09-06 11:33:04 +02:00
c.h Work around issues in MinGW-64's setjmp/longjmp support. 2021-03-15 12:34:17 -04:00
fmgr.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
funcapi.h Reconsider the handling of procedure OUT parameters. 2021-06-10 17:11:36 -04:00
getaddrinfo.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
getopt_long.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
Makefile Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
miscadmin.h Refactor CHECK_FOR_INTERRUPTS() to add flexibility. 2021-05-14 13:29:39 -04:00
pg_config.h.in Portability fixes for sigwait. 2021-07-15 12:34:31 +12:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Rename debug_invalidate_system_caches_always to debug_discard_caches. 2021-07-13 15:01:01 -04:00
pg_getopt.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_trace.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pgstat.h Fix issues in pg_stat_wal. 2021-05-19 11:38:34 +09:00
pgtar.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pgtime.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
port.h Move bsearch_arg to src/port 2021-03-23 00:11:22 +01:00
postgres.h Mostly-cosmetic adjustments of TOAST-related macros. 2021-03-22 13:43:10 -04:00
postgres_ext.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
postgres_fe.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
rusagestub.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
windowapi.h Update copyright for 2021 2021-01-02 13:06:25 -05:00