[optimization] use inline optimize ExprContext::get_value (#5385)
This commit is contained in:
@ -19,6 +19,7 @@
|
||||
|
||||
#include "common/logging.h"
|
||||
#include "exec/exec_node.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "runtime/descriptors.h"
|
||||
#include "runtime/mem_tracker.h"
|
||||
#include "runtime/raw_value.h"
|
||||
|
||||
@ -26,6 +26,7 @@
|
||||
#include "exec/orc_scanner.h"
|
||||
#include "exec/parquet_scanner.h"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "runtime/dpp_sink_internal.h"
|
||||
#include "runtime/row_batch.h"
|
||||
#include "runtime/runtime_state.h"
|
||||
|
||||
@ -26,6 +26,7 @@
|
||||
#include "exec/es/es_scan_reader.h"
|
||||
#include "exec/es/es_scroll_query.h"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "runtime/dpp_sink_internal.h"
|
||||
#include "runtime/row_batch.h"
|
||||
#include "runtime/runtime_state.h"
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
#include <sstream>
|
||||
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "runtime/descriptors.h"
|
||||
#include "runtime/exec_env.h"
|
||||
#include "runtime/mem_tracker.h"
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
|
||||
#include "exec/hash_table.hpp"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "exprs/in_predicate.h"
|
||||
#include "exprs/slot_ref.h"
|
||||
#include "gen_cpp/PlanNodes_types.h"
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
#include "exec/hash_table.hpp"
|
||||
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "runtime/mem_tracker.h"
|
||||
#include "runtime/raw_value.h"
|
||||
#include "runtime/runtime_state.h"
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
#include <sstream>
|
||||
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "exprs/in_predicate.h"
|
||||
#include "gen_cpp/PlanNodes_types.h"
|
||||
#include "runtime/row_batch.h"
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
#include "exec/merge_node.h"
|
||||
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "gen_cpp/PlanNodes_types.h"
|
||||
#include "runtime/raw_value.h"
|
||||
#include "runtime/row_batch.h"
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
#include <sstream>
|
||||
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "runtime/descriptors.h"
|
||||
#include "runtime/raw_value.h"
|
||||
#include "runtime/row_batch.h"
|
||||
|
||||
@ -30,6 +30,7 @@
|
||||
#include "common/resource_tls.h"
|
||||
#include "exprs/binary_predicate.h"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "gen_cpp/PlanNodes_types.h"
|
||||
#include "runtime/exec_env.h"
|
||||
#include "runtime/row_batch.h"
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
|
||||
#include "exec/hash_table.hpp"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "runtime/raw_value.h"
|
||||
#include "runtime/row_batch.h"
|
||||
#include "runtime/runtime_state.h"
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
#include <sstream>
|
||||
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "olap/hll.h"
|
||||
#include "runtime/exec_env.h"
|
||||
#include "runtime/row_batch.h"
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
|
||||
#include "exprs/case_expr.h"
|
||||
|
||||
#include "exprs/expr_context.h"
|
||||
#include "exprs/anyval_util.h"
|
||||
#include "gen_cpp/Exprs_types.h"
|
||||
#include "runtime/runtime_state.h"
|
||||
|
||||
@ -32,6 +32,7 @@
|
||||
#include "exprs/cast_expr.h"
|
||||
#include "exprs/compound_predicate.h"
|
||||
#include "exprs/conditional_functions.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "exprs/in_predicate.h"
|
||||
#include "exprs/info_func.h"
|
||||
#include "exprs/is_null_predicate.h"
|
||||
|
||||
@ -23,7 +23,6 @@
|
||||
#include <vector>
|
||||
|
||||
#include "common/status.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "exprs/expr_value.h"
|
||||
#include "gen_cpp/Opcodes_types.h"
|
||||
#include "runtime/datetime_value.h"
|
||||
@ -46,6 +45,7 @@ USING_DORIS_UDF;
|
||||
namespace doris {
|
||||
|
||||
class Expr;
|
||||
class ExprContext;
|
||||
class ObjectPool;
|
||||
class RowDescriptor;
|
||||
class RuntimeState;
|
||||
|
||||
@ -244,13 +244,6 @@ void ExprContext::get_value(TupleRow* row, bool as_ascii, TColumnValue* col_val)
|
||||
#endif
|
||||
}
|
||||
|
||||
void* ExprContext::get_value(TupleRow* row) {
|
||||
if (_root->is_slotref()) {
|
||||
return SlotRef::get_value(_root, row);
|
||||
}
|
||||
return get_value(_root, row);
|
||||
}
|
||||
|
||||
bool ExprContext::is_nullable() {
|
||||
if (_root->is_slotref()) {
|
||||
return SlotRef::is_nullable(_root);
|
||||
|
||||
@ -22,6 +22,8 @@
|
||||
|
||||
#include "common/status.h"
|
||||
#include "exprs/expr_value.h"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/slot_ref.h"
|
||||
#include "udf/udf.h"
|
||||
#include "udf/udf_internal.h" // for ArrayVal
|
||||
|
||||
@ -206,6 +208,13 @@ private:
|
||||
void* get_value(Expr* e, TupleRow* row);
|
||||
};
|
||||
|
||||
inline void* ExprContext::get_value(TupleRow* row) {
|
||||
if (_root->is_slotref()) {
|
||||
return SlotRef::get_value(_root, row);
|
||||
}
|
||||
return get_value(_root, row);
|
||||
}
|
||||
|
||||
} // namespace doris
|
||||
|
||||
#endif
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
|
||||
#include <sstream>
|
||||
|
||||
#include "exprs/expr_context.h"
|
||||
#include "exprs/anyval_util.h"
|
||||
#include "runtime/raw_value.h"
|
||||
#include "runtime/runtime_state.h"
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
|
||||
#include "exprs/anyval_util.h"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "runtime/datetime_value.h"
|
||||
#include "runtime/runtime_state.h"
|
||||
#include "runtime/string_value.hpp"
|
||||
|
||||
@ -23,6 +23,7 @@
|
||||
|
||||
#include "common/object_pool.h"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "gen_cpp/DataSinks_types.h"
|
||||
#include "runtime/dpp_sink.h"
|
||||
#include "runtime/load_path_mgr.h"
|
||||
|
||||
@ -26,6 +26,7 @@
|
||||
|
||||
#include "common/logging.h"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "gen_cpp/BackendService.h"
|
||||
#include "gen_cpp/PaloInternalService_types.h"
|
||||
#include "gen_cpp/Types_types.h"
|
||||
|
||||
@ -23,6 +23,7 @@
|
||||
#include "agent/cgroups_mgr.h"
|
||||
#include "common/object_pool.h"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "exprs/slot_ref.h"
|
||||
#include "gen_cpp/Types_types.h"
|
||||
#include "olap/field.h"
|
||||
|
||||
@ -22,6 +22,7 @@
|
||||
#include <vector>
|
||||
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "olap/utils.h"
|
||||
#include "runtime/primitive_type.h"
|
||||
#include "runtime/row_batch.h"
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
#include "exec/broker_writer.h"
|
||||
#include "exec/local_file_writer.h"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "runtime/mem_tracker.h"
|
||||
#include "runtime/mysql_table_sink.h"
|
||||
#include "runtime/row_batch.h"
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
#include "exec/local_file_writer.h"
|
||||
#include "exec/parquet_writer.h"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "gen_cpp/PaloInternalService_types.h"
|
||||
#include "runtime/primitive_type.h"
|
||||
#include "runtime/row_batch.h"
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
#include "runtime/mysql_result_writer.h"
|
||||
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "gen_cpp/PaloInternalService_types.h"
|
||||
#include "runtime/buffer_control_block.h"
|
||||
#include "runtime/primitive_type.h"
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
#include <sstream>
|
||||
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "runtime/mysql_table_writer.h"
|
||||
#include "runtime/row_batch.h"
|
||||
#include "runtime/tuple_row.h"
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
#include <algorithm>
|
||||
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "runtime/descriptors.h"
|
||||
#include "runtime/raw_value.h"
|
||||
#include "runtime/row_batch.h"
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
#include <vector>
|
||||
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "runtime/descriptors.h"
|
||||
#include "runtime/mem_pool.h"
|
||||
#include "runtime/raw_value.h"
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
|
||||
#include "exec/sort_exec_exprs.h"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "runtime/descriptors.h"
|
||||
#include "runtime/raw_value.h"
|
||||
#include "runtime/tuple.h"
|
||||
|
||||
@ -29,6 +29,7 @@
|
||||
|
||||
#include "common/compiler_util.h"
|
||||
#include "exprs/expr.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "exprs/slot_ref.h"
|
||||
#include "runtime/exec_env.h"
|
||||
#include "runtime/mem_pool.h"
|
||||
|
||||
@ -23,6 +23,7 @@
|
||||
#include <string>
|
||||
|
||||
#include "exprs/anyval_util.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "testutil/function_utils.h"
|
||||
#include "util/logging.h"
|
||||
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
// under the License.
|
||||
|
||||
#include "exprs/anyval_util.h"
|
||||
#include "exprs/expr_context.h"
|
||||
#include "exprs/topn_function.h"
|
||||
#include "util/topn_counter.h"
|
||||
#include "testutil/function_utils.h"
|
||||
|
||||
Reference in New Issue
Block a user