sqlglotc 30.6.0__tar.gz → 30.7.0__tar.gz

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.
Files changed (113) hide show
  1. {sqlglotc-30.6.0/sqlglotc.egg-info → sqlglotc-30.7.0}/PKG-INFO +3 -3
  2. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/pyproject.toml +9 -3
  3. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/setup.py +5 -1
  4. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/array.py +5 -1
  5. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/core.py +294 -294
  6. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/datatypes.py +40 -21
  7. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/ddl.py +8 -0
  8. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/json.py +1 -0
  9. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/query.py +59 -1
  10. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generator.py +26 -5
  11. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/clickhouse.py +4 -1
  12. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/duckdb.py +94 -10
  13. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/exasol.py +26 -1
  14. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/mysql.py +1 -0
  15. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/oracle.py +2 -0
  16. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/presto.py +1 -0
  17. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/redshift.py +8 -0
  18. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/singlestore.py +1 -1
  19. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/snowflake.py +6 -0
  20. sqlglotc-30.7.0/sqlglot/lineage.py +561 -0
  21. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/optimizer/annotate_types.py +72 -7
  22. sqlglotc-30.7.0/sqlglot/optimizer/canonicalize_internal_names.py +302 -0
  23. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/optimizer/qualify_columns.py +9 -44
  24. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/optimizer/qualify_tables.py +6 -3
  25. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/optimizer/resolver.py +49 -29
  26. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/optimizer/scope.py +3 -1
  27. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parser.py +70 -36
  28. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/duckdb.py +2 -0
  29. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/exasol.py +6 -0
  30. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/hive.py +11 -0
  31. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/mysql.py +41 -3
  32. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/oracle.py +1 -0
  33. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/prql.py +2 -2
  34. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/redshift.py +9 -1
  35. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/snowflake.py +6 -2
  36. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/spark2.py +1 -1
  37. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/schema.py +1 -1
  38. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/tokenizer_core.py +8 -8
  39. {sqlglotc-30.6.0 → sqlglotc-30.7.0/sqlglotc.egg-info}/PKG-INFO +3 -3
  40. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglotc.egg-info/SOURCES.txt +2 -0
  41. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglotc.egg-info/requires.txt +1 -1
  42. sqlglotc-30.7.0/sqlglotc.egg-info/top_level.txt +1 -0
  43. sqlglotc-30.6.0/sqlglotc.egg-info/top_level.txt +0 -2
  44. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/MANIFEST.in +0 -0
  45. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/setup.cfg +0 -0
  46. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/errors.py +0 -0
  47. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/executor/table.py +0 -0
  48. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/aggregate.py +0 -0
  49. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/builders.py +0 -0
  50. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/constraints.py +0 -0
  51. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/dml.py +0 -0
  52. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/functions.py +0 -0
  53. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/math.py +0 -0
  54. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/properties.py +0 -0
  55. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/string.py +0 -0
  56. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/expressions/temporal.py +0 -0
  57. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/athena.py +0 -0
  58. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/bigquery.py +0 -0
  59. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/databricks.py +0 -0
  60. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/doris.py +0 -0
  61. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/dremio.py +0 -0
  62. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/drill.py +0 -0
  63. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/druid.py +0 -0
  64. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/dune.py +0 -0
  65. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/fabric.py +0 -0
  66. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/hive.py +0 -0
  67. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/materialize.py +0 -0
  68. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/postgres.py +0 -0
  69. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/prql.py +0 -0
  70. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/python.py +0 -0
  71. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/risingwave.py +0 -0
  72. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/solr.py +0 -0
  73. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/spark.py +0 -0
  74. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/spark2.py +0 -0
  75. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/sqlite.py +0 -0
  76. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/starrocks.py +0 -0
  77. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/tableau.py +0 -0
  78. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/teradata.py +0 -0
  79. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/trino.py +0 -0
  80. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/generators/tsql.py +0 -0
  81. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/helper.py +0 -0
  82. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/optimizer/isolate_table_selects.py +0 -0
  83. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/optimizer/normalize_identifiers.py +0 -0
  84. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/optimizer/qualify.py +0 -0
  85. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/optimizer/simplify.py +0 -0
  86. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/athena.py +0 -0
  87. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/base.py +0 -0
  88. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/bigquery.py +0 -0
  89. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/clickhouse.py +0 -0
  90. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/databricks.py +0 -0
  91. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/doris.py +0 -0
  92. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/dremio.py +0 -0
  93. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/drill.py +0 -0
  94. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/druid.py +0 -0
  95. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/dune.py +0 -0
  96. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/fabric.py +0 -0
  97. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/materialize.py +0 -0
  98. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/postgres.py +0 -0
  99. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/presto.py +0 -0
  100. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/risingwave.py +0 -0
  101. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/singlestore.py +0 -0
  102. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/solr.py +0 -0
  103. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/spark.py +0 -0
  104. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/sqlite.py +0 -0
  105. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/starrocks.py +0 -0
  106. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/tableau.py +0 -0
  107. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/teradata.py +0 -0
  108. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/trino.py +0 -0
  109. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/parsers/tsql.py +0 -0
  110. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/serde.py +0 -0
  111. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/time.py +0 -0
  112. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglot/trie.py +0 -0
  113. {sqlglotc-30.6.0 → sqlglotc-30.7.0}/sqlglotc.egg-info/dependency_links.txt +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlglotc
