Skip to content

Commit d66b628

Browse files
Update databricks data dictionary (#72)
1 parent 2048a39 commit d66b628

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

text_2_sql/text_2_sql_core/src/text_2_sql_core/data_dictionary/databricks_data_dictionary_creator.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def __init__(
2424
if excluded_entities is None:
2525
excluded_entities = []
2626

27-
excluded_schemas = []
27+
excluded_schemas = ["information_schema"]
2828
super().__init__(entities, excluded_entities, excluded_schemas, single_file)
2929

3030
self.catalog = os.environ["Text2Sql__Databricks__Catalog"]
@@ -40,7 +40,7 @@ def extract_table_entities_sql_query(self) -> str:
4040
t.TABLE_SCHEMA AS EntitySchema,
4141
t.COMMENT AS Definition
4242
FROM
43-
INFORMATION_SCHEMA.TABLES t
43+
{self.catalog}.INFORMATION_SCHEMA.TABLES t
4444
WHERE
4545
t.TABLE_CATALOG = '{self.catalog}'
4646
"""
@@ -53,7 +53,7 @@ def extract_view_entities_sql_query(self) -> str:
5353
v.TABLE_SCHEMA AS EntitySchema
5454
NULL AS Definition
5555
FROM
56-
INFORMATION_SCHEMA.VIEWS v
56+
{self.catalog}.INFORMATION_SCHEMA.VIEWS v
5757
WHERE
5858
v.TABLE_CATALOG = '{self.catalog}'"""
5959

@@ -64,7 +64,7 @@ def extract_columns_sql_query(self, entity: EntityItem) -> str:
6464
DATA_TYPE AS Type,
6565
COMMENT AS Definition
6666
FROM
67-
INFORMATION_SCHEMA.COLUMNS
67+
{self.catalog}.INFORMATION_SCHEMA.COLUMNS
6868
WHERE
6969
TABLE_CATALOG = '{self.catalog}'
7070
AND TABLE_SCHEMA = '{entity.entity_schema}'
@@ -74,35 +74,35 @@ def extract_columns_sql_query(self, entity: EntityItem) -> str:
7474
def extract_entity_relationships_sql_query(self) -> str:
7575
"""A property to extract entity relationships from Databricks Unity Catalog."""
7676
return f"""SELECT
77-
fk_schema.TABLE_SCHEMA AS EntitySchema,
77+
fk_schema.schema_name AS EntitySchema,
7878
fk_tab.TABLE_NAME AS Entity,
79-
pk_schema.TABLE_SCHEMA AS ForeignEntitySchema,
79+
pk_schema.schema_name AS ForeignEntitySchema,
8080
pk_tab.TABLE_NAME AS ForeignEntity,
81-
fk_col.COLUMN_NAME AS [Column],
81+
fk_col.COLUMN_NAME AS Column,
8282
pk_col.COLUMN_NAME AS ForeignColumn
8383
FROM
84-
INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS fk
84+
{self.catalog}.INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS fk
8585
INNER JOIN
86-
INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS fkc
86+
{self.catalog}.INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS fkc
8787
ON fk.constraint_name = fkc.constraint_name
8888
INNER JOIN
89-
INFORMATION_SCHEMA.TABLES AS fk_tab
89+
{self.catalog}.INFORMATION_SCHEMA.TABLES AS fk_tab
9090
ON fk_tab.TABLE_NAME = fkc.TABLE_NAME AND fk_tab.TABLE_SCHEMA = fkc.TABLE_SCHEMA
9191
INNER JOIN
92-
INFORMATION_SCHEMA.SCHEMATA AS fk_schema
93-
ON fk_tab.TABLE_SCHEMA = fk_schema.TABLE_SCHEMA
92+
{self.catalog}.INFORMATION_SCHEMA.SCHEMATA AS fk_schema
93+
ON fk_tab.TABLE_SCHEMA = fk_schema.schema_name
9494
INNER JOIN
95-
INFORMATION_SCHEMA.TABLES AS pk_tab
96-
ON pk_tab.TABLE_NAME = fkc.referenced_TABLE_NAME AND pk_tab.TABLE_SCHEMA = fkc.referenced_TABLE_SCHEMA
95+
{self.catalog}.INFORMATION_SCHEMA.TABLES AS pk_tab
96+
ON pk_tab.TABLE_NAME = fkc.table_name AND pk_tab.TABLE_SCHEMA = fkc.table_schema
9797
INNER JOIN
98-
INFORMATION_SCHEMA.SCHEMATA AS pk_schema
99-
ON pk_tab.TABLE_SCHEMA = pk_schema.TABLE_SCHEMA
98+
{self.catalog}.INFORMATION_SCHEMA.SCHEMATA AS pk_schema
99+
ON pk_tab.TABLE_SCHEMA = pk_schema.schema_name
100100
INNER JOIN
101-
INFORMATION_SCHEMA.COLUMNS AS fk_col
101+
{self.catalog}.INFORMATION_SCHEMA.COLUMNS AS fk_col
102102
ON fkc.COLUMN_NAME = fk_col.COLUMN_NAME AND fkc.TABLE_NAME = fk_col.TABLE_NAME AND fkc.TABLE_SCHEMA = fk_col.TABLE_SCHEMA
103103
INNER JOIN
104-
INFORMATION_SCHEMA.COLUMNS AS pk_col
105-
ON fkc.referenced_COLUMN_NAME = pk_col.COLUMN_NAME AND fkc.referenced_TABLE_NAME = pk_col.TABLE_NAME AND fkc.referenced_TABLE_SCHEMA = pk_col.TABLE_SCHEMA
104+
{self.catalog}.INFORMATION_SCHEMA.COLUMNS AS pk_col
105+
ON fkc.column_name = pk_col.COLUMN_NAME AND fkc.table_name = pk_col.TABLE_NAME AND fkc.table_schema = pk_col.TABLE_SCHEMA
106106
WHERE
107107
fk.constraint_type = 'FOREIGN KEY'
108108
AND fk_tab.TABLE_CATALOG = '{self.catalog}'

0 commit comments

Comments
 (0)