postgresql/src/tools
Andres Freund cc5f81366c Add support for coordinating record typmods among parallel workers.
Tuples can have type RECORDOID and a typmod number that identifies a blessed
TupleDesc in a backend-private cache.  To support the sharing of such tuples
through shared memory and temporary files, provide a typmod registry in
shared memory.

To achieve that, introduce per-session DSM segments, created on demand when a
backend first runs a parallel query.  The per-session DSM segment has a
table-of-contents just like the per-query DSM segment, and initially the
contents are a shared record typmod registry and a DSA area to provide the
space it needs to grow.

State relating to the current session is accessed via a Session object
reached through global variable CurrentSession that may require significant
redesign further down the road as we figure out what else needs to be shared
or remodelled.

Author: Thomas Munro
Reviewed-By: Andres Freund
Discussion: https://postgr.es/m/CAEepm=0ZtQ-SpsgCyzzYpsXS6e=kZWqk3g5Ygn3MDV7A8dabUA@mail.gmail.com
2017-09-14 19:59:21 -07:00
..
editors emacs: Set indent-tabs-mode in perl-mode 2015-04-12 23:53:23 -04:00
findoidjoins Fix broken link-command-line ordering for libpgfeutils. 2017-07-14 12:26:53 -04:00
ifaddrs Initial pgindent run with pg_bsd_indent version 2.0. 2017-06-21 14:39:04 -04:00
make_diff Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
msvc Fix macro-redefinition warning on MSVC. 2017-09-03 11:01:08 -04:00
pginclude Clean up Perl code according to perlcritic 2017-03-27 08:18:22 -04:00
pgindent Add support for coordinating record typmods among parallel workers. 2017-09-14 19:59:21 -07:00
ccsym tools/ccsym: update for modern versions of gcc 2015-01-20 13:02:58 -05:00
check_bison_recursion.pl Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
codelines Fix remaining stray references to CVS. 2010-09-22 19:51:39 -04:00
copyright.pl Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
FAQ2txt Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
find_badmacros Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
find_static Fix omission of -X (--no-psqlrc) in some psql invocations. 2015-12-28 11:46:43 -05: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 Post-PG 10 beta1 pgperltidy run 2017-05-17 19:01:23 -04:00
git-external-diff Add comment to tools/git-external-diff. 2011-03-11 05:06:31 -05:00
git_changelog Stamp HEAD as 11devel. 2017-08-14 18:08:30 -04:00
make_ctags Mention original ctags option name. 2012-02-24 16:19:18 -05:00
make_etags Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
make_mkid Add another pgdefine path check, and a cvs-git change. 2011-08-26 21:52:35 -04:00
pgtest pgtest: allow passing parameters, e.g. -s/--silent 2013-08-05 19:59:52 -04:00
RELEASE_CHANGES Update RELEASE_CHANGES' example of branch name format. 2017-08-06 23:26:09 -04:00
testint128.c Initial pgindent run with pg_bsd_indent version 2.0. 2017-06-21 14:39:04 -04:00
valgrind.supp Copyedit comments and documentation. 2016-04-01 21:53:10 -04:00
version_stamp.pl Stamp HEAD as 11devel. 2017-08-14 18:08:30 -04:00
win32tzlist.pl Clean up Perl code according to perlcritic 2017-03-27 08:18:22 -04:00