sqlframe 3.14.0__tar.gz → 3.14.1__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.14.0 → sqlframe-3.14.1}/PKG-INFO +1 -1
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/bigquery.md +1 -1
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/duckdb.md +1 -1
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/postgres.md +1 -1
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/redshift.md +1 -1
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/snowflake.md +1 -1
- {sqlframe-3.14.0 → sqlframe-3.14.1}/setup.py +3 -3
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/_version.py +2 -2
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/dataframe.py +34 -10
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe.egg-info/PKG-INFO +1 -1
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe.egg-info/requires.txt +3 -3
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/test_int_dataframe.py +37 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/.github/CODEOWNERS +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/.github/workflows/main.workflow.yaml +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/.github/workflows/publish.workflow.yaml +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/.gitignore +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/.pre-commit-config.yaml +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/.readthedocs.yaml +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/LICENSE +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/Makefile +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/README.md +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/add_chatgpt_support.md +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/but_wait_theres_more.gif +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/cake.gif +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/you_get_pyspark_api.gif +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/sqlframe_universal_dataframe_api.md +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/configuration.md +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/databricks.md +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/docs/bigquery.md +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/docs/duckdb.md +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/docs/images/SF.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/docs/images/favicon.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/docs/images/favicon_old.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/docs/postgres.md +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/images/SF.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/images/favicon.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/images/favicon_old.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/index.md +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/requirements.txt +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/spark.md +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/standalone.md +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/docs/stylesheets/extra.css +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/mkdocs.yml +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/pytest.ini +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/renovate.json +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/setup.cfg +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/LICENSE +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/_typing.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/column.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/decorators.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/exceptions.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/function_alternatives.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/functions.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/group.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/mixins/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/mixins/catalog_mixins.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/mixins/table_mixins.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/normalize.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/operations.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/readerwriter.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/table.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/transforms.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/types.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/udf.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/util.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/base/window.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/bigquery/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/bigquery/catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/bigquery/column.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/bigquery/dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/bigquery/functions.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/bigquery/functions.pyi +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/bigquery/group.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/bigquery/readwriter.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/bigquery/session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/bigquery/table.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/bigquery/types.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/bigquery/udf.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/bigquery/window.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/databricks/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/databricks/catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/databricks/column.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/databricks/dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/databricks/functions.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/databricks/functions.pyi +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/databricks/group.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/databricks/readwriter.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/databricks/session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/databricks/table.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/databricks/types.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/databricks/udf.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/databricks/window.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/duckdb/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/duckdb/catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/duckdb/column.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/duckdb/dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/duckdb/functions.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/duckdb/functions.pyi +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/duckdb/group.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/duckdb/readwriter.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/duckdb/session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/duckdb/table.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/duckdb/types.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/duckdb/udf.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/duckdb/window.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/postgres/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/postgres/catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/postgres/column.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/postgres/dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/postgres/functions.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/postgres/functions.pyi +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/postgres/group.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/postgres/readwriter.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/postgres/session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/postgres/table.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/postgres/types.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/postgres/udf.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/postgres/window.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/redshift/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/redshift/catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/redshift/column.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/redshift/dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/redshift/functions.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/redshift/group.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/redshift/readwriter.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/redshift/session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/redshift/table.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/redshift/types.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/redshift/udf.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/redshift/window.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/snowflake/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/snowflake/catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/snowflake/column.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/snowflake/dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/snowflake/functions.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/snowflake/functions.pyi +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/snowflake/group.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/snowflake/readwriter.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/snowflake/session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/snowflake/table.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/snowflake/types.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/snowflake/udf.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/snowflake/window.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/spark/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/spark/catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/spark/column.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/spark/dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/spark/functions.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/spark/functions.pyi +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/spark/group.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/spark/readwriter.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/spark/session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/spark/table.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/spark/types.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/spark/udf.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/spark/window.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/standalone/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/standalone/catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/standalone/column.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/standalone/dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/standalone/functions.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/standalone/group.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/standalone/readwriter.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/standalone/session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/standalone/table.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/standalone/types.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/standalone/udf.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/standalone/window.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/testing/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe/testing/utils.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe.egg-info/SOURCES.txt +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe.egg-info/dependency_links.txt +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/sqlframe.egg-info/top_level.txt +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/common_fixtures.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/conftest.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee.csv +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee.json +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee.parquet +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/employee_extra_line.csv +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/issue_219.csv +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds1.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds10.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds11.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds12.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds13.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds14.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds15.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds16.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds17.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds18.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds19.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds2.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds20.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds21.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds22.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds23.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds24.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds25.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds26.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds27.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds28.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds29.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds3.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds30.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds31.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds32.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds33.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds34.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds35.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds36.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds37.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds38.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds39.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds4.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds40.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds41.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds42.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds43.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds44.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds45.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds46.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds47.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds48.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds49.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds5.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds50.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds51.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds52.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds53.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds54.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds55.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds56.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds57.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds58.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds59.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds6.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds60.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds61.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds62.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds63.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds64.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds65.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds66.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds67.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds68.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds69.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds7.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds70.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds71.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds72.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds73.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds74.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds75.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds76.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds77.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds78.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds79.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds8.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds80.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds81.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds82.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds83.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds84.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds85.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds86.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds87.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds88.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds89.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds9.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds90.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds91.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds92.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds93.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds94.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds95.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds96.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds97.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds98.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/fixtures/tpcds/tpcds99.sql +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/bigquery/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/databricks/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/databricks/test_databricks_catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/databricks/test_databricks_dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/databricks/test_databricks_session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/duck/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/duck/test_duckdb_catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/duck/test_duckdb_dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/duck/test_duckdb_reader.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/duck/test_tpcds.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/postgres/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/redshift/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/snowflake/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/spark/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/test_engine_column.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/test_engine_dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/test_engine_reader.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/test_engine_session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/test_engine_table.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/test_engine_writer.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/test_int_functions.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/engines/test_int_testing.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/fixtures.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/test_int_dataframe_stats.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/test_int_grouped_data.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/integration/test_int_session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/types.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/bigquery/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/bigquery/test_activate.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/conftest.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/databricks/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/databricks/test_activate.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/duck/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/duck/test_activate.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/postgres/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/postgres/test_activate.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/redshift/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/redshift/test_activate.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/snowflake/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/snowflake/test_activate.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/spark/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/spark/test_activate.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/standalone/__init__.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/standalone/fixtures.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/standalone/test_activate.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/standalone/test_column.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/standalone/test_dataframe.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/standalone/test_dataframe_writer.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/standalone/test_functions.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/standalone/test_session.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/standalone/test_types.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/standalone/test_window.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/test_activate.py +0 -0
- {sqlframe-3.14.0 → sqlframe-3.14.1}/tests/unit/test_util.py +0 -0
|
@@ -641,7 +641,7 @@ df_employee = session.createDataFrame(
|
|
|
641
641
|
|
|
642
642
|
df_employee.write.mode("overwrite").saveAsTable("employee")
|
|
643
643
|
|
|
644
|
-
table_employee = session.table("employee") # This object is of Type
|
|
644
|
+
table_employee = session.table("employee") # This object is of Type BigqueryTable
|
|
645
645
|
```
|
|
646
646
|
|
|
647
647
|
#### Update Statement
|
|
@@ -592,7 +592,7 @@ df_employee = session.createDataFrame(
|
|
|
592
592
|
|
|
593
593
|
df_employee.write.mode("overwrite").saveAsTable("employee")
|
|
594
594
|
|
|
595
|
-
table_employee = session.table("employee") # This object is of Type
|
|
595
|
+
table_employee = session.table("employee") # This object is of Type DuckDBTable
|
|
596
596
|
```
|
|
597
597
|
|
|
598
598
|
#### Update Statement
|
|
@@ -587,7 +587,7 @@ df_employee = session.createDataFrame(
|
|
|
587
587
|
|
|
588
588
|
df_employee.write.mode("overwrite").saveAsTable("employee")
|
|
589
589
|
|
|
590
|
-
table_employee = session.table("employee") # This object is of Type
|
|
590
|
+
table_employee = session.table("employee") # This object is of Type PostgresTable
|
|
591
591
|
```
|
|
592
592
|
|
|
593
593
|
#### Update Statement
|
|
@@ -196,7 +196,7 @@ df_employee = session.createDataFrame(
|
|
|
196
196
|
|
|
197
197
|
df_employee.write.mode("overwrite").saveAsTable("employee")
|
|
198
198
|
|
|
199
|
-
table_employee = session.table("employee") # This object is of Type
|
|
199
|
+
table_employee = session.table("employee") # This object is of Type RedshiftTable
|
|
200
200
|
```
|
|
201
201
|
|
|
202
202
|
#### Update Statement
|
|
@@ -642,7 +642,7 @@ df_employee = session.createDataFrame(
|
|
|
642
642
|
|
|
643
643
|
df_employee.write.mode("overwrite").saveAsTable("employee")
|
|
644
644
|
|
|
645
|
-
table_employee = session.table("employee") # This object is of Type
|
|
645
|
+
table_employee = session.table("employee") # This object is of Type SnowflakeTable
|
|
646
646
|
```
|
|
647
647
|
|
|
648
648
|
#### Update Statement
|
|
@@ -20,7 +20,7 @@ setup(
|
|
|
20
20
|
python_requires=">=3.9",
|
|
21
21
|
install_requires=[
|
|
22
22
|
"prettytable<4",
|
|
23
|
-
"sqlglot>=24.0.0,<26.
|
|
23
|
+
"sqlglot>=24.0.0,<26.4",
|
|
24
24
|
"typing_extensions",
|
|
25
25
|
],
|
|
26
26
|
extras_require={
|
|
@@ -70,13 +70,13 @@ setup(
|
|
|
70
70
|
"redshift_connector>=2.1.1,<2.2.0",
|
|
71
71
|
],
|
|
72
72
|
"snowflake": [
|
|
73
|
-
"snowflake-connector-python[secure-local-storage]>=3.10.0,<3.
|
|
73
|
+
"snowflake-connector-python[secure-local-storage]>=3.10.0,<3.14",
|
|
74
74
|
],
|
|
75
75
|
"spark": [
|
|
76
76
|
"pyspark>=2,<3.6",
|
|
77
77
|
],
|
|
78
78
|
"databricks": [
|
|
79
|
-
"databricks-sql-connector>=3.6,<
|
|
79
|
+
"databricks-sql-connector>=3.6,<5",
|
|
80
80
|
],
|
|
81
81
|
},
|
|
82
82
|
classifiers=[
|
|
@@ -79,6 +79,23 @@ JOIN_HINTS = {
|
|
|
79
79
|
"SHUFFLE_REPLICATE_NL",
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
+
JOIN_TYPE_MAPPING = {
|
|
83
|
+
"inner": "inner",
|
|
84
|
+
"cross": "cross",
|
|
85
|
+
"outer": "full_outer",
|
|
86
|
+
"full": "full_outer",
|
|
87
|
+
"fullouter": "full_outer",
|
|
88
|
+
"left": "left_outer",
|
|
89
|
+
"leftouter": "left_outer",
|
|
90
|
+
"right": "right_outer",
|
|
91
|
+
"rightouter": "right_outer",
|
|
92
|
+
"semi": "left_semi",
|
|
93
|
+
"leftsemi": "left_semi",
|
|
94
|
+
"left_semi": "left_semi",
|
|
95
|
+
"anti": "left_anti",
|
|
96
|
+
"leftanti": "left_anti",
|
|
97
|
+
"left_anti": "left_anti",
|
|
98
|
+
}
|
|
82
99
|
|
|
83
100
|
DF = t.TypeVar("DF", bound="BaseDataFrame")
|
|
84
101
|
|
|
@@ -944,16 +961,20 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
|
944
961
|
) -> Self:
|
|
945
962
|
from sqlframe.base.functions import coalesce
|
|
946
963
|
|
|
947
|
-
if on is None:
|
|
964
|
+
if (on is None) and ("cross" not in how):
|
|
948
965
|
logger.warning("Got no value for on. This appears to change the join to a cross join.")
|
|
949
966
|
how = "cross"
|
|
967
|
+
if (on is not None) and ("cross" in how):
|
|
968
|
+
# Not a lot of doc, but Spark handles cross with predicate as an inner join
|
|
969
|
+
# https://learn.microsoft.com/en-us/dotnet/api/microsoft.spark.sql.dataframe.join
|
|
970
|
+
logger.warning("Got cross join with an 'on' value. This will result in an inner join.")
|
|
971
|
+
how = "inner"
|
|
950
972
|
|
|
951
973
|
other_df = other_df._convert_leaf_to_cte()
|
|
952
974
|
join_expression = self._add_ctes_to_expression(self.expression, other_df.expression.ctes)
|
|
953
975
|
# We will determine actual "join on" expression later so we don't provide it at first
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
)
|
|
976
|
+
join_type = JOIN_TYPE_MAPPING.get(how, how).replace("_", " ")
|
|
977
|
+
join_expression = join_expression.join(join_expression.ctes[-1].alias, join_type=join_type)
|
|
957
978
|
self_columns = self._get_outer_select_columns(join_expression)
|
|
958
979
|
other_columns = self._get_outer_select_columns(other_df.expression)
|
|
959
980
|
join_columns = self._ensure_and_normalize_cols(on)
|
|
@@ -961,7 +982,12 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
|
961
982
|
|
|
962
983
|
# Determines the join clause and select columns to be used passed on what type of columns were provided for
|
|
963
984
|
# the join. The columns returned changes based on how the on expression is provided.
|
|
964
|
-
|
|
985
|
+
select_columns = (
|
|
986
|
+
self_columns
|
|
987
|
+
if join_type in ["left anti", "left semi"]
|
|
988
|
+
else self_columns + other_columns
|
|
989
|
+
)
|
|
990
|
+
if join_type != "cross":
|
|
965
991
|
if isinstance(join_columns[0].expression, exp.Column):
|
|
966
992
|
"""
|
|
967
993
|
Unique characteristics of join on column names only:
|
|
@@ -992,7 +1018,7 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
|
992
1018
|
if not isinstance(column.expression.this, exp.Star)
|
|
993
1019
|
else column.sql()
|
|
994
1020
|
)
|
|
995
|
-
for column in
|
|
1021
|
+
for column in select_columns
|
|
996
1022
|
]
|
|
997
1023
|
select_column_names = [
|
|
998
1024
|
column_name
|
|
@@ -1010,13 +1036,11 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
|
1010
1036
|
* The left join dataframe columns go first and right come after. No sort preference is given to join columns
|
|
1011
1037
|
"""
|
|
1012
1038
|
join_clause = self._normalize_join_clause(join_columns, join_expression)
|
|
1013
|
-
select_column_names = [
|
|
1014
|
-
column.alias_or_name for column in self_columns + other_columns
|
|
1015
|
-
]
|
|
1039
|
+
select_column_names = [column.alias_or_name for column in select_columns]
|
|
1016
1040
|
|
|
1017
1041
|
# Update the on expression with the actual join clause to replace the dummy one from before
|
|
1018
1042
|
else:
|
|
1019
|
-
select_column_names = [column.alias_or_name for column in
|
|
1043
|
+
select_column_names = [column.alias_or_name for column in select_columns]
|
|
1020
1044
|
join_clause = None
|
|
1021
1045
|
join_expression.args["joins"][-1].set("on", join_clause.expression if join_clause else None)
|
|
1022
1046
|
new_df = self.copy(expression=join_expression)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
prettytable<4
|
|
2
|
-
sqlglot<26.
|
|
2
|
+
sqlglot<26.4,>=24.0.0
|
|
3
3
|
typing_extensions
|
|
4
4
|
|
|
5
5
|
[bigquery]
|
|
@@ -7,7 +7,7 @@ google-cloud-bigquery-storage<3,>=2
|
|
|
7
7
|
google-cloud-bigquery[pandas]<4,>=3
|
|
8
8
|
|
|
9
9
|
[databricks]
|
|
10
|
-
databricks-sql-connector<
|
|
10
|
+
databricks-sql-connector<5,>=3.6
|
|
11
11
|
|
|
12
12
|
[dev]
|
|
13
13
|
duckdb<1.2,>=0.9
|
|
@@ -51,7 +51,7 @@ psycopg2<3,>=2.8
|
|
|
51
51
|
redshift_connector<2.2.0,>=2.1.1
|
|
52
52
|
|
|
53
53
|
[snowflake]
|
|
54
|
-
snowflake-connector-python[secure-local-storage]<3.
|
|
54
|
+
snowflake-connector-python[secure-local-storage]<3.14,>=3.10.0
|
|
55
55
|
|
|
56
56
|
[spark]
|
|
57
57
|
pyspark<3.6,>=2
|
|
@@ -435,6 +435,43 @@ def test_join_inner(
|
|
|
435
435
|
compare_frames(df_joined, dfs_joined, sort=True)
|
|
436
436
|
|
|
437
437
|
|
|
438
|
+
@pytest.mark.parametrize(
|
|
439
|
+
"how",
|
|
440
|
+
[
|
|
441
|
+
"inner",
|
|
442
|
+
"cross",
|
|
443
|
+
"outer",
|
|
444
|
+
"full",
|
|
445
|
+
"fullouter",
|
|
446
|
+
"full_outer",
|
|
447
|
+
"left",
|
|
448
|
+
"leftouter",
|
|
449
|
+
"left_outer",
|
|
450
|
+
"right",
|
|
451
|
+
"rightouter",
|
|
452
|
+
"right_outer",
|
|
453
|
+
"semi",
|
|
454
|
+
"leftsemi",
|
|
455
|
+
"left_semi",
|
|
456
|
+
"anti",
|
|
457
|
+
"leftanti",
|
|
458
|
+
"left_anti",
|
|
459
|
+
],
|
|
460
|
+
)
|
|
461
|
+
def test_join_various_how(
|
|
462
|
+
pyspark_employee: PySparkDataFrame,
|
|
463
|
+
pyspark_store: PySparkDataFrame,
|
|
464
|
+
get_df: t.Callable[[str], BaseDataFrame],
|
|
465
|
+
compare_frames: t.Callable,
|
|
466
|
+
how: str,
|
|
467
|
+
):
|
|
468
|
+
employee = get_df("employee")
|
|
469
|
+
store = get_df("store")
|
|
470
|
+
df_joined = pyspark_employee.join(pyspark_store, on=["store_id"], how=how)
|
|
471
|
+
dfs_joined = employee.join(store, on=["store_id"], how=how)
|
|
472
|
+
compare_frames(df_joined, dfs_joined, sort=True)
|
|
473
|
+
|
|
474
|
+
|
|
438
475
|
def test_join_inner_no_select(
|
|
439
476
|
pyspark_employee: PySparkDataFrame,
|
|
440
477
|
pyspark_store: PySparkDataFrame,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.14.0 → sqlframe-3.14.1}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif
RENAMED
|
File without changes
|
|
File without changes
|
{sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/add_chatgpt_support/openai_full_rewrite.png
RENAMED
|
File without changes
|
{sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png
RENAMED
|
File without changes
|
{sqlframe-3.14.0 → sqlframe-3.14.1}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png
RENAMED
|
File without changes
|
{sqlframe-3.14.0 → sqlframe-3.14.1}/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
|