fix pdml bug after or expansion transformation

This commit is contained in:
obdev
2024-02-10 09:04:18 +00:00
committed by ob-robot
parent 59be123c65
commit b528857934
6 changed files with 37 additions and 27 deletions

View File

@ -36,6 +36,7 @@ namespace sql
#define DIRECT_MODE_INSERT_INTO_SELECT "Direct-mode is enabled in insert into select"
#define PARALLEL_DISABLED_BY_DBLINK "Degree of Parallelisim is %ld because stmt contain dblink which force das scan"
#define PDML_DISABLED_BY_INSERT_PK_AUTO_INC "PDML disabled because the insert statement primary key has specified auto-increment column"
#define PDML_DISABLED_BY_TRANSFORMATIONS "PDML disabled because transformations like or-expansion"
}
}

View File

@ -424,6 +424,9 @@ int ObOptimizer::check_pdml_supported_feature(const ObDelUpdStmt &pdml_stmt,
static_cast< const ObInsertStmt &>(pdml_stmt).is_insert_up()) {
is_use_pdml = false;
ctx_.add_plan_note(PDML_DISABLED_BY_INSERT_UP);
} else if (pdml_stmt.is_pdml_disabled()) {
is_use_pdml = false;
ctx_.add_plan_note(PDML_DISABLED_BY_TRANSFORMATIONS);
} else if (ctx_.has_dblink()) {
is_use_pdml = false;
} else if (ctx_.contain_user_nested_sql()) {