postgresql/src/include
Andres Freund 1145acc70d Add a barrier primitive for synchronizing backends.
Provide support for dynamic or static parties of processes to wait for
all processes to reach point in the code before continuing.

This is similar to the mechanism of the same name in POSIX threads and
MPI, though has explicit phasing and dynamic party support like the
Java core library's Phaser.

This will be used by an upcoming patch adding support for parallel
hash joins.

Author: Thomas Munro
Reviewed-By: Andres Freund
Discussion: https://postgr.es/m/CAEepm=2_y7oi01OjA_wLvYcWMc9_d=LaoxrY3eiROCZkB_qakA@mail.gmail.com
2017-11-29 17:07:16 -08:00
..
access Update typedefs.list and re-run pgindent 2017-11-29 09:24:24 -05:00
bootstrap Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
catalog Update typedefs.list and re-run pgindent 2017-11-29 09:24:24 -05:00
commands Add some const decorations to prototypes 2017-11-10 13:38:57 -05:00
common Rewrite strnlen replacement implementation from 8a241792f9. 2017-10-10 14:50:30 -07:00
datatype Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
executor Update typedefs.list and re-run pgindent 2017-11-29 09:24:24 -05:00
fe_utils Update typedefs.list and re-run pgindent 2017-11-29 09:24:24 -05:00
foreign Basic partition-wise join functionality. 2017-10-06 11:11:10 -04:00
lib Update typedefs.list and re-run pgindent 2017-11-29 09:24:24 -05:00
libpq Update typedefs.list and re-run pgindent 2017-11-29 09:24:24 -05:00
mb Add more efficient functions to pqformat API. 2017-10-11 16:01:52 -07:00
nodes New C function: bms_add_range 2017-11-29 17:12:05 -05:00
optimizer Fix creation of resjunk tlist entries for inherited mixed UPDATE/DELETE. 2017-11-27 17:54:07 -05:00
parser Add some const decorations to prototypes 2017-11-10 13:38:57 -05:00
port Clean up warnings in MinGW builds. 2017-11-16 17:57:38 -05:00
portability Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
postmaster Add some const decorations to prototypes 2017-11-10 13:38:57 -05:00
regex Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
replication Generational memory allocator 2017-11-23 05:45:07 +11:00
rewrite Fix creation of resjunk tlist entries for inherited mixed UPDATE/DELETE. 2017-11-27 17:54:07 -05:00
snowball Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
statistics Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
storage Add a barrier primitive for synchronizing backends. 2017-11-29 17:07:16 -08:00
tcop Back out the session_start and session_end hooks feature. 2017-11-16 11:35:02 -05:00
tsearch Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
utils Update typedefs.list and re-run pgindent 2017-11-29 09:24:24 -05:00
.gitignore Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
c.h Further refactoring of c.h and nearby files. 2017-11-16 10:36:21 -05:00
fmgr.h Allow the built-in ordered-set aggregates to share transition state. 2017-10-16 15:51:23 -04:00
funcapi.h Support domains over composite types. 2017-10-26 13:47:45 -04:00
getaddrinfo.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
getopt_long.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
Makefile Add statistics subdirectory to Makefile. 2017-06-08 11:29:50 -04:00
miscadmin.h Remove replacement selection sort. 2017-09-29 10:25:44 -04:00
pg_config.h.in Prevent int128 from requiring more than MAXALIGN alignment. 2017-11-14 15:03:55 -05:00
pg_config.h.win32 Prevent int128 from requiring more than MAXALIGN alignment. 2017-11-14 15:03:55 -05: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_ext.h.win32 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 Restrict lo_import()/lo_export() via SQL permissions not hard-wired checks. 2017-11-09 12:36:58 -05:00
pg_getopt.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_trace.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pgstat.h Avoid use of non-portable strnlen() in pgstat_clip_activity(). 2017-09-19 14:25:47 -07:00
pgtar.h Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
pgtime.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
port.h Further refactoring of c.h and nearby files. 2017-11-16 10:36:21 -05:00
postgres.h Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
postgres_ext.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
postgres_fe.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
rusagestub.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
windowapi.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00