3
- Version: 30.6.0
3
+ Version: 30.7.0
4
4
  Summary: mypyc-compiled extensions for sqlglot
5
5
  Author-email: Toby Mao <toby.mao@gmail.com>
6
6
  License-Expression: MIT
7
7
  Project-URL: Homepage, https://sqlglot.com/
8
8
  Project-URL: Repository, https://github.com/tobymao/sqlglot
9
- Requires-Python: >=3.9
9
+ Requires-Python: >=3.10
10
10
  Provides-Extra: dev
11
11
  Requires-Dist: setuptools>=61.0; extra == "dev"
12
12
  Requires-Dist: setuptools_scm; extra == "dev"
13
- Requires-Dist: sqlglot-mypy; extra == "dev"
13
+ Requires-Dist: sqlglot-mypy>=1.20.0.post6; extra == "dev"
@@ -4,17 +4,23 @@ dynamic = ["version"]
4
4
  description = "mypyc-compiled extensions for sqlglot"
5
5
  authors = [{ name = "Toby Mao", email = "toby.mao@gmail.com" }]
6
6
  license = "MIT"
7
- requires-python = ">= 3.9"
7
+ requires-python = ">= 3.10"
8
8
 
9
9
  [project.optional-dependencies]
10
- dev = ["setuptools >= 61.0", "setuptools_scm", "sqlglot-mypy"]
10
+ dev = ["setuptools >= 61.0", "setuptools_scm", "sqlglot-mypy >= 1.20.0.post6"]
11
11
 
12
12
  [project.urls]
13
13
  Homepage = "https://sqlglot.com/"
14
14
  Repository = "https://github.com/tobymao/sqlglot"
15
15
 
16
16
  [build-system]
17
- requires = ["setuptools >= 61.0", "setuptools_scm", "sqlglot-mypy", "types-python-dateutil", "sqlglot"]
17
+ requires = [
18
+ "setuptools >= 61.0",
19
+ "setuptools_scm",
20
+ "sqlglot-mypy >= 1.20.0.post6",
21
+ "types-python-dateutil",
22
+ "sqlglot",
23
+ ]
18
24
  build-backend = "setuptools.build_meta"
19
25
 
20
26
  [tool.setuptools]
@@ -46,6 +46,7 @@ def _source_files(src_dir):
46
46
  "errors.py",
47
47
  "generator.py",
48
48
  "helper.py",
49
+ "lineage.py",
49
50
  "parser.py",
50
51
  "schema.py",
51
52
  "serde.py",
@@ -67,6 +68,7 @@ def _source_files(src_dir):
67
68
  "qualify_columns.py",
68
69
  "simplify.py",
69
70
  "annotate_types.py",
71
+ "canonicalize_internal_names.py",
70
72
  ],
71
73
  ),
72
74
  *_subpkg_files(src_dir, "parsers"),
@@ -129,6 +131,8 @@ class sdist(_sdist):
129
131
  setup(
130
132
  name="sqlglotc",
131
133
  packages=[],
132
- ext_modules=mypycify(_source_paths(), opt_level=os.environ.get("MYPYC_OPT", "2")),
134
+ ext_modules=mypycify(
135
+ _source_paths(), opt_level=os.environ.get("MYPYC_OPT", "2"), separate=True, verbose=True
136
+ ),
133
137
  cmdclass={"build_ext": build_ext, "sdist": sdist},
134
138
  )
@@ -189,7 +189,11 @@ class Flatten(Expression, Func):
189
189
 
190
190
  class StringToArray(Expression, Func):
191
191
  arg_types = {"this": True, "expression": False, "null": False}
192
- _sql_names = ["STRING_TO_ARRAY", "SPLIT_BY_STRING", "STRTOK_TO_ARRAY"]
192
+ _sql_names = ["STRING_TO_ARRAY", "SPLIT_BY_STRING"]
193
+
194
+
195
+ class StrtokToArray(Expression, Func):
196
+ arg_types = {"this": True, "expression": False}
193
197
 
194
198
 
195
199
  # Higher-order / lambda