Skip to content

Commit 77e7061

Browse files
align description extracted with Thrift
Signed-off-by: varun-edachali-dbx <varun.edachali@databricks.com>
1 parent 01452bc commit 77e7061

File tree

2 files changed

+19
-12
lines changed

2 files changed

+19
-12
lines changed

src/databricks/sql/backend/sea/backend.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -319,15 +319,23 @@ def _extract_description_from_manifest(
319319
columns = []
320320
for col_data in columns_data:
321321
# Format: (name, type_code, display_size, internal_size, precision, scale, null_ok)
322+
name = col_data.get("name", "")
323+
type_name = col_data.get("type_name", "")
324+
type_name = (
325+
type_name[:-5] if type_name.endswith("_TYPE") else type_name
326+
).lower()
327+
precision = col_data.get("type_precision")
328+
scale = col_data.get("type_scale")
329+
322330
columns.append(
323331
(
324-
col_data.get("name", ""), # name
325-
col_data.get("type_name", ""), # type_code
332+
name, # name
333+
type_name, # type_code
326334
None, # display_size (not provided by SEA)
327335
None, # internal_size (not provided by SEA)
328-
col_data.get("precision"), # precision
329-
col_data.get("scale"), # scale
330-
col_data.get("nullable", True), # null_ok
336+
precision, # precision
337+
scale, # scale
338+
None, # null_ok
331339
)
332340
)
333341

tests/unit/test_sea_backend.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -597,9 +597,8 @@ def test_utility_methods(self, sea_client):
597597
{
598598
"name": "col1",
599599
"type_name": "STRING",
600-
"precision": 10,
601-
"scale": 2,
602-
"nullable": True,
600+
"type_precision": 10,
601+
"type_scale": 2,
603602
},
604603
{
605604
"name": "col2",
@@ -613,13 +612,13 @@ def test_utility_methods(self, sea_client):
613612
assert description is not None
614613
assert len(description) == 2
615614
assert description[0][0] == "col1" # name
616-
assert description[0][1] == "STRING" # type_code
615+
assert description[0][1] == "string" # type_code
617616
assert description[0][4] == 10 # precision
618617
assert description[0][5] == 2 # scale
619-
assert description[0][6] is True # null_ok
618+
assert description[0][6] is None # null_ok
620619
assert description[1][0] == "col2" # name
621-
assert description[1][1] == "INT" # type_code
622-
assert description[1][6] is False # null_ok
620+
assert description[1][1] == "int" # type_code
621+
assert description[1][6] is None # null_ok
623622

624623
def test_filter_session_configuration(self):
625624
"""Test that _filter_session_configuration converts all values to strings."""

0 commit comments

Comments
 (0)