sql-glider 0.1.16__py3-none-any.whl → 0.1.18__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sql_glider-0.1.16.dist-info → sql_glider-0.1.18.dist-info}/METADATA +1 -1
- {sql_glider-0.1.16.dist-info → sql_glider-0.1.18.dist-info}/RECORD +9 -9
- sqlglider/_version.py +2 -2
- sqlglider/lineage/analyzer.py +5 -4
- sqlglider/schema/extractor.py +13 -2
- sqlglider/utils/schema.py +2 -2
- {sql_glider-0.1.16.dist-info → sql_glider-0.1.18.dist-info}/WHEEL +0 -0
- {sql_glider-0.1.16.dist-info → sql_glider-0.1.18.dist-info}/entry_points.txt +0 -0
- {sql_glider-0.1.16.dist-info → sql_glider-0.1.18.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sql-glider
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.18
|
|
4
4
|
Summary: SQL Utility Toolkit for better understanding, use, and governance of your queries in a native environment.
|
|
5
5
|
Project-URL: Homepage, https://github.com/rycowhi/sql-glider/
|
|
6
6
|
Project-URL: Repository, https://github.com/rycowhi/sql-glider/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
sqlglider/__init__.py,sha256=gDf7s52dMcX7JuCZ1SLawcB1vb3U0yJCohu9RQAATBY,125
|
|
2
|
-
sqlglider/_version.py,sha256=
|
|
2
|
+
sqlglider/_version.py,sha256=Nx3lULyklTDQB2p2ofjQ59zAxYunJHGjMIsvHePGZsI,706
|
|
3
3
|
sqlglider/cli.py,sha256=9zNMaw3rgcqb6uG05VJTYbLUXmZzdX87gAOJ4Zg3xjY,65319
|
|
4
4
|
sqlglider/global_models.py,sha256=2vyJXAuXOsXQpE-D3F0ejj7eR9z0nDWFjTkielhzM8k,356
|
|
5
5
|
sqlglider/catalog/__init__.py,sha256=2PqFPyzFXJ14FpSUcBmVK2L-a_ypWQHAbHFHxLDk_LE,814
|
|
@@ -18,10 +18,10 @@ sqlglider/graph/models.py,sha256=EYmjv_WzDSNp_WfhJ6H-qBIOkAcoNKS7GRUryfKrHuY,933
|
|
|
18
18
|
sqlglider/graph/query.py,sha256=LHU8Cvn7ZPPSEnqdDn2pF8f1_LQjIvNIrZqs8cFlb6U,9433
|
|
19
19
|
sqlglider/graph/serialization.py,sha256=vMXn7s35jA499e7l90vNVaJE_3QR_VHf3rEfQ9ZlgTQ,2781
|
|
20
20
|
sqlglider/lineage/__init__.py,sha256=llXMeI5_PIZaiBo8tKk3-wOubF4m_6QBHbn1FtWxT7k,256
|
|
21
|
-
sqlglider/lineage/analyzer.py,sha256=
|
|
21
|
+
sqlglider/lineage/analyzer.py,sha256=46VjvTpC4v50dwDT_SDZWtnb3b0VdbxEOlZJZL1-cBg,78169
|
|
22
22
|
sqlglider/lineage/formatters.py,sha256=_Y9wcTX4JXn1vVnZ1xI656g1FF2rMjcAVc-GHjbd9QA,10389
|
|
23
23
|
sqlglider/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
-
sqlglider/schema/extractor.py,sha256=
|
|
24
|
+
sqlglider/schema/extractor.py,sha256=P7sVCmBACQ55D8wHS7munbTg0dvJ3-NnUzXf9ZgCAOA,7574
|
|
25
25
|
sqlglider/templating/__init__.py,sha256=g3_wb6rSDI0usq2UUMDpn-J5kVwlAw3NtLdwbxL6UHs,1435
|
|
26
26
|
sqlglider/templating/base.py,sha256=y5bWAW7qXl_4pPyo5KycfHwNVvt1-7slZ63DAsvTE1s,2902
|
|
27
27
|
sqlglider/templating/jinja.py,sha256=o01UG72N4G1-tOT5LKK1Wkccv4nJH2VN4VFaMi5c1-g,5220
|
|
@@ -30,9 +30,9 @@ sqlglider/templating/variables.py,sha256=5593PtLBcOxsnMCSRm2pGAD5I0Y9f__VV3_J_Hf
|
|
|
30
30
|
sqlglider/utils/__init__.py,sha256=KGp9-UzKz_OFBOTFoSy-g-NXDZsvyWXG_9-1zcC6ePE,276
|
|
31
31
|
sqlglider/utils/config.py,sha256=qx5zE9pjLCCzHQDFVPLVd7LgJ-lghxUa2x-aZOAHByY,4962
|
|
32
32
|
sqlglider/utils/file_utils.py,sha256=5_ff28E0r1R7emZzsOnRuHd-7zIX6873eyr1SuPEr4E,1093
|
|
33
|
-
sqlglider/utils/schema.py,sha256
|
|
34
|
-
sql_glider-0.1.
|
|
35
|
-
sql_glider-0.1.
|
|
36
|
-
sql_glider-0.1.
|
|
37
|
-
sql_glider-0.1.
|
|
38
|
-
sql_glider-0.1.
|
|
33
|
+
sqlglider/utils/schema.py,sha256=LiWrYDunXKJdoSlpKmIaIQ2hLSaIN1iQHqkXjMpGzRE,1883
|
|
34
|
+
sql_glider-0.1.18.dist-info/METADATA,sha256=lPAHSo1k6J-j2wgGSJ3dAHtZBUouCRiW2L_sxuM1ewo,28446
|
|
35
|
+
sql_glider-0.1.18.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
36
|
+
sql_glider-0.1.18.dist-info/entry_points.txt,sha256=HDuakHqHS5C0HFKsMIxMYmDU7-BLBGrnIJcYaVRu-s0,251
|
|
37
|
+
sql_glider-0.1.18.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
38
|
+
sql_glider-0.1.18.dist-info/RECORD,,
|
sqlglider/_version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.1.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 1,
|
|
31
|
+
__version__ = version = '0.1.18'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 1, 18)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
sqlglider/lineage/analyzer.py
CHANGED
|
@@ -1177,7 +1177,7 @@ class LineageAnalyzer:
|
|
|
1177
1177
|
if table.db:
|
|
1178
1178
|
parts.append(table.db)
|
|
1179
1179
|
parts.append(table.name)
|
|
1180
|
-
return ".".join(parts)
|
|
1180
|
+
return ".".join(parts).lower()
|
|
1181
1181
|
|
|
1182
1182
|
def _resolve_table_reference(self, ref: str, select_node: exp.Select) -> str:
|
|
1183
1183
|
"""
|
|
@@ -1522,7 +1522,7 @@ class LineageAnalyzer:
|
|
|
1522
1522
|
|
|
1523
1523
|
if columns:
|
|
1524
1524
|
# Store with UNKNOWN type - SQLGlot only needs column names for expansion
|
|
1525
|
-
self._file_schema[target_name] = {col: "UNKNOWN" for col in columns}
|
|
1525
|
+
self._file_schema[target_name] = {col.lower(): "UNKNOWN" for col in columns}
|
|
1526
1526
|
|
|
1527
1527
|
def _extract_schema_from_dql(self, expr: exp.Expression) -> None:
|
|
1528
1528
|
"""Infer table schemas from column references in DQL.
|
|
@@ -1634,8 +1634,9 @@ class LineageAnalyzer:
|
|
|
1634
1634
|
|
|
1635
1635
|
if actual_table not in self._file_schema:
|
|
1636
1636
|
self._file_schema[actual_table] = {}
|
|
1637
|
-
|
|
1638
|
-
|
|
1637
|
+
col_lower = col_name.lower()
|
|
1638
|
+
if col_lower not in self._file_schema[actual_table]:
|
|
1639
|
+
self._file_schema[actual_table][col_lower] = "UNKNOWN"
|
|
1639
1640
|
|
|
1640
1641
|
def _extract_columns_from_select(
|
|
1641
1642
|
self, select_node: Union[exp.Select, exp.Union, exp.Intersect, exp.Except]
|
sqlglider/schema/extractor.py
CHANGED
|
@@ -41,7 +41,14 @@ def extract_schemas_from_files(
|
|
|
41
41
|
if console is None:
|
|
42
42
|
console = Console(stderr=True)
|
|
43
43
|
|
|
44
|
-
schema: SchemaDict =
|
|
44
|
+
schema: SchemaDict = (
|
|
45
|
+
{
|
|
46
|
+
k.lower(): {c.lower(): v for c, v in cols.items()}
|
|
47
|
+
for k, cols in initial_schema.items()
|
|
48
|
+
}
|
|
49
|
+
if initial_schema
|
|
50
|
+
else {}
|
|
51
|
+
)
|
|
45
52
|
total = len(file_paths)
|
|
46
53
|
|
|
47
54
|
with Progress(
|
|
@@ -65,7 +72,11 @@ def extract_schemas_from_files(
|
|
|
65
72
|
strict_schema=strict_schema,
|
|
66
73
|
)
|
|
67
74
|
file_schema = analyzer.extract_schema_only()
|
|
68
|
-
|
|
75
|
+
for table_name, columns in file_schema.items():
|
|
76
|
+
if table_name in schema:
|
|
77
|
+
schema[table_name].update(columns)
|
|
78
|
+
else:
|
|
79
|
+
schema[table_name] = columns
|
|
69
80
|
except SchemaResolutionError:
|
|
70
81
|
raise
|
|
71
82
|
except Exception:
|
sqlglider/utils/schema.py
CHANGED
|
@@ -46,7 +46,7 @@ def parse_ddl_to_schema(ddl: str, dialect: str = "spark") -> Dict[str, Dict[str,
|
|
|
46
46
|
table_name = _get_qualified_name(target)
|
|
47
47
|
|
|
48
48
|
if columns:
|
|
49
|
-
schema[table_name] = {col: "UNKNOWN" for col in columns}
|
|
49
|
+
schema[table_name] = {col.lower(): "UNKNOWN" for col in columns}
|
|
50
50
|
|
|
51
51
|
return schema
|
|
52
52
|
|
|
@@ -59,4 +59,4 @@ def _get_qualified_name(table: exp.Table) -> str:
|
|
|
59
59
|
if table.db:
|
|
60
60
|
parts.append(table.db)
|
|
61
61
|
parts.append(table.name)
|
|
62
|
-
return ".".join(parts)
|
|
62
|
+
return ".".join(parts).lower()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|