feat(oceanbase-oracle): support graphical execution plans

This commit is contained in:
efeire authored and GitHub committed 2026-09-20 11:05:39 +08:00
1 parent 832a4aa9ad
commit 06fc0df234
6 files changed
+175 -4

No files matched your search

+21
View File
@@ -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!(