|
1 | 1 | fromdatabricks.sql.backend.sea.utils.result_columnimportResultColumn |
| 2 | +fromdatabricks.sql.backend.sea.utils.conversionimportSqlType |
2 | 3 |
|
3 | 4 |
|
4 | 5 | classMetadataColumnMappings: |
5 | 6 | """Column mappings for metadata queries following JDBC specification.""" |
6 | 7 |
|
7 | 8 | # Common columns used across multiple metadata queries |
8 | | -CATALOG_COLUMN=ResultColumn("TABLE_CAT","catalogName","string") |
9 | | -CATALOG_COLUMN_FOR_GET_CATALOGS=ResultColumn("TABLE_CAT","catalog","string") |
| 9 | +CATALOG_COLUMN=ResultColumn("TABLE_CAT","catalogName",SqlType.VARCHAR) |
| 10 | +CATALOG_COLUMN_FOR_GET_CATALOGS=ResultColumn( |
| 11 | +"TABLE_CAT","catalog",SqlType.VARCHAR |
| 12 | + ) |
10 | 13 |
|
11 | | -SCHEMA_COLUMN=ResultColumn("TABLE_SCHEM","namespace","string") |
12 | | -SCHEMA_COLUMN_FOR_GET_SCHEMA=ResultColumn("TABLE_SCHEM","databaseName","string") |
13 | | -TABLE_NAME_COLUMN=ResultColumn("TABLE_NAME","tableName","string") |
14 | | -TABLE_TYPE_COLUMN=ResultColumn("TABLE_TYPE","tableType","string") |
15 | | -REMARKS_COLUMN=ResultColumn("REMARKS","remarks","string") |
| 14 | +SCHEMA_COLUMN=ResultColumn("TABLE_SCHEM","namespace",SqlType.VARCHAR) |
| 15 | +SCHEMA_COLUMN_FOR_GET_SCHEMA=ResultColumn( |
| 16 | +"TABLE_SCHEM","databaseName",SqlType.VARCHAR |
| 17 | + ) |
| 18 | +TABLE_NAME_COLUMN=ResultColumn("TABLE_NAME","tableName",SqlType.VARCHAR) |
| 19 | +TABLE_TYPE_COLUMN=ResultColumn("TABLE_TYPE","tableType",SqlType.VARCHAR) |
| 20 | +REMARKS_COLUMN=ResultColumn("REMARKS","remarks",SqlType.VARCHAR) |
16 | 21 |
|
17 | 22 | # Columns specific to getColumns() |
18 | | -COLUMN_NAME_COLUMN=ResultColumn("COLUMN_NAME","col_name","string") |
19 | | -DATA_TYPE_COLUMN=ResultColumn("DATA_TYPE",None,"int") |
20 | | -TYPE_NAME_COLUMN=ResultColumn("TYPE_NAME","columnType","string") |
| 23 | +COLUMN_NAME_COLUMN=ResultColumn("COLUMN_NAME","col_name",SqlType.VARCHAR) |
| 24 | +DATA_TYPE_COLUMN=ResultColumn("DATA_TYPE",None,SqlType.INT) |
| 25 | +TYPE_NAME_COLUMN=ResultColumn("TYPE_NAME","columnType",SqlType.VARCHAR) |
21 | 26 |
|
22 | | -COLUMN_SIZE_COLUMN=ResultColumn("COLUMN_SIZE","columnSize","int") |
| 27 | +COLUMN_SIZE_COLUMN=ResultColumn("COLUMN_SIZE","columnSize",SqlType.INT) |
23 | 28 | DECIMAL_DIGITS_COLUMN=ResultColumn( |
24 | 29 | "DECIMAL_DIGITS", |
25 | 30 | "decimalDigits", |
26 | | -"int", |
| 31 | +SqlType.INT, |
27 | 32 | ) |
28 | | -NUM_PREC_RADIX_COLUMN=ResultColumn("NUM_PREC_RADIX","radix","int") |
| 33 | +NUM_PREC_RADIX_COLUMN=ResultColumn("NUM_PREC_RADIX","radix",SqlType.INT) |
29 | 34 | ORDINAL_POSITION_COLUMN=ResultColumn( |
30 | 35 | "ORDINAL_POSITION", |
31 | 36 | "ordinalPosition", |
32 | | -"int", |
| 37 | +SqlType.INT, |
33 | 38 | ) |
34 | 39 |
|
35 | | -NULLABLE_COLUMN=ResultColumn("NULLABLE",None,"int") |
36 | | -COLUMN_DEF_COLUMN=ResultColumn("COLUMN_DEF","columnType","string") |
37 | | -SQL_DATA_TYPE_COLUMN=ResultColumn("SQL_DATA_TYPE",None,"int") |
38 | | -SQL_DATETIME_SUB_COLUMN=ResultColumn("SQL_DATETIME_SUB",None,"int") |
39 | | -CHAR_OCTET_LENGTH_COLUMN=ResultColumn("CHAR_OCTET_LENGTH",None,"int") |
40 | | -IS_NULLABLE_COLUMN=ResultColumn("IS_NULLABLE","isNullable","string") |
| 40 | +NULLABLE_COLUMN=ResultColumn("NULLABLE",None,SqlType.INT) |
| 41 | +COLUMN_DEF_COLUMN=ResultColumn("COLUMN_DEF","columnType",SqlType.VARCHAR) |
| 42 | +SQL_DATA_TYPE_COLUMN=ResultColumn("SQL_DATA_TYPE",None,SqlType.INT) |
| 43 | +SQL_DATETIME_SUB_COLUMN=ResultColumn("SQL_DATETIME_SUB",None,SqlType.INT) |
| 44 | +CHAR_OCTET_LENGTH_COLUMN=ResultColumn("CHAR_OCTET_LENGTH",None,SqlType.INT) |
| 45 | +IS_NULLABLE_COLUMN=ResultColumn("IS_NULLABLE","isNullable",SqlType.VARCHAR) |
41 | 46 |
|
42 | 47 | # Columns for getTables() that don't exist in SEA |
43 | | -TYPE_CAT_COLUMN=ResultColumn("TYPE_CAT",None,"string") |
44 | | -TYPE_SCHEM_COLUMN=ResultColumn("TYPE_SCHEM",None,"string") |
45 | | -TYPE_NAME_COLUMN=ResultColumn("TYPE_NAME",None,"string") |
| 48 | +TYPE_CAT_COLUMN=ResultColumn("TYPE_CAT",None,SqlType.VARCHAR) |
| 49 | +TYPE_SCHEM_COLUMN=ResultColumn("TYPE_SCHEM",None,SqlType.VARCHAR) |
| 50 | +TYPE_NAME_COLUMN=ResultColumn("TYPE_NAME",None,SqlType.VARCHAR) |
46 | 51 | SELF_REFERENCING_COL_NAME_COLUMN=ResultColumn( |
47 | | -"SELF_REFERENCING_COL_NAME",None,"string" |
| 52 | +"SELF_REFERENCING_COL_NAME",None,SqlType.VARCHAR |
48 | 53 | ) |
49 | | -REF_GENERATION_COLUMN=ResultColumn("REF_GENERATION",None,"string") |
| 54 | +REF_GENERATION_COLUMN=ResultColumn("REF_GENERATION",None,SqlType.VARCHAR) |
50 | 55 |
|
51 | | -SCOPE_CATALOG_COLUMN=ResultColumn("SCOPE_CATALOG",None,"string") |
52 | | -SCOPE_SCHEMA_COLUMN=ResultColumn("SCOPE_SCHEMA",None,"string") |
53 | | -SCOPE_TABLE_COLUMN=ResultColumn("SCOPE_TABLE",None,"string") |
54 | | -SOURCE_DATA_TYPE_COLUMN=ResultColumn("SOURCE_DATA_TYPE",None,"smallint") |
| 56 | +SCOPE_CATALOG_COLUMN=ResultColumn("SCOPE_CATALOG",None,SqlType.VARCHAR) |
| 57 | +SCOPE_SCHEMA_COLUMN=ResultColumn("SCOPE_SCHEMA",None,SqlType.VARCHAR) |
| 58 | +SCOPE_TABLE_COLUMN=ResultColumn("SCOPE_TABLE",None,SqlType.VARCHAR) |
| 59 | +SOURCE_DATA_TYPE_COLUMN=ResultColumn("SOURCE_DATA_TYPE",None,SqlType.INT) |
55 | 60 |
|
56 | 61 | IS_AUTO_INCREMENT_COLUMN=ResultColumn( |
57 | | -"IS_AUTOINCREMENT","isAutoIncrement","string" |
| 62 | +"IS_AUTOINCREMENT","isAutoIncrement",SqlType.VARCHAR |
| 63 | + ) |
| 64 | +IS_GENERATED_COLUMN=ResultColumn( |
| 65 | +"IS_GENERATEDCOLUMN","isGenerated",SqlType.VARCHAR |
58 | 66 | ) |
59 | | -IS_GENERATED_COLUMN=ResultColumn("IS_GENERATEDCOLUMN","isGenerated","string") |
60 | 67 |
|
61 | | -BUFFER_LENGTH_COLUMN=ResultColumn("BUFFER_LENGTH",None,"int") |
| 68 | +BUFFER_LENGTH_COLUMN=ResultColumn("BUFFER_LENGTH",None,SqlType.INT) |
62 | 69 |
|
63 | 70 | # Column lists for each metadata operation |
64 | 71 | CATALOG_COLUMNS= [CATALOG_COLUMN_FOR_GET_CATALOGS]# Use specific catalog column |
65 | 72 |
|
66 | 73 | SCHEMA_COLUMNS= [ |
67 | 74 | SCHEMA_COLUMN_FOR_GET_SCHEMA, |
68 | | -ResultColumn("TABLE_CATALOG",None,"string"), |
| 75 | +ResultColumn("TABLE_CATALOG","catalogName",SqlType.VARCHAR), |
69 | 76 | ] |
70 | 77 |
|
71 | 78 | TABLE_COLUMNS= [ |
|