fix(grid): qualify generated save and copy SQL with database name

This commit is contained in:
zipg authored and GitHub committed 2026-09-21 11:51:34 +08:00
1 parent 865b9fba84
commit 420cb80e65
32 files changed
+910 -123

No files matched your search

@@ -5,7 +5,7 @@ use super::{
};
use crate::data_grid_sql::{
build_column_predicate, build_data_grid_copy_insert_statement, build_data_grid_copy_update_statements,
data_grid_qualified_table_name, format_grid_sql_literal_with_identifier_quote, is_auto_generated_column,
data_grid_generated_table_name, format_grid_sql_literal_with_identifier_quote, is_auto_generated_column,
is_grid_insert_omitted_column, is_non_identity_generated_column, supports_relational_copy_predicates,
DataGridCopyInsertStatementOptions, DataGridCopyUpdateStatementOptions, DataGridTableMeta,
};
@@ -121,6 +121,7 @@ pub(super) fn write_sql_updates(
columns: data.columns,
source_columns: Some(data.source_columns),
rows: data.rows,
include_database_name: context.request.options.sql.include_database_name,
});
if statements.len() != context.request.rows.len() {
return Err(DataGridExtractError::new(
@@ -371,13 +372,14 @@ pub(super) fn write_sql_select(
));
}
let table = data_grid_qualified_table_name(
let table = data_grid_generated_table_name(
context.request.database_type,
table_meta.catalog.as_deref(),
table_meta.schema.as_deref(),
table_meta.database.as_deref(),
&table_meta.table_name,
context.request.identifier_quote.as_deref(),
context.request.options.sql.include_database_name,
);
if context.request.selection_kind == super::DataGridSelectionKind::Cells {
@@ -934,6 +934,7 @@ fn build_data_grid_copy_update_statements_returns_empty_for_mongodb() {
columns: vec!["id".to_string()],
source_columns: Some(vec![Some("id".to_string())]),
rows: vec![vec![json!(1)]],
include_database_name: false,
};
assert!(build_data_grid_copy_update_statements(options).is_empty());
}