sqlframe 3.43.0__tar.gz → 3.43.2__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.43.0 → sqlframe-3.43.2}/PKG-INFO +1 -1
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/bigquery.md +0 -1
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/snowflake.md +0 -1
- {sqlframe-3.43.0 → sqlframe-3.43.2}/setup.py +1 -1
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/_version.py +3 -3
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/dataframe.py +23 -1
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/functions.py +27 -7
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe.egg-info/PKG-INFO +1 -1
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe.egg-info/requires.txt +1 -1
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/test_int_functions.py +10 -7
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/test_int_dataframe.py +24 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/standalone/test_dataframe.py +11 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/.github/CODEOWNERS +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/.github/workflows/main.workflow.yaml +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/.github/workflows/publish.workflow.yaml +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/.gitignore +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/.pre-commit-config.yaml +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/.readthedocs.yaml +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/LICENSE +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/Makefile +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/README.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/add_chatgpt_support.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/but_wait_theres_more.gif +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/cake.gif +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/you_get_pyspark_api.gif +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/sqlframe_universal_dataframe_api.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/configuration.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/databricks.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/docs/bigquery.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/docs/duckdb.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/docs/images/SF.png +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/docs/images/favicon.png +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/docs/postgres.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/duckdb.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/images/SF.png +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/images/favicon.png +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/index.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/postgres.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/redshift.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/requirements.txt +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/spark.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/standalone.md +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/docs/stylesheets/extra.css +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/mkdocs.yml +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/mypy.ini +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/pytest.ini +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/renovate.json +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/setup.cfg +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/LICENSE +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/_typing.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/column.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/decorators.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/exceptions.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/function_alternatives.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/group.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/mixins/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/mixins/catalog_mixins.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/mixins/table_mixins.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/normalize.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/operations.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/readerwriter.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/table.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/transforms.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/types.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/udf.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/util.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/base/window.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/bigquery/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/bigquery/catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/bigquery/column.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/bigquery/dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/bigquery/functions.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/bigquery/functions.pyi +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/bigquery/group.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/bigquery/readwriter.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/bigquery/session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/bigquery/table.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/bigquery/types.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/bigquery/udf.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/bigquery/window.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/databricks/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/databricks/catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/databricks/column.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/databricks/dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/databricks/functions.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/databricks/functions.pyi +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/databricks/group.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/databricks/readwriter.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/databricks/session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/databricks/table.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/databricks/types.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/databricks/udf.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/databricks/window.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/duckdb/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/duckdb/catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/duckdb/column.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/duckdb/dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/duckdb/functions.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/duckdb/functions.pyi +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/duckdb/group.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/duckdb/readwriter.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/duckdb/session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/duckdb/table.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/duckdb/types.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/duckdb/udf.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/duckdb/window.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/postgres/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/postgres/catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/postgres/column.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/postgres/dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/postgres/functions.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/postgres/functions.pyi +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/postgres/group.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/postgres/readwriter.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/postgres/session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/postgres/table.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/postgres/types.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/postgres/udf.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/postgres/window.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/py.typed +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/redshift/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/redshift/catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/redshift/column.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/redshift/dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/redshift/functions.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/redshift/group.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/redshift/readwriter.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/redshift/session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/redshift/table.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/redshift/types.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/redshift/udf.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/redshift/window.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/snowflake/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/snowflake/catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/snowflake/column.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/snowflake/dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/snowflake/functions.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/snowflake/functions.pyi +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/snowflake/group.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/snowflake/readwriter.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/snowflake/session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/snowflake/table.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/snowflake/types.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/snowflake/udf.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/snowflake/window.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/spark/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/spark/catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/spark/column.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/spark/dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/spark/functions.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/spark/functions.pyi +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/spark/group.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/spark/readwriter.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/spark/session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/spark/table.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/spark/types.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/spark/udf.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/spark/window.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/standalone/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/standalone/catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/standalone/column.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/standalone/dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/standalone/functions.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/standalone/group.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/standalone/readwriter.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/standalone/session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/standalone/table.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/standalone/types.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/standalone/udf.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/standalone/window.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/testing/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe/testing/utils.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe.egg-info/SOURCES.txt +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe.egg-info/dependency_links.txt +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/sqlframe.egg-info/top_level.txt +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/common_fixtures.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/conftest.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee.csv +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee.json +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee.parquet +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/employee_extra_line.csv +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/issue_219.csv +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/netflix_daily_top_10.parquet +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds1.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds10.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds11.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds12.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds13.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds14.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds15.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds16.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds17.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds18.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds19.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds2.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds20.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds21.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds22.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds23.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds24.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds25.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds26.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds27.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds28.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds29.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds3.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds30.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds31.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds32.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds33.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds34.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds35.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds36.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds37.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds38.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds39.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds4.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds40.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds41.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds42.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds43.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds44.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds45.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds46.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds47.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds48.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds49.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds5.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds50.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds51.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds52.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds53.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds54.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds55.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds56.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds57.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds58.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds59.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds6.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds60.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds61.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds62.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds63.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds64.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds65.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds66.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds67.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds68.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds69.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds7.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds70.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds71.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds72.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds73.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds74.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds75.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds76.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds77.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds78.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds79.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds8.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds80.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds81.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds82.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds83.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds84.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds85.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds86.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds87.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds88.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds89.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds9.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds90.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds91.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds92.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds93.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds94.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds95.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds96.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds97.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds98.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/fixtures/tpcds/tpcds99.sql +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/bigquery/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/databricks/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/databricks/test_databricks_catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/databricks/test_databricks_dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/databricks/test_databricks_session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/duck/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/duck/test_duckdb_catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/duck/test_duckdb_dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/duck/test_duckdb_reader.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/duck/test_tpcds.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/postgres/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/redshift/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/snowflake/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/spark/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/test_engine_column.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/test_engine_dataframe.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/test_engine_reader.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/test_engine_session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/test_engine_table.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/test_engine_writer.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/engines/test_int_testing.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/fixtures.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/test_int_dataframe_stats.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/test_int_grouped_data.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/integration/test_int_session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/types.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/bigquery/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/bigquery/test_activate.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/conftest.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/databricks/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/databricks/test_activate.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/duck/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/duck/test_activate.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/duck/test_reader_options.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/postgres/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/postgres/test_activate.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/redshift/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/redshift/test_activate.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/snowflake/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/snowflake/test_activate.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/spark/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/spark/test_activate.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/spark/test_reader_options.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/standalone/__init__.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/standalone/fixtures.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/standalone/test_activate.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/standalone/test_column.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/standalone/test_dataframe_writer.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/standalone/test_functions.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/standalone/test_session.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/standalone/test_types.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/standalone/test_window.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/test_activate.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/test_base_reader_options.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/test_catalog.py +0 -0
- {sqlframe-3.43.0 → sqlframe-3.43.2}/tests/unit/test_util.py +0 -0
@@ -526,7 +526,6 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
526
526
|
* [to_date](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_date.html)
|
527
527
|
* [to_timestamp](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_timestamp.html)
|
528
528
|
* [to_timestamp_ntz](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_timestamp_ntz.html)
|
529
|
-
* [transform](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.transform.html)
|
530
529
|
* [translate](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.translate.html)
|
531
530
|
* [trim](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.trim.html)
|
532
531
|
* [trunc](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.trunc.html)
|
@@ -522,7 +522,6 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
522
522
|
* [to_number](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_number.html)
|
523
523
|
* [to_timestamp](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_timestamp.html)
|
524
524
|
* [to_timestamp_ntz](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_timestamp_ntz.html)
|
525
|
-
* [transform](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.transform.html)
|
526
525
|
* [translate](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.translate.html)
|
527
526
|
* [trim](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.trim.html)
|
528
527
|
* [trunc](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.trunc.html)
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
28
28
|
commit_id: COMMIT_ID
|
29
29
|
__commit_id__: COMMIT_ID
|
30
30
|
|
31
|
-
__version__ = version = '3.43.
|
32
|
-
__version_tuple__ = version_tuple = (3, 43,
|
31
|
+
__version__ = version = '3.43.2'
|
32
|
+
__version_tuple__ = version_tuple = (3, 43, 2)
|
33
33
|
|
34
|
-
__commit_id__ = commit_id = '
|
34
|
+
__commit_id__ = commit_id = 'gf6f09ead9'
|
@@ -921,8 +921,30 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
921
921
|
def groupBy(self, *cols, **kwargs) -> GROUP_DATA:
|
922
922
|
if cols and isinstance(cols[0], list):
|
923
923
|
cols = cols[0] # type: ignore
|
924
|
+
|
925
|
+
# Special handling for groupBy operations with column aliases
|
926
|
+
# `_ensure_and_normalize_cols` sets CTE aliases that may not exist in the final context.
|
924
927
|
columns = self._ensure_and_normalize_cols(cols)
|
925
|
-
|
928
|
+
|
929
|
+
# Post-process the columns to fix any issues with CTE aliases
|
930
|
+
from sqlframe.base.normalize import (
|
931
|
+
_extract_column_name,
|
932
|
+
is_column_unambiguously_available,
|
933
|
+
)
|
934
|
+
|
935
|
+
processed_columns: t.List[Column] = []
|
936
|
+
|
937
|
+
for col in columns:
|
938
|
+
# Check if this column has a table qualifier that might be problematic
|
939
|
+
if col.column_expression.args.get("table"):
|
940
|
+
# Check if the column is unambiguously available without the qualifier
|
941
|
+
column_name = _extract_column_name(this) if (this := col.expression.this) else None
|
942
|
+
if column_name and is_column_unambiguously_available(self.expression, column_name):
|
943
|
+
# Remove the table qualifier if the column is unambiguous
|
944
|
+
col.column_expression.set("table", None)
|
945
|
+
processed_columns.append(col)
|
946
|
+
|
947
|
+
return self._group_data(self, processed_columns, self.last_op)
|
926
948
|
|
927
949
|
groupby = groupBy
|
928
950
|
|
@@ -2067,7 +2067,7 @@ def bit_length(col: ColumnOrName) -> Column:
|
|
2067
2067
|
if session._is_bigquery:
|
2068
2068
|
return bit_length_from_length(col)
|
2069
2069
|
|
2070
|
-
return Column.
|
2070
|
+
return Column.invoke_expression_over_column(col, expression.BitLength)
|
2071
2071
|
|
2072
2072
|
|
2073
2073
|
@meta()
|
@@ -2729,7 +2729,7 @@ def aggregate(
|
|
2729
2729
|
return Column.invoke_expression_over_column(col, expression.Reduce, **kwargs)
|
2730
2730
|
|
2731
2731
|
|
2732
|
-
@meta(unsupported_engines="postgres")
|
2732
|
+
@meta(unsupported_engines=["bigquery", "postgres", "snowflake"])
|
2733
2733
|
def transform(
|
2734
2734
|
col: ColumnOrName,
|
2735
2735
|
f: t.Union[t.Callable[[Column], Column], t.Callable[[Column, Column], Column]],
|
@@ -7169,12 +7169,32 @@ def _lambda_quoted(value: str) -> t.Optional[bool]:
|
|
7169
7169
|
|
7170
7170
|
@meta()
|
7171
7171
|
def _get_lambda_from_func(lambda_expression: t.Callable):
|
7172
|
-
|
7173
|
-
|
7174
|
-
|
7175
|
-
|
7172
|
+
import inspect
|
7173
|
+
|
7174
|
+
# Get the function signature
|
7175
|
+
sig = inspect.signature(lambda_expression)
|
7176
|
+
param_names = list(sig.parameters.keys())
|
7177
|
+
|
7178
|
+
# Check if this looks like a column function (single 'col' parameter)
|
7179
|
+
if len(param_names) == 1 and param_names[0] in ["col", "column"]:
|
7180
|
+
# Wrap column functions to work with transform
|
7181
|
+
variables = [expression.to_identifier("x", quoted=_lambda_quoted("x"))]
|
7182
|
+
result = lambda_expression(Column("x"))
|
7183
|
+
return expression.Lambda(
|
7184
|
+
this=result.column_expression,
|
7185
|
+
expressions=variables,
|
7186
|
+
)
|
7187
|
+
|
7188
|
+
# Handle regular functions and lambdas
|
7189
|
+
var_names = lambda_expression.__code__.co_varnames[: lambda_expression.__code__.co_argcount]
|
7190
|
+
|
7191
|
+
variables = [expression.to_identifier(x, quoted=_lambda_quoted(x)) for x in var_names]
|
7192
|
+
|
7193
|
+
# Call with Column objects for each parameter
|
7194
|
+
result = lambda_expression(*[Column(x) for x in var_names])
|
7195
|
+
|
7176
7196
|
return expression.Lambda(
|
7177
|
-
this=
|
7197
|
+
this=result.column_expression,
|
7178
7198
|
expressions=variables,
|
7179
7199
|
)
|
7180
7200
|
|
@@ -2941,19 +2941,22 @@ def test_aggregate(get_session_and_func, get_func):
|
|
2941
2941
|
def test_transform(get_session_and_func, get_func):
|
2942
2942
|
session, transform = get_session_and_func("transform")
|
2943
2943
|
when = get_func("when", session)
|
2944
|
+
initcap = get_func("initcap", session)
|
2945
|
+
df = session.createDataFrame([(["ab cd"],)], ["a"])
|
2946
|
+
assert df.select(transform("a", f=lambda w: initcap(w)).alias("v")).first()[0] == ["Ab Cd"]
|
2947
|
+
assert df.select(transform("a", f=initcap).alias("v")).first()[0] == ["Ab Cd"]
|
2944
2948
|
df = session.createDataFrame([(1, [1, 2, 3, 4])], ("key", "some_values"))
|
2945
2949
|
assert df.select(transform("some_values", lambda x: x * 2).alias("doubled")).collect() == [
|
2946
2950
|
Row(doubled=[2, 4, 6, 8])
|
2947
2951
|
]
|
2948
2952
|
|
2949
|
-
|
2950
|
-
|
2951
|
-
def alternate(x, i):
|
2952
|
-
return when(i % 2 == 0, x).otherwise(-x)
|
2953
|
+
def alternate(x, i):
|
2954
|
+
return when(i % 2 == 0, x).otherwise(-x)
|
2953
2955
|
|
2954
|
-
|
2955
|
-
|
2956
|
-
]
|
2956
|
+
assert df.select(transform("some_values", alternate).alias("alternated")).collect() in [
|
2957
|
+
[Row(alternated=[1, -2, 3, -4])],
|
2958
|
+
[Row(alternated=[-1, 2, -3, 4])],
|
2959
|
+
]
|
2957
2960
|
|
2958
2961
|
|
2959
2962
|
def test_exists(get_session_and_func):
|
@@ -2758,6 +2758,30 @@ def test_alias_group_by_column(
|
|
2758
2758
|
compare_frames(df, dfs, compare_schema=False, sort=True)
|
2759
2759
|
|
2760
2760
|
|
2761
|
+
# https://github.com/eakmanrq/sqlframe/issues/502
|
2762
|
+
def test_group_by_alias(
|
2763
|
+
pyspark_employee: PySparkDataFrame,
|
2764
|
+
get_df: t.Callable[[str], BaseDataFrame],
|
2765
|
+
compare_frames: t.Callable,
|
2766
|
+
):
|
2767
|
+
df = pyspark_employee.sparkSession.createDataFrame(
|
2768
|
+
[(2, "Alice"), (2, "Bob"), (2, "Bob"), (5, "Bob")], schema=["age", "name"]
|
2769
|
+
)
|
2770
|
+
df = df.select(F.col("name"), F.col("age")).groupBy(F.col("name")).count()
|
2771
|
+
|
2772
|
+
dfs = get_df("employee").sparkSession.createDataFrame(
|
2773
|
+
[(2, "Alice"), (2, "Bob"), (2, "Bob"), (5, "Bob")], schema=["age", "name"]
|
2774
|
+
)
|
2775
|
+
dfs = (
|
2776
|
+
dfs.alias("df")
|
2777
|
+
.select(SF.col("df.name"), SF.col("df.age"))
|
2778
|
+
.groupBy(SF.col("df.name"))
|
2779
|
+
.count()
|
2780
|
+
)
|
2781
|
+
|
2782
|
+
compare_frames(df, dfs, compare_schema=False, sort=True)
|
2783
|
+
|
2784
|
+
|
2761
2785
|
# https://github.com/eakmanrq/sqlframe/issues/493
|
2762
2786
|
def test_alias_multiple_joins(
|
2763
2787
|
pyspark_employee: PySparkDataFrame,
|
@@ -188,3 +188,14 @@ def test_aliased_dictionary_agg(standalone_employee: StandaloneDataFrame):
|
|
188
188
|
standalone_employee.groupBy("fname").agg({"age": "avg", "lname": "count"}).sql(pretty=False)
|
189
189
|
== "SELECT CAST(`a1`.`fname` AS STRING) AS `fname`, AVG(`a1`.`age`) AS `avg(age)`, COUNT(CAST(`a1`.`lname` AS STRING)) AS `count(lname)` FROM VALUES (1, 'Jack', 'Shephard', 37, 1), (2, 'John', 'Locke', 65, 1), (3, 'Kate', 'Austen', 37, 2), (4, 'Claire', 'Littleton', 27, 2), (5, 'Hugo', 'Reyes', 29, 100) AS `a1`(`employee_id`, `fname`, `lname`, `age`, `store_id`) GROUP BY CAST(`a1`.`fname` AS STRING)"
|
190
190
|
)
|
191
|
+
|
192
|
+
|
193
|
+
def test_aliased_group_by(standalone_employee: StandaloneDataFrame):
|
194
|
+
assert (
|
195
|
+
standalone_employee.alias("employee")
|
196
|
+
.select(F.col("employee.fname"))
|
197
|
+
.groupBy(F.col("employee.fname"))
|
198
|
+
.count()
|
199
|
+
.sql(pretty=False)
|
200
|
+
== "SELECT CAST(`a1`.`fname` AS STRING) AS `fname`, COUNT(*) AS `count` FROM VALUES (1, 'Jack', 'Shephard', 37, 1), (2, 'John', 'Locke', 65, 1), (3, 'Kate', 'Austen', 37, 2), (4, 'Claire', 'Littleton', 27, 2), (5, 'Hugo', 'Reyes', 29, 100) AS `a1`(`employee_id`, `fname`, `lname`, `age`, `store_id`) GROUP BY CAST(`a1`.`fname` AS STRING)"
|
201
|
+
)
|
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
|
{sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif
RENAMED
File without changes
|
File without changes
|
{sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/add_chatgpt_support/openai_full_rewrite.png
RENAMED
File without changes
|
{sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png
RENAMED
File without changes
|
{sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png
RENAMED
File without changes
|
{sqlframe-3.43.0 → sqlframe-3.43.2}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif
RENAMED
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
|