[Build] fix build fail when WITH_MYSQL=OFF (#18021)

This commit is contained in:
Pxl
2023-03-23 14:01:21 +08:00
committed by GitHub
parent 2d4f5886ab
commit 4b626d260a
5 changed files with 15 additions and 5 deletions

View File

@ -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}
)

View File

@ -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<MysqlScanOperatorBuilder>(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 =

View File

@ -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 ()

View File

@ -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.");
}

View File

@ -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;