[CP] fix limit push down cause select with rand() result error
This commit is contained in:
@ -432,9 +432,11 @@ int ObTransformJoinLimitPushDown::check_cartesian(ObSelectStmt *stmt,
|
|||||||
if (OB_ISNULL(cond)) {
|
if (OB_ISNULL(cond)) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("get unexpected null", K(ret));
|
LOG_WARN("get unexpected null", K(ret));
|
||||||
} else if (cond->has_flag(CNT_SUB_QUERY)) {
|
} else if (cond->has_flag(CNT_SUB_QUERY) ||
|
||||||
|
cond->has_flag(CNT_RAND_FUNC) ||
|
||||||
|
cond->has_flag(CNT_STATE_FUNC)) {
|
||||||
is_cond_valid = false;
|
is_cond_valid = false;
|
||||||
OPT_TRACE("condition has subquery");
|
OPT_TRACE("condition has subquery/rand func/state func");
|
||||||
} else if (OB_FAIL(ObRawExprUtils::extract_table_ids(cond,
|
} else if (OB_FAIL(ObRawExprUtils::extract_table_ids(cond,
|
||||||
where_table_ids))) {
|
where_table_ids))) {
|
||||||
LOG_WARN("failed to extract table ids", K(ret));
|
LOG_WARN("failed to extract table ids", K(ret));
|
||||||
|
|||||||
Reference in New Issue
Block a user