citus/src/backend/distributed/planner
Onder Kalaci 6b66a023aa Fix pushing down wrong queries for INSERT ... SELECT queries
Before this commit, in certain cases router planner allowed pushing
down JOINs that are not on the partition keys.

With @anarazel's suggestion, we change the logic to use uninstantiated
parameter. Previously, the planner was traversing on the restriction
information and once it finds the parameter, it was replacing it with
the shard range. With this commit, instead of traversing the restrict
infos, the planner explicitly checks for the equivalence of the relation
partition key with the uninstantiated parameter. If finds an equivalence,
it adds the restrictions. In this way, we have more control over the
queries that are pushed down.
2017-03-24 11:37:35 +02:00
..
deparse_shard_query.c Add explicit RelationShards mapping to tasks 2016-12-23 10:23:43 +01:00
multi_explain.c Use CustomScan API for query execution 2017-03-14 12:17:51 +02:00
multi_join_order.c Add replication_model GUC 2017-01-23 09:05:14 -07:00
multi_logical_optimizer.c Add view support 2017-01-13 09:39:42 +03:00
multi_logical_planner.c Add view support 2017-01-13 09:39:42 +03:00
multi_master_planner.c Use CustomScan API for query execution 2017-03-14 12:17:51 +02:00
multi_physical_planner.c Use CustomScan API for query execution 2017-03-14 12:17:51 +02:00
multi_planner.c Fix access permission checks for distributed relations 2017-03-22 15:25:00 -06:00
multi_router_planner.c Fix pushing down wrong queries for INSERT ... SELECT queries 2017-03-24 11:37:35 +02:00