MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / getFactorizedTableSchema

Function getFactorizedTableSchema

src/processor/map/map_merge.cpp:11–26  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9namespace processor {
10
11static FactorizedTableSchema getFactorizedTableSchema(const binder::expression_vector& keys,
12 uint64_t numNodeInsertExecutors, uint64_t numRelInsertExecutors) {
13 auto tableSchema = FactorizedTableSchema();
14 auto isUnFlat = false;
15 auto groupID = 0u;
16 for (auto& key : keys) {
17 auto size = common::LogicalTypeUtils::getRowLayoutSize(key->dataType);
18 tableSchema.appendColumn(ColumnSchema(isUnFlat, groupID, size));
19 }
20 auto numNodeIDFields = numNodeInsertExecutors + numRelInsertExecutors;
21 for (auto i = 0u; i < numNodeIDFields; i++) {
22 tableSchema.appendColumn(ColumnSchema(isUnFlat, groupID, sizeof(common::nodeID_t)));
23 }
24 tableSchema.appendColumn(ColumnSchema(isUnFlat, groupID, sizeof(common::hash_t)));
25 return tableSchema;
26}
27
28std::unique_ptr<PhysicalOperator> PlanMapper::mapMerge(const LogicalOperator* logicalOperator) {
29 auto& logicalMerge = logicalOperator->constCast<LogicalMerge>();

Callers 1

mapMergeMethod · 0.70

Calls 2

ColumnSchemaClass · 0.85
appendColumnMethod · 0.80

Tested by

no test coverage detected