| 53 | } |
| 54 | |
| 55 | std::unique_ptr<PhysicalOperator> PlanMapper::mapOperator(const LogicalOperator* logicalOperator) { |
| 56 | std::unique_ptr<PhysicalOperator> physicalOperator; |
| 57 | switch (logicalOperator->getOperatorType()) { |
| 58 | case LogicalOperatorType::ACCUMULATE: { |
| 59 | physicalOperator = mapAccumulate(logicalOperator); |
| 60 | } break; |
| 61 | case LogicalOperatorType::AGGREGATE: { |
| 62 | physicalOperator = mapAggregate(logicalOperator); |
| 63 | } break; |
| 64 | case LogicalOperatorType::ALTER: { |
| 65 | physicalOperator = mapAlter(logicalOperator); |
| 66 | } break; |
| 67 | case LogicalOperatorType::ANALYZE: { |
| 68 | physicalOperator = mapAnalyze(logicalOperator); |
| 69 | } break; |
| 70 | case LogicalOperatorType::ATTACH_DATABASE: { |
| 71 | physicalOperator = mapAttachDatabase(logicalOperator); |
| 72 | } break; |
| 73 | case LogicalOperatorType::COPY_FROM: { |
| 74 | physicalOperator = mapCopyFrom(logicalOperator); |
| 75 | } break; |
| 76 | case LogicalOperatorType::COPY_TO: { |
| 77 | physicalOperator = mapCopyTo(logicalOperator); |
| 78 | } break; |
| 79 | case LogicalOperatorType::COUNT_REL_TABLE: { |
| 80 | physicalOperator = mapCountRelTable(logicalOperator); |
| 81 | } break; |
| 82 | case LogicalOperatorType::CREATE_MACRO: { |
| 83 | physicalOperator = mapCreateMacro(logicalOperator); |
| 84 | } break; |
| 85 | case LogicalOperatorType::CREATE_SEQUENCE: { |
| 86 | physicalOperator = mapCreateSequence(logicalOperator); |
| 87 | } break; |
| 88 | case LogicalOperatorType::CREATE_TABLE: { |
| 89 | physicalOperator = mapCreateTable(logicalOperator); |
| 90 | } break; |
| 91 | case LogicalOperatorType::CREATE_INDEX: { |
| 92 | physicalOperator = mapCreateIndex(logicalOperator); |
| 93 | } break; |
| 94 | case LogicalOperatorType::CREATE_TYPE: { |
| 95 | physicalOperator = mapCreateType(logicalOperator); |
| 96 | } break; |
| 97 | case LogicalOperatorType::CROSS_PRODUCT: { |
| 98 | physicalOperator = mapCrossProduct(logicalOperator); |
| 99 | } break; |
| 100 | case LogicalOperatorType::DELETE: { |
| 101 | physicalOperator = mapDelete(logicalOperator); |
| 102 | } break; |
| 103 | case LogicalOperatorType::DETACH_DATABASE: { |
| 104 | physicalOperator = mapDetachDatabase(logicalOperator); |
| 105 | } break; |
| 106 | case LogicalOperatorType::DISTINCT: { |
| 107 | physicalOperator = mapDistinct(logicalOperator); |
| 108 | } break; |
| 109 | case LogicalOperatorType::DROP: { |
| 110 | physicalOperator = mapDrop(logicalOperator); |
| 111 | } break; |
| 112 | case LogicalOperatorType::DUMMY_SCAN: { |
no test coverage detected