polyglot-sql 0.2.3__tar.gz → 0.3.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 (161) hide show
  1. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/Cargo.lock +5 -5
  2. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/Cargo.toml +1 -1
  3. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/PKG-INFO +1 -1
  4. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/Cargo.toml +1 -1
  5. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/README.md +25 -0
  6. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/bigquery.rs +1 -1
  7. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/duckdb.rs +1 -1
  8. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/mod.rs +152 -83
  9. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/mysql.rs +1 -1
  10. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/postgres.rs +1 -1
  11. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/snowflake.rs +1 -1
  12. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/tsql.rs +3 -3
  13. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/expressions.rs +32 -0
  14. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/generator.rs +74 -0
  15. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/lib.rs +84 -34
  16. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/parser.rs +244 -12
  17. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/transforms.rs +2 -2
  18. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/traversal.rs +2 -0
  19. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/common/test_runner.rs +2 -2
  20. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/dialect_matrix.rs +3 -3
  21. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/error_handling.rs +3 -3
  22. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/sqlglot_compat.rs +1 -1
  23. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/expr_types.rs +1 -0
  24. polyglot_sql-0.3.0/crates/polyglot-sql-python/src/transpile.rs +42 -0
  25. polyglot_sql-0.2.3/crates/polyglot-sql-python/src/transpile.rs +0 -60
  26. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/README.md +0 -0
  27. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/benches/in_list.rs +0 -0
  28. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/benches/parsing.rs +0 -0
  29. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/benches/rust_parsing.rs +0 -0
  30. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/benches/transpile.rs +0 -0
  31. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/examples/basic_usage.rs +0 -0
  32. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/examples/bench_json.rs +0 -0
  33. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/ast_transforms.rs +0 -0
  34. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/builder.rs +0 -0
  35. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/athena.rs +0 -0
  36. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/clickhouse.rs +0 -0
  37. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/cockroachdb.rs +0 -0
  38. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/databricks.rs +0 -0
  39. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/datafusion.rs +0 -0
  40. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/doris.rs +0 -0
  41. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/dremio.rs +0 -0
  42. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/drill.rs +0 -0
  43. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/druid.rs +0 -0
  44. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/dune.rs +0 -0
  45. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/exasol.rs +0 -0
  46. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/fabric.rs +0 -0
  47. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/generic.rs +0 -0
  48. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/hive.rs +0 -0
  49. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/materialize.rs +0 -0
  50. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/oracle.rs +0 -0
  51. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/presto.rs +0 -0
  52. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/redshift.rs +0 -0
  53. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/risingwave.rs +0 -0
  54. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/singlestore.rs +0 -0
  55. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/solr.rs +0 -0
  56. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/spark.rs +0 -0
  57. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/sqlite.rs +0 -0
  58. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/starrocks.rs +0 -0
  59. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/tableau.rs +0 -0
  60. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/teradata.rs +0 -0
  61. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/tidb.rs +0 -0
  62. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/dialects/trino.rs +0 -0
  63. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/diff.rs +0 -0
  64. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/error.rs +0 -0
  65. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/function_catalog.rs +0 -0
  66. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/function_registry.rs +0 -0
  67. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/helper.rs +0 -0
  68. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/lineage.rs +0 -0
  69. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/annotate_types.rs +0 -0
  70. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/canonicalize.rs +0 -0
  71. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/eliminate_ctes.rs +0 -0
  72. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/eliminate_joins.rs +0 -0
  73. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/isolate_table_selects.rs +0 -0
  74. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/mod.rs +0 -0
  75. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/normalize.rs +0 -0
  76. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/normalize_identifiers.rs +0 -0
  77. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/optimize_joins.rs +0 -0
  78. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/optimizer.rs +0 -0
  79. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/pushdown_predicates.rs +0 -0
  80. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/pushdown_projections.rs +0 -0
  81. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/qualify_columns.rs +0 -0
  82. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/qualify_tables.rs +0 -0
  83. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/simplify.rs +0 -0
  84. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/optimizer/subquery.rs +0 -0
  85. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/planner.rs +0 -0
  86. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/resolver.rs +0 -0
  87. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/schema.rs +0 -0
  88. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/scope.rs +0 -0
  89. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/time.rs +0 -0
  90. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/tokens.rs +0 -0
  91. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/trie.rs +0 -0
  92. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/validation/tests.rs +0 -0
  93. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/src/validation.rs +0 -0
  94. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/analyze_failures.rs +0 -0
  95. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/common/known_failures.rs +0 -0
  96. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/common/mod.rs +0 -0
  97. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/common/test_data.rs +0 -0
  98. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/custom_clickhouse_coverage.rs +0 -0
  99. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/custom_clickhouse_parser.rs +0 -0
  100. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/custom_dialect.rs +0 -0
  101. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/custom_dialect_tests.rs +0 -0
  102. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/custom_fixtures/datafusion/ddl.json +0 -0
  103. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/custom_fixtures/datafusion/dml.json +0 -0
  104. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/custom_fixtures/datafusion/functions.json +0 -0
  105. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/custom_fixtures/datafusion/identity.json +0 -0
  106. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/custom_fixtures/datafusion/operators.json +0 -0
  107. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/custom_fixtures/datafusion/select.json +0 -0
  108. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/custom_fixtures/datafusion/transpilation.json +0 -0
  109. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/custom_fixtures/datafusion/types.json +0 -0
  110. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/identity_roundtrip.rs +0 -0
  111. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/sqlglot_dialect_identity.rs +0 -0
  112. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/sqlglot_identity.rs +0 -0
  113. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/sqlglot_identity_detailed.rs +0 -0
  114. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/sqlglot_parser.rs +0 -0
  115. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/sqlglot_pretty.rs +0 -0
  116. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/sqlglot_transpilation.rs +0 -0
  117. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql/tests/sqlglot_transpile.rs +0 -0
  118. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-function-catalogs/Cargo.toml +0 -0
  119. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-function-catalogs/README.md +0 -0
  120. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-function-catalogs/src/clickhouse.rs +0 -0
  121. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-function-catalogs/src/duckdb.rs +0 -0
  122. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-function-catalogs/src/lib.rs +0 -0
  123. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-function-catalogs/tools/clickhouse/extract_functions.py +0 -0
  124. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-function-catalogs/tools/duckdb/extract_functions.py +0 -0
  125. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/Cargo.toml +0 -0
  126. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/README.md +0 -0
  127. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/docs/api.md +0 -0
  128. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/docs/index.md +0 -0
  129. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/mkdocs.yml +0 -0
  130. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/annotate_types.rs +0 -0
  131. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/dialects.rs +0 -0
  132. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/diff.rs +0 -0
  133. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/errors.rs +0 -0
  134. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/expr.rs +0 -0
  135. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/format.rs +0 -0
  136. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/generate.rs +0 -0
  137. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/helpers.rs +0 -0
  138. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/lib.rs +0 -0
  139. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/lineage.rs +0 -0
  140. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/optimize.rs +0 -0
  141. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/parse.rs +0 -0
  142. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/tokenize.rs +0 -0
  143. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/types.rs +0 -0
  144. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/src/validate.rs +0 -0
  145. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/tests/conftest.py +0 -0
  146. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/tests/test_compat.py +0 -0
  147. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/tests/test_dialects.py +0 -0
  148. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/tests/test_diff.py +0 -0
  149. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/tests/test_expression.py +0 -0
  150. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/tests/test_format.py +0 -0
  151. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/tests/test_generate.py +0 -0
  152. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/tests/test_lineage.py +0 -0
  153. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/tests/test_optimize.py +0 -0
  154. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/tests/test_parse.py +0 -0
  155. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/tests/test_transpile.py +0 -0
  156. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/tests/test_validate.py +0 -0
  157. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/crates/polyglot-sql-python/uv.lock +0 -0
  158. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/pyproject.toml +0 -0
  159. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/python/polyglot_sql/__init__.py +0 -0
  160. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/python/polyglot_sql/__init__.pyi +0 -0
  161. {polyglot_sql-0.2.3 → polyglot_sql-0.3.0}/python/polyglot_sql/py.typed +0 -0
