Hi, On Thu, May 27, 2021 at 2:30 AM Zhihong Yu <[email protected]> wrote: >> >> Hi, Amit: > > > For ConvertTupleToPartition() in > 0001-ExecFindPartition-cache-last-used-partition-v3.patch: > > + if (tempslot != NULL) > + ExecClearTuple(tempslot); > > If tempslot and parent_slot point to the same slot, should ExecClearTuple() > still be called ?
Yeah, we decided back in 1c9bb02d8ec that it's necessary to free the
slot if it's the same slot as a parent partition's
PartitionDispatch->tupslot ("freeing parent's copy of the tuple").
Maybe we don't need this parent-slot-clearing anymore due to code
restructuring over the last 3 years, but that will have to be a
separate patch.
I hope the attached updated patch makes it a bit more clear what's
going on. I refactored more of the code in ExecFindPartition() to
make this patch more a bit more readable.
--
Amit Langote
EDB: http://www.enterprisedb.com
0002-ExecPartitionCheck-pre-compute-partition-key-express.patch
Description: Binary data
0001-ExecFindPartition-cache-last-used-partition-v4.patch
Description: Binary data
