diff --git a/be/src/exec/broker_scan_node.cpp b/be/src/exec/broker_scan_node.cpp index 8b6d47705354da..86bb31816f032f 100644 --- a/be/src/exec/broker_scan_node.cpp +++ b/be/src/exec/broker_scan_node.cpp @@ -49,7 +49,7 @@ BrokerScanNode::~BrokerScanNode() { } // We use the ParttitionRange to compare here. It should not be a member function of PartitionInfo -// class becaurce there are some other member in it. +// class because there are some other member in it. static bool compare_part_use_range(const PartitionInfo* v1, const PartitionInfo* v2) { return v1->range() < v2->range(); } diff --git a/be/src/exec/json_scanner.cpp b/be/src/exec/json_scanner.cpp index ca89cd28c5bfd2..de96866b44d83a 100644 --- a/be/src/exec/json_scanner.cpp +++ b/be/src/exec/json_scanner.cpp @@ -496,10 +496,14 @@ Status JsonReader::_handle_simple_json(Tuple* tuple, const std::vector& slot_descs) { int nullcount = 0; bool valid = true; - size_t column_num = std::min(slot_descs.size(), _parsed_jsonpaths.size()); + size_t column_num = slot_descs.size(); for (size_t i = 0; i < column_num; i++) { - rapidjson::Value* json_values = JsonFunctions::get_json_array_from_parsed_json(_parsed_jsonpaths[i], &objectValue, _origin_json_doc.GetAllocator()); + rapidjson::Value* json_values = nullptr; + if (LIKELY( i < _parsed_jsonpaths.size())) { + json_values = JsonFunctions::get_json_array_from_parsed_json(_parsed_jsonpaths[i], &objectValue, _origin_json_doc.GetAllocator()); + } + if (json_values == nullptr) { // not match in jsondata. if (slot_descs[i]->is_nullable()) { diff --git a/be/src/runtime/plan_fragment_executor.cpp b/be/src/runtime/plan_fragment_executor.cpp index 264a6685a8a98a..6901f0c8a9c4cb 100644 --- a/be/src/runtime/plan_fragment_executor.cpp +++ b/be/src/runtime/plan_fragment_executor.cpp @@ -48,6 +48,7 @@ namespace doris { PlanFragmentExecutor::PlanFragmentExecutor( ExecEnv* exec_env, const report_status_callback& report_status_cb) : _exec_env(exec_env), + _plan(nullptr), _report_status_cb(report_status_cb), _report_thread_active(false), _done(false), diff --git a/gensrc/thrift/PlanNodes.thrift b/gensrc/thrift/PlanNodes.thrift index 0fa426ae818313..f0af3a293ed1da 100644 --- a/gensrc/thrift/PlanNodes.thrift +++ b/gensrc/thrift/PlanNodes.thrift @@ -26,7 +26,6 @@ include "Partitions.thrift" enum TPlanNodeType { OLAP_SCAN_NODE, MYSQL_SCAN_NODE, - ODBC_SCAN_NODE, CSV_SCAN_NODE, SCHEMA_SCAN_NODE, HASH_JOIN_NODE, @@ -50,7 +49,8 @@ enum TPlanNodeType { REPEAT_NODE, ASSERT_NUM_ROWS_NODE, INTERSECT_NODE, - EXCEPT_NODE + EXCEPT_NODE, + ODBC_SCAN_NODE } // phases of an execution node diff --git a/gensrc/thrift/Types.thrift b/gensrc/thrift/Types.thrift index aa64c0e54f9d73..194cf30bdeec12 100644 --- a/gensrc/thrift/Types.thrift +++ b/gensrc/thrift/Types.thrift @@ -318,12 +318,12 @@ enum TEtlState { enum TTableType { MYSQL_TABLE, // Deprecated - ODBC_TABLE, OLAP_TABLE, SCHEMA_TABLE, KUDU_TABLE, // Deprecated BROKER_TABLE, - ES_TABLE + ES_TABLE, + ODBC_TABLE } enum TOdbcTableType {