Fix atan does not support two parameters in mysql mode

This commit is contained in:
obdev
2021-07-13 15:33:24 +08:00
committed by wangzelin.wzl
parent ce63c8923f
commit 2c4f8593fb
3 changed files with 139 additions and 31 deletions

View File

@ -20,10 +20,16 @@ class ObExprAtan : public ObFuncExprOperator {
public:
explicit ObExprAtan(common::ObIAllocator& alloc);
virtual ~ObExprAtan();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& obj, common::ObExprCtx& expr_ctx) const;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
virtual int calc_result_typeN(ObExprResType &type,
ObExprResType *types,
int64_t type_num,
common::ObExprTypeCtx &type_ctx) const;
virtual int calc_resultN(common::ObObj &result,
const common::ObObj *objs,
int64_t param_num,
common::ObExprCtx &expr_ctx) const;
virtual int cg_expr(ObExprCGCtx &expr_cg_ctx, const ObRawExpr &raw_expr,
ObExpr &rt_expr) const override;
private:
DISALLOW_COPY_AND_ASSIGN(ObExprAtan);
};