diff --git a/crates/dbx-core/src/database_export.rs b/crates/dbx-core/src/database_export.rs index 2e2151d43..3c31ed0cb 100644 --- a/crates/dbx-core/src/database_export.rs +++ b/crates/dbx-core/src/database_export.rs @@ -171,6 +171,9 @@ fn format_export_sql_literal_for_database(value: &Value, database_type: Option { + DatabaseType::SqlServer | DatabaseType::Dameng => { if *b { "1".to_string() } else { @@ -6144,6 +6144,25 @@ mod tests { assert_eq!(sql, "INSERT INTO [dbo].[flags] ([enabled], [deleted]) VALUES\n(1, 0)"); } + #[test] + fn dameng_insert_formats_bit_booleans_as_numeric_literals() { + let sql = generate_insert_typed( + &[String::from("enabled"), String::from("deleted"), String::from("optional")], + &[Some(String::from("BIT")), Some(String::from("bit")), Some(String::from("BIT"))], + &[vec![json!(true), json!(false), serde_json::Value::Null]], + "flags", + "DBX_TEST", + &DatabaseType::Dameng, + ); + + assert_eq!( + sql, + "INSERT INTO \"DBX_TEST\".\"flags\" (\"enabled\", \"deleted\", \"optional\") VALUES\n(1, 0, NULL)" + ); + assert!(!sql.contains("TRUE")); + assert!(!sql.contains("FALSE")); + } + #[test] fn sqlserver_upsert_formats_bit_booleans_as_numeric_literals() { let sql = generate_upsert_typed(