aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist/gistutil.c
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2018-04-19 11:22:31 -0300
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2018-04-19 12:01:37 -0300
commite5dcbb88a15d445e0ccb3db3194f4a122b792df6 (patch)
tree41710d10773153d934bf729715089fb997f4eea7 /src/backend/access/gist/gistutil.c
parentcea5f9aa1244a6a803481f7e21a86e7e7037a9a5 (diff)
downloadpostgresql-e5dcbb88a15d445e0ccb3db3194f4a122b792df6.tar.gz
postgresql-e5dcbb88a15d445e0ccb3db3194f4a122b792df6.zip
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
Diffstat (limited to 'src/backend/access/gist/gistutil.c')
0 files changed, 0 insertions, 0 deletions