This PR refactors interfaces for ScanTable and its children classes. In particular, it contains changes on
Removal of vector<ValueVector> in ScanTable since we already store the same information in TableReadState. I still have to keep a vector for input and output respectively in order to retrieve their state. I don't think we will be able to solve this because in multi-table scan there are cases where we don't scan a physical table at all. So relying only on TableReadState to set the correct scan result doesn't sound safe to me
Remove nodeIDVector from parameter list of initializeReadState because we seem to have the guarantee that it's always the same vector as nodeIDVector in readState
I spot another case in NodeTable::initializeReadState where we seem to re-create NodeDataReadState unnecessarily. @ray6080 should take a look at this.
This PR refactors interfaces for
ScanTable
and its children classes. In particular, it contains changes onvector<ValueVector>
inScanTable
since we already store the same information inTableReadState
. I still have to keep a vector for input and output respectively in order to retrieve their state. I don't think we will be able to solve this because in multi-table scan there are cases where we don't scan a physical table at all. So relying only onTableReadState
to set the correct scan result doesn't sound safe to menodeIDVector
from parameter list ofinitializeReadState
because we seem to have the guarantee that it's always the same vector asnodeIDVector
inreadState
I spot another case inNodeTable::initializeReadState
where we seem to re-createNodeDataReadState
unnecessarily. @ray6080 should take a look at this.