diff --git a/deps/oblib/src/lib/utility/ob_tracepoint.h b/deps/oblib/src/lib/utility/ob_tracepoint.h index ec6e9aeae9..a482a510ec 100644 --- a/deps/oblib/src/lib/utility/ob_tracepoint.h +++ b/deps/oblib/src/lib/utility/ob_tracepoint.h @@ -665,6 +665,7 @@ class EventTable EN_PX_DISABLE_RUNTIME_FILTER_EXTRACT_QUERY_RANGE = 614, EN_PX_MAX_IN_FILTER_QR_COUNT = 615, EN_PX_DISABLE_WHITE_RUNTIME_FILTER = 616, + EN_PX_DISABLE_PD_TOPN_FILTER = 617, // please add new trace point after 700 or before 600 // Compaction Related 700-750 diff --git a/src/objit/include/objit/common/ob_item_type.h b/src/objit/include/objit/common/ob_item_type.h index cd083d9030..61e415e447 100755 --- a/src/objit/include/objit/common/ob_item_type.h +++ b/src/objit/include/objit/common/ob_item_type.h @@ -213,6 +213,7 @@ typedef enum ObItemType T_OP_AGG_DIV = 185, T_OP_OUTPUT_PACK = 186, T_FUN_GET_TEMP_TABLE_SESSID = 187, + T_OP_PUSHDOWN_TOPN_FILTER = 188, ///< @note add new operator before this line // system functions diff --git a/src/sql/engine/expr/ob_expr_eval_functions.cpp b/src/sql/engine/expr/ob_expr_eval_functions.cpp index 6e872f971d..90eb1c1364 100644 --- a/src/sql/engine/expr/ob_expr_eval_functions.cpp +++ b/src/sql/engine/expr/ob_expr_eval_functions.cpp @@ -1133,6 +1133,7 @@ static ObExpr::EvalFunc g_expr_eval_functions[] = { NULL, // ObExprWaitUntilSQLThreadAfterGTIDs::eval_wait_until_sql_thread_after_gtids /* 689 */ NULL, // ObExprLastRefreshScn::eval_last_refresh_scn /* 690 */ NULL, // ObExprDocLength::generate_doc_length, /*691*/ + NULL, // ObExprTopNFilter::eval_topn_filter, /* 692 */ }; static ObExpr::EvalBatchFunc g_expr_eval_batch_functions[] = { @@ -1266,6 +1267,7 @@ static ObExpr::EvalBatchFunc g_expr_eval_batch_functions[] = { ObBatchCast::explicit_batch_cast, /* 127 */ ObBatchCast::implicit_batch_cast, /* 128 */ NULL,//ObExprDecodeTraceId::calc_decode_trace_id_expr_batch, /* 129 */ + NULL,//ObExprTopNFilter::eval_topn_filter_batch, /* 130 */ }; static ObExpr::EvalVectorFunc g_expr_eval_vector_functions[] = { @@ -1381,6 +1383,7 @@ static ObExpr::EvalVectorFunc g_expr_eval_vector_functions[] = { ObExprInOrNotIn::eval_vector_in_without_row_fallback, /* 109 */ ObExprInOrNotIn::eval_vector_in_without_row, /* 110 */ NULL,//ObExprDecodeTraceId::calc_decode_trace_id_expr_vector /* 111 */ + NULL,//ObExprTopNFilter::eval_topn_filter_vector, /* 112 */ }; REG_SER_FUNC_ARRAY(OB_SFA_SQL_EXPR_EVAL, diff --git a/src/sql/engine/expr/ob_expr_operator_factory.cpp b/src/sql/engine/expr/ob_expr_operator_factory.cpp index 36b268e01c..079df2d68c 100644 --- a/src/sql/engine/expr/ob_expr_operator_factory.cpp +++ b/src/sql/engine/expr/ob_expr_operator_factory.cpp @@ -1005,6 +1005,7 @@ void ObExprOperatorFactory::register_expr_operators() REG_OP(ObExprExtractExpiredTime); REG_OP(ObExprTransactionId); REG_OP(ObExprInnerRowCmpVal); + // REG_OP(ObExprTopNFilter); }(); // 注册oracle系统函数 REG_OP_ORCL(ObExprSysConnectByPath); @@ -1318,6 +1319,7 @@ void ObExprOperatorFactory::register_expr_operators() REG_OP_ORCL(ObExprJsonObjectStar); REG_OP_ORCL(ObExprTransactionId); REG_OP_ORCL(ObExprInnerRowCmpVal); + // REG_OP_ORCL(ObExprTopNFilter); } bool ObExprOperatorFactory::is_expr_op_type_valid(ObExprOperatorType type)