sqlframe 3.43.5__tar.gz → 3.43.7__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.5 → sqlframe-3.43.7}/PKG-INFO +1 -1
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/bigquery.md +4 -4
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/databricks.md +4 -4
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/duckdb.md +5 -3
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/postgres.md +5 -4
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/redshift.md +2 -2
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/snowflake.md +6 -5
- {sqlframe-3.43.5 → sqlframe-3.43.7}/setup.py +1 -1
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/__init__.py +4 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/_version.py +3 -3
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/dataframe.py +21 -5
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/functions.py +15 -13
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/operations.py +1 -1
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/util.py +1 -1
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/databricks/readwriter.py +1 -1
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe.egg-info/PKG-INFO +1 -1
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe.egg-info/requires.txt +1 -1
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/duck/test_duckdb_dataframe.py +21 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/test_int_functions.py +1 -1
- {sqlframe-3.43.5 → sqlframe-3.43.7}/.github/CODEOWNERS +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/.github/workflows/main.workflow.yaml +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/.github/workflows/publish.workflow.yaml +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/.gitignore +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/.pre-commit-config.yaml +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/.readthedocs.yaml +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/LICENSE +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/Makefile +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/README.md +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/add_chatgpt_support.md +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/but_wait_theres_more.gif +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/cake.gif +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/you_get_pyspark_api.gif +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/sqlframe_universal_dataframe_api.md +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/configuration.md +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/docs/bigquery.md +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/docs/duckdb.md +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/docs/images/SF.png +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/docs/images/favicon.png +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/docs/postgres.md +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/images/SF.png +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/images/favicon.png +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/index.md +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/requirements.txt +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/spark.md +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/standalone.md +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/docs/stylesheets/extra.css +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/mkdocs.yml +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/mypy.ini +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/pytest.ini +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/renovate.json +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/setup.cfg +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/LICENSE +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/_typing.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/column.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/decorators.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/exceptions.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/function_alternatives.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/group.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/mixins/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/mixins/catalog_mixins.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/mixins/table_mixins.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/normalize.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/readerwriter.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/table.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/transforms.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/types.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/udf.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/base/window.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/bigquery/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/bigquery/catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/bigquery/column.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/bigquery/dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/bigquery/functions.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/bigquery/functions.pyi +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/bigquery/group.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/bigquery/readwriter.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/bigquery/session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/bigquery/table.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/bigquery/types.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/bigquery/udf.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/bigquery/window.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/databricks/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/databricks/catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/databricks/column.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/databricks/dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/databricks/functions.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/databricks/functions.pyi +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/databricks/group.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/databricks/session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/databricks/table.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/databricks/types.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/databricks/udf.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/databricks/window.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/duckdb/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/duckdb/catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/duckdb/column.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/duckdb/dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/duckdb/functions.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/duckdb/functions.pyi +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/duckdb/group.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/duckdb/readwriter.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/duckdb/session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/duckdb/table.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/duckdb/types.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/duckdb/udf.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/duckdb/window.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/postgres/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/postgres/catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/postgres/column.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/postgres/dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/postgres/functions.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/postgres/functions.pyi +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/postgres/group.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/postgres/readwriter.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/postgres/session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/postgres/table.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/postgres/types.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/postgres/udf.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/postgres/window.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/py.typed +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/redshift/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/redshift/catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/redshift/column.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/redshift/dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/redshift/functions.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/redshift/group.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/redshift/readwriter.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/redshift/session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/redshift/table.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/redshift/types.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/redshift/udf.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/redshift/window.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/snowflake/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/snowflake/catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/snowflake/column.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/snowflake/dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/snowflake/functions.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/snowflake/functions.pyi +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/snowflake/group.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/snowflake/readwriter.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/snowflake/session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/snowflake/table.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/snowflake/types.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/snowflake/udf.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/snowflake/window.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/spark/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/spark/catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/spark/column.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/spark/dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/spark/functions.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/spark/functions.pyi +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/spark/group.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/spark/readwriter.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/spark/session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/spark/table.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/spark/types.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/spark/udf.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/spark/window.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/standalone/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/standalone/catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/standalone/column.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/standalone/dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/standalone/functions.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/standalone/group.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/standalone/readwriter.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/standalone/session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/standalone/table.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/standalone/types.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/standalone/udf.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/standalone/window.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/testing/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe/testing/utils.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe.egg-info/SOURCES.txt +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe.egg-info/dependency_links.txt +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/sqlframe.egg-info/top_level.txt +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/common_fixtures.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/conftest.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee.csv +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee.json +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee.parquet +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/employee_extra_line.csv +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/issue_219.csv +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/netflix_daily_top_10.parquet +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds1.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds10.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds11.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds12.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds13.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds14.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds15.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds16.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds17.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds18.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds19.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds2.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds20.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds21.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds22.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds23.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds24.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds25.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds26.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds27.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds28.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds29.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds3.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds30.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds31.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds32.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds33.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds34.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds35.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds36.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds37.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds38.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds39.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds4.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds40.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds41.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds42.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds43.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds44.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds45.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds46.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds47.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds48.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds49.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds5.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds50.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds51.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds52.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds53.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds54.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds55.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds56.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds57.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds58.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds59.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds6.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds60.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds61.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds62.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds63.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds64.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds65.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds66.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds67.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds68.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds69.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds7.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds70.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds71.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds72.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds73.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds74.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds75.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds76.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds77.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds78.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds79.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds8.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds80.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds81.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds82.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds83.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds84.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds85.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds86.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds87.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds88.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds89.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds9.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds90.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds91.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds92.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds93.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds94.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds95.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds96.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds97.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds98.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/fixtures/tpcds/tpcds99.sql +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/bigquery/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/databricks/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/databricks/test_databricks_catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/databricks/test_databricks_dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/databricks/test_databricks_session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/duck/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/duck/test_duckdb_catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/duck/test_duckdb_reader.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/duck/test_tpcds.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/postgres/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/redshift/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/snowflake/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/spark/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/test_engine_column.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/test_engine_dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/test_engine_reader.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/test_engine_session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/test_engine_table.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/test_engine_writer.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/engines/test_int_testing.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/fixtures.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/test_int_dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/test_int_dataframe_stats.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/test_int_grouped_data.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/integration/test_int_session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/types.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/bigquery/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/bigquery/test_activate.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/conftest.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/databricks/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/databricks/test_activate.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/duck/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/duck/test_activate.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/duck/test_reader_options.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/postgres/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/postgres/test_activate.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/redshift/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/redshift/test_activate.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/snowflake/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/snowflake/test_activate.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/spark/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/spark/test_activate.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/spark/test_reader_options.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/standalone/__init__.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/standalone/fixtures.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/standalone/test_activate.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/standalone/test_column.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/standalone/test_dataframe.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/standalone/test_dataframe_writer.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/standalone/test_functions.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/standalone/test_session.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/standalone/test_types.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/standalone/test_window.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/test_activate.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/test_base_reader_options.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/test_catalog.py +0 -0
- {sqlframe-3.43.5 → sqlframe-3.43.7}/tests/unit/test_util.py +0 -0
|
@@ -684,7 +684,7 @@ update_expr = table_employee.update(
|
|
|
684
684
|
where=table_employee["id"] == 1,
|
|
685
685
|
)
|
|
686
686
|
|
|
687
|
-
#
|
|
687
|
+
# Executes the update statement
|
|
688
688
|
update_expr.execute()
|
|
689
689
|
|
|
690
690
|
# Show the result
|
|
@@ -712,7 +712,7 @@ delete_expr = table_employee.delete(
|
|
|
712
712
|
where=table_employee["id"] == 1,
|
|
713
713
|
)
|
|
714
714
|
|
|
715
|
-
#
|
|
715
|
+
# Executes the delete statement
|
|
716
716
|
delete_expr.execute()
|
|
717
717
|
|
|
718
718
|
# Show the result
|
|
@@ -767,7 +767,7 @@ merge_expr = table_employee.merge(
|
|
|
767
767
|
],
|
|
768
768
|
)
|
|
769
769
|
|
|
770
|
-
#
|
|
770
|
+
# Executes the merge statement
|
|
771
771
|
merge_expr.execute()
|
|
772
772
|
|
|
773
773
|
# Show the result
|
|
@@ -823,7 +823,7 @@ merge_expr = table_employee.merge(
|
|
|
823
823
|
],
|
|
824
824
|
)
|
|
825
825
|
|
|
826
|
-
#
|
|
826
|
+
# Executes the merge statement
|
|
827
827
|
merge_expr.execute()
|
|
828
828
|
|
|
829
829
|
# Show the result
|
|
@@ -227,7 +227,7 @@ update_expr = table_employee.update(
|
|
|
227
227
|
where=table_employee["id"] == 1,
|
|
228
228
|
)
|
|
229
229
|
|
|
230
|
-
#
|
|
230
|
+
# Executes the update statement
|
|
231
231
|
update_expr.execute()
|
|
232
232
|
|
|
233
233
|
# Show the result
|
|
@@ -255,7 +255,7 @@ delete_expr = table_employee.delete(
|
|
|
255
255
|
where=table_employee["id"] == 1,
|
|
256
256
|
)
|
|
257
257
|
|
|
258
|
-
#
|
|
258
|
+
# Executes the delete statement
|
|
259
259
|
delete_expr.execute()
|
|
260
260
|
|
|
261
261
|
# Show the result
|
|
@@ -310,7 +310,7 @@ merge_expr = table_employee.merge(
|
|
|
310
310
|
],
|
|
311
311
|
)
|
|
312
312
|
|
|
313
|
-
#
|
|
313
|
+
# Executes the merge statement
|
|
314
314
|
merge_expr.execute()
|
|
315
315
|
|
|
316
316
|
# Show the result
|
|
@@ -366,7 +366,7 @@ merge_expr = table_employee.merge(
|
|
|
366
366
|
],
|
|
367
367
|
)
|
|
368
368
|
|
|
369
|
-
#
|
|
369
|
+
# Executes the merge statement
|
|
370
370
|
merge_expr.execute()
|
|
371
371
|
|
|
372
372
|
# Show the result
|
|
@@ -250,7 +250,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
250
250
|
* SQLFrame Specific: Get the SQL representation of the WindowSpec
|
|
251
251
|
* [stat](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.stat.html)
|
|
252
252
|
* [toArrow](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.toArrow.html)
|
|
253
|
-
* SQLFrame Specific Argument: `batch_size` sets the number of rows to read per-batch and returns a `
|
|
253
|
+
* SQLFrame Specific Argument: `batch_size` sets the number of rows to read per-batch and returns a `RecordBatchReader`
|
|
254
254
|
* [toDF](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.toDF.html)
|
|
255
255
|
* [toPandas](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.toPandas.html)
|
|
256
256
|
* [union](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.union.html)
|
|
@@ -397,6 +397,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
397
397
|
* [left](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.left.html)
|
|
398
398
|
* [length](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.length.html)
|
|
399
399
|
* [levenshtein](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.levenshtein.html)
|
|
400
|
+
* [like](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.like.html)
|
|
400
401
|
* [lit](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.lit.html)
|
|
401
402
|
* [ln](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.ln.html)
|
|
402
403
|
* [locate](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.locate.html)
|
|
@@ -478,6 +479,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
478
479
|
* [sumDistinct](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.sumDistinct.html)
|
|
479
480
|
* [sum_distinct](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.sum_distinct.html)
|
|
480
481
|
* [tan](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.tan.html)
|
|
482
|
+
* [tanh](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.tanh.html)
|
|
481
483
|
* [timestamp_add](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.timestamp_add.html)
|
|
482
484
|
* [timestamp_seconds](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.timestamp_seconds.html)
|
|
483
485
|
* [toDegrees](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.toDegrees.html)
|
|
@@ -634,7 +636,7 @@ update_expr = table_employee.update(
|
|
|
634
636
|
where=table_employee["id"] == 1,
|
|
635
637
|
)
|
|
636
638
|
|
|
637
|
-
#
|
|
639
|
+
# Executes the update statement
|
|
638
640
|
update_expr.execute()
|
|
639
641
|
|
|
640
642
|
# Show the result
|
|
@@ -662,7 +664,7 @@ delete_expr = table_employee.delete(
|
|
|
662
664
|
where=table_employee["id"] == 1,
|
|
663
665
|
)
|
|
664
666
|
|
|
665
|
-
#
|
|
667
|
+
# Executes the delete statement
|
|
666
668
|
delete_expr.execute()
|
|
667
669
|
|
|
668
670
|
# Show the result
|
|
@@ -392,6 +392,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
392
392
|
* [left](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.left.html)
|
|
393
393
|
* [length](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.length.html)
|
|
394
394
|
* [levenshtein](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.levenshtein.html)
|
|
395
|
+
* [like](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.like.html)
|
|
395
396
|
* [lit](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.lit.html)
|
|
396
397
|
* [ln](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.ln.html)
|
|
397
398
|
* [locate](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.locate.html)
|
|
@@ -621,7 +622,7 @@ update_expr = table_employee.update(
|
|
|
621
622
|
where=table_employee["id"] == 1,
|
|
622
623
|
)
|
|
623
624
|
|
|
624
|
-
#
|
|
625
|
+
# Executes the update statement
|
|
625
626
|
update_expr.execute()
|
|
626
627
|
|
|
627
628
|
# Show the result
|
|
@@ -649,7 +650,7 @@ delete_expr = table_employee.delete(
|
|
|
649
650
|
where=table_employee["id"] == 1,
|
|
650
651
|
)
|
|
651
652
|
|
|
652
|
-
#
|
|
653
|
+
# Executes the delete statement
|
|
653
654
|
delete_expr.execute()
|
|
654
655
|
|
|
655
656
|
# Show the result
|
|
@@ -704,7 +705,7 @@ merge_expr = table_employee.merge(
|
|
|
704
705
|
],
|
|
705
706
|
)
|
|
706
707
|
|
|
707
|
-
#
|
|
708
|
+
# Executes the merge statement
|
|
708
709
|
merge_expr.execute()
|
|
709
710
|
|
|
710
711
|
# Show the result
|
|
@@ -760,7 +761,7 @@ merge_expr = table_employee.merge(
|
|
|
760
761
|
],
|
|
761
762
|
)
|
|
762
763
|
|
|
763
|
-
#
|
|
764
|
+
# Executes the merge statement
|
|
764
765
|
merge_expr.execute()
|
|
765
766
|
|
|
766
767
|
# Show the result
|
|
@@ -209,7 +209,7 @@ update_expr = table_employee.update(
|
|
|
209
209
|
where=table_employee["id"] == 1,
|
|
210
210
|
)
|
|
211
211
|
|
|
212
|
-
#
|
|
212
|
+
# Executes the update statement
|
|
213
213
|
update_expr.execute()
|
|
214
214
|
|
|
215
215
|
# Show the result
|
|
@@ -237,7 +237,7 @@ delete_expr = table_employee.delete(
|
|
|
237
237
|
where=table_employee["id"] == 1,
|
|
238
238
|
)
|
|
239
239
|
|
|
240
|
-
#
|
|
240
|
+
# Executes the delete statement
|
|
241
241
|
delete_expr.execute()
|
|
242
242
|
|
|
243
243
|
# Show the result
|
|
@@ -309,7 +309,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
309
309
|
* [array_except](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.array_except.html)
|
|
310
310
|
* [array_intersect](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.array_intersect.html)
|
|
311
311
|
* [array_join](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.array_join.html)
|
|
312
|
-
* Null values are
|
|
312
|
+
* Null values are represented as nothing instead of NULL. Ex: "a," instead of "a,NULL"
|
|
313
313
|
* [array_max](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.array_max.html)
|
|
314
314
|
* [array_min](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.array_min.html)
|
|
315
315
|
* [array_position](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.array_position.html)
|
|
@@ -335,7 +335,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
335
335
|
* [bool_and](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bool_and.html)
|
|
336
336
|
* [bool_or](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bool_or.html)
|
|
337
337
|
* [bround](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bround.html)
|
|
338
|
-
* [Input must be a fixed-point
|
|
338
|
+
* [Input must be a fixed-point number](https://docs.snowflake.com/en/sql-reference/data-types-numeric.html#label-data-types-for-fixed-point-numbers)
|
|
339
339
|
* [btrim](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.btrim.html)
|
|
340
340
|
* [call_function](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.call_function.html)
|
|
341
341
|
* [cbrt](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.cbrt.html)
|
|
@@ -426,6 +426,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
426
426
|
* [length](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.length.html)
|
|
427
427
|
* [levenshtein](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.levenshtein.html)
|
|
428
428
|
* threshold is not supported
|
|
429
|
+
* [like](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.like.html)
|
|
429
430
|
* [lit](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.lit.html)
|
|
430
431
|
* [ln](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.ln.html)
|
|
431
432
|
* [locate](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.locate.html)
|
|
@@ -677,7 +678,7 @@ update_expr = table_employee.update(
|
|
|
677
678
|
where=table_employee["id"] == 1,
|
|
678
679
|
)
|
|
679
680
|
|
|
680
|
-
#
|
|
681
|
+
# Executes the update statement
|
|
681
682
|
update_expr.execute()
|
|
682
683
|
|
|
683
684
|
# Show the result
|
|
@@ -705,7 +706,7 @@ delete_expr = table_employee.delete(
|
|
|
705
706
|
where=table_employee["id"] == 1,
|
|
706
707
|
)
|
|
707
708
|
|
|
708
|
-
#
|
|
709
|
+
# Executes the delete statement
|
|
709
710
|
delete_expr.execute()
|
|
710
711
|
|
|
711
712
|
# Show the result
|
|
@@ -760,7 +761,7 @@ merge_expr = table_employee.merge(
|
|
|
760
761
|
],
|
|
761
762
|
)
|
|
762
763
|
|
|
763
|
-
#
|
|
764
|
+
# Executes the merge statement
|
|
764
765
|
merge_expr.execute()
|
|
765
766
|
|
|
766
767
|
# Show the result
|
|
@@ -6,6 +6,10 @@ import typing as t
|
|
|
6
6
|
from contextlib import contextmanager
|
|
7
7
|
from unittest.mock import MagicMock
|
|
8
8
|
|
|
9
|
+
from sqlglot.dialects import spark
|
|
10
|
+
|
|
11
|
+
spark.Spark.Generator.readparquet_sql = lambda self, x: x.sql(dialect="duckdb") # type: ignore
|
|
12
|
+
|
|
9
13
|
if t.TYPE_CHECKING:
|
|
10
14
|
from sqlframe.base.session import CONN
|
|
11
15
|
|
|
@@ -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.7'
|
|
32
|
+
__version_tuple__ = version_tuple = (3, 43, 7)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g745c96966'
|
|
@@ -361,15 +361,31 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
|
361
361
|
|
|
362
362
|
def _replace_cte_names_with_hashes(self, expression: exp.Select):
|
|
363
363
|
replacement_mapping = {}
|
|
364
|
-
|
|
364
|
+
seen_hashes: t.Dict[str, exp.Identifier] = {}
|
|
365
|
+
cte_indices_to_remove = []
|
|
366
|
+
|
|
367
|
+
for i, cte in enumerate(expression.ctes):
|
|
365
368
|
old_name_id = cte.args["alias"].this
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
369
|
+
cte_hash = self._create_hash_from_expression(cte.this)
|
|
370
|
+
|
|
371
|
+
if cte_hash in seen_hashes:
|
|
372
|
+
# Duplicate CTE found - map its old name to the existing hash
|
|
373
|
+
replacement_mapping[old_name_id] = seen_hashes[cte_hash]
|
|
374
|
+
cte_indices_to_remove.append(i)
|
|
375
|
+
else:
|
|
376
|
+
# New unique CTE - process normally
|
|
377
|
+
new_hashed_id = exp.to_identifier(cte_hash, quoted=old_name_id.args["quoted"])
|
|
378
|
+
seen_hashes[cte_hash] = new_hashed_id
|
|
379
|
+
replacement_mapping[old_name_id] = new_hashed_id
|
|
380
|
+
|
|
370
381
|
expression = expression.transform(replace_id_value, replacement_mapping).assert_is(
|
|
371
382
|
exp.Select
|
|
372
383
|
)
|
|
384
|
+
|
|
385
|
+
# Remove duplicate CTEs by index in reverse order to avoid index shifting
|
|
386
|
+
for idx in reversed(cte_indices_to_remove):
|
|
387
|
+
del expression.args["with"].expressions[idx]
|
|
388
|
+
|
|
373
389
|
return expression
|
|
374
390
|
|
|
375
391
|
def _create_cte_from_expression(
|
|
@@ -385,9 +385,9 @@ def tan(col: ColumnOrName) -> Column:
|
|
|
385
385
|
return Column.invoke_expression_over_column(col, expression.Tan)
|
|
386
386
|
|
|
387
387
|
|
|
388
|
-
@meta(
|
|
388
|
+
@meta()
|
|
389
389
|
def tanh(col: ColumnOrName) -> Column:
|
|
390
|
-
return Column.
|
|
390
|
+
return Column.invoke_expression_over_column(col, expression.Tanh)
|
|
391
391
|
|
|
392
392
|
|
|
393
393
|
@meta()
|
|
@@ -414,7 +414,7 @@ def radians(col: ColumnOrName) -> Column:
|
|
|
414
414
|
if session._is_bigquery:
|
|
415
415
|
return radians_bgutil(col)
|
|
416
416
|
|
|
417
|
-
return Column.
|
|
417
|
+
return Column.invoke_expression_over_column(col, expression.Radians)
|
|
418
418
|
|
|
419
419
|
|
|
420
420
|
toRadians = radians
|
|
@@ -1078,7 +1078,7 @@ def hour(col: ColumnOrName) -> Column:
|
|
|
1078
1078
|
if session._is_bigquery or session._is_postgres:
|
|
1079
1079
|
return hour_from_extract(col)
|
|
1080
1080
|
|
|
1081
|
-
return Column.
|
|
1081
|
+
return Column.invoke_expression_over_column(col, expression.Hour)
|
|
1082
1082
|
|
|
1083
1083
|
|
|
1084
1084
|
@meta()
|
|
@@ -1090,7 +1090,7 @@ def minute(col: ColumnOrName) -> Column:
|
|
|
1090
1090
|
if session._is_bigquery or session._is_postgres:
|
|
1091
1091
|
return minute_from_extract(col)
|
|
1092
1092
|
|
|
1093
|
-
return Column.
|
|
1093
|
+
return Column.invoke_expression_over_column(col, expression.Minute)
|
|
1094
1094
|
|
|
1095
1095
|
|
|
1096
1096
|
@meta()
|
|
@@ -1102,7 +1102,7 @@ def second(col: ColumnOrName) -> Column:
|
|
|
1102
1102
|
if session._is_bigquery or session._is_postgres:
|
|
1103
1103
|
return second_from_extract(col)
|
|
1104
1104
|
|
|
1105
|
-
return Column.
|
|
1105
|
+
return Column.invoke_expression_over_column(col, expression.Second)
|
|
1106
1106
|
|
|
1107
1107
|
|
|
1108
1108
|
@meta()
|
|
@@ -1398,7 +1398,7 @@ def next_day(col: ColumnOrName, dayOfWeek: str) -> Column:
|
|
|
1398
1398
|
if session._is_bigquery:
|
|
1399
1399
|
return next_day_bgutil(col, dayOfWeek)
|
|
1400
1400
|
|
|
1401
|
-
return Column.
|
|
1401
|
+
return Column.invoke_expression_over_column(col, expression.NextDay, expression=lit(dayOfWeek))
|
|
1402
1402
|
|
|
1403
1403
|
|
|
1404
1404
|
@meta()
|
|
@@ -2160,7 +2160,7 @@ def bit_count(col: ColumnOrName) -> Column:
|
|
|
2160
2160
|
if session._is_duckdb:
|
|
2161
2161
|
return Column.invoke_anonymous_function(col, "BIT_COUNT")
|
|
2162
2162
|
|
|
2163
|
-
return Column.invoke_expression_over_column(col, expression.
|
|
2163
|
+
return Column.invoke_expression_over_column(col, expression.BitwiseCount)
|
|
2164
2164
|
|
|
2165
2165
|
|
|
2166
2166
|
@meta(unsupported_engines="*")
|
|
@@ -4108,7 +4108,7 @@ def left(str: ColumnOrName, len: ColumnOrName) -> Column:
|
|
|
4108
4108
|
return Column.invoke_expression_over_column(str, expression.Left, expression=len)
|
|
4109
4109
|
|
|
4110
4110
|
|
|
4111
|
-
@meta(unsupported_engines="
|
|
4111
|
+
@meta(unsupported_engines="bigquery")
|
|
4112
4112
|
def like(
|
|
4113
4113
|
str: ColumnOrName, pattern: ColumnOrName, escapeChar: t.Optional["Column"] = None
|
|
4114
4114
|
) -> Column:
|
|
@@ -4886,7 +4886,7 @@ def parse_url(
|
|
|
4886
4886
|
)
|
|
4887
4887
|
|
|
4888
4888
|
|
|
4889
|
-
@meta(unsupported_engines="
|
|
4889
|
+
@meta(unsupported_engines=["bigquery", "snowflake"])
|
|
4890
4890
|
def pi() -> Column:
|
|
4891
4891
|
"""Returns Pi.
|
|
4892
4892
|
|
|
@@ -4901,7 +4901,7 @@ def pi() -> Column:
|
|
|
4901
4901
|
|3.141592653589793|
|
|
4902
4902
|
+-----------------+
|
|
4903
4903
|
"""
|
|
4904
|
-
return Column.
|
|
4904
|
+
return Column.invoke_expression_over_column(None, expression.Pi)
|
|
4905
4905
|
|
|
4906
4906
|
|
|
4907
4907
|
@meta(unsupported_engines="*")
|
|
@@ -6805,7 +6805,7 @@ def weekday(col: ColumnOrName) -> Column:
|
|
|
6805
6805
|
return Column.invoke_anonymous_function(col, "weekday")
|
|
6806
6806
|
|
|
6807
6807
|
|
|
6808
|
-
@meta(unsupported_engines="
|
|
6808
|
+
@meta(unsupported_engines=["bigquery", "duckdb", "postgres"])
|
|
6809
6809
|
def width_bucket(
|
|
6810
6810
|
v: ColumnOrName,
|
|
6811
6811
|
min: ColumnOrName,
|
|
@@ -6854,7 +6854,9 @@ def width_bucket(
|
|
|
6854
6854
|
+----------------------------+
|
|
6855
6855
|
"""
|
|
6856
6856
|
numBucket = lit(numBucket) if isinstance(numBucket, int) else numBucket
|
|
6857
|
-
return Column.
|
|
6857
|
+
return Column.invoke_expression_over_column(
|
|
6858
|
+
v, expression.WidthBucket, min_value=min, max_value=max, num_buckets=numBucket
|
|
6859
|
+
)
|
|
6858
6860
|
|
|
6859
6861
|
|
|
6860
6862
|
@meta(unsupported_engines=["*", "spark"])
|
|
@@ -78,7 +78,7 @@ def operation(
|
|
|
78
78
|
|
|
79
79
|
# Here decorate a function (self: _BaseGroupedData[DF], *args, **kwargs) -> DF
|
|
80
80
|
# Hence we work with t.Callable[Concatenate[_BaseGroupedData[DF], P], DF]
|
|
81
|
-
# We simplify the parameters, as Pyright (used for VSCode autocomplete) doesn't
|
|
81
|
+
# We simplify the parameters, as Pyright (used for VSCode autocomplete) doesn't understand this
|
|
82
82
|
def group_operation(
|
|
83
83
|
op: Operation,
|
|
84
84
|
) -> t.Callable[[t.Callable[P, DF]], t.Callable[P, DF]]:
|
|
@@ -4,6 +4,7 @@ import pytest
|
|
|
4
4
|
|
|
5
5
|
from sqlframe.base import types
|
|
6
6
|
from sqlframe.duckdb import DuckDBDataFrame, DuckDBSession
|
|
7
|
+
from sqlframe.duckdb import functions as F
|
|
7
8
|
|
|
8
9
|
pytest_plugins = ["tests.integration.fixtures"]
|
|
9
10
|
|
|
@@ -266,3 +267,23 @@ def test_explain(duckdb_employee: DuckDBDataFrame, capsys):
|
|
|
266
267
|
└───────────────────────────┘
|
|
267
268
|
""".strip()
|
|
268
269
|
)
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
def test_duplicate_cte(duckdb_session: DuckDBSession):
|
|
273
|
+
con = duckdb_session._conn
|
|
274
|
+
|
|
275
|
+
con.execute("CREATE VIEW foo AS SELECT 'a' as key, 1 as idx")
|
|
276
|
+
con.execute("CREATE VIEW bar AS SELECT 'b' as key, 2 as smth")
|
|
277
|
+
|
|
278
|
+
foo = duckdb_session.table("foo").filter(F.col("idx") == 1)
|
|
279
|
+
bar = duckdb_session.table("bar").filter(F.col("smth") == 2)
|
|
280
|
+
|
|
281
|
+
df = foo.join(bar, "key", "left")
|
|
282
|
+
|
|
283
|
+
df = df.unionByName(df)
|
|
284
|
+
|
|
285
|
+
results = duckdb_session._collect(expressions=df._get_expressions(optimize=True))
|
|
286
|
+
assert results == [
|
|
287
|
+
types.Row(key="a", idx=1, smth=None),
|
|
288
|
+
types.Row(key="a", idx=1, smth=None),
|
|
289
|
+
]
|
|
@@ -4424,7 +4424,7 @@ def test_parse_url(get_session_and_func, get_func):
|
|
|
4424
4424
|
|
|
4425
4425
|
def test_pi(get_session_and_func, get_func):
|
|
4426
4426
|
session, pi = get_session_and_func("pi")
|
|
4427
|
-
assert session.range(1).select(pi()).first()[0]
|
|
4427
|
+
assert session.range(1).select(pi()).first()[0] in (math.pi, 3.141592654)
|
|
4428
4428
|
|
|
4429
4429
|
|
|
4430
4430
|
def test_pmod(get_session_and_func, get_func):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.5 → sqlframe-3.43.7}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif
RENAMED
|
File without changes
|
|
File without changes
|
{sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/add_chatgpt_support/openai_full_rewrite.png
RENAMED
|
File without changes
|
{sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png
RENAMED
|
File without changes
|
{sqlframe-3.43.5 → sqlframe-3.43.7}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png
RENAMED
|
File without changes
|
{sqlframe-3.43.5 → sqlframe-3.43.7}/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
|