sqlglot 27.4.0__tar.gz → 27.4.1__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 (226) hide show
  1. {sqlglot-27.4.0 → sqlglot-27.4.1}/CHANGELOG.md +26 -0
  2. {sqlglot-27.4.0 → sqlglot-27.4.1}/PKG-INFO +1 -1
  3. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/_version.py +2 -2
  4. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/bigquery.py +4 -2
  5. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot.egg-info/PKG-INFO +1 -1
  6. {sqlglot-27.4.0 → sqlglot-27.4.1}/.gitignore +0 -0
  7. {sqlglot-27.4.0 → sqlglot-27.4.1}/.gitpod.yml +0 -0
  8. {sqlglot-27.4.0 → sqlglot-27.4.1}/.pre-commit-config.yaml +0 -0
  9. {sqlglot-27.4.0 → sqlglot-27.4.1}/CONTRIBUTING.md +0 -0
  10. {sqlglot-27.4.0 → sqlglot-27.4.1}/LICENSE +0 -0
  11. {sqlglot-27.4.0 → sqlglot-27.4.1}/MANIFEST.in +0 -0
  12. {sqlglot-27.4.0 → sqlglot-27.4.1}/Makefile +0 -0
  13. {sqlglot-27.4.0 → sqlglot-27.4.1}/README.md +0 -0
  14. {sqlglot-27.4.0 → sqlglot-27.4.1}/pyproject.toml +0 -0
  15. {sqlglot-27.4.0 → sqlglot-27.4.1}/setup.cfg +0 -0
  16. {sqlglot-27.4.0 → sqlglot-27.4.1}/setup.py +0 -0
  17. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/__init__.py +0 -0
  18. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/__main__.py +0 -0
  19. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/_typing.py +0 -0
  20. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/__init__.py +0 -0
  21. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/athena.py +0 -0
  22. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/clickhouse.py +0 -0
  23. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/databricks.py +0 -0
  24. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/dialect.py +0 -0
  25. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/doris.py +0 -0
  26. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/dremio.py +0 -0
  27. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/drill.py +0 -0
  28. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/druid.py +0 -0
  29. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/duckdb.py +0 -0
  30. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/dune.py +0 -0
  31. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/exasol.py +0 -0
  32. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/fabric.py +0 -0
  33. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/hive.py +0 -0
  34. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/materialize.py +0 -0
  35. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/mysql.py +0 -0
  36. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/oracle.py +0 -0
  37. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/postgres.py +0 -0
  38. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/presto.py +0 -0
  39. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/prql.py +0 -0
  40. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/redshift.py +0 -0
  41. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/risingwave.py +0 -0
  42. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/singlestore.py +0 -0
  43. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/snowflake.py +0 -0
  44. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/spark.py +0 -0
  45. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/spark2.py +0 -0
  46. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/sqlite.py +0 -0
  47. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/starrocks.py +0 -0
  48. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/tableau.py +0 -0
  49. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/teradata.py +0 -0
  50. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/trino.py +0 -0
  51. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/tsql.py +0 -0
  52. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/diff.py +0 -0
  53. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/errors.py +0 -0
  54. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/executor/__init__.py +0 -0
  55. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/executor/context.py +0 -0
  56. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/executor/env.py +0 -0
  57. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/executor/python.py +0 -0
  58. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/executor/table.py +0 -0
  59. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/expressions.py +0 -0
  60. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/generator.py +0 -0
  61. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/helper.py +0 -0
  62. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/jsonpath.py +0 -0
  63. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/lineage.py +0 -0
  64. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/__init__.py +0 -0
  65. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/annotate_types.py +0 -0
  66. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/canonicalize.py +0 -0
  67. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/eliminate_ctes.py +0 -0
  68. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/eliminate_joins.py +0 -0
  69. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/eliminate_subqueries.py +0 -0
  70. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/isolate_table_selects.py +0 -0
  71. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/merge_subqueries.py +0 -0
  72. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/normalize.py +0 -0
  73. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/normalize_identifiers.py +0 -0
  74. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/optimize_joins.py +0 -0
  75. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/optimizer.py +0 -0
  76. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/pushdown_predicates.py +0 -0
  77. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/pushdown_projections.py +0 -0
  78. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/qualify.py +0 -0
  79. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/qualify_columns.py +0 -0
  80. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/qualify_tables.py +0 -0
  81. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/scope.py +0 -0
  82. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/simplify.py +0 -0
  83. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/unnest_subqueries.py +0 -0
  84. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/parser.py +0 -0
  85. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/planner.py +0 -0
  86. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/py.typed +0 -0
  87. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/schema.py +0 -0
  88. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/serde.py +0 -0
  89. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/time.py +0 -0
  90. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/tokens.py +0 -0
  91. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/transforms.py +0 -0
  92. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/trie.py +0 -0
  93. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot.egg-info/SOURCES.txt +0 -0
  94. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot.egg-info/dependency_links.txt +0 -0
  95. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot.egg-info/requires.txt +0 -0
  96. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot.egg-info/top_level.txt +0 -0
  97. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot.png +0 -0
  98. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/Cargo.lock +0 -0
  99. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/Cargo.toml +0 -0
  100. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/benches/dialect_settings.json +0 -0
  101. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/benches/long.rs +0 -0
  102. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/benches/token_type_settings.json +0 -0
  103. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/benches/tokenizer_dialect_settings.json +0 -0
  104. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/benches/tokenizer_settings.json +0 -0
  105. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/pyproject.toml +0 -0
  106. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/src/lib.rs +0 -0
  107. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/src/settings.rs +0 -0
  108. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/src/token.rs +0 -0
  109. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/src/tokenizer.rs +0 -0
  110. {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/src/trie.rs +0 -0
  111. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/__init__.py +0 -0
  112. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/__init__.py +0 -0
  113. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_athena.py +0 -0
  114. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_bigquery.py +0 -0
  115. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_clickhouse.py +0 -0
  116. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_databricks.py +0 -0
  117. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_dialect.py +0 -0
  118. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_doris.py +0 -0
  119. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_dremio.py +0 -0
  120. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_drill.py +0 -0
  121. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_druid.py +0 -0
  122. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_duckdb.py +0 -0
  123. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_dune.py +0 -0
  124. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_exasol.py +0 -0
  125. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_fabric.py +0 -0
  126. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_hive.py +0 -0
  127. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_materialize.py +0 -0
  128. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_mysql.py +0 -0
  129. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_oracle.py +0 -0
  130. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_pipe_syntax.py +0 -0
  131. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_postgres.py +0 -0
  132. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_presto.py +0 -0
  133. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_prql.py +0 -0
  134. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_redshift.py +0 -0
  135. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_risingwave.py +0 -0
  136. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_singlestore.py +0 -0
  137. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_snowflake.py +0 -0
  138. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_spark.py +0 -0
  139. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_sqlite.py +0 -0
  140. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_starrocks.py +0 -0
  141. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_tableau.py +0 -0
  142. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_teradata.py +0 -0
  143. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_trino.py +0 -0
  144. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_tsql.py +0 -0
  145. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/identity.sql +0 -0
  146. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/jsonpath/LICENSE +0 -0
  147. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/jsonpath/cts.json +0 -0
  148. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/annotate_functions.sql +0 -0
  149. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/annotate_types.sql +0 -0
  150. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/canonicalize.sql +0 -0
  151. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/eliminate_ctes.sql +0 -0
  152. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/eliminate_joins.sql +0 -0
  153. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/eliminate_subqueries.sql +0 -0
  154. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/isolate_table_selects.sql +0 -0
  155. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/merge_subqueries.sql +0 -0
  156. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/normalize.sql +0 -0
  157. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/normalize_identifiers.sql +0 -0
  158. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/optimize_joins.sql +0 -0
  159. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/optimizer.sql +0 -0
  160. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/pushdown_cte_alias_columns.sql +0 -0
  161. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/pushdown_predicates.sql +0 -0
  162. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/pushdown_projections.sql +0 -0
  163. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/qualify_columns.sql +0 -0
  164. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/qualify_columns__invalid.sql +0 -0
  165. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/qualify_columns__with_invisible.sql +0 -0
  166. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/qualify_columns_ddl.sql +0 -0
  167. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/qualify_tables.sql +0 -0
  168. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/quote_identifiers.sql +0 -0
  169. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/simplify.sql +0 -0
  170. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/call_center.csv.gz +0 -0
  171. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/catalog_page.csv.gz +0 -0
  172. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/catalog_returns.csv.gz +0 -0
  173. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/catalog_sales.csv.gz +0 -0
  174. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/customer.csv.gz +0 -0
  175. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/customer_address.csv.gz +0 -0
  176. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz +0 -0
  177. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/date_dim.csv.gz +0 -0
  178. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/household_demographics.csv.gz +0 -0
  179. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/income_band.csv.gz +0 -0
  180. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/inventory.csv.gz +0 -0
  181. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/item.csv.gz +0 -0
  182. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/promotion.csv.gz +0 -0
  183. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/reason.csv.gz +0 -0
  184. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/ship_mode.csv.gz +0 -0
  185. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/store.csv.gz +0 -0
  186. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/store_returns.csv.gz +0 -0
  187. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/store_sales.csv.gz +0 -0
  188. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/time_dim.csv.gz +0 -0
  189. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/tpc-ds.sql +0 -0
  190. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/warehouse.csv.gz +0 -0
  191. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/web_page.csv.gz +0 -0
  192. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/web_returns.csv.gz +0 -0
  193. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/web_sales.csv.gz +0 -0
  194. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/web_site.csv.gz +0 -0
  195. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/customer.csv.gz +0 -0
  196. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/lineitem.csv.gz +0 -0
  197. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/nation.csv.gz +0 -0
  198. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/orders.csv.gz +0 -0
  199. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/part.csv.gz +0 -0
  200. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/partsupp.csv.gz +0 -0
  201. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/region.csv.gz +0 -0
  202. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/supplier.csv.gz +0 -0
  203. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/tpc-h.sql +0 -0
  204. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/unnest_subqueries.sql +0 -0
  205. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/partial.sql +0 -0
  206. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/pretty.sql +0 -0
  207. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/gen_fixtures.py +0 -0
  208. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/helpers.py +0 -0
  209. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_build.py +0 -0
  210. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_dialect_imports.py +0 -0
  211. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_diff.py +0 -0
  212. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_docs.py +0 -0
  213. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_executor.py +0 -0
  214. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_expressions.py +0 -0
  215. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_generator.py +0 -0
  216. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_helper.py +0 -0
  217. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_jsonpath.py +0 -0
  218. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_lineage.py +0 -0
  219. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_optimizer.py +0 -0
  220. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_parser.py +0 -0
  221. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_schema.py +0 -0
  222. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_serde.py +0 -0
  223. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_time.py +0 -0
  224. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_tokens.py +0 -0
  225. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_transforms.py +0 -0
  226. {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_transpile.py +0 -0
@@ -1,6 +1,31 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ ## [v27.4.0] - 2025-07-25
5
+ ### :boom: BREAKING CHANGES
6
+ - due to [`4f348bd`](https://github.com/tobymao/sqlglot/commit/4f348bddda21b18841fd2d728fe486e95cdaa549) - store Query schemas in meta dict instead of type attr *(PR [#5480](https://github.com/tobymao/sqlglot/pull/5480) by [@georgesittas](https://github.com/georgesittas))*:
7
+
8
+ store Query schemas in meta dict instead of type attr (#5480)
9
+
10
+
11
+ ### :sparkles: New Features
12
+ - [`7961ece`](https://github.com/tobymao/sqlglot/commit/7961ece058f3771364aad5beedba9484e3a2e27c) - **exasol**: Add support for HASH_SHA1 function *(PR [#5468](https://github.com/tobymao/sqlglot/pull/5468) by [@nnamdi16](https://github.com/nnamdi16))*
13
+ - [`406815d`](https://github.com/tobymao/sqlglot/commit/406815de21f0fdc9874ff46155d4ee0274aa6337) - **exasol**: support HASH_SHA1 *(commit by [@georgesittas](https://github.com/georgesittas))*
14
+ - [`e6f4fc9`](https://github.com/tobymao/sqlglot/commit/e6f4fc9c6d59d96777b2a2ec5dcc360e53639f8d) - **sqlite**: support ATTACH/DETACH DATABASE *(PR [#5469](https://github.com/tobymao/sqlglot/pull/5469) by [@geooo109](https://github.com/geooo109))*
15
+ - :arrow_lower_right: *addresses issue [#5459](https://github.com/tobymao/sqlglot/issues/5459) opened by [@mariofox](https://github.com/mariofox)*
16
+ - [`8aa3498`](https://github.com/tobymao/sqlglot/commit/8aa349890673dccdd4daa0aea6ca5fcb9fdaf46f) - **hive, spark**: Add support for LOCATION in ADD PARTITION *(PR [#5472](https://github.com/tobymao/sqlglot/pull/5472) by [@VaggelisD](https://github.com/VaggelisD))*
17
+ - :arrow_lower_right: *addresses issue [#5457](https://github.com/tobymao/sqlglot/issues/5457) opened by [@tsamaras](https://github.com/tsamaras)*
18
+ - [`44adfc0`](https://github.com/tobymao/sqlglot/commit/44adfc0e74da9d1b05a5a8a67b81fb7c67634c70) - **exasol**: add HASH_MD5 functionality to exasol dialect *(PR [#5473](https://github.com/tobymao/sqlglot/pull/5473) by [@nnamdi16](https://github.com/nnamdi16))*
19
+ - [`05e1c4d`](https://github.com/tobymao/sqlglot/commit/05e1c4dbf795915448173a894a89a33b289a3b5b) - **snowflake**: Transpile BQ's `STRUCT` dot access *(PR [#5471](https://github.com/tobymao/sqlglot/pull/5471) by [@VaggelisD](https://github.com/VaggelisD))*
20
+ - [`3c5ecdf`](https://github.com/tobymao/sqlglot/commit/3c5ecdf7f27629c01f0f3402e64a9dedf0583851) - **exasol**: Add HASHTYPE_MD5 functions to Exasol dialect *(PR [#5474](https://github.com/tobymao/sqlglot/pull/5474) by [@nnamdi16](https://github.com/nnamdi16))*
21
+ - [`1d640d2`](https://github.com/tobymao/sqlglot/commit/1d640d2278288b9a39a65b2532a13bc17e06c4e8) - **exasol**: add support for HASH_SHA256 and HASH_SHA512 hashing *(PR [#5475](https://github.com/tobymao/sqlglot/pull/5475) by [@nnamdi16](https://github.com/nnamdi16))*
22
+
23
+ ### :bug: Bug Fixes
24
+ - [`e1819d6`](https://github.com/tobymao/sqlglot/commit/e1819d6451fec0eb3a1f77c90fd8d5c5b0d89889) - only strip kind from joins when it is inner|outer *(PR [#5477](https://github.com/tobymao/sqlglot/pull/5477) by [@themattmorris](https://github.com/themattmorris))*
25
+ - :arrow_lower_right: *fixes issue [#5470](https://github.com/tobymao/sqlglot/issues/5470) opened by [@themattmorris](https://github.com/themattmorris)*
26
+ - [`4f348bd`](https://github.com/tobymao/sqlglot/commit/4f348bddda21b18841fd2d728fe486e95cdaa549) - **bigquery**: store Query schemas in meta dict instead of type attr *(PR [#5480](https://github.com/tobymao/sqlglot/pull/5480) by [@georgesittas](https://github.com/georgesittas))*
27
+
28
+
4
29
  ## [v27.3.1] - 2025-07-24
5
30
  ### :boom: BREAKING CHANGES
6
31
  - due to [`48703c4`](https://github.com/tobymao/sqlglot/commit/48703c4fadd9f24de151a63d1bfa74f4b8e71133) - temporarily move VARCHAR length inference logic to Fabric *(commit by [@georgesittas](https://github.com/georgesittas))*:
@@ -6306,3 +6331,4 @@ Changelog
6306
6331
  [v27.2.0]: https://github.com/tobymao/sqlglot/compare/v27.1.0...v27.2.0
6307
6332
  [v27.3.0]: https://github.com/tobymao/sqlglot/compare/v27.0.1...v27.3.0
6308
6333
  [v27.3.1]: https://github.com/tobymao/sqlglot/compare/v27.3.0...v27.3.1
6334
+ [v27.4.0]: https://github.com/tobymao/sqlglot/compare/v27.3.1...v27.4.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlglot
3
- Version: 27.4.0
3
+ Version: 27.4.1
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 = '27.4.0'
21
- __version_tuple__ = version_tuple = (27, 4, 0)
20
+ __version__ = version = '27.4.1'
21
+ __version_tuple__ = version_tuple = (27, 4, 1)
@@ -378,11 +378,13 @@ def _annotate_array(self: TypeAnnotator, expression: exp.Array) -> exp.Array:
378
378
  and (query_type := select.meta.get("query_type")) is not None
379
379
  and query_type.is_type(exp.DataType.Type.STRUCT)
380
380
  and len(query_type.expressions) == 1
381
+ and isinstance(col_def := query_type.expressions[0], exp.ColumnDef)
382
+ and (projection_type := col_def.kind) is not None
383
+ and not projection_type.is_type(exp.DataType.Type.UNKNOWN)
381
384
  ):
382
- projection_type = query_type.expressions[0].kind.copy()
383
385
  array_type = exp.DataType(
384
386
  this=exp.DataType.Type.ARRAY,
385
- expressions=[projection_type],
387
+ expressions=[projection_type.copy()],
386
388
  nested=True,
387
389
  )
388
390
  return self._annotate_with_type(expression, array_type)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlglot
3
- Version: 27.4.0
3
+ Version: 27.4.1
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
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
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