sqlglot 27.26.0__tar.gz → 27.27.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.

Potentially problematic release.


This version of sqlglot might be problematic. Click here for more details.

Files changed (228) hide show
  1. {sqlglot-27.26.0 → sqlglot-27.27.0}/CHANGELOG.md +51 -0
  2. {sqlglot-27.26.0 → sqlglot-27.27.0}/PKG-INFO +2 -2
  3. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/_version.py +3 -3
  4. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/dialect.py +1 -0
  5. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/tsql.py +5 -0
  6. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/expressions.py +4 -0
  7. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot.egg-info/PKG-INFO +2 -2
  8. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot.egg-info/requires.txt +1 -1
  9. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/Cargo.lock +1 -1
  10. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/Cargo.toml +1 -1
  11. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_snowflake.py +1 -0
  12. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/identity.sql +1 -0
  13. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/annotate_functions.sql +8 -0
  14. {sqlglot-27.26.0 → sqlglot-27.27.0}/.gitignore +0 -0
  15. {sqlglot-27.26.0 → sqlglot-27.27.0}/.gitpod.yml +0 -0
  16. {sqlglot-27.26.0 → sqlglot-27.27.0}/.pre-commit-config.yaml +0 -0
  17. {sqlglot-27.26.0 → sqlglot-27.27.0}/CONTRIBUTING.md +0 -0
  18. {sqlglot-27.26.0 → sqlglot-27.27.0}/LICENSE +0 -0
  19. {sqlglot-27.26.0 → sqlglot-27.27.0}/MANIFEST.in +0 -0
  20. {sqlglot-27.26.0 → sqlglot-27.27.0}/Makefile +0 -0
  21. {sqlglot-27.26.0 → sqlglot-27.27.0}/README.md +0 -0
  22. {sqlglot-27.26.0 → sqlglot-27.27.0}/pyproject.toml +0 -0
  23. {sqlglot-27.26.0 → sqlglot-27.27.0}/setup.cfg +0 -0
  24. {sqlglot-27.26.0 → sqlglot-27.27.0}/setup.py +0 -0
  25. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/__init__.py +0 -0
  26. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/__main__.py +0 -0
  27. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/_typing.py +0 -0
  28. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/__init__.py +0 -0
  29. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/athena.py +0 -0
  30. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/bigquery.py +0 -0
  31. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/clickhouse.py +0 -0
  32. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/databricks.py +0 -0
  33. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/doris.py +0 -0
  34. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/dremio.py +0 -0
  35. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/drill.py +0 -0
  36. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/druid.py +0 -0
  37. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/duckdb.py +0 -0
  38. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/dune.py +0 -0
  39. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/exasol.py +0 -0
  40. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/fabric.py +0 -0
  41. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/hive.py +0 -0
  42. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/materialize.py +0 -0
  43. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/mysql.py +0 -0
  44. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/oracle.py +0 -0
  45. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/postgres.py +0 -0
  46. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/presto.py +0 -0
  47. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/prql.py +0 -0
  48. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/redshift.py +0 -0
  49. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/risingwave.py +0 -0
  50. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/singlestore.py +0 -0
  51. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/snowflake.py +0 -0
  52. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/solr.py +0 -0
  53. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/spark.py +0 -0
  54. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/spark2.py +0 -0
  55. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/sqlite.py +0 -0
  56. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/starrocks.py +0 -0
  57. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/tableau.py +0 -0
  58. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/teradata.py +0 -0
  59. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/trino.py +0 -0
  60. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/diff.py +0 -0
  61. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/errors.py +0 -0
  62. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/executor/__init__.py +0 -0
  63. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/executor/context.py +0 -0
  64. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/executor/env.py +0 -0
  65. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/executor/python.py +0 -0
  66. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/executor/table.py +0 -0
  67. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/generator.py +0 -0
  68. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/helper.py +0 -0
  69. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/jsonpath.py +0 -0
  70. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/lineage.py +0 -0
  71. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/__init__.py +0 -0
  72. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/annotate_types.py +0 -0
  73. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/canonicalize.py +0 -0
  74. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/eliminate_ctes.py +0 -0
  75. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/eliminate_joins.py +0 -0
  76. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/eliminate_subqueries.py +0 -0
  77. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/isolate_table_selects.py +0 -0
  78. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/merge_subqueries.py +0 -0
  79. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/normalize.py +0 -0
  80. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/normalize_identifiers.py +0 -0
  81. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/optimize_joins.py +0 -0
  82. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/optimizer.py +0 -0
  83. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/pushdown_predicates.py +0 -0
  84. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/pushdown_projections.py +0 -0
  85. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/qualify.py +0 -0
  86. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/qualify_columns.py +0 -0
  87. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/qualify_tables.py +0 -0
  88. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/scope.py +0 -0
  89. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/simplify.py +0 -0
  90. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/unnest_subqueries.py +0 -0
  91. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/parser.py +0 -0
  92. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/planner.py +0 -0
  93. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/py.typed +0 -0
  94. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/schema.py +0 -0
  95. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/serde.py +0 -0
  96. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/time.py +0 -0
  97. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/tokens.py +0 -0
  98. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/transforms.py +0 -0
  99. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/trie.py +0 -0
  100. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot.egg-info/SOURCES.txt +0 -0
  101. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot.egg-info/dependency_links.txt +0 -0
  102. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot.egg-info/top_level.txt +0 -0
  103. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot.png +0 -0
  104. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/benches/dialect_settings.json +0 -0
  105. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/benches/long.rs +0 -0
  106. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/benches/token_type_settings.json +0 -0
  107. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/benches/tokenizer_dialect_settings.json +0 -0
  108. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/benches/tokenizer_settings.json +0 -0
  109. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/pyproject.toml +0 -0
  110. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/src/lib.rs +0 -0
  111. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/src/settings.rs +0 -0
  112. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/src/token.rs +0 -0
  113. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/src/tokenizer.rs +0 -0
  114. {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/src/trie.rs +0 -0
  115. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/__init__.py +0 -0
  116. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/__init__.py +0 -0
  117. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_athena.py +0 -0
  118. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_bigquery.py +0 -0
  119. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_clickhouse.py +0 -0
  120. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_databricks.py +0 -0
  121. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_dialect.py +0 -0
  122. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_doris.py +0 -0
  123. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_dremio.py +0 -0
  124. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_drill.py +0 -0
  125. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_druid.py +0 -0
  126. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_duckdb.py +0 -0
  127. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_dune.py +0 -0
  128. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_exasol.py +0 -0
  129. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_fabric.py +0 -0
  130. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_hive.py +0 -0
  131. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_materialize.py +0 -0
  132. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_mysql.py +0 -0
  133. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_oracle.py +0 -0
  134. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_pipe_syntax.py +0 -0
  135. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_postgres.py +0 -0
  136. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_presto.py +0 -0
  137. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_prql.py +0 -0
  138. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_redshift.py +0 -0
  139. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_risingwave.py +0 -0
  140. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_singlestore.py +0 -0
  141. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_solr.py +0 -0
  142. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_spark.py +0 -0
  143. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_sqlite.py +0 -0
  144. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_starrocks.py +0 -0
  145. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_tableau.py +0 -0
  146. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_teradata.py +0 -0
  147. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_trino.py +0 -0
  148. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_tsql.py +0 -0
  149. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/jsonpath/LICENSE +0 -0
  150. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/jsonpath/cts.json +0 -0
  151. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/annotate_types.sql +0 -0
  152. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/canonicalize.sql +0 -0
  153. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/eliminate_ctes.sql +0 -0
  154. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/eliminate_joins.sql +0 -0
  155. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/eliminate_subqueries.sql +0 -0
  156. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/isolate_table_selects.sql +0 -0
  157. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/merge_subqueries.sql +0 -0
  158. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/normalize.sql +0 -0
  159. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/normalize_identifiers.sql +0 -0
  160. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/optimize_joins.sql +0 -0
  161. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/optimizer.sql +0 -0
  162. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/pushdown_cte_alias_columns.sql +0 -0
  163. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/pushdown_predicates.sql +0 -0
  164. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/pushdown_projections.sql +0 -0
  165. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/qualify_columns.sql +0 -0
  166. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/qualify_columns__invalid.sql +0 -0
  167. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/qualify_columns__with_invisible.sql +0 -0
  168. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/qualify_columns_ddl.sql +0 -0
  169. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/qualify_tables.sql +0 -0
  170. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/quote_identifiers.sql +0 -0
  171. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/simplify.sql +0 -0
  172. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/call_center.csv.gz +0 -0
  173. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/catalog_page.csv.gz +0 -0
  174. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/catalog_returns.csv.gz +0 -0
  175. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/catalog_sales.csv.gz +0 -0
  176. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/customer.csv.gz +0 -0
  177. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/customer_address.csv.gz +0 -0
  178. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz +0 -0
  179. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/date_dim.csv.gz +0 -0
  180. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/household_demographics.csv.gz +0 -0
  181. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/income_band.csv.gz +0 -0
  182. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/inventory.csv.gz +0 -0
  183. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/item.csv.gz +0 -0
  184. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/promotion.csv.gz +0 -0
  185. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/reason.csv.gz +0 -0
  186. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/ship_mode.csv.gz +0 -0
  187. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/store.csv.gz +0 -0
  188. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/store_returns.csv.gz +0 -0
  189. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/store_sales.csv.gz +0 -0
  190. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/time_dim.csv.gz +0 -0
  191. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/tpc-ds.sql +0 -0
  192. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/warehouse.csv.gz +0 -0
  193. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/web_page.csv.gz +0 -0
  194. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/web_returns.csv.gz +0 -0
  195. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/web_sales.csv.gz +0 -0
  196. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/web_site.csv.gz +0 -0
  197. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/customer.csv.gz +0 -0
  198. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/lineitem.csv.gz +0 -0
  199. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/nation.csv.gz +0 -0
  200. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/orders.csv.gz +0 -0
  201. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/part.csv.gz +0 -0
  202. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/partsupp.csv.gz +0 -0
  203. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/region.csv.gz +0 -0
  204. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/supplier.csv.gz +0 -0
  205. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/tpc-h.sql +0 -0
  206. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/unnest_subqueries.sql +0 -0
  207. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/partial.sql +0 -0
  208. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/pretty.sql +0 -0
  209. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/gen_fixtures.py +0 -0
  210. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/helpers.py +0 -0
  211. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_build.py +0 -0
  212. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_dialect_imports.py +0 -0
  213. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_diff.py +0 -0
  214. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_docs.py +0 -0
  215. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_executor.py +0 -0
  216. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_expressions.py +0 -0
  217. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_generator.py +0 -0
  218. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_helper.py +0 -0
  219. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_jsonpath.py +0 -0
  220. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_lineage.py +0 -0
  221. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_optimizer.py +0 -0
  222. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_parser.py +0 -0
  223. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_schema.py +0 -0
  224. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_serde.py +0 -0
  225. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_time.py +0 -0
  226. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_tokens.py +0 -0
  227. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_transforms.py +0 -0
  228. {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_transpile.py +0 -0
@@ -1,6 +1,56 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ ## [v27.26.0] - 2025-10-10
5
+ ### :boom: BREAKING CHANGES
6
+ - due to [`9060f60`](https://github.com/tobymao/sqlglot/commit/9060f603818db863b7570a2c3c50c3eb88155e76) - Annotate type for snowflake ATAN2 function. *(PR [#6060](https://github.com/tobymao/sqlglot/pull/6060) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
7
+
8
+ Annotate type for snowflake ATAN2 function. (#6060)
9
+
10
+ - due to [`b3eb2e4`](https://github.com/tobymao/sqlglot/commit/b3eb2e4ca6177ee61b27675e8ec8b4815587df31) - annotate type for Snowflake SINH function *(PR [#6052](https://github.com/tobymao/sqlglot/pull/6052) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*:
11
+
12
+ annotate type for Snowflake SINH function (#6052)
13
+
14
+ - due to [`157d2fa`](https://github.com/tobymao/sqlglot/commit/157d2fa06ab110ebc760aa7567d7fda801a5ced9) - annotate type for Snowflake CEIL function *(PR [#6051](https://github.com/tobymao/sqlglot/pull/6051) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*:
15
+
16
+ annotate type for Snowflake CEIL function (#6051)
17
+
18
+ - due to [`e7833de`](https://github.com/tobymao/sqlglot/commit/e7833de9744a4aa69d244285e7f6f7281af178ba) - support DELETE with USING and multiple VALUES *(PR [#6072](https://github.com/tobymao/sqlglot/pull/6072) by [@geooo109](https://github.com/geooo109))*:
19
+
20
+ support DELETE with USING and multiple VALUES (#6072)
21
+
22
+ - due to [`354140d`](https://github.com/tobymao/sqlglot/commit/354140d0a279f317439bdb247e1ab9578f9a035d) - Annotate type for snowflake TANH and ATAN functions *(PR [#6069](https://github.com/tobymao/sqlglot/pull/6069) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
23
+
24
+ Annotate type for snowflake TANH and ATAN functions (#6069)
25
+
26
+
27
+ ### :sparkles: New Features
28
+ - [`9060f60`](https://github.com/tobymao/sqlglot/commit/9060f603818db863b7570a2c3c50c3eb88155e76) - **optimizer**: Annotate type for snowflake ATAN2 function. *(PR [#6060](https://github.com/tobymao/sqlglot/pull/6060) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
29
+ - [`b3eb2e4`](https://github.com/tobymao/sqlglot/commit/b3eb2e4ca6177ee61b27675e8ec8b4815587df31) - **optimizer**: annotate type for Snowflake SINH function *(PR [#6052](https://github.com/tobymao/sqlglot/pull/6052) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*
30
+ - [`440b960`](https://github.com/tobymao/sqlglot/commit/440b960529801674fa23708212485fda95749699) - **duckdb**: support `USING KEY (...)` in recursive DuckDB CTEs *(PR [#6068](https://github.com/tobymao/sqlglot/pull/6068) by [@georgesittas](https://github.com/georgesittas))*
31
+ - :arrow_lower_right: *addresses issue [#6066](https://github.com/tobymao/sqlglot/issues/6066) opened by [@denis-komarov](https://github.com/denis-komarov)*
32
+ - [`157d2fa`](https://github.com/tobymao/sqlglot/commit/157d2fa06ab110ebc760aa7567d7fda801a5ced9) - **optimizer**: annotate type for Snowflake CEIL function *(PR [#6051](https://github.com/tobymao/sqlglot/pull/6051) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*
33
+ - [`eb6d6e7`](https://github.com/tobymao/sqlglot/commit/eb6d6e7ccde37456ab56ad976e7d95cea23c14e3) - **duckdb**: support `DEFAULT VALUES` clause in `INSERT` DML *(PR [#6067](https://github.com/tobymao/sqlglot/pull/6067) by [@georgesittas](https://github.com/georgesittas))*
34
+ - :arrow_lower_right: *addresses issue [#6065](https://github.com/tobymao/sqlglot/issues/6065) opened by [@denis-komarov](https://github.com/denis-komarov)*
35
+ - [`354140d`](https://github.com/tobymao/sqlglot/commit/354140d0a279f317439bdb247e1ab9578f9a035d) - **optimizer**: Annotate type for snowflake TANH and ATAN functions *(PR [#6069](https://github.com/tobymao/sqlglot/pull/6069) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
36
+ - [`c94e3e0`](https://github.com/tobymao/sqlglot/commit/c94e3e0e4e20bd76d4cf630123d2c05a0e3044c3) - add ColumnDef expression parser *(PR [#6075](https://github.com/tobymao/sqlglot/pull/6075) by [@geooo109](https://github.com/geooo109))*
37
+
38
+ ### :bug: Bug Fixes
39
+ - [`2c7cc29`](https://github.com/tobymao/sqlglot/commit/2c7cc29a329dcbaaa90a6f857d2383d2967ea6cc) - **duckdb**: Transform exp.HexString to BLOB in hex notation *(PR [#6045](https://github.com/tobymao/sqlglot/pull/6045) by [@VaggelisD](https://github.com/VaggelisD))*
40
+ - :arrow_lower_right: *fixes issue [#6035](https://github.com/tobymao/sqlglot/issues/6035) opened by [@kyle-cheung](https://github.com/kyle-cheung)*
41
+ - [`e7833de`](https://github.com/tobymao/sqlglot/commit/e7833de9744a4aa69d244285e7f6f7281af178ba) - **parser**: support DELETE with USING and multiple VALUES *(PR [#6072](https://github.com/tobymao/sqlglot/pull/6072) by [@geooo109](https://github.com/geooo109))*
42
+ - :arrow_lower_right: *fixes issue [#6070](https://github.com/tobymao/sqlglot/issues/6070) opened by [@denis-komarov](https://github.com/denis-komarov)*
43
+
44
+ ### :recycle: Refactors
45
+ - [`2c9d15c`](https://github.com/tobymao/sqlglot/commit/2c9d15c92da25c8456b2463c69aa56c8ec47c453) - replace direct arg manipulation *(PR [#6073](https://github.com/tobymao/sqlglot/pull/6073) by [@geooo109](https://github.com/geooo109))*
46
+
47
+ ### :wrench: Chores
48
+ - [`75b8d16`](https://github.com/tobymao/sqlglot/commit/75b8d16e41b677ea7e150c89d713795073aae6e3) - remove docs from main branch *(PR [#6057](https://github.com/tobymao/sqlglot/pull/6057) by [@georgesittas](https://github.com/georgesittas))*
49
+ - [`cfa2493`](https://github.com/tobymao/sqlglot/commit/cfa249328eef31ab0e0688dcc03521da3343ce47) - **optimizer**: Annotate type for snowflake SQUARE function *(PR [#6059](https://github.com/tobymao/sqlglot/pull/6059) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
50
+ - [`e26c394`](https://github.com/tobymao/sqlglot/commit/e26c3949beb7f73020fcd099237dbe31a4db8d84) - **optimizer**: Annotate type for snowflake POW function *(PR [#6058](https://github.com/tobymao/sqlglot/pull/6058) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
51
+ - [`7d303ad`](https://github.com/tobymao/sqlglot/commit/7d303adc5efe9d51eb62aeab80bfa4f844e1911d) - include Python 3.14 in the testing matrix *(PR [#6074](https://github.com/tobymao/sqlglot/pull/6074) by [@georgesittas](https://github.com/georgesittas))*
52
+
53
+
4
54
  ## [v27.25.0] - 2025-10-09
5
55
  ### :boom: BREAKING CHANGES
6
56
  - due to [`6f31b86`](https://github.com/tobymao/sqlglot/commit/6f31b86599258afe156aa3d9ccc42389cac37021) - Annotate type for snowflake FLOOR function *(PR [#6030](https://github.com/tobymao/sqlglot/pull/6030) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
@@ -7819,3 +7869,4 @@ Changelog
7819
7869
  [v27.22.1]: https://github.com/tobymao/sqlglot/compare/v27.22.0...v27.22.1
7820
7870
  [v27.22.2]: https://github.com/tobymao/sqlglot/compare/v27.22.1...v27.22.2
7821
7871
  [v27.25.0]: https://github.com/tobymao/sqlglot/compare/v27.24.2...v27.25.0
7872
+ [v27.26.0]: https://github.com/tobymao/sqlglot/compare/v27.25.2...v27.26.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlglot
3
- Version: 27.26.0
3
+ Version: 27.27.0
4
4
  Summary: An easily customizable SQL parser and transpiler
5
5
  Author-email: Toby Mao <toby.mao@gmail.com>
6
6
  License-Expression: MIT
@@ -33,7 +33,7 @@ Requires-Dist: typing_extensions; extra == "dev"
33
33
  Requires-Dist: maturin<2.0,>=1.4; extra == "dev"
34
34
  Requires-Dist: pyperf; extra == "dev"
35
35
  Provides-Extra: rs
36
- Requires-Dist: sqlglotrs==0.7.2; extra == "rs"
36
+ Requires-Dist: sqlglotrs==0.7.3; extra == "rs"
37
37
  Dynamic: license-file
38
38
  Dynamic: provides-extra
39
39
 
@@ -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 = '27.26.0'
32
- __version_tuple__ = version_tuple = (27, 26, 0)
31
+ __version__ = version = '27.27.0'
32
+ __version_tuple__ = version_tuple = (27, 27, 0)
33
33
 
34
- __commit_id__ = commit_id = 'gc94e3e0e4'
34
+ __commit_id__ = commit_id = 'gdab2a3fbd'
@@ -724,6 +724,7 @@ class Dialect(metaclass=_Dialect):
724
724
  exp.Pi,
725
725
  exp.Pow,
726
726
  exp.Quantile,
727
+ exp.Radians,
727
728
  exp.Round,
728
729
  exp.SafeDivide,
729
730
  exp.Sqrt,
@@ -412,6 +412,11 @@ class TSQL(Dialect):
412
412
 
413
413
  TIME_FORMAT = "'yyyy-mm-dd hh:mm:ss'"
414
414
 
415
+ ANNOTATORS = {
416
+ **Dialect.ANNOTATORS,
417
+ exp.Radians: lambda self, e: self._annotate_by_args(e, "this"),
418
+ }
419
+
415
420
  TIME_MAPPING = {
416
421
  "year": "%Y",
417
422
  "dayofyear": "%j",
@@ -7361,6 +7361,10 @@ class Replace(Func):
7361
7361
  arg_types = {"this": True, "expression": True, "replacement": False}
7362
7362
 
7363
7363
 
7364
+ class Radians(Func):
7365
+ pass
7366
+
7367
+
7364
7368
  # https://learn.microsoft.com/en-us/sql/t-sql/functions/round-transact-sql?view=sql-server-ver16
7365
7369
  # tsql third argument function == trunctaion if not 0
7366
7370
  class Round(Func):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlglot
3
- Version: 27.26.0
3
+ Version: 27.27.0
4
4
  Summary: An easily customizable SQL parser and transpiler
5
5
  Author-email: Toby Mao <toby.mao@gmail.com>
6
6
  License-Expression: MIT
@@ -33,7 +33,7 @@ Requires-Dist: typing_extensions; extra == "dev"
33
33
  Requires-Dist: maturin<2.0,>=1.4; extra == "dev"
34
34
  Requires-Dist: pyperf; extra == "dev"
35
35
  Provides-Extra: rs
36
- Requires-Dist: sqlglotrs==0.7.2; extra == "rs"
36
+ Requires-Dist: sqlglotrs==0.7.3; extra == "rs"
37
37
  Dynamic: license-file
38
38
  Dynamic: provides-extra
39
39
 
@@ -16,4 +16,4 @@ maturin<2.0,>=1.4
16
16
  pyperf
17
17
 
18
18
  [rs]
19
- sqlglotrs==0.7.2
19
+ sqlglotrs==0.7.3
@@ -534,7 +534,7 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
534
534
 
535
535
  [[package]]
536
536
  name = "sqlglotrs"
537
- version = "0.7.2"
537
+ version = "0.7.3"
538
538
  dependencies = [
539
539
  "criterion",
540
540
  "pyo3",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "sqlglotrs"
3
- version = "0.7.2"
3
+ version = "0.7.3"
4
4
  edition = "2021"
5
5
  license = "MIT"
6
6
 
@@ -79,6 +79,7 @@ class TestSnowflake(Validator):
79
79
  self.validate_identity("SELECT PI()")
80
80
  self.validate_identity("SELECT DEGREES(PI() / 3)")
81
81
  self.validate_identity("SELECT DEGREES(1)")
82
+ self.validate_identity("SELECT RADIANS(180)")
82
83
  self.validate_identity("PARSE_URL('https://example.com/path')")
83
84
  self.validate_identity("PARSE_URL('https://example.com/path', 1)")
84
85
  self.validate_identity("SELECT {*} FROM my_table")
@@ -922,6 +922,7 @@ SELECT COT(x)
922
922
  SELECT COTH(x)
923
923
  SELECT CSC(x)
924
924
  SELECT CSCH(x)
925
+ SELECT RADIANS(x)
925
926
  SELECT SEC(x)
926
927
  SELECT SECH(x)
927
928
  SELECT UTC_DATE
@@ -1955,6 +1955,10 @@ DOUBLE;
1955
1955
  POW(tbl.double_col, 2);
1956
1956
  DOUBLE;
1957
1957
 
1958
+ # dialect: snowflake
1959
+ RADIANS(tbl.double_col);
1960
+ DOUBLE;
1961
+
1958
1962
  # dialect: snowflake
1959
1963
  LOWER(tbl.str_col);
1960
1964
  VARCHAR;
@@ -2566,3 +2570,7 @@ OBJECT;
2566
2570
  # dialect: tsql
2567
2571
  SYSDATETIMEOFFSET();
2568
2572
  TIMESTAMPTZ;
2573
+
2574
+ # dialect: tsql
2575
+ RADIANS(90);
2576
+ INT;
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