postgresql/src
Alvaro Herrera 055fb8d33d Add GUC enable_partition_pruning
This controls both plan-time and execution-time new-style partition
pruning.  While finer-grain control is possible (maybe using an enum GUC
instead of boolean), there doesn't seem to be much need for that.

This new parameter controls partition pruning for all queries:
trivially, SELECT queries that affect partitioned tables are naturally
under its control since they are using the new technology.  However,
while UPDATE/DELETE queries do not use the new code, we make the new GUC
control their behavior also (stealing control from
constraint_exclusion), because it is more natural, and it leads to a
more natural transition to the future in which those queries will also
use the new pruning code.

Constraint exclusion still controls pruning for regular inheritance
situations (those not involving partitioned tables).

Author: David Rowley
Review: Amit Langote, Ashutosh Bapat, Justin Pryzby, David G. Johnston
Discussion: https://postgr.es/m/CAKJS1f_0HwsxJG9m+nzU+CizxSdGtfe6iF_ykPYBiYft302DCw@mail.gmail.com
2018-04-23 17:57:43 -03:00
..
backend Add GUC enable_partition_pruning 2018-04-23 17:57:43 -03:00
bin Rationalize handling of single and double quotes in bootstrap data. 2018-04-17 19:53:50 -04:00
common Enlarge find_other_exec's meager fgets buffer 2018-04-19 10:45:15 -03:00
fe_utils Switch client-side code to include catalog/pg_foo_d.h not pg_foo.h. 2018-04-08 13:59:52 -04:00
include Add GUC enable_partition_pruning 2018-04-23 17:57:43 -03:00
interfaces In libpq, free any partial query result before collecting a server error. 2018-04-13 12:53:45 -04:00
makefiles Fix pgxs.mk to not try to build generated headers in external builds. 2018-04-10 12:41:51 -04:00
pl Support named and default arguments in CALL 2018-04-14 09:13:53 -04:00
port Fix partial-build problems introduced by having more generated headers. 2018-04-09 16:42:10 -04:00
template Force "restrict" not to be used when compiling with xlc. 2017-10-13 12:15:06 -07:00
test Add GUC enable_partition_pruning 2018-04-23 17:57:43 -03:00
timezone Update time zone data files to tzdata release 2018c. 2018-01-27 16:42:28 -05:00
tools Make Emacs settings match perltidy configuration 2018-04-23 11:44:31 -04:00
tutorial Update copyright for 2018 2018-01-02 23:30:12 -05:00
.gitignore
DEVELOPERS
Makefile Fix partial-build problems introduced by having more generated headers. 2018-04-09 16:42:10 -04:00
Makefile.global.in Invoke submake-generated-headers during "make check", too. 2018-04-11 13:18:54 -04:00
Makefile.shlib Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-04-03 16:26:05 -04:00
nls-global.mk nls-global.mk: search build dir for source files, too 2016-06-07 18:55:18 -04:00