Fix set stmt view limit pushdown bug.

This commit is contained in:
jz0 2021-08-11 16:53:39 +08:00 committed by wangzelin.wzl
parent 358b847936
commit 9f5b384158
2 changed files with 11 additions and 4 deletions

View File

@ -405,8 +405,13 @@ int ObTransformOuterJoinLimitPushDown::check_validity_for_target_table(OjLimitPu
} else if (has_rownum) {
is_valid = false;
} else {
// no need to create new view
helper.need_create_view_ = false;
if (ref_query->is_set_stmt()) {
helper.need_create_view_ = true;
} else {
// no need to create new view
helper.need_create_view_ = false;
}
helper.need_rename_ = true;
helper.view_table_ = helper.target_table_;
}
} else {

View File

@ -35,7 +35,8 @@ private:
extracted_conditions_(),
saved_order_items_(),
is_limit_only_(false),
need_create_view_(true)
need_create_view_(true),
need_rename_(false)
{}
virtual ~OjLimitPushDownHelper(){};
@ -46,9 +47,10 @@ private:
ObSEArray<OrderItem, 8> saved_order_items_;
bool is_limit_only_;
bool need_create_view_;
bool need_rename_;
TO_STRING_KV(K_(select_stmt), K_(target_table), K_(view_table), K_(extracted_conditions), K_(saved_order_items),
K_(is_limit_only), K_(need_create_view));
K_(is_limit_only), K_(need_create_view), K_(need_rename));
};
public: