diff --git a/be/src/pipeline/CMakeLists.txt b/be/src/pipeline/CMakeLists.txt index 31ebe80306..63905ec36b 100644 --- a/be/src/pipeline/CMakeLists.txt +++ b/be/src/pipeline/CMakeLists.txt @@ -29,7 +29,6 @@ set(PIPELINE_FILES task_scheduler.cpp exec/operator.cpp exec/scan_operator.cpp - exec/mysql_scan_operator.cpp exec/schema_scan_operator.cpp exec/datagen_operator.cpp exec/empty_set_operator.cpp @@ -61,6 +60,12 @@ set(PIPELINE_FILES exec/select_operator.cpp exec/empty_source_operator.cpp) +if (WITH_MYSQL) + set(PIPELINE_FILES + ${PIPELINE_FILES} + exec/mysql_scan_operator.cpp) +endif () + add_library(Pipeline STATIC ${PIPELINE_FILES} ) diff --git a/be/src/pipeline/pipeline_fragment_context.cpp b/be/src/pipeline/pipeline_fragment_context.cpp index c2852b67a9..8d3c9fccf5 100644 --- a/be/src/pipeline/pipeline_fragment_context.cpp +++ b/be/src/pipeline/pipeline_fragment_context.cpp @@ -559,10 +559,15 @@ Status PipelineFragmentContext::_build_pipelines(ExecNode* node, PipelinePtr cur break; } case TPlanNodeType::MYSQL_SCAN_NODE: { +#ifdef DORIS_WITH_MYSQL OperatorBuilderPtr operator_t = std::make_shared(next_operator_builder_id(), node); RETURN_IF_ERROR(cur_pipe->add_operator(operator_t)); break; +#else + return Status::InternalError( + "Don't support MySQL table, you should rebuild Doris with WITH_MYSQL option ON"); +#endif } case TPlanNodeType::SCHEMA_SCAN_NODE: { OperatorBuilderPtr operator_t = diff --git a/be/src/vec/CMakeLists.txt b/be/src/vec/CMakeLists.txt index 3f11b9d55d..36b89f929b 100644 --- a/be/src/vec/CMakeLists.txt +++ b/be/src/vec/CMakeLists.txt @@ -113,7 +113,6 @@ set(VEC_FILES exec/vset_operation_node.cpp exec/vunion_node.cpp exec/vselect_node.cpp - exec/vmysql_scan_node.cpp exec/vschema_scan_node.cpp exec/vempty_set_node.cpp exec/vanalytic_eval_node.cpp @@ -330,6 +329,7 @@ set(VEC_FILES if (WITH_MYSQL) set(VEC_FILES ${VEC_FILES} + exec/vmysql_scan_node.cpp exec/scan/mysql_scanner.cpp) endif () diff --git a/be/src/vec/exec/vmysql_scan_node.cpp b/be/src/vec/exec/vmysql_scan_node.cpp index 51419dca0a..c0428b5e51 100644 --- a/be/src/vec/exec/vmysql_scan_node.cpp +++ b/be/src/vec/exec/vmysql_scan_node.cpp @@ -73,13 +73,13 @@ Status VMysqlScanNode::prepare(RuntimeState* state) { // new one scanner _mysql_scanner.reset(new (std::nothrow) MysqlScanner(_my_param)); - if (_mysql_scanner.get() == nullptr) { + if (_mysql_scanner == nullptr) { return Status::InternalError("new a mysql scanner failed."); } _text_converter.reset(new (std::nothrow) TextConverter('\\')); - if (_text_converter.get() == nullptr) { + if (_text_converter == nullptr) { return Status::InternalError("new a text convertor failed."); } diff --git a/be/src/vec/exec/vmysql_scan_node.h b/be/src/vec/exec/vmysql_scan_node.h index 67f4084548..cdcfd205e2 100644 --- a/be/src/vec/exec/vmysql_scan_node.h +++ b/be/src/vec/exec/vmysql_scan_node.h @@ -35,7 +35,7 @@ namespace vectorized { class VMysqlScanNode : public ScanNode { public: VMysqlScanNode(ObjectPool* pool, const TPlanNode& tnode, const DescriptorTbl& descs); - ~VMysqlScanNode() = default; + ~VMysqlScanNode() override = default; // initialize mysql_scanner, and create text_converter. Status prepare(RuntimeState* state) override;