expr repeat/space/lrpad opt for text type

This commit is contained in:
skylhd
2023-06-13 02:12:20 +00:00
committed by ob-robot
parent 48544979bf
commit 05295dd0f6
7 changed files with 149 additions and 36 deletions

View File

@ -30,11 +30,11 @@ public:
virtual ~ObExprBaseLRpad();
static int calc_type(ObExprResType &type,
ObExprResType &text,
ObExprResType &len,
ObExprResType *pad_text,
common::ObExprTypeCtx &type_ctx);
int calc_type(ObExprResType &type,
ObExprResType &text,
ObExprResType &len,
ObExprResType *pad_text,
common::ObExprTypeCtx &type_ctx) const;
static int padding(LRpadType type,
const common::ObCollationType coll_type,
@ -136,6 +136,7 @@ public:
static int calc_oracle(LRpadType pad_type, const ObExpr &expr, const common::ObDatum &text,
const common::ObDatum &len, const common::ObDatum &pad_text,
common::ObIAllocator &res_alloc, ObDatum &res, bool &is_unchanged_clob);
int get_origin_len_obj(ObObj &len_obj) const;
private:
DISALLOW_COPY_AND_ASSIGN(ObExprBaseLRpad);
};