sqlglot 30.4.2__tar.gz → 30.4.3__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.
- {sqlglot-30.4.2 → sqlglot-30.4.3}/CHANGELOG.md +6 -0
- {sqlglot-30.4.2/sqlglot.egg-info → sqlglot-30.4.3}/PKG-INFO +3 -3
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/_version.py +3 -3
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/snowflake.py +1 -1
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/snowflake.py +15 -9
- {sqlglot-30.4.2 → sqlglot-30.4.3/sqlglot.egg-info}/PKG-INFO +3 -3
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot.egg-info/requires.txt +2 -2
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_snowflake.py +10 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/.gitignore +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/.gitmodules +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/.gitpod.yml +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/.pre-commit-config.yaml +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/AGENTS.md +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/CLAUDE.md +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/CONTRIBUTING.md +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/LICENSE +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/MANIFEST.in +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/Makefile +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/README.md +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/pyproject.toml +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/setup.cfg +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/setup.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/__init__.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/__main__.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/_typing.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/__init__.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/athena.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/bigquery.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/clickhouse.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/databricks.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/dialect.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/doris.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/dremio.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/drill.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/druid.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/duckdb.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/dune.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/exasol.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/fabric.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/hive.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/materialize.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/mysql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/oracle.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/postgres.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/presto.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/prql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/redshift.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/risingwave.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/singlestore.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/snowflake.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/solr.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/spark.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/spark2.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/sqlite.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/starrocks.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/tableau.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/teradata.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/trino.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/dialects/tsql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/diff.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/errors.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/executor/__init__.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/executor/context.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/executor/env.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/executor/python.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/executor/table.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/__init__.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/aggregate.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/array.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/builders.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/constraints.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/core.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/datatypes.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/ddl.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/dml.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/functions.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/json.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/math.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/properties.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/query.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/string.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/expressions/temporal.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generator.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/__init__.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/athena.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/bigquery.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/clickhouse.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/databricks.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/doris.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/dremio.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/drill.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/druid.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/duckdb.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/dune.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/exasol.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/fabric.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/hive.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/materialize.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/mysql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/oracle.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/postgres.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/presto.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/prql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/redshift.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/risingwave.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/singlestore.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/solr.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/spark.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/spark2.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/sqlite.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/starrocks.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/tableau.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/teradata.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/trino.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/generators/tsql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/helper.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/jsonpath.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/lineage.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/__init__.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/annotate_types.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/canonicalize.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/eliminate_ctes.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/eliminate_joins.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/eliminate_subqueries.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/isolate_table_selects.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/merge_subqueries.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/normalize.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/normalize_identifiers.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/optimize_joins.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/optimizer.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/pushdown_predicates.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/pushdown_projections.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/qualify.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/qualify_columns.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/qualify_tables.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/resolver.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/scope.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/simplify.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/optimizer/unnest_subqueries.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parser.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/__init__.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/athena.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/base.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/bigquery.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/clickhouse.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/databricks.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/doris.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/dremio.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/drill.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/druid.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/duckdb.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/dune.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/exasol.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/fabric.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/hive.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/materialize.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/mysql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/oracle.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/postgres.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/presto.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/prql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/redshift.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/risingwave.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/singlestore.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/solr.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/spark.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/spark2.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/sqlite.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/starrocks.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/tableau.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/teradata.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/trino.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/parsers/tsql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/planner.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/py.typed +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/schema.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/serde.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/time.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/tokenizer_core.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/tokens.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/transforms.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/trie.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/typing/__init__.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/typing/bigquery.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/typing/clickhouse.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/typing/duckdb.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/typing/hive.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/typing/mysql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/typing/presto.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/typing/redshift.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/typing/snowflake.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/typing/spark.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/typing/spark2.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot/typing/tsql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot.egg-info/SOURCES.txt +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot.egg-info/dependency_links.txt +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot.egg-info/top_level.txt +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglot.png +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglotc/MANIFEST.in +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglotc/pyproject.toml +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/sqlglotc/setup.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/__init__.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/__init__.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_athena.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_bigquery.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_clickhouse.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_databricks.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_dialect.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_doris.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_dremio.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_drill.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_druid.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_duckdb.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_dune.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_exasol.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_fabric.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_hive.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_materialize.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_mysql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_oracle.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_pipe_syntax.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_postgres.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_presto.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_prql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_redshift.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_risingwave.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_singlestore.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_solr.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_spark.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_sqlite.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_starrocks.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_tableau.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_teradata.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_trino.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/dialects/test_tsql.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/identity.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/jsonpath/LICENSE +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/jsonpath/cts.json +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/annotate_functions.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/annotate_types.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/canonicalize.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/eliminate_ctes.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/eliminate_joins.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/eliminate_subqueries.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/isolate_table_selects.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/merge_subqueries.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/normalize.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/normalize_identifiers.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/optimize_joins.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/optimizer.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/pushdown_cte_alias_columns.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/pushdown_predicates.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/pushdown_projections.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/qualify_columns.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/qualify_columns__invalid.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/qualify_columns__with_invisible.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/qualify_columns_ddl.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/qualify_tables.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/quote_identifiers.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/simplify.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/call_center.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/catalog_page.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/catalog_returns.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/catalog_sales.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/customer.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/customer_address.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/date_dim.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/household_demographics.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/income_band.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/inventory.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/item.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/promotion.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/reason.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/ship_mode.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/store.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/store_returns.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/store_sales.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/time_dim.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/tpc-ds.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/warehouse.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/web_page.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/web_returns.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/web_sales.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-ds/web_site.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-h/customer.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-h/lineitem.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-h/nation.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-h/orders.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-h/part.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-h/partsupp.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-h/region.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-h/supplier.csv.gz +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/tpc-h/tpc-h.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/optimizer/unnest_subqueries.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/partial.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/fixtures/pretty.sql +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/gen_fixtures.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/helpers.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/sqlglot/__init__.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_build.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_dialect_entry_points.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_dialect_imports.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_diff.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_docs.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_errors.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_executor.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_expressions.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_generator.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_helper.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_integration_loader.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_jsonpath.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_lineage.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_optimizer.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_parser.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_schema.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_serde.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_time.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_tokens.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_transforms.py +0 -0
- {sqlglot-30.4.2 → sqlglot-30.4.3}/tests/test_transpile.py +0 -0
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
## [v30.4.2] - 2026-04-08
|
|
5
|
+
### :bug: Bug Fixes
|
|
6
|
+
- [`d04595e`](https://github.com/tobymao/sqlglot/commit/d04595e1ba91a778e4b76f3f84dcb41649594e32) - incomplete `ColumnMapping` type hint *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
7
|
+
|
|
8
|
+
|
|
4
9
|
## [v30.4.0] - 2026-04-08
|
|
5
10
|
### :sparkles: New Features
|
|
6
11
|
- [`24ff8bb`](https://github.com/tobymao/sqlglot/commit/24ff8bb6c1d94a03f6611d4353e210108c25a6a6) - **duckdb**: Add transpilation support for COLLATE function *(PR [#7461](https://github.com/tobymao/sqlglot/pull/7461) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
@@ -14137,3 +14142,4 @@ pip install "sqlglot[c]" # compiled — faster, but no subclassing
|
|
|
14137
14142
|
[v30.2.1]: https://github.com/tobymao/sqlglot/compare/v30.2.0...v30.2.1
|
|
14138
14143
|
[v30.3.0]: https://github.com/tobymao/sqlglot/compare/v30.2.1...v30.3.0
|
|
14139
14144
|
[v30.4.0]: https://github.com/tobymao/sqlglot/compare/v30.3.0...v30.4.0
|
|
14145
|
+
[v30.4.2]: https://github.com/tobymao/sqlglot/compare/v30.4.1...v30.4.2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sqlglot
|
|
3
|
-
Version: 30.4.
|
|
3
|
+
Version: 30.4.3
|
|
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,10 +33,10 @@ Requires-Dist: types-pytz; extra == "dev"
|
|
|
33
33
|
Requires-Dist: typing_extensions; extra == "dev"
|
|
34
34
|
Requires-Dist: pyperf; extra == "dev"
|
|
35
35
|
Provides-Extra: c
|
|
36
|
-
Requires-Dist: sqlglotc==30.4.
|
|
36
|
+
Requires-Dist: sqlglotc==30.4.3; extra == "c"
|
|
37
37
|
Provides-Extra: rs
|
|
38
38
|
Requires-Dist: sqlglotrs==0.13.0; extra == "rs"
|
|
39
|
-
Requires-Dist: sqlglotc==30.4.
|
|
39
|
+
Requires-Dist: sqlglotc==30.4.3; extra == "rs"
|
|
40
40
|
Dynamic: license-file
|
|
41
41
|
Dynamic: provides-extra
|
|
42
42
|
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '30.4.
|
|
22
|
-
__version_tuple__ = version_tuple = (30, 4,
|
|
21
|
+
__version__ = version = '30.4.3'
|
|
22
|
+
__version_tuple__ = version_tuple = (30, 4, 3)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g713e95fb9'
|
|
@@ -863,7 +863,7 @@ class SnowflakeGenerator(generator.Generator):
|
|
|
863
863
|
def rowaccessproperty_sql(self, expression: exp.RowAccessProperty) -> str:
|
|
864
864
|
if not expression.this:
|
|
865
865
|
return "ROW ACCESS"
|
|
866
|
-
on = f" ON ({self.expressions(expression, flat=True)})"
|
|
866
|
+
on = f" ON ({self.expressions(expression, flat=True)})" if expression.expressions else ""
|
|
867
867
|
return f"WITH ROW ACCESS POLICY {self.sql(expression, 'this')}{on}"
|
|
868
868
|
|
|
869
869
|
def describe_sql(self, expression: exp.Describe) -> str:
|
|
@@ -978,15 +978,21 @@ class SnowflakeParser(parser.Parser):
|
|
|
978
978
|
return super()._parse_with_property()
|
|
979
979
|
|
|
980
980
|
def _parse_row_access_policy(self) -> exp.RowAccessProperty:
|
|
981
|
-
policy
|
|
982
|
-
if
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
)
|
|
989
|
-
|
|
981
|
+
# GET_DDL outputs #unknown_policy when the user lacks privileges to see the policy name
|
|
982
|
+
if self._match(TokenType.HASH):
|
|
983
|
+
policy: exp.Expr | None = self._parse_var(any_token=True)
|
|
984
|
+
if policy:
|
|
985
|
+
policy = exp.Var(this=f"#{policy.name}")
|
|
986
|
+
expressions = None
|
|
987
|
+
else:
|
|
988
|
+
policy = self._parse_column()
|
|
989
|
+
if isinstance(policy, exp.Column):
|
|
990
|
+
policy = policy.to_dot()
|
|
991
|
+
if not self._match(TokenType.ON):
|
|
992
|
+
self.raise_error("Expected ON after ROW ACCESS POLICY name")
|
|
993
|
+
expressions = self._parse_wrapped_csv(self._parse_id_var)
|
|
994
|
+
|
|
995
|
+
return self.expression(exp.RowAccessProperty(this=policy, expressions=expressions))
|
|
990
996
|
|
|
991
997
|
def _parse_create(self) -> exp.Create | exp.Command:
|
|
992
998
|
expression = super()._parse_create()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sqlglot
|
|
3
|
-
Version: 30.4.
|
|
3
|
+
Version: 30.4.3
|
|
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,10 +33,10 @@ Requires-Dist: types-pytz; extra == "dev"
|
|
|
33
33
|
Requires-Dist: typing_extensions; extra == "dev"
|
|
34
34
|
Requires-Dist: pyperf; extra == "dev"
|
|
35
35
|
Provides-Extra: c
|
|
36
|
-
Requires-Dist: sqlglotc==30.4.
|
|
36
|
+
Requires-Dist: sqlglotc==30.4.3; extra == "c"
|
|
37
37
|
Provides-Extra: rs
|
|
38
38
|
Requires-Dist: sqlglotrs==0.13.0; extra == "rs"
|
|
39
|
-
Requires-Dist: sqlglotc==30.4.
|
|
39
|
+
Requires-Dist: sqlglotc==30.4.3; extra == "rs"
|
|
40
40
|
Dynamic: license-file
|
|
41
41
|
Dynamic: provides-extra
|
|
42
42
|
|
|
@@ -5973,6 +5973,16 @@ SINGLE = TRUE""",
|
|
|
5973
5973
|
"CREATE VIEW v WITH ROW ACCESS POLICY p AS SELECT 1",
|
|
5974
5974
|
dialect="snowflake",
|
|
5975
5975
|
)
|
|
5976
|
+
self.validate_identity(
|
|
5977
|
+
"CREATE VIEW v WITH ROW ACCESS POLICY #unknown_policy AS SELECT 1",
|
|
5978
|
+
)
|
|
5979
|
+
self.assertEqual(
|
|
5980
|
+
parse_one(
|
|
5981
|
+
"CREATE VIEW v WITH ROW ACCESS POLICY #unknown_policy AS SELECT 1",
|
|
5982
|
+
dialect="snowflake",
|
|
5983
|
+
).sql(dialect="snowflake", identify=True),
|
|
5984
|
+
'CREATE VIEW "v" WITH ROW ACCESS POLICY #unknown_policy AS SELECT 1',
|
|
5985
|
+
)
|
|
5976
5986
|
|
|
5977
5987
|
def test_semantic_view(self):
|
|
5978
5988
|
for dimensions, metrics, where, facts in [
|
|
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
|
|
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
|
|
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
|
|
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
|