@@ -311,7 +311,7 @@ def _extract_description_from_manifest(
311311 manifest: The ResultManifest object containing schema information
312312
313313 Returns:
314- List[Tuple ]: A list of column tuples
314+ Optional[List ]: A list of column tuples or None if no columns are found
315315 """
316316
317317 schema_data = manifest .schema
@@ -320,15 +320,23 @@ def _extract_description_from_manifest(
320320 columns = []
321321 for col_data in columns_data :
322322 # 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+
323331 columns .append (
324332 (
325- col_data . get ( " name" , "" ) , # name
326- col_data . get ( " type_name" , "" ) , # type_code
333+ name , # name
334+ type_name , # type_code
327335 None , # display_size (not provided by SEA)
328336 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
332340 )
333341 )
334342
0 commit comments