sqlglot 26.27.1__tar.gz → 26.28.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 (216) hide show
  1. {sqlglot-26.27.1 → sqlglot-26.28.0}/CHANGELOG.md +42 -0
  2. {sqlglot-26.27.1 → sqlglot-26.28.0}/PKG-INFO +1 -1
  3. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/_version.py +2 -2
  4. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/snowflake.py +0 -1
  5. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/expressions.py +3 -3
  6. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot.egg-info/PKG-INFO +1 -1
  7. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_snowflake.py +0 -2
  8. {sqlglot-26.27.1 → sqlglot-26.28.0}/.gitignore +0 -0
  9. {sqlglot-26.27.1 → sqlglot-26.28.0}/.gitpod.yml +0 -0
  10. {sqlglot-26.27.1 → sqlglot-26.28.0}/.pre-commit-config.yaml +0 -0
  11. {sqlglot-26.27.1 → sqlglot-26.28.0}/CONTRIBUTING.md +0 -0
  12. {sqlglot-26.27.1 → sqlglot-26.28.0}/LICENSE +0 -0
  13. {sqlglot-26.27.1 → sqlglot-26.28.0}/MANIFEST.in +0 -0
  14. {sqlglot-26.27.1 → sqlglot-26.28.0}/Makefile +0 -0
  15. {sqlglot-26.27.1 → sqlglot-26.28.0}/README.md +0 -0
  16. {sqlglot-26.27.1 → sqlglot-26.28.0}/pyproject.toml +0 -0
  17. {sqlglot-26.27.1 → sqlglot-26.28.0}/setup.cfg +0 -0
  18. {sqlglot-26.27.1 → sqlglot-26.28.0}/setup.py +0 -0
  19. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/__init__.py +0 -0
  20. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/__main__.py +0 -0
  21. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/_typing.py +0 -0
  22. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/__init__.py +0 -0
  23. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/athena.py +0 -0
  24. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/bigquery.py +0 -0
  25. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/clickhouse.py +0 -0
  26. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/databricks.py +0 -0
  27. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/dialect.py +0 -0
  28. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/doris.py +0 -0
  29. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/drill.py +0 -0
  30. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/druid.py +0 -0
  31. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/duckdb.py +0 -0
  32. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/dune.py +0 -0
  33. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/hive.py +0 -0
  34. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/materialize.py +0 -0
  35. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/mysql.py +0 -0
  36. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/oracle.py +0 -0
  37. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/postgres.py +0 -0
  38. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/presto.py +0 -0
  39. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/prql.py +0 -0
  40. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/redshift.py +0 -0
  41. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/risingwave.py +0 -0
  42. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/spark.py +0 -0
  43. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/spark2.py +0 -0
  44. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/sqlite.py +0 -0
  45. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/starrocks.py +0 -0
  46. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/tableau.py +0 -0
  47. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/teradata.py +0 -0
  48. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/trino.py +0 -0
  49. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/dialects/tsql.py +0 -0
  50. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/diff.py +0 -0
  51. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/errors.py +0 -0
  52. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/executor/__init__.py +0 -0
  53. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/executor/context.py +0 -0
  54. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/executor/env.py +0 -0
  55. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/executor/python.py +0 -0
  56. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/executor/table.py +0 -0
  57. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/generator.py +0 -0
  58. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/helper.py +0 -0
  59. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/jsonpath.py +0 -0
  60. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/lineage.py +0 -0
  61. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/__init__.py +0 -0
  62. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/annotate_types.py +0 -0
  63. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/canonicalize.py +0 -0
  64. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/eliminate_ctes.py +0 -0
  65. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/eliminate_joins.py +0 -0
  66. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/eliminate_subqueries.py +0 -0
  67. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/isolate_table_selects.py +0 -0
  68. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/merge_subqueries.py +0 -0
  69. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/normalize.py +0 -0
  70. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/normalize_identifiers.py +0 -0
  71. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/optimize_joins.py +0 -0
  72. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/optimizer.py +0 -0
  73. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/pushdown_predicates.py +0 -0
  74. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/pushdown_projections.py +0 -0
  75. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/qualify.py +0 -0
  76. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/qualify_columns.py +0 -0
  77. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/qualify_tables.py +0 -0
  78. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/scope.py +0 -0
  79. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/simplify.py +0 -0
  80. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/optimizer/unnest_subqueries.py +0 -0
  81. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/parser.py +0 -0
  82. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/planner.py +0 -0
  83. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/py.typed +0 -0
  84. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/schema.py +0 -0
  85. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/serde.py +0 -0
  86. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/time.py +0 -0
  87. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/tokens.py +0 -0
  88. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/transforms.py +0 -0
  89. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot/trie.py +0 -0
  90. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot.egg-info/SOURCES.txt +0 -0
  91. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot.egg-info/dependency_links.txt +0 -0
  92. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot.egg-info/requires.txt +0 -0
  93. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot.egg-info/top_level.txt +0 -0
  94. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglot.png +0 -0
  95. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglotrs/Cargo.lock +0 -0
  96. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglotrs/Cargo.toml +0 -0
  97. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglotrs/benches/dialect_settings.json +0 -0
  98. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglotrs/benches/long.rs +0 -0
  99. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglotrs/benches/token_type_settings.json +0 -0
  100. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglotrs/benches/tokenizer_dialect_settings.json +0 -0
  101. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglotrs/benches/tokenizer_settings.json +0 -0
  102. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglotrs/pyproject.toml +0 -0
  103. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglotrs/src/lib.rs +0 -0
  104. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglotrs/src/settings.rs +0 -0
  105. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglotrs/src/token.rs +0 -0
  106. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglotrs/src/tokenizer.rs +0 -0
  107. {sqlglot-26.27.1 → sqlglot-26.28.0}/sqlglotrs/src/trie.rs +0 -0
  108. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/__init__.py +0 -0
  109. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/__init__.py +0 -0
  110. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_athena.py +0 -0
  111. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_bigquery.py +0 -0
  112. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_clickhouse.py +0 -0
  113. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_databricks.py +0 -0
  114. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_dialect.py +0 -0
  115. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_doris.py +0 -0
  116. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_drill.py +0 -0
  117. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_druid.py +0 -0
  118. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_duckdb.py +0 -0
  119. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_dune.py +0 -0
  120. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_hive.py +0 -0
  121. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_materialize.py +0 -0
  122. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_mysql.py +0 -0
  123. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_oracle.py +0 -0
  124. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_postgres.py +0 -0
  125. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_presto.py +0 -0
  126. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_prql.py +0 -0
  127. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_redshift.py +0 -0
  128. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_risingwave.py +0 -0
  129. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_spark.py +0 -0
  130. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_sqlite.py +0 -0
  131. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_starrocks.py +0 -0
  132. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_tableau.py +0 -0
  133. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_teradata.py +0 -0
  134. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_trino.py +0 -0
  135. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/dialects/test_tsql.py +0 -0
  136. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/identity.sql +0 -0
  137. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/jsonpath/LICENSE +0 -0
  138. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/jsonpath/cts.json +0 -0
  139. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/annotate_functions.sql +0 -0
  140. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/annotate_types.sql +0 -0
  141. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/canonicalize.sql +0 -0
  142. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/eliminate_ctes.sql +0 -0
  143. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/eliminate_joins.sql +0 -0
  144. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/eliminate_subqueries.sql +0 -0
  145. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/isolate_table_selects.sql +0 -0
  146. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/merge_subqueries.sql +0 -0
  147. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/normalize.sql +0 -0
  148. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/normalize_identifiers.sql +0 -0
  149. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/optimize_joins.sql +0 -0
  150. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/optimizer.sql +0 -0
  151. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/pushdown_cte_alias_columns.sql +0 -0
  152. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/pushdown_predicates.sql +0 -0
  153. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/pushdown_projections.sql +0 -0
  154. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/qualify_columns.sql +0 -0
  155. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/qualify_columns__invalid.sql +0 -0
  156. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/qualify_columns__with_invisible.sql +0 -0
  157. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/qualify_columns_ddl.sql +0 -0
  158. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/qualify_tables.sql +0 -0
  159. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/quote_identifiers.sql +0 -0
  160. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/simplify.sql +0 -0
  161. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/call_center.csv.gz +0 -0
  162. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/catalog_page.csv.gz +0 -0
  163. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/catalog_returns.csv.gz +0 -0
  164. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/catalog_sales.csv.gz +0 -0
  165. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/customer.csv.gz +0 -0
  166. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/customer_address.csv.gz +0 -0
  167. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz +0 -0
  168. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/date_dim.csv.gz +0 -0
  169. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/household_demographics.csv.gz +0 -0
  170. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/income_band.csv.gz +0 -0
  171. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/inventory.csv.gz +0 -0
  172. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/item.csv.gz +0 -0
  173. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/promotion.csv.gz +0 -0
  174. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/reason.csv.gz +0 -0
  175. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/ship_mode.csv.gz +0 -0
  176. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/store.csv.gz +0 -0
  177. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/store_returns.csv.gz +0 -0
  178. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/store_sales.csv.gz +0 -0
  179. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/time_dim.csv.gz +0 -0
  180. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/tpc-ds.sql +0 -0
  181. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/warehouse.csv.gz +0 -0
  182. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/web_page.csv.gz +0 -0
  183. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/web_returns.csv.gz +0 -0
  184. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/web_sales.csv.gz +0 -0
  185. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-ds/web_site.csv.gz +0 -0
  186. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-h/customer.csv.gz +0 -0
  187. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-h/lineitem.csv.gz +0 -0
  188. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-h/nation.csv.gz +0 -0
  189. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-h/orders.csv.gz +0 -0
  190. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-h/part.csv.gz +0 -0
  191. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-h/partsupp.csv.gz +0 -0
  192. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-h/region.csv.gz +0 -0
  193. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-h/supplier.csv.gz +0 -0
  194. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/tpc-h/tpc-h.sql +0 -0
  195. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/optimizer/unnest_subqueries.sql +0 -0
  196. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/partial.sql +0 -0
  197. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/fixtures/pretty.sql +0 -0
  198. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/gen_fixtures.py +0 -0
  199. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/helpers.py +0 -0
  200. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_build.py +0 -0
  201. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_diff.py +0 -0
  202. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_docs.py +0 -0
  203. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_executor.py +0 -0
  204. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_expressions.py +0 -0
  205. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_generator.py +0 -0
  206. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_helper.py +0 -0
  207. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_jsonpath.py +0 -0
  208. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_lineage.py +0 -0
  209. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_optimizer.py +0 -0
  210. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_parser.py +0 -0
  211. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_schema.py +0 -0
  212. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_serde.py +0 -0
  213. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_time.py +0 -0
  214. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_tokens.py +0 -0
  215. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_transforms.py +0 -0
  216. {sqlglot-26.27.1 → sqlglot-26.28.0}/tests/test_transpile.py +0 -0
