Skip to content

Commit 1d88cd5

Browse files
committed
Update db
1 parent 01ce75a commit 1d88cd5

File tree

1 file changed

+21
-27
lines changed

1 file changed

+21
-27
lines changed

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

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,7 @@ def extract_table_entities_sql_query(self) -> str:
2929
t.TABLE_SCHEMA AS EntitySchema,
3030
t.COMMENT AS Definition
3131
FROM
32-
INFORMATION_SCHEMA.TABLES t
33-
WHERE
34-
t.TABLE_CATALOG = '{self.catalog}'
32+
{self.catalog}.INFORMATION_SCHEMA.TABLES t'
3533
"""
3634

3735
@property
@@ -42,60 +40,56 @@ def extract_view_entities_sql_query(self) -> str:
4240
v.TABLE_SCHEMA AS EntitySchema,
4341
NULL AS Definition
4442
FROM
45-
INFORMATION_SCHEMA.VIEWS v
46-
WHERE
47-
v.TABLE_CATALOG = '{self.catalog}'"""
43+
{self.catalog}.INFORMATION_SCHEMA.VIEWS v
44+
"""
4845

4946
def extract_columns_sql_query(self, entity: EntityItem) -> str:
5047
"""A property to extract column information from Databricks Unity Catalog."""
5148
return f"""SELECT
5249
COLUMN_NAME AS Name,
53-
DATA_TYPE AS DataType,
50+
DATA_TYPE AS Type,
5451
COMMENT AS Definition
5552
FROM
56-
INFORMATION_SCHEMA.COLUMNS
53+
{self.catalog}.INFORMATION_SCHEMA.COLUMNS
5754
WHERE
58-
TABLE_CATALOG = '{self.catalog}'
59-
AND TABLE_SCHEMA = '{entity.entity_schema}'
55+
TABLE_SCHEMA = '{entity.entity_schema}'
6056
AND TABLE_NAME = '{entity.name}';"""
6157

6258
@property
6359
def extract_entity_relationships_sql_query(self) -> str:
6460
"""A property to extract entity relationships from Databricks Unity Catalog."""
6561
return f"""SELECT
66-
fk_schema.TABLE_SCHEMA AS EntitySchema,
62+
fk_schema.schema_name AS EntitySchema,
6763
fk_tab.TABLE_NAME AS Entity,
68-
pk_schema.TABLE_SCHEMA AS ForeignEntitySchema,
64+
pk_schema.schema_name AS ForeignEntitySchema,
6965
pk_tab.TABLE_NAME AS ForeignEntity,
70-
fk_col.COLUMN_NAME AS [Column],
66+
fk_col.COLUMN_NAME AS Column,
7167
pk_col.COLUMN_NAME AS ForeignColumn
7268
FROM
73-
INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS fk
69+
{self.catalog}.INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS fk
7470
INNER JOIN
75-
INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS fkc
71+
{self.catalog}.INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS fkc
7672
ON fk.constraint_name = fkc.constraint_name
7773
INNER JOIN
78-
INFORMATION_SCHEMA.TABLES AS fk_tab
74+
{self.catalog}.INFORMATION_SCHEMA.TABLES AS fk_tab
7975
ON fk_tab.TABLE_NAME = fkc.TABLE_NAME AND fk_tab.TABLE_SCHEMA = fkc.TABLE_SCHEMA
8076
INNER JOIN
81-
INFORMATION_SCHEMA.SCHEMATA AS fk_schema
82-
ON fk_tab.TABLE_SCHEMA = fk_schema.TABLE_SCHEMA
77+
{self.catalog}.INFORMATION_SCHEMA.SCHEMATA AS fk_schema
78+
ON fk_tab.TABLE_SCHEMA = fk_schema.schema_name
8379
INNER JOIN
84-
INFORMATION_SCHEMA.TABLES AS pk_tab
85-
ON pk_tab.TABLE_NAME = fkc.referenced_TABLE_NAME AND pk_tab.TABLE_SCHEMA = fkc.referenced_TABLE_SCHEMA
80+
{self.catalog}.INFORMATION_SCHEMA.TABLES AS pk_tab
81+
ON pk_tab.TABLE_NAME = fkc.table_name AND pk_tab.TABLE_SCHEMA = fkc.table_schema
8682
INNER JOIN
87-
INFORMATION_SCHEMA.SCHEMATA AS pk_schema
88-
ON pk_tab.TABLE_SCHEMA = pk_schema.TABLE_SCHEMA
83+
{self.catalog}.INFORMATION_SCHEMA.SCHEMATA AS pk_schema
84+
ON pk_tab.TABLE_SCHEMA = pk_schema.schema_name
8985
INNER JOIN
90-
INFORMATION_SCHEMA.COLUMNS AS fk_col
86+
{self.catalog}.INFORMATION_SCHEMA.COLUMNS AS fk_col
9187
ON fkc.COLUMN_NAME = fk_col.COLUMN_NAME AND fkc.TABLE_NAME = fk_col.TABLE_NAME AND fkc.TABLE_SCHEMA = fk_col.TABLE_SCHEMA
9288
INNER JOIN
93-
INFORMATION_SCHEMA.COLUMNS AS pk_col
94-
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
89+
{self.catalog}.INFORMATION_SCHEMA.COLUMNS AS pk_col
90+
ON fkc.column_name = pk_col.COLUMN_NAME AND fkc.table_name = pk_col.TABLE_NAME AND fkc.table_schema = pk_col.TABLE_SCHEMA
9591
WHERE
9692
fk.constraint_type = 'FOREIGN KEY'
97-
AND fk_tab.TABLE_CATALOG = '{self.catalog}'
98-
AND pk_tab.TABLE_CATALOG = '{self.catalog}'
9993
ORDER BY
10094
EntitySchema, Entity, ForeignEntitySchema, ForeignEntity;
10195
"""

0 commit comments

Comments
 (0)