postgresql/src
Alvaro Herrera e5dcbb88a1 Rework code to determine partition pruning procedure
Amit Langote reported that partition prune was unable to work with
arrays, enums, etc, which led him to research the appropriate way to
match query clauses to partition keys: instead of searching for an exact
match of the expression's type, it is better to rely on the fact that
the expression qual has already been resolved to a specific operator,
and that the partition key is linked to a specific operator family.
With that info, it's possible to figure out the strategy and comparison
function to use for the pruning clause in a manner that works reliably
for pseudo-types also.

Include new test cases that demonstrate pruning where pseudotypes are
involved.

Author: Amit Langote, Álvaro Herrera
Discussion: https://postgr.es/m/2b02f1e9-9812-9c41-972d-517bdc0f815d@lab.ntt.co.jp
2018-04-19 12:01:37 -03:00
..
backend Rework code to determine partition pruning procedure 2018-04-19 12:01:37 -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 Fix datatype for number of heap tuples during last cleanup 2018-04-19 11:28:03 +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 Rework code to determine partition pruning procedure 2018-04-19 12:01:37 -03:00
timezone Update time zone data files to tzdata release 2018c. 2018-01-27 16:42:28 -05:00
tools Revert MERGE patch 2018-04-12 11:22:56 +01: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