@@ -1,6 +1,47 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ ## [v26.27.0] - 2025-06-12
5
+ ### :boom: BREAKING CHANGES
6
+ - due to [`ac6555b`](https://github.com/tobymao/sqlglot/commit/ac6555b4d6c162ef7b14b63307d01fd560138ea0) - preserve DIV binary operator, fixes [#5198](https://github.com/tobymao/sqlglot/pull/5198) *(PR [#5199](https://github.com/tobymao/sqlglot/pull/5199) by [@georgesittas](https://github.com/georgesittas))*:
7
+
8
+ preserve DIV binary operator, fixes #5198 (#5199)
9
+
10
+ - due to [`dfdd84b`](https://github.com/tobymao/sqlglot/commit/dfdd84bbc50da70f40a17b39935f8171d961f7d2) - CTEs instead of subqueries for pipe syntax *(PR [#5205](https://github.com/tobymao/sqlglot/pull/5205) by [@geooo109](https://github.com/geooo109))*:
11
+
12
+ CTEs instead of subqueries for pipe syntax (#5205)
13
+
14
+ - due to [`5f95299`](https://github.com/tobymao/sqlglot/commit/5f9529940d83e89704f7d25eda63cd73fdb503ae) - support multi-part (>3) dotted functions *(PR [#5211](https://github.com/tobymao/sqlglot/pull/5211) by [@georgesittas](https://github.com/georgesittas))*:
15
+
16
+ support multi-part (>3) dotted functions (#5211)
17
+
18
+ - due to [`02afa2a`](https://github.com/tobymao/sqlglot/commit/02afa2a1941fc67086d50dffac2857262f1c3c4f) - Preserve quoting for UDT *(PR [#5216](https://github.com/tobymao/sqlglot/pull/5216) by [@VaggelisD](https://github.com/VaggelisD))*:
19
+
20
+ Preserve quoting for UDT (#5216)
21
+
22
+
23
+ ### :sparkles: New Features
24
+ - [`c20f85e`](https://github.com/tobymao/sqlglot/commit/c20f85e3e171e502fc51f74894d3313f0ad61535) - **spark**: support ALTER ADD PARTITION *(PR [#5208](https://github.com/tobymao/sqlglot/pull/5208) by [@georgesittas](https://github.com/georgesittas))*
25
+ - :arrow_lower_right: *addresses issue [#5204](https://github.com/tobymao/sqlglot/issues/5204) opened by [@cosinequanon](https://github.com/cosinequanon)*
26
+
27
+ ### :bug: Bug Fixes
28
+ - [`99bbae3`](https://github.com/tobymao/sqlglot/commit/99bbae370329c5f5cd132b711c714359cf96ba58) - **sqlite**: allow ALTER RENAME without COLUMN keyword fixes [#5195](https://github.com/tobymao/sqlglot/pull/5195) *(commit by [@georgesittas](https://github.com/georgesittas))*
29
+ - [`ac6555b`](https://github.com/tobymao/sqlglot/commit/ac6555b4d6c162ef7b14b63307d01fd560138ea0) - **hive**: preserve DIV binary operator, fixes [#5198](https://github.com/tobymao/sqlglot/pull/5198) *(PR [#5199](https://github.com/tobymao/sqlglot/pull/5199) by [@georgesittas](https://github.com/georgesittas))*
30
+ - [`d0eeb26`](https://github.com/tobymao/sqlglot/commit/d0eeb2639e771e8f8b6feabd41c65f16ed5a9829) - eliminate_join_marks has multiple issues fixes [#5188](https://github.com/tobymao/sqlglot/pull/5188) *(PR [#5189](https://github.com/tobymao/sqlglot/pull/5189) by [@snovik75](https://github.com/snovik75))*
31
+ - :arrow_lower_right: *fixes issue [#5188](https://github.com/tobymao/sqlglot/issues/5188) opened by [@snovik75](https://github.com/snovik75)*
32
+ - [`dfdd84b`](https://github.com/tobymao/sqlglot/commit/dfdd84bbc50da70f40a17b39935f8171d961f7d2) - **parser**: CTEs instead of subqueries for pipe syntax *(PR [#5205](https://github.com/tobymao/sqlglot/pull/5205) by [@geooo109](https://github.com/geooo109))*
33
+ - [`77e9d9a`](https://github.com/tobymao/sqlglot/commit/77e9d9a0269e2013379967cf2f46fbd79c036277) - **mysql**: properly parse STORED/VIRTUAL computed columns *(PR [#5210](https://github.com/tobymao/sqlglot/pull/5210) by [@georgesittas](https://github.com/georgesittas))*
34
+ - :arrow_lower_right: *fixes issue [#5203](https://github.com/tobymao/sqlglot/issues/5203) opened by [@mdebski](https://github.com/mdebski)*
35
+ - [`5f95299`](https://github.com/tobymao/sqlglot/commit/5f9529940d83e89704f7d25eda63cd73fdb503ae) - **parser**: support multi-part (>3) dotted functions *(PR [#5211](https://github.com/tobymao/sqlglot/pull/5211) by [@georgesittas](https://github.com/georgesittas))*
36
+ - :arrow_lower_right: *fixes issue [#5200](https://github.com/tobymao/sqlglot/issues/5200) opened by [@mateuszpoleski](https://github.com/mateuszpoleski)*
37
+ - [`02afa2a`](https://github.com/tobymao/sqlglot/commit/02afa2a1941fc67086d50dffac2857262f1c3c4f) - **postgres**: Preserve quoting for UDT *(PR [#5216](https://github.com/tobymao/sqlglot/pull/5216) by [@VaggelisD](https://github.com/VaggelisD))*
38
+ - :arrow_lower_right: *fixes issue [#5212](https://github.com/tobymao/sqlglot/issues/5212) opened by [@NickCrews](https://github.com/NickCrews)*
39
+ - [`f37c0b1`](https://github.com/tobymao/sqlglot/commit/f37c0b1197321dd610648ce652a171ab063deeeb) - **snowflake**: ensure a standalone GET() expression can be parsed *(PR [#5219](https://github.com/tobymao/sqlglot/pull/5219) by [@georgesittas](https://github.com/georgesittas))*
40
+
41
+ ### :wrench: Chores
42
+ - [`ad8a4e7`](https://github.com/tobymao/sqlglot/commit/ad8a4e73e1a9e4234f0b711163fb49630acf736c) - refactor join mark elimination to use is_correlated_subquery *(commit by [@georgesittas](https://github.com/georgesittas))*
43
+
44
+
4
45
  ## [v26.26.0] - 2025-06-09
5
46
  ### :boom: BREAKING CHANGES
6
47
  - due to [`434c45b`](https://github.com/tobymao/sqlglot/commit/434c45b547c3a5ea155dc8d7da2baab326eb6d4f) - improve support for ENDSWITH closes [#5170](https://github.com/tobymao/sqlglot/pull/5170) *(commit by [@georgesittas](https://github.com/georgesittas))*:
@@ -4840,3 +4881,4 @@ Changelog
4840
4881
  [v26.25.2]: https://github.com/tobymao/sqlglot/compare/v26.25.1...v26.25.2
4841
4882
  [v26.25.3]: https://github.com/tobymao/sqlglot/compare/v26.25.2...v26.25.3
4842
4883
  [v26.26.0]: https://github.com/tobymao/sqlglot/compare/v26.25.3...v26.26.0
4884
+ [v26.27.0]: https://github.com/tobymao/sqlglot/compare/v26.26.0...v26.27.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlglot
3
- Version: 26.27.1
3
+ Version: 26.28.0
4
4
  Summary: An easily customizable SQL parser and transpiler
5
5
  Author-email: Toby Mao <toby.mao@gmail.com>
6
6
  License: MIT License
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '26.27.1'
21
- __version_tuple__ = version_tuple = (26, 27, 1)
20
+ __version__ = version = '26.28.0'
21
+ __version_tuple__ = version_tuple = (26, 28, 0)
@@ -1106,7 +1106,6 @@ class Snowflake(Dialect):
1106
1106
  self, e, func_name="CHARINDEX", supports_position=True
1107
1107
  ),
1108
1108
  exp.StrToDate: lambda self, e: self.func("DATE", e.this, self.format_time(e)),
1109
- exp.StringToArray: rename_func("STRTOK_TO_ARRAY"),
1110
1109
  exp.Stuff: rename_func("INSERT"),
1111
1110
  exp.StPoint: rename_func("ST_MAKEPOINT"),
1112
1111
  exp.TimeAdd: date_delta_sql("TIMEADD"),
@@ -51,8 +51,8 @@ class _Expression(type):
51
51
  def __new__(cls, clsname, bases, attrs):
52
52
  klass = super().__new__(cls, clsname, bases, attrs)
53
53
 
54
- # When an Expression class is created, its key is automatically set to be
55
- # the lowercase version of the class' name.
54
+ # When an Expression class is created, its key is automatically set
55
+ # to be the lowercase version of the class' name.
56
56
  klass.key = clsname.lower()
57
57
 
58
58
  # This is so that docstrings are not inherited in pdoc
@@ -5593,7 +5593,7 @@ class String(Func):
5593
5593
 
5594
5594
 
5595
5595
  class StringToArray(Func):
5596
- arg_types = {"this": True, "expression": False, "null": False}
5596
+ arg_types = {"this": True, "expression": True, "null": False}
5597
5597
  _sql_names = ["STRING_TO_ARRAY", "SPLIT_BY_STRING", "STRTOK_TO_ARRAY"]
5598
5598
 
5599
5599
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlglot
3
- Version: 26.27.1
3
+ Version: 26.28.0
4
4
  Summary: An easily customizable SQL parser and transpiler
5
5
  Author-email: Toby Mao <toby.mao@gmail.com>
6
6
  License: MIT License
@@ -22,8 +22,6 @@ class TestSnowflake(Validator):
22
22
  expr.selects[0].assert_is(exp.AggFunc)
23
23
  self.assertEqual(expr.sql(dialect="snowflake"), "SELECT APPROX_TOP_K(C4, 3, 5) FROM t")
24
24
 
25
- self.validate_identity("STRTOK_TO_ARRAY('a b c')")
26
- self.validate_identity("STRTOK_TO_ARRAY('a.b.c', '.')")
27
25
  self.validate_identity("GET(a, b)")
28
26
  self.validate_identity("INSERT INTO test VALUES (x'48FAF43B0AFCEF9B63EE3A93EE2AC2')")
29
27
  self.validate_identity("SELECT STAR(tbl, exclude := [foo])")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes