You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DiskArray is now templated with its element type. It can easily support simple data types, such as int64_t used in ListHeaders and ListMetadata. However it potentially propagates the use of temptation to its callers. HashIndex (and HashIndexBuilder) is an example.
Ideally, we need an array with a fixed size for each element without actually knowing its element's type. Element can be accessed and reinterpreted as expected data type by its caller. This is important for us to move all storage structures (including Columns and Lists) to DiskArray.
If we made above changes, for HashIndex:
We should no longer template Slot, thus HashIndex and HashIndexBuilder, and the proxy class PrimaryHashIndex should also be gone.
Get rid of templating of InMemNodeCSVCopier::populateColumnsAndCountUnstrPropertyListSizes.
For DiskArray:
we can template the function U get(uint64_t idx, TransactionType trxType); to still provide access to typed element.
ListHeaders and ListMetadata should also change accordingly.
The text was updated successfully, but these errors were encountered:
DiskArray is now templated with its element type. It can easily support simple data types, such as int64_t used in ListHeaders and ListMetadata. However it potentially propagates the use of temptation to its callers. HashIndex (and HashIndexBuilder) is an example.
Ideally, we need an array with a fixed size for each element without actually knowing its element's type. Element can be accessed and reinterpreted as expected data type by its caller. This is important for us to move all storage structures (including Columns and Lists) to DiskArray.
If we made above changes, for HashIndex:
Slot
, thusHashIndex
andHashIndexBuilder
, and the proxy classPrimaryHashIndex
should also be gone.InMemNodeCSVCopier::populateColumnsAndCountUnstrPropertyListSizes
.For DiskArray:
U get(uint64_t idx, TransactionType trxType);
to still provide access to typed element.ListHeaders and ListMetadata should also change accordingly.
The text was updated successfully, but these errors were encountered: