提交 31418623 编写于 作者: O obdev 提交者: wangzelin.wzl

fix misuse const flag leads result wrong || core

上级 54885402
......@@ -75,7 +75,7 @@ int ObChunkDatumStore::StoredRow::to_expr_skip_const(const ObIArray<ObExpr*> &ex
} else {
for (uint32_t i = 0; i < cnt_; ++i) {
const ObExpr *expr = exprs.at(i);
if (expr->is_dynamic_const_ || expr->is_static_const_) { // T_QUESTIONMARK is included in dynamic_const
if (expr->is_const_expr()) { // T_QUESTIONMARK is included in dynamic_const
continue;
} else {
expr->locate_expr_datum(ctx) = cells()[i];
......
......@@ -1203,7 +1203,7 @@ int ObChunkDatumStore::Iterator::get_next_row_skip_const(ObEvalCtx &ctx,
// logical operator, we can not add expr in CG.
for (int64_t i = 0; i < sr->cnt_; i++) {
const ObExpr *expr = exprs.at(i);
if (expr->is_dynamic_const_) { // T_QUESTIONMARK is included in is_dynamic_const
if (expr->is_const_expr()) { // T_QUESTIONMARK is included in is_dynamic_const
continue;
} else {
const ObDatum &src = sr->cells()[i];
......@@ -1270,7 +1270,7 @@ void ObChunkDatumStore::Iterator::attach_rows(
if (NULL != srows) {
for (int64_t col_idx = 0; col_idx < exprs.count(); col_idx++) {
ObExpr *e = exprs.at(col_idx);
if (skip_const && e->is_dynamic_const_) {
if (skip_const && e->is_const_expr()) {
continue;
}
if (OB_LIKELY(!fill_invariable_res_buf || e->is_variable_res_buf())) {
......
......@@ -131,7 +131,7 @@ int ObRADatumStore::StoredRow::to_expr(const common::ObIArray<ObExpr*> &exprs,
LOG_WARN("datum count mismatch", K(ret), K(cnt_), K(exprs.count()));
} else {
for (uint32_t i = 0; i < cnt_; ++i) {
if (exprs.at(i)->is_static_const_) {
if (exprs.at(i)->is_const_expr()) {
continue;
} else {
exprs.at(i)->locate_expr_datum(ctx) = cells()[i];
......
......@@ -459,6 +459,8 @@ public:
return OBJ_DATUM_STRING == obj_datum_map_;
};
inline bool is_const_expr() const { return is_static_const_ || is_dynamic_const_; }
// Evaluate all parameters, assign the first sizeof...(args) parameters to %args.
//
// e.g.:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册