@@ -311,7 +311,7 @@ def _extract_description_from_manifest(
311
311
manifest: The ResultManifest object containing schema information
312
312
313
313
Returns:
314
- List[Tuple ]: A list of column tuples
314
+ Optional[List ]: A list of column tuples or None if no columns are found
315
315
"""
316
316
317
317
schema_data = manifest .schema
@@ -320,15 +320,23 @@ def _extract_description_from_manifest(
320
320
columns = []
321
321
for col_data in columns_data :
322
322
# Format: (name, type_code, display_size, internal_size, precision, scale, null_ok)
323
+ name = col_data .get ("name" , "" )
324
+ type_name = col_data .get ("type_name" , "" )
325
+ type_name = (
326
+ type_name [:- 5 ] if type_name .endswith ("_TYPE" ) else type_name
327
+ ).lower ()
328
+ precision = col_data .get ("type_precision" )
329
+ scale = col_data .get ("type_scale" )
330
+
323
331
columns .append (
324
332
(
325
- col_data . get ( " name" , "" ) , # name
326
- col_data . get ( " type_name" , "" ) , # type_code
333
+ name , # name
334
+ type_name , # type_code
327
335
None , # display_size (not provided by SEA)
328
336
None , # internal_size (not provided by SEA)
329
- col_data . get ( " precision" ) , # precision
330
- col_data . get ( " scale" ) , # scale
331
- col_data . get ( "nullable" , True ) , # null_ok
337
+ precision , # precision
338
+ scale , # scale
339
+ None , # null_ok
332
340
)
333
341
)
334
342
0 commit comments