gitextract_0kn1s5v0/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── scripts/ │ │ ├── get_integration_test_params.py │ │ └── integration_tests_sync.sh │ └── workflows/ │ ├── benchmark-sqlglot.yml │ ├── package-publish.yml │ ├── package-test.yml │ └── run-integration-tests.yml ├── .gitignore ├── .gitmodules ├── .gitpod.yml ├── .pre-commit-config.yaml ├── AGENTS.md ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README.md ├── benchmarks/ │ ├── __init__.py │ ├── compare.py │ ├── optimize.py │ └── parse.py ├── pdoc/ │ ├── cli.py │ └── templates/ │ └── module.html.jinja2 ├── posts/ │ ├── ast_primer.md │ ├── onboarding.md │ ├── python_sql_engine.md │ └── sql_diff.md ├── pyproject.toml ├── setup.cfg ├── setup.py ├── sqlglot/ │ ├── __init__.py │ ├── __main__.py │ ├── _typing.py │ ├── dialects/ │ │ ├── __init__.py │ │ ├── athena.py │ │ ├── bigquery.py │ │ ├── clickhouse.py │ │ ├── databricks.py │ │ ├── dialect.py │ │ ├── doris.py │ │ ├── dremio.py │ │ ├── drill.py │ │ ├── druid.py │ │ ├── duckdb.py │ │ ├── dune.py │ │ ├── exasol.py │ │ ├── fabric.py │ │ ├── hive.py │ │ ├── materialize.py │ │ ├── mysql.py │ │ ├── oracle.py │ │ ├── postgres.py │ │ ├── presto.py │ │ ├── prql.py │ │ ├── redshift.py │ │ ├── risingwave.py │ │ ├── singlestore.py │ │ ├── snowflake.py │ │ ├── solr.py │ │ ├── spark.py │ │ ├── spark2.py │ │ ├── sqlite.py │ │ ├── starrocks.py │ │ ├── tableau.py │ │ ├── teradata.py │ │ ├── trino.py │ │ └── tsql.py │ ├── diff.py │ ├── errors.py │ ├── executor/ │ │ ├── __init__.py │ │ ├── context.py │ │ ├── env.py │ │ ├── python.py │ │ └── table.py │ ├── expressions/ │ │ ├── __init__.py │ │ ├── aggregate.py │ │ ├── array.py │ │ ├── builders.py │ │ ├── constraints.py │ │ ├── core.py │ │ ├── datatypes.py │ │ ├── ddl.py │ │ ├── dml.py │ │ ├── functions.py │ │ ├── json.py │ │ ├── math.py │ │ ├── properties.py │ │ ├── query.py │ │ ├── string.py │ │ └── temporal.py │ ├── generator.py │ ├── helper.py │ ├── jsonpath.py │ ├── lineage.py │ ├── optimizer/ │ │ ├── __init__.py │ │ ├── annotate_types.py │ │ ├── canonicalize.py │ │ ├── eliminate_ctes.py │ │ ├── eliminate_joins.py │ │ ├── eliminate_subqueries.py │ │ ├── isolate_table_selects.py │ │ ├── merge_subqueries.py │ │ ├── normalize.py │ │ ├── normalize_identifiers.py │ │ ├── optimize_joins.py │ │ ├── optimizer.py │ │ ├── pushdown_predicates.py │ │ ├── pushdown_projections.py │ │ ├── qualify.py │ │ ├── qualify_columns.py │ │ ├── qualify_tables.py │ │ ├── resolver.py │ │ ├── scope.py │ │ ├── simplify.py │ │ └── unnest_subqueries.py │ ├── parser.py │ ├── parsers/ │ │ ├── __init__.py │ │ ├── athena.py │ │ ├── base.py │ │ ├── bigquery.py │ │ ├── clickhouse.py │ │ ├── databricks.py │ │ ├── doris.py │ │ ├── dremio.py │ │ ├── drill.py │ │ ├── druid.py │ │ ├── duckdb.py │ │ ├── dune.py │ │ ├── exasol.py │ │ ├── fabric.py │ │ ├── hive.py │ │ ├── materialize.py │ │ ├── mysql.py │ │ ├── oracle.py │ │ ├── postgres.py │ │ ├── presto.py │ │ ├── prql.py │ │ ├── redshift.py │ │ ├── risingwave.py │ │ ├── singlestore.py │ │ ├── snowflake.py │ │ ├── solr.py │ │ ├── spark.py │ │ ├── spark2.py │ │ ├── sqlite.py │ │ ├── starrocks.py │ │ ├── tableau.py │ │ ├── teradata.py │ │ ├── trino.py │ │ └── tsql.py │ ├── planner.py │ ├── py.typed │ ├── schema.py │ ├── serde.py │ ├── time.py │ ├── tokenizer_core.py │ ├── tokens.py │ ├── transforms.py │ ├── trie.py │ └── typing/ │ ├── __init__.py │ ├── bigquery.py │ ├── clickhouse.py │ ├── duckdb.py │ ├── hive.py │ ├── mysql.py │ ├── presto.py │ ├── redshift.py │ ├── snowflake.py │ ├── spark.py │ ├── spark2.py │ └── tsql.py ├── sqlglotc/ │ ├── MANIFEST.in │ ├── pyproject.toml │ └── setup.py └── tests/ ├── __init__.py ├── dialects/ │ ├── __init__.py │ ├── test_athena.py │ ├── test_bigquery.py │ ├── test_clickhouse.py │ ├── test_databricks.py │ ├── test_dialect.py │ ├── test_doris.py │ ├── test_dremio.py │ ├── test_drill.py │ ├── test_druid.py │ ├── test_duckdb.py │ ├── test_dune.py │ ├── test_exasol.py │ ├── test_fabric.py │ ├── test_hive.py │ ├── test_materialize.py │ ├── test_mysql.py │ ├── test_oracle.py │ ├── test_pipe_syntax.py │ ├── test_postgres.py │ ├── test_presto.py │ ├── test_prql.py │ ├── test_redshift.py │ ├── test_risingwave.py │ ├── test_singlestore.py │ ├── test_snowflake.py │ ├── test_solr.py │ ├── test_spark.py │ ├── test_sqlite.py │ ├── test_starrocks.py │ ├── test_tableau.py │ ├── test_teradata.py │ ├── test_trino.py │ └── test_tsql.py ├── fixtures/ │ ├── identity.sql │ ├── jsonpath/ │ │ ├── LICENSE │ │ └── cts.json │ ├── optimizer/ │ │ ├── annotate_functions.sql │ │ ├── annotate_types.sql │ │ ├── canonicalize.sql │ │ ├── eliminate_ctes.sql │ │ ├── eliminate_joins.sql │ │ ├── eliminate_subqueries.sql │ │ ├── isolate_table_selects.sql │ │ ├── merge_subqueries.sql │ │ ├── normalize.sql │ │ ├── normalize_identifiers.sql │ │ ├── optimize_joins.sql │ │ ├── optimizer.sql │ │ ├── pushdown_cte_alias_columns.sql │ │ ├── pushdown_predicates.sql │ │ ├── pushdown_projections.sql │ │ ├── qualify_columns.sql │ │ ├── qualify_columns__invalid.sql │ │ ├── qualify_columns__with_invisible.sql │ │ ├── qualify_columns_ddl.sql │ │ ├── qualify_tables.sql │ │ ├── quote_identifiers.sql │ │ ├── simplify.sql │ │ ├── tpc-ds/ │ │ │ └── tpc-ds.sql │ │ ├── tpc-h/ │ │ │ └── tpc-h.sql │ │ └── unnest_subqueries.sql │ ├── partial.sql │ └── pretty.sql ├── gen_fixtures.py ├── helpers.py ├── test_build.py ├── test_dialect_entry_points.py ├── test_dialect_imports.py ├── test_diff.py ├── test_docs.py ├── test_errors.py ├── test_executor.py ├── test_expressions.py ├── test_generator.py ├── test_helper.py ├── test_integration_loader.py ├── test_jsonpath.py ├── test_lineage.py ├── test_optimizer.py ├── test_parser.py ├── test_schema.py ├── test_serde.py ├── test_time.py ├── test_tokens.py ├── test_transforms.py └── test_transpile.py