diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/catalog/partition.h | 7 | ||||
-rw-r--r-- | src/include/nodes/execnodes.h | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/include/catalog/partition.h b/src/include/catalog/partition.h index 21effbf87b4..bf38df5d29e 100644 --- a/src/include/catalog/partition.h +++ b/src/include/catalog/partition.h @@ -47,6 +47,11 @@ typedef struct PartitionDescData *PartitionDesc; * key Partition key information of the table * keystate Execution state required for expressions in the partition key * partdesc Partition descriptor of the table + * tupslot A standalone TupleTableSlot initialized with this table's tuple + * descriptor + * tupmap TupleConversionMap to convert from the parent's rowtype to + * this table's rowtype (when extracting the partition key of a + * tuple just before routing it through this table) * indexes Array with partdesc->nparts members (for details on what * individual members represent, see how they are set in * RelationGetPartitionDispatchInfo()) @@ -58,6 +63,8 @@ typedef struct PartitionDispatchData PartitionKey key; List *keystate; /* list of ExprState */ PartitionDesc partdesc; + TupleTableSlot *tupslot; + TupleConversionMap *tupmap; int *indexes; } PartitionDispatchData; diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index cc0821bcac9..d43ec56a2b3 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -384,6 +384,9 @@ typedef struct EState TupleTableSlot *es_trig_oldtup_slot; /* for TriggerEnabled */ TupleTableSlot *es_trig_newtup_slot; /* for TriggerEnabled */ + /* Slot used to manipulate a tuple after it is routed to a partition */ + TupleTableSlot *es_partition_tuple_slot; + /* Parameter info: */ ParamListInfo es_param_list_info; /* values of external params */ ParamExecData *es_param_exec_vals; /* values of internal params */ |