diff --git a/be/src/vec/exprs/vexpr.cpp b/be/src/vec/exprs/vexpr.cpp index bcd06cb6640268..b06579f7957d25 100644 --- a/be/src/vec/exprs/vexpr.cpp +++ b/be/src/vec/exprs/vexpr.cpp @@ -41,7 +41,6 @@ #include "vec/exprs/vectorized_fn_call.h" #include "vec/exprs/vexpr_context.h" #include "vec/exprs/vin_predicate.h" -#include "vec/exprs/vinfo_func.h" #include "vec/exprs/vlambda_function_call_expr.h" #include "vec/exprs/vlambda_function_expr.h" #include "vec/exprs/vliteral.h" @@ -303,10 +302,6 @@ Status VExpr::create_expr(const TExprNode& expr_node, VExprSPtr& expr) { expr = VCaseExpr::create_shared(expr_node); break; } - case TExprNodeType::INFO_FUNC: { - expr = VInfoFunc::create_shared(expr_node); - break; - } case TExprNodeType::TUPLE_IS_NULL_PRED: { expr = VTupleIsNullPredicate::create_shared(expr_node); break; diff --git a/be/src/vec/exprs/vinfo_func.cpp b/be/src/vec/exprs/vinfo_func.cpp deleted file mode 100644 index c262882b317e90..00000000000000 --- a/be/src/vec/exprs/vinfo_func.cpp +++ /dev/null @@ -1,71 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "vec/exprs/vinfo_func.h" - -#include -#include -#include - -#include -#include -#include - -#include "runtime/define_primitive_type.h" -#include "runtime/types.h" -#include "vec/core/block.h" -#include "vec/core/field.h" -#include "vec/core/types.h" -#include "vec/data_types/data_type.h" - -namespace doris { -namespace vectorized { -class VExprContext; -} // namespace vectorized -} // namespace doris - -namespace doris::vectorized { - -VInfoFunc::VInfoFunc(const TExprNode& node) : VExpr(node) { - Field field; - switch (_type.type) { - case TYPE_BIGINT: { - field = Int64(node.info_func.int_value); - break; - } - case TYPE_STRING: - case TYPE_CHAR: - case TYPE_VARCHAR: { - field = node.info_func.str_value; - break; - } - default: { - DCHECK(false) << "Invalid type: " << _type.type; - break; - } - } - this->_column_ptr = _data_type->create_column_const(1, field); -} - -Status VInfoFunc::execute(VExprContext* context, vectorized::Block* block, int* result_column_id) { - // Info function should return least one row, e.g. select current_user(). - size_t row_size = std::max(block->rows(), size_t(1)); - *result_column_id = VExpr::insert_param(block, {_column_ptr, _data_type, _expr_name}, row_size); - return Status::OK(); -} - -} // namespace doris::vectorized diff --git a/be/src/vec/exprs/vinfo_func.h b/be/src/vec/exprs/vinfo_func.h deleted file mode 100644 index c21ef6bf07f89d..00000000000000 --- a/be/src/vec/exprs/vinfo_func.h +++ /dev/null @@ -1,50 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include - -#include "common/object_pool.h" -#include "common/status.h" -#include "vec/data_types/data_type.h" -#include "vec/exprs/vexpr.h" - -namespace doris { -class TExprNode; - -namespace vectorized { -class Block; -class VExprContext; - -class VInfoFunc : public VExpr { - ENABLE_FACTORY_CREATOR(VInfoFunc); - -public: - VInfoFunc(const TExprNode& node); - ~VInfoFunc() override = default; - - const std::string& expr_name() const override { return _expr_name; } - Status execute(VExprContext* context, Block* block, int* result_column_id) override; - -private: - const std::string _expr_name = "vinfofunc expr"; - ColumnPtr _column_ptr; -}; -} // namespace vectorized - -} // namespace doris