@@ -587,7 +587,7 @@ dependencies = [
587
587
 
588
588
  [[package]]
589
589
  name = "polyglot-sql"
590
- version = "0.2.3"
590
+ version = "0.3.0"
591
591
  dependencies = [
592
592
  "criterion",
593
593
  "once_cell",
@@ -602,7 +602,7 @@ dependencies = [
602
602
 
603
603
  [[package]]
604
604
  name = "polyglot-sql-ffi"
605
- version = "0.2.3"
605
+ version = "0.3.0"
606
606
  dependencies = [
607
607
  "cbindgen",
608
608
  "polyglot-sql",
@@ -612,11 +612,11 @@ dependencies = [
612
612
 
613
613
  [[package]]
614
614
  name = "polyglot-sql-function-catalogs"
615
- version = "0.2.3"
615
+ version = "0.3.0"
616
616
 
617
617
  [[package]]
618
618
  name = "polyglot-sql-python"
619
- version = "0.2.3"
619
+ version = "0.3.0"
620
620
  dependencies = [
621
621
  "polyglot-sql",
622
622
  "pyo3",
@@ -627,7 +627,7 @@ dependencies = [
627
627
 
628
628
  [[package]]
629
629
  name = "polyglot-sql-wasm"
630
- version = "0.2.3"
630
+ version = "0.3.0"
631
631
  dependencies = [
632
632
  "console_error_panic_hook",
633
633
  "js-sys",
@@ -6,7 +6,7 @@ exclude = [
6
6
  ]
7
7
 
8
8
  [workspace.package]
9
- version = "0.2.3"
9
+ version = "0.3.0"
10
10
  edition = "2021"
11
11
  license = "MIT"
12
12
  authors = ["polyglot contributors"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polyglot-sql
3
- Version: 0.2.3
3
+ Version: 0.3.0
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -78,7 +78,7 @@ serde_json = { workspace = true }
78
78
  thiserror = { workspace = true }
79
79
  unicode-segmentation = { workspace = true }
80
80
  ts-rs = { version = "12.0", features = ["serde-compat"], optional = true }
81
- polyglot-sql-function-catalogs = { path = "../polyglot-sql-function-catalogs", version = "0.2.3", optional = true, default-features = false }
81
+ polyglot-sql-function-catalogs = { path = "../polyglot-sql-function-catalogs", version = "0.3.0", optional = true, default-features = false }
82
82
 
83
83
  [dev-dependencies]
84
84
  pretty_assertions = "1.4"
@@ -30,6 +30,31 @@ let result = transpile(
30
30
  assert_eq!(result[0], "SELECT COALESCE(a, b) FROM t");
31
31
  ```
32
32
 
33
+ You can also transpile through a `Dialect` handle directly — useful when you
34
+ already hold one (e.g., for custom dialects) or need pretty-printed output:
35
+
36
+ ```rust
37
+ use polyglot_sql::{Dialect, DialectType, TranspileOptions};
38
+
39
+ let mysql = Dialect::get(DialectType::MySQL);
40
+
41
+ // Built-in target via DialectType
42
+ let plain = mysql.transpile("SELECT IFNULL(a, b) FROM t", DialectType::Postgres).unwrap();
43
+
44
+ // Pretty-printed output via TranspileOptions
45
+ let pretty = mysql
46
+ .transpile_with(
47
+ "SELECT IFNULL(a, b) FROM t",
48
+ DialectType::Postgres,
49
+ TranspileOptions::pretty(),
50
+ )
51
+ .unwrap();
52
+
53
+ // Target a custom (or built-in) Dialect handle directly
54
+ let pg = Dialect::get(DialectType::Postgres);
55
+ let via_handle = mysql.transpile("SELECT IFNULL(a, b) FROM t", &pg).unwrap();
56
+ ```
57
+
33
58
  ### Parse + Generate
34
59
 
35
60
  ```rust
@@ -1495,7 +1495,7 @@ mod tests {
1495
1495
  fn transpile_to_bigquery(sql: &str) -> String {
1496
1496
  let dialect = Dialect::get(DialectType::Generic);
1497
1497
  let result = dialect
1498
- .transpile_to(sql, DialectType::BigQuery)
1498
+ .transpile(sql, DialectType::BigQuery)
1499
1499
  .expect("Transpile failed");
1500
1500
  result[0].clone()
1501
1501
  }
@@ -7471,7 +7471,7 @@ mod tests {
7471
7471
  fn transpile_to_duckdb(sql: &str) -> String {
7472
7472
  let dialect = Dialect::get(DialectType::Generic);
7473
7473
  let result = dialect
7474
- .transpile_to(sql, DialectType::DuckDB)
7474
+ .transpile(sql, DialectType::DuckDB)
7475
7475
  .expect("Transpile failed");
7476
7476
  result[0].clone()
7477
7477
  }