@@ -5,10 +5,8 @@ class MetadataColumnMappings:
55 """Column mappings for metadata queries following JDBC specification."""
66
77 # Common columns used across multiple metadata queries
8- # FIX 1: Catalog columns - swap the mappings
98 CATALOG_COLUMN = ResultColumn ("TABLE_CAT" , "catalogName" , "string" )
109 CATALOG_COLUMN_FOR_GET_CATALOGS = ResultColumn ("TABLE_CAT" , "catalog" , "string" )
11- # Remove CATALOG_COLUMN_FOR_TABLES - will use CATALOG_COLUMN instead
1210
1311 SCHEMA_COLUMN = ResultColumn ("TABLE_SCHEM" , "namespace" , "string" )
1412 SCHEMA_COLUMN_FOR_GET_SCHEMA = ResultColumn ("TABLE_SCHEM" , "databaseName" , "string" )
@@ -18,12 +16,9 @@ class MetadataColumnMappings:
1816
1917 # Columns specific to getColumns()
2018 COLUMN_NAME_COLUMN = ResultColumn ("COLUMN_NAME" , "col_name" , "string" )
21- DATA_TYPE_COLUMN = ResultColumn (
22- "DATA_TYPE" , None , "int"
23- ) # Calculated from columnType
19+ DATA_TYPE_COLUMN = ResultColumn ("DATA_TYPE" , None , "int" )
2420 TYPE_NAME_COLUMN = ResultColumn ("TYPE_NAME" , "columnType" , "string" )
2521
26- # FIX 5: SEA actually provides these columns
2722 COLUMN_SIZE_COLUMN = ResultColumn ("COLUMN_SIZE" , "columnSize" , "int" )
2823 DECIMAL_DIGITS_COLUMN = ResultColumn (
2924 "DECIMAL_DIGITS" ,
@@ -37,12 +32,8 @@ class MetadataColumnMappings:
3732 "int" ,
3833 )
3934
40- NULLABLE_COLUMN = ResultColumn (
41- "NULLABLE" , None , "int"
42- ) # Calculated from isNullable
43- COLUMN_DEF_COLUMN = ResultColumn (
44- "COLUMN_DEF" , "columnType" , "string"
45- ) # Note: duplicate mapping
35+ NULLABLE_COLUMN = ResultColumn ("NULLABLE" , None , "int" )
36+ COLUMN_DEF_COLUMN = ResultColumn ("COLUMN_DEF" , "columnType" , "string" )
4637 SQL_DATA_TYPE_COLUMN = ResultColumn ("SQL_DATA_TYPE" , None , "int" )
4738 SQL_DATETIME_SUB_COLUMN = ResultColumn ("SQL_DATETIME_SUB" , None , "int" )
4839 CHAR_OCTET_LENGTH_COLUMN = ResultColumn ("CHAR_OCTET_LENGTH" , None , "int" )
@@ -57,33 +48,24 @@ class MetadataColumnMappings:
5748 )
5849 REF_GENERATION_COLUMN = ResultColumn ("REF_GENERATION" , None , "string" )
5950
60- # FIX 8: Scope columns (always null per JDBC)
6151 SCOPE_CATALOG_COLUMN = ResultColumn ("SCOPE_CATALOG" , None , "string" )
6252 SCOPE_SCHEMA_COLUMN = ResultColumn ("SCOPE_SCHEMA" , None , "string" )
6353 SCOPE_TABLE_COLUMN = ResultColumn ("SCOPE_TABLE" , None , "string" )
6454 SOURCE_DATA_TYPE_COLUMN = ResultColumn ("SOURCE_DATA_TYPE" , None , "smallint" )
6555
66- # FIX 9 & 10: Auto increment and generated columns
6756 IS_AUTO_INCREMENT_COLUMN = ResultColumn (
6857 "IS_AUTOINCREMENT" , "isAutoIncrement" , "string"
69- ) # No underscore!
70- IS_GENERATED_COLUMN = ResultColumn (
71- "IS_GENERATEDCOLUMN" , "isGenerated" , "string"
72- ) # SEA provides this
58+ )
59+ IS_GENERATED_COLUMN = ResultColumn ("IS_GENERATEDCOLUMN" , "isGenerated" , "string" )
7360
74- # FIX 11: Buffer length column
75- BUFFER_LENGTH_COLUMN = ResultColumn (
76- "BUFFER_LENGTH" , None , "int"
77- ) # Always null per JDBC
61+ BUFFER_LENGTH_COLUMN = ResultColumn ("BUFFER_LENGTH" , None , "int" )
7862
7963 # Column lists for each metadata operation
8064 CATALOG_COLUMNS = [CATALOG_COLUMN_FOR_GET_CATALOGS ] # Use specific catalog column
8165
8266 SCHEMA_COLUMNS = [
8367 SCHEMA_COLUMN_FOR_GET_SCHEMA ,
84- ResultColumn (
85- "TABLE_CATALOG" , None , "string"
86- ), # Will need special population logic
68+ ResultColumn ("TABLE_CATALOG" , None , "string" ),
8769 ]
8870
8971 TABLE_COLUMNS = [
@@ -99,7 +81,6 @@ class MetadataColumnMappings:
9981 REF_GENERATION_COLUMN ,
10082 ]
10183
102- # FIX 13: Remove IS_GENERATEDCOLUMN from list (should be 23 columns, not 24)
10384 COLUMN_COLUMNS = [
10485 CATALOG_COLUMN , # Use general catalog column (catalogName)
10586 SCHEMA_COLUMN ,
0 commit comments