This is an automated email from the ASF dual-hosted git repository.

curth pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git


The following commit(s) were added to refs/heads/main by this push:
     new b31a824f6 fix(csharp/src/Drivers/Databricks): PECO-2562 Use "default" 
schema in open session request (#3359)
b31a824f6 is described below

commit b31a824f6447f13a6467000e3033437dde2de442
Author: Todd Meng <[email protected]>
AuthorDate: Wed Aug 27 16:24:40 2025 -0700

    fix(csharp/src/Drivers/Databricks): PECO-2562 Use "default" schema in open 
session request (#3359)
    
    If user does not pass in schema, use "default for session schema".
    
    This is most likely a no-op, since dbr already sets this default session
    schema even without explicit client request.
    This does not affect subsequent metadata calls, since session schema is
    not used for metadata request's schema.
---
 csharp/src/Drivers/Databricks/DatabricksConnection.cs | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/csharp/src/Drivers/Databricks/DatabricksConnection.cs 
b/csharp/src/Drivers/Databricks/DatabricksConnection.cs
index 9e5d05a98..07f31ceed 100644
--- a/csharp/src/Drivers/Databricks/DatabricksConnection.cs
+++ b/csharp/src/Drivers/Databricks/DatabricksConnection.cs
@@ -47,6 +47,8 @@ namespace Apache.Arrow.Adbc.Drivers.Databricks
         /// </summary>
         public const string DefaultConfigEnvironmentVariable = 
"DATABRICKS_CONFIG_FILE";
 
+        public const string DefaultInitialSchema = "default";
+
         internal static readonly Dictionary<string, string> timestampConfig = 
new Dictionary<string, string>
         {
             { "spark.thriftserver.arrowBasedRowSet.timestampAsString", "false" 
},
@@ -329,16 +331,13 @@ namespace Apache.Arrow.Adbc.Drivers.Databricks
             // In newer DBR versions with Unity Catalog, the default catalog 
is typically hive_metastore.
             // Passing null here allows the runtime to fall back to the 
workspace-defined default catalog for the session.
             defaultCatalog = HandleSparkCatalog(defaultCatalog);
+            var ns = new TNamespace();
 
-            if (!string.IsNullOrWhiteSpace(defaultCatalog) || 
!string.IsNullOrWhiteSpace(defaultSchema))
-            {
-                var ns = new TNamespace();
-                if (!string.IsNullOrWhiteSpace(defaultCatalog))
-                    ns.CatalogName = defaultCatalog!;
-                if (!string.IsNullOrWhiteSpace(defaultSchema))
-                    ns.SchemaName = defaultSchema;
-                _defaultNamespace = ns;
-            }
+            ns.SchemaName = string.IsNullOrWhiteSpace(defaultSchema) ? 
DefaultInitialSchema : defaultSchema;
+
+            if (!string.IsNullOrWhiteSpace(defaultCatalog))
+                ns.CatalogName = defaultCatalog!;
+            _defaultNamespace = ns;
 
             // Parse trace propagation options
             if 
(Properties.TryGetValue(DatabricksParameters.TracePropagationEnabled, out 
string? tracePropagationEnabledStr))

Reply via email to