feat(oceanbase-oracle): support graphical execution plans
This commit is contained in:
1 parent
832a4aa9ad
commit
06fc0df234
6 files changed
+175
-4
No files matched your search
@@ -129,6 +129,7 @@ pub fn supports_explain_plan(database_type: Option<DatabaseType>) -> bool {
|
||||
| DatabaseType::Questdb
|
||||
| DatabaseType::Dameng
|
||||
| DatabaseType::Oracle
|
||||
| DatabaseType::OceanbaseOracle
|
||||
| DatabaseType::SqlServer
|
||||
)
|
||||
)
|
||||
@@ -1383,6 +1384,26 @@ mod tests {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn builds_nonexecuting_oceanbase_oracle_json_explain() {
|
||||
let result = build_explain_sql(ExplainSqlOptions {
|
||||
database_type: Some(DatabaseType::OceanbaseOracle),
|
||||
format: Some(ExplainFormat::Json),
|
||||
analyze: Some(true),
|
||||
sql: "SELECT * FROM events;".to_string(),
|
||||
});
|
||||
assert_eq!(result.sql.as_deref(), Some("EXPLAIN FORMAT=JSON SELECT * FROM events"));
|
||||
assert!(result.ok);
|
||||
|
||||
let unsafe_result = build_explain_sql(ExplainSqlOptions {
|
||||
database_type: Some(DatabaseType::OceanbaseOracle),
|
||||
format: None,
|
||||
analyze: None,
|
||||
sql: "DELETE FROM events".to_string(),
|
||||
});
|
||||
assert_eq!(unsafe_result.reason.as_deref(), Some("unsafe"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn builds_dropped_file_preview_sql() {
|
||||
assert_eq!(
|
||||
|
||||
Reference in new issue
Block a user