- [ ] DistPartitionKey() - [x] Add DistPartitionKeys - [ ] Remove DistPartitionKey - [ ] DistPartitionKeyOrError() - [ ] Add DistPartitionKeysOrError - [ ] Remove DistPartitionKeyOrError - [ ] PartitionColumn() - [x] Add PartitionColumns - [ ] Remove PartitionColumn - [ ] IsPartitionColumn() - [ ] PartitionColumnIndex(Var *targetVar, List *targetList) - [ ] PartitionColumnIndex(List *insertTargetList, Var *partitionColumn); - [ ] PartitionColumnIndexFromColumnList() - [ ] PartitionedOnColumn() - [ ] GroupedByPartitionColumn() - [ ] HasNonPartitionColumnDistinctAgg() - [ ] PruneShards() - [ ] PartitionColumnInTableList() - [ ] MakeJoinOrderNode() - [ ] CheckPartitionColumn() - [ ] InsertPartitionColumnMatchesSelect() - [ ] PartitionColumnIndexOrPartitionColumnName() - [ ] CreateDistributedTableLike() - [x] EnsureRelationCanBeDistributed() - [ ] ErrorIfUnsupportedConstraint() - [ ] ColocationIdForNewTable() - [ ] InsertMetadataForCitusLocalTable() - [ ] CreateDistributedTableLike() - [x] BuildCitusTableCacheEntry() - [ ] PostprocessCreateTableStmtPartitionOf() - [ ] PostprocessAlterTableStmtAttachPartition() - [x] TargetListOnPartitionColumn() - [ ] PartitionColumnForPushedDownSubquery() - [ ] CoPartitionedTables() - [x] LocalJoin() - [ ] SinglePartitionJoin() - [ ] ApplySinglePartitionJoin() - [ ] MultiJoinTree() # query pushdown planner - [x] RestrictionEquivalenceForPartitionKeys() - [x] EquivalenceListContainsRelationsEquality() - [ ] SafeToPushdownUnionSubquery() - [ ] RelationRestrictionPartitionKeyIndex() - [ ] PartitionMethod() - [ ] better range distribution support - [ ] list distribution support