| 9 | namespace processor { |
| 10 | |
| 11 | static 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 | |
| 28 | std::unique_ptr<PhysicalOperator> PlanMapper::mapMerge(const LogicalOperator* logicalOperator) { |
| 29 | auto& logicalMerge = logicalOperator->constCast<LogicalMerge>(); |
no test coverage detected