sqlframe 3.10.0__tar.gz → 3.11.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.
- {sqlframe-3.10.0 → sqlframe-3.11.0}/PKG-INFO +1 -1
- {sqlframe-3.10.0 → sqlframe-3.11.0}/setup.py +3 -3
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/_version.py +2 -2
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/column.py +11 -8
- sqlframe-3.11.0/sqlframe/base/decorators.py +54 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/function_alternatives.py +445 -404
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/functions.py +1100 -73
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/session.py +34 -2
- sqlframe-3.11.0/sqlframe/bigquery/functions.py +17 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/bigquery/functions.pyi +63 -156
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/bigquery/session.py +4 -0
- sqlframe-3.11.0/sqlframe/databricks/functions.py +13 -0
- sqlframe-3.11.0/sqlframe/databricks/functions.pyi +408 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/databricks/session.py +4 -0
- sqlframe-3.11.0/sqlframe/duckdb/functions.py +17 -0
- sqlframe-3.11.0/sqlframe/duckdb/functions.pyi +219 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/duckdb/session.py +4 -0
- sqlframe-3.11.0/sqlframe/postgres/functions.py +15 -0
- sqlframe-3.11.0/sqlframe/postgres/functions.pyi +197 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/postgres/session.py +4 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/redshift/functions.py +1 -4
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/redshift/session.py +4 -0
- sqlframe-3.11.0/sqlframe/snowflake/functions.py +15 -0
- sqlframe-3.11.0/sqlframe/snowflake/functions.pyi +224 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/snowflake/session.py +4 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/spark/functions.py +0 -9
- sqlframe-3.11.0/sqlframe/spark/functions.pyi +414 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/spark/session.py +4 -0
- sqlframe-3.11.0/sqlframe/standalone/functions.py +1 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/standalone/session.py +4 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe.egg-info/PKG-INFO +1 -1
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe.egg-info/SOURCES.txt +1 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe.egg-info/requires.txt +3 -3
- sqlframe-3.11.0/tests/fixtures/issue_219.csv +10 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/duck/test_duckdb_reader.py +13 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/test_int_functions.py +3 -1
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/standalone/test_column.py +11 -9
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/standalone/test_functions.py +402 -400
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/standalone/test_session.py +1 -1
- sqlframe-3.10.0/sqlframe/base/decorators.py +0 -15
- sqlframe-3.10.0/sqlframe/bigquery/functions.py +0 -377
- sqlframe-3.10.0/sqlframe/databricks/functions.py +0 -23
- sqlframe-3.10.0/sqlframe/databricks/functions.pyi +0 -416
- sqlframe-3.10.0/sqlframe/duckdb/functions.py +0 -57
- sqlframe-3.10.0/sqlframe/duckdb/functions.pyi +0 -216
- sqlframe-3.10.0/sqlframe/postgres/functions.py +0 -74
- sqlframe-3.10.0/sqlframe/postgres/functions.pyi +0 -196
- sqlframe-3.10.0/sqlframe/snowflake/functions.py +0 -69
- sqlframe-3.10.0/sqlframe/snowflake/functions.pyi +0 -220
- sqlframe-3.10.0/sqlframe/spark/functions.pyi +0 -416
- sqlframe-3.10.0/sqlframe/standalone/functions.py +0 -1
- {sqlframe-3.10.0 → sqlframe-3.11.0}/.github/CODEOWNERS +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/.github/workflows/main.workflow.yaml +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/.github/workflows/publish.workflow.yaml +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/.gitignore +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/.pre-commit-config.yaml +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/.readthedocs.yaml +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/LICENSE +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/Makefile +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/README.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/blogs/add_chatgpt_support.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/blogs/images/but_wait_theres_more.gif +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/blogs/images/cake.gif +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/blogs/images/you_get_pyspark_api.gif +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/blogs/sqlframe_universal_dataframe_api.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/bigquery.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/configuration.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/databricks.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/docs/bigquery.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/docs/duckdb.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/docs/images/SF.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/docs/images/favicon.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/docs/images/favicon_old.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/docs/postgres.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/duckdb.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/images/SF.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/images/favicon.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/images/favicon_old.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/index.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/postgres.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/redshift.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/requirements.txt +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/snowflake.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/spark.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/standalone.md +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/docs/stylesheets/extra.css +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/mkdocs.yml +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/pytest.ini +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/renovate.json +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/setup.cfg +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/LICENSE +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/_typing.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/exceptions.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/group.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/mixins/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/mixins/catalog_mixins.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/normalize.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/operations.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/readerwriter.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/transforms.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/types.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/udf.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/util.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/base/window.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/bigquery/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/bigquery/catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/bigquery/column.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/bigquery/dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/bigquery/group.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/bigquery/readwriter.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/bigquery/types.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/bigquery/udf.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/bigquery/window.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/databricks/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/databricks/catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/databricks/column.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/databricks/dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/databricks/group.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/databricks/readwriter.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/databricks/types.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/databricks/udf.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/databricks/window.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/duckdb/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/duckdb/catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/duckdb/column.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/duckdb/dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/duckdb/group.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/duckdb/readwriter.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/duckdb/types.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/duckdb/udf.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/duckdb/window.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/postgres/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/postgres/catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/postgres/column.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/postgres/dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/postgres/group.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/postgres/readwriter.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/postgres/types.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/postgres/udf.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/postgres/window.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/redshift/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/redshift/catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/redshift/column.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/redshift/dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/redshift/group.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/redshift/readwriter.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/redshift/types.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/redshift/udf.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/redshift/window.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/snowflake/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/snowflake/catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/snowflake/column.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/snowflake/dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/snowflake/group.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/snowflake/readwriter.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/snowflake/types.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/snowflake/udf.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/snowflake/window.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/spark/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/spark/catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/spark/column.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/spark/dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/spark/group.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/spark/readwriter.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/spark/types.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/spark/udf.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/spark/window.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/standalone/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/standalone/catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/standalone/column.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/standalone/dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/standalone/group.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/standalone/readwriter.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/standalone/types.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/standalone/udf.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/standalone/window.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/testing/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe/testing/utils.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe.egg-info/dependency_links.txt +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/sqlframe.egg-info/top_level.txt +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/common_fixtures.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/conftest.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee.csv +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee.json +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee.parquet +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/employee_extra_line.csv +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds1.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds10.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds11.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds12.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds13.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds14.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds15.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds16.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds17.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds18.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds19.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds2.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds20.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds21.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds22.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds23.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds24.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds25.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds26.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds27.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds28.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds29.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds3.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds30.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds31.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds32.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds33.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds34.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds35.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds36.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds37.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds38.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds39.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds4.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds40.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds41.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds42.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds43.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds44.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds45.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds46.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds47.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds48.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds49.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds5.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds50.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds51.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds52.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds53.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds54.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds55.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds56.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds57.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds58.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds59.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds6.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds60.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds61.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds62.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds63.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds64.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds65.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds66.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds67.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds68.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds69.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds7.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds70.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds71.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds72.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds73.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds74.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds75.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds76.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds77.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds78.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds79.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds8.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds80.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds81.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds82.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds83.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds84.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds85.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds86.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds87.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds88.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds89.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds9.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds90.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds91.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds92.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds93.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds94.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds95.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds96.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds97.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds98.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/fixtures/tpcds/tpcds99.sql +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/bigquery/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/databricks/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/databricks/test_databricks_catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/databricks/test_databricks_dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/databricks/test_databricks_session.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/duck/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/duck/test_duckdb_catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/duck/test_duckdb_dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/duck/test_tpcds.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/postgres/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/redshift/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/snowflake/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/spark/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/test_engine_column.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/test_engine_dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/test_engine_reader.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/test_engine_session.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/test_engine_writer.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/engines/test_int_testing.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/fixtures.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/test_int_dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/test_int_dataframe_stats.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/test_int_grouped_data.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/integration/test_int_session.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/types.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/bigquery/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/bigquery/test_activate.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/conftest.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/databricks/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/databricks/test_activate.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/duck/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/duck/test_activate.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/postgres/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/postgres/test_activate.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/redshift/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/redshift/test_activate.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/snowflake/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/snowflake/test_activate.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/spark/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/spark/test_activate.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/standalone/__init__.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/standalone/fixtures.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/standalone/test_activate.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/standalone/test_dataframe.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/standalone/test_dataframe_writer.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/standalone/test_types.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/standalone/test_window.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/test_activate.py +0 -0
- {sqlframe-3.10.0 → sqlframe-3.11.0}/tests/unit/test_util.py +0 -0
|
@@ -31,8 +31,8 @@ setup(
|
|
|
31
31
|
"dev": [
|
|
32
32
|
"duckdb>=0.9,<1.2",
|
|
33
33
|
"findspark>=2,<3",
|
|
34
|
-
"mypy>=1.10.0,<1.
|
|
35
|
-
"openai>=1.30,<1.
|
|
34
|
+
"mypy>=1.10.0,<1.15",
|
|
35
|
+
"openai>=1.30,<1.59",
|
|
36
36
|
"pandas>=2,<3",
|
|
37
37
|
"pandas-stubs>=2,<3",
|
|
38
38
|
"psycopg>=3.1,<4",
|
|
@@ -59,7 +59,7 @@ setup(
|
|
|
59
59
|
"pandas>=2,<3",
|
|
60
60
|
],
|
|
61
61
|
"openai": [
|
|
62
|
-
"openai>=1.30,<1.
|
|
62
|
+
"openai>=1.30,<1.59",
|
|
63
63
|
],
|
|
64
64
|
"pandas": [
|
|
65
65
|
"pandas>=2,<3",
|
|
@@ -9,6 +9,7 @@ import typing as t
|
|
|
9
9
|
import sqlglot
|
|
10
10
|
from sqlglot import Dialect
|
|
11
11
|
from sqlglot import expressions as exp
|
|
12
|
+
from sqlglot.expressions import paren
|
|
12
13
|
from sqlglot.helper import flatten, is_iterable
|
|
13
14
|
from sqlglot.optimizer.normalize_identifiers import normalize_identifiers
|
|
14
15
|
|
|
@@ -63,10 +64,10 @@ class Column:
|
|
|
63
64
|
return self.binary_op(exp.LTE, other)
|
|
64
65
|
|
|
65
66
|
def __and__(self, other: ColumnOrLiteral) -> Column:
|
|
66
|
-
return self.binary_op(exp.And, other)
|
|
67
|
+
return self.binary_op(exp.And, other, paren=True)
|
|
67
68
|
|
|
68
69
|
def __or__(self, other: ColumnOrLiteral) -> Column:
|
|
69
|
-
return self.binary_op(exp.Or, other)
|
|
70
|
+
return self.binary_op(exp.Or, other, paren=True)
|
|
70
71
|
|
|
71
72
|
def __mod__(self, other: ColumnOrLiteral) -> Column:
|
|
72
73
|
return self.binary_op(exp.Mod, other, paren=True)
|
|
@@ -181,7 +182,7 @@ class Column:
|
|
|
181
182
|
) -> Column:
|
|
182
183
|
columns = [] if column is None else [cls.ensure_col(column)]
|
|
183
184
|
column_args = [cls.ensure_col(arg) for arg in args]
|
|
184
|
-
expressions = [x.
|
|
185
|
+
expressions = [x.column_expression for x in columns + column_args]
|
|
185
186
|
new_expression = exp.Anonymous(this=func_name.upper(), expressions=expressions)
|
|
186
187
|
return Column(new_expression)
|
|
187
188
|
|
|
@@ -192,9 +193,9 @@ class Column:
|
|
|
192
193
|
ensured_column = None if column is None else cls.ensure_col(column)
|
|
193
194
|
ensure_expression_values = {
|
|
194
195
|
k: (
|
|
195
|
-
[cls.ensure_col(x).
|
|
196
|
+
[cls.ensure_col(x).column_expression for x in v]
|
|
196
197
|
if is_iterable(v)
|
|
197
|
-
else cls.ensure_col(v).
|
|
198
|
+
else cls.ensure_col(v).column_expression
|
|
198
199
|
)
|
|
199
200
|
for k, v in kwargs.items()
|
|
200
201
|
if v is not None
|
|
@@ -316,10 +317,12 @@ class Column:
|
|
|
316
317
|
from sqlframe.base.functions import when
|
|
317
318
|
|
|
318
319
|
column_with_if = when(condition, value)
|
|
319
|
-
if not isinstance(self.
|
|
320
|
+
if not isinstance(self.column_expression, exp.Case):
|
|
320
321
|
return column_with_if
|
|
321
322
|
new_column = self.copy()
|
|
322
|
-
new_column.
|
|
323
|
+
new_column.column_expression.args["ifs"].extend(
|
|
324
|
+
column_with_if.column_expression.args["ifs"]
|
|
325
|
+
)
|
|
323
326
|
return new_column
|
|
324
327
|
|
|
325
328
|
def otherwise(self, value: t.Any) -> Column:
|
|
@@ -327,7 +330,7 @@ class Column:
|
|
|
327
330
|
|
|
328
331
|
true_value = value if isinstance(value, Column) else lit(value)
|
|
329
332
|
new_column = self.copy()
|
|
330
|
-
new_column.
|
|
333
|
+
new_column.column_expression.set("default", true_value.column_expression)
|
|
331
334
|
return new_column
|
|
332
335
|
|
|
333
336
|
def isNull(self) -> Column:
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import re
|
|
4
|
+
import typing as t
|
|
5
|
+
|
|
6
|
+
from sqlglot import exp
|
|
7
|
+
from sqlglot.helper import ensure_list
|
|
8
|
+
|
|
9
|
+
from sqlframe.base.column import Column
|
|
10
|
+
|
|
11
|
+
CALLING_CLASS = t.TypeVar("CALLING_CLASS")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def func_metadata(unsupported_engines: t.Optional[t.Union[str, t.List[str]]] = None) -> t.Callable:
|
|
15
|
+
def _metadata(func: t.Callable) -> t.Callable:
|
|
16
|
+
def wrapper(*args, **kwargs):
|
|
17
|
+
funcs_to_not_auto_alias = [
|
|
18
|
+
"posexplode",
|
|
19
|
+
"explode_outer",
|
|
20
|
+
"json_tuple",
|
|
21
|
+
"posexplode_outer",
|
|
22
|
+
"stack",
|
|
23
|
+
"inline",
|
|
24
|
+
"inline_outer",
|
|
25
|
+
"window",
|
|
26
|
+
"session_window",
|
|
27
|
+
"window_time",
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
result = func(*args, **kwargs)
|
|
31
|
+
if (
|
|
32
|
+
isinstance(result, Column)
|
|
33
|
+
and isinstance(result.column_expression, exp.Func)
|
|
34
|
+
and not isinstance(result.expression, exp.Alias)
|
|
35
|
+
and func.__name__ not in funcs_to_not_auto_alias
|
|
36
|
+
):
|
|
37
|
+
col_name = result.column_expression.find(exp.Identifier)
|
|
38
|
+
if col_name:
|
|
39
|
+
col_name = col_name.name
|
|
40
|
+
else:
|
|
41
|
+
col_name = result.column_expression.find(exp.Literal)
|
|
42
|
+
if col_name:
|
|
43
|
+
col_name = col_name.this
|
|
44
|
+
alias_name = f"{func.__name__}__{col_name or ''}__"
|
|
45
|
+
# BigQuery has restrictions on alias names so we constrain it to alphanumeric characters and underscores
|
|
46
|
+
return result.alias(re.sub("\W", "_", alias_name))
|
|
47
|
+
return result
|
|
48
|
+
|
|
49
|
+
wrapper.unsupported_engines = ( # type: ignore
|
|
50
|
+
ensure_list(unsupported_engines) if unsupported_engines else []
|
|
51
|
+
)
|
|
52
|
+
return wrapper
|
|
53
|
+
|
|
54
|
+
return _metadata
|