datajunction-server 0.0.1a47.dev0__tar.gz → 0.0.1a48__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.
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/Makefile +1 -1
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/PKG-INFO +2 -2
- datajunction_server-0.0.1a48/datajunction_server/__about__.py +4 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/nodes.py +0 -1
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/construction/build.py +27 -11
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/availabilitystate.py +2 -1
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/materializations.py +9 -1
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/node.py +1 -1
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/functions.py +2 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/ast.py +4 -1
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/materializations_test.py +147 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/construction/build_test.py +9 -1
- datajunction_server-0.0.1a47.dev0/datajunction_server/__about__.py +0 -4
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/.coveragerc +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/.env +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/.env.integration +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/.flake8 +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/.gitignore +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/.isort.cfg +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/.pre-commit-config.yaml +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/.pylintrc +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/Dockerfile +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/README.md +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/alembic/README +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/alembic/env.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/alembic/script.py.mako +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/alembic/versions/2023_12_20_1829-724445d2b29d_initial_migration.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/alembic/versions/2024_01_08_2034-945d44abcd32_add_dimension_links.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/alembic/versions/2024_01_11_2032-c74b11566d82_add_column_order.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/alembic/versions/2024_01_18_2011-20f060b02772_switch_enum_values.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/alembic/versions/2024_01_23_0617-c9cef8864ecb_add_missing_table_attribute_to_source_.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/alembic/versions/2024_01_23_1655-a8e22109be24_availability_state_s_valid_through_ts_.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/alembic/versions/2024_02_22_0713-d61fb7e48cc3_cascade_deletes_to_dimension_links.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/alembic/versions/2024_04_30_1556-de7ec1c82fe0_add_query_requests.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/alembic/versions/2024_05_09_1420-9b1227ff17f4_update_backfill_spec.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/alembic.ini +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/access/authentication/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/access/authentication/basic.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/access/authentication/github.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/access/authentication/google.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/access/authentication/whoami.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/attributes.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/catalogs.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/client.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/cubes.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/data.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/dimensions.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/djsql.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/engines.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/graphql/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/graphql/catalogs.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/graphql/engines.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/graphql/main.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/health.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/helpers.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/history.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/logging.conf +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/main.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/materializations.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/measures.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/metrics.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/namespaces.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/sql.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/tags.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/config.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/constants.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/construction/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/construction/dimensions.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/construction/dj_query.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/construction/exceptions.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/construction/utils.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/attributetype.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/backfill.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/base.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/catalog.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/column.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/database.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/dimensionlink.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/engine.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/history.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/materialization.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/measure.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/metricmetadata.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/namespace.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/node.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/partition.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/queryrequest.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/tag.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/database/user.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/enum.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/errors.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/access/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/access/authentication/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/access/authentication/basic.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/access/authentication/github.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/access/authentication/google.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/access/authentication/http.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/access/authentication/tokens.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/access/authorization.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/engines.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/namespaces.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/nodes.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/internal/validation.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/materialization/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/materialization/jobs/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/materialization/jobs/cube_materialization.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/materialization/jobs/job_types.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/materialization/jobs/materialization_job.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/access.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/attribute.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/base.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/catalog.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/column.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/cube.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/database.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/dimensionlink.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/engine.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/history.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/materialization.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/measure.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/metric.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/node_type.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/partition.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/query.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/table.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/tag.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/models/user.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/naming.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/service_clients.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/dag.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/antlr4.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/exceptions.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/grammar/SqlBaseLexer.g4 +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/grammar/SqlBaseParser.g4 +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/grammar/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseLexer.interp +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseLexer.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseLexer.tokens +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParser.interp +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParser.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParser.tokens +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParserListener.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParserVisitor.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/sql/parsing/types.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/superset.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/transpilation.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/typing.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/utils.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/pdm.lock +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/pyproject.toml +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/requirements/docker.txt +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/requirements/test.txt +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/scripts/docs-snippets.js +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/scripts/docs-snippets.sh +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/scripts/generate-openapi.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/attributes_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/catalog_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/client_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/cubes_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/data_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/dimension_links_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/dimensions_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/djql_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/engine_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/druid_measures_cube.full.druid_spec.json +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/druid_measures_cube.full.partition.druid_spec.json +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/druid_measures_cube.full.partition.query.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/druid_measures_cube.full.query.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/druid_measures_cube.incremental.categorical.query.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/druid_measures_cube.incremental.druid_spec.json +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/druid_measures_cube.incremental.patched.query.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/druid_measures_cube.incremental.query.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/druid_metrics_cube.incremental.categorical.query.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/druid_metrics_cube.incremental.druid_spec.json +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/druid_metrics_cube.incremental.query.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/spark_sql.full.config.json +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/spark_sql.full.materializations.json +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/spark_sql.full.partition.config.json +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/spark_sql.full.partition.materializations.json +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/spark_sql.full.partition.query.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/spark_sql.full.query.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/spark_sql.incremental.additional.query.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/spark_sql.incremental.categorical.query.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/spark_sql.incremental.config.json +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/spark_sql.incremental.lookback.query.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/files/materializations_test/spark_sql.incremental.query.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/graphql/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/graphql/catalog_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/graphql/engine_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/health_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/helpers_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/history_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/measures_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/metrics_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/namespaces_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/node_update_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/nodes_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/routers_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/sql_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/api/tags_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/conftest.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/construction/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/construction/compile_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/construction/exceptions_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/construction/fixtures.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/construction/inference_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/construction/utils_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/default.duckdb +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/duckdb.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/errors_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/examples.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/fixes_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/integration/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/integration/basic_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/internal/authentication/basic_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/internal/authentication/github_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/internal/authentication/http_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/internal/authentication/token_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/internal/authentication/whoami_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/migrations_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/models/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/models/catalog_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/models/hash_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/models/measure_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/models/node_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/models/query_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/pytest.ini +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/service_clients_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/dag_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/functions_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/backends/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/backends/antlr4_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/backends/types_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/__init__.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query1.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query10.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query11.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query12.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query13.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query14.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query15.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query16.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query17.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query18.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query19.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query2.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query20.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query21.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query22.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query23.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query24.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query25.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query26.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query27.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query28.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query29.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query3.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query30.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query31.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query32.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query33.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query34.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query35.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query36.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query37.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query38.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query39.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query4.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query40.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query41.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query42.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query43.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query44.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query45.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query46.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query47.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query48.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query49.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query5.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query50.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query51.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query52.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query53.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query54.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query55.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query56.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query57.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query58.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query59.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query6.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query60.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query61.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query62.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query63.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query64.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query65.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query66.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query67.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query68.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query69.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query7.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query70.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query71.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query72.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query73.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query74.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query75.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query76.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query77.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query78.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query79.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query8.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query80.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query81.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query82.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query83.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query84.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query85.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query86.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query87.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query88.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query89.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query9.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query90.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query91.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query92.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query93.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query94.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query95.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query96.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query97.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query98.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/ansi/query99.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query1.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query10.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query11.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query12.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query13.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query14.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query15.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query16.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query17.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query18.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query19.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query2.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query20.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query21.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query22.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query23.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query24.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query25.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query26.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query27.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query28.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query29.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query3.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query30.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query31.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query32.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query33.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query34.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query35.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query36.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query37.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query38.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query39.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query4.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query40.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query41.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query42.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query43.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query44.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query45.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query46.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query47.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query48.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query49.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query5.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query50.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query51.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query52.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query53.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query54.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query55.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query56.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query57.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query58.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query59.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query6.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query60.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query61.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query62.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query63.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query64.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query65.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query66.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query67.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query68.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query69.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query7.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query70.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query71.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query72.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query73.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query74.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query75.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query76.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query77.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query78.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query79.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query8.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query80.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query81.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query82.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query83.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query84.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query85.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query86.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query87.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query88.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query89.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query9.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query90.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query91.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query92.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query93.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query94.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query95.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query96.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query97.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query98.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/sparksql/query99.sql +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/queries/tpcds/test_tpcds.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/parsing/test_ast.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/sql/utils.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/superset_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/transpilation_test.py +0 -0
- {datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/utils_test.py +0 -0
|
@@ -18,7 +18,7 @@ docker-run:
|
|
|
18
18
|
docker compose up
|
|
19
19
|
|
|
20
20
|
test:
|
|
21
|
-
pdm run pytest -n auto --cov=datajunction_server
|
|
21
|
+
pdm run pytest -n auto --cov=datajunction_server -vv tests/ --doctest-modules datajunction_server --without-integration --without-slow-integration ${PYTEST_ARGS}
|
|
22
22
|
|
|
23
23
|
integration:
|
|
24
24
|
pdm run pytest --cov=dj -vv tests/ --doctest-modules datajunction_server --with-integration --with-slow-integration
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: datajunction-server
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.1a48
|
|
4
4
|
Summary: DataJunction server library for running to a DataJunction server
|
|
5
5
|
Project-URL: repository, https://github.com/DataJunction/dj
|
|
6
6
|
Author-email: DataJunction Authors <yian.shang@gmail.com>
|
|
@@ -773,6 +773,9 @@ def _get_node_table(
|
|
|
773
773
|
If a node has a materialization available, return the materialized table
|
|
774
774
|
"""
|
|
775
775
|
table = None
|
|
776
|
+
can_use_materialization = (
|
|
777
|
+
build_criteria and node.name != build_criteria.target_node_name
|
|
778
|
+
)
|
|
776
779
|
if node.type == NodeType.SOURCE:
|
|
777
780
|
if node.table:
|
|
778
781
|
name = ast.Name(
|
|
@@ -796,8 +799,12 @@ def _get_node_table(
|
|
|
796
799
|
],
|
|
797
800
|
_dj_node=node,
|
|
798
801
|
)
|
|
799
|
-
elif
|
|
800
|
-
|
|
802
|
+
elif (
|
|
803
|
+
can_use_materialization
|
|
804
|
+
and node.availability
|
|
805
|
+
and node.availability.is_available(
|
|
806
|
+
criteria=build_criteria,
|
|
807
|
+
)
|
|
801
808
|
): # pragma: no cover
|
|
802
809
|
table = ast.Table(
|
|
803
810
|
ast.Name(
|
|
@@ -822,6 +829,23 @@ def _get_node_table(
|
|
|
822
829
|
return table
|
|
823
830
|
|
|
824
831
|
|
|
832
|
+
def get_default_criteria(
|
|
833
|
+
node: NodeRevision,
|
|
834
|
+
) -> BuildCriteria:
|
|
835
|
+
"""
|
|
836
|
+
Get the default build criteria for a node.
|
|
837
|
+
"""
|
|
838
|
+
return BuildCriteria(
|
|
839
|
+
# set the dialect by finding available engines for this node, or default to Spark
|
|
840
|
+
dialect=(
|
|
841
|
+
node.catalog.engines[0].dialect
|
|
842
|
+
if node.catalog and node.catalog.engines and node.catalog.engines[0].dialect
|
|
843
|
+
else Dialect.SPARK
|
|
844
|
+
),
|
|
845
|
+
target_node_name=node.name,
|
|
846
|
+
)
|
|
847
|
+
|
|
848
|
+
|
|
825
849
|
async def build_node( # pylint: disable=too-many-arguments
|
|
826
850
|
session: AsyncSession,
|
|
827
851
|
node: NodeRevision,
|
|
@@ -844,15 +868,7 @@ async def build_node( # pylint: disable=too-many-arguments
|
|
|
844
868
|
|
|
845
869
|
# Set the dialect by finding available engines for this node, or default to Spark
|
|
846
870
|
if not build_criteria:
|
|
847
|
-
build_criteria =
|
|
848
|
-
dialect=(
|
|
849
|
-
node.catalog.engines[0].dialect
|
|
850
|
-
if node.catalog
|
|
851
|
-
and node.catalog.engines
|
|
852
|
-
and node.catalog.engines[0].dialect
|
|
853
|
-
else Dialect.SPARK
|
|
854
|
-
),
|
|
855
|
-
)
|
|
871
|
+
build_criteria = get_default_criteria(node)
|
|
856
872
|
|
|
857
873
|
# get dimension columns which are required
|
|
858
874
|
# in the stated bound dimensions on the metric node
|
|
@@ -70,7 +70,8 @@ class AvailabilityState(Base): # pylint: disable=too-few-public-methods
|
|
|
70
70
|
"""
|
|
71
71
|
Determine whether an availability state is useable given criteria
|
|
72
72
|
"""
|
|
73
|
-
#
|
|
73
|
+
# TODO: we should evaluate this availability state against the criteria. # pylint: disable=fixme
|
|
74
|
+
# Remember that VTTS can be also evaluated at runtime dependency.
|
|
74
75
|
return True
|
|
75
76
|
|
|
76
77
|
|
|
@@ -7,7 +7,11 @@ from sqlalchemy.exc import InvalidRequestError
|
|
|
7
7
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
8
8
|
|
|
9
9
|
from datajunction_server.api.helpers import build_sql_for_multiple_metrics
|
|
10
|
-
from datajunction_server.construction.build import
|
|
10
|
+
from datajunction_server.construction.build import (
|
|
11
|
+
build_node,
|
|
12
|
+
get_default_criteria,
|
|
13
|
+
get_measures_query,
|
|
14
|
+
)
|
|
11
15
|
from datajunction_server.database.materialization import Materialization
|
|
12
16
|
from datajunction_server.database.node import NodeRevision
|
|
13
17
|
from datajunction_server.errors import DJException, DJInvalidInputException
|
|
@@ -183,11 +187,15 @@ async def build_non_cube_materialization_config(
|
|
|
183
187
|
"""
|
|
184
188
|
Build materialization config for non-cube nodes (transforms and dimensions).
|
|
185
189
|
"""
|
|
190
|
+
build_criteria = get_default_criteria(
|
|
191
|
+
node=current_revision,
|
|
192
|
+
)
|
|
186
193
|
materialization_ast = await build_node(
|
|
187
194
|
session=session,
|
|
188
195
|
node=current_revision,
|
|
189
196
|
dimensions=[],
|
|
190
197
|
orderby=[],
|
|
198
|
+
build_criteria=build_criteria,
|
|
191
199
|
)
|
|
192
200
|
generic_config = GenericMaterializationConfig(
|
|
193
201
|
lookback_window=upsert.config.lookback_window,
|
|
@@ -1734,7 +1734,10 @@ class Function(Named, Operation):
|
|
|
1734
1734
|
try:
|
|
1735
1735
|
self.function().compile_lambda(*self.args)
|
|
1736
1736
|
except DJParseException as parse_exc:
|
|
1737
|
-
|
|
1737
|
+
if "Cannot resolve type of column" in parse_exc.message:
|
|
1738
|
+
logger.warning(parse_exc)
|
|
1739
|
+
else:
|
|
1740
|
+
raise parse_exc
|
|
1738
1741
|
|
|
1739
1742
|
for child in self.children:
|
|
1740
1743
|
if not child.is_compiled():
|
|
@@ -1058,3 +1058,150 @@ async def test_spark_sql_incremental(
|
|
|
1058
1058
|
.replace("${country}", "DJ_COUNTRY()"),
|
|
1059
1059
|
),
|
|
1060
1060
|
)
|
|
1061
|
+
|
|
1062
|
+
|
|
1063
|
+
@pytest.mark.asyncio
|
|
1064
|
+
async def test_spark_with_availablity(
|
|
1065
|
+
client_with_repairs_cube: AsyncClient, # pylint: disable=redefined-outer-name
|
|
1066
|
+
):
|
|
1067
|
+
"""
|
|
1068
|
+
Verify that we build the Query correctly with or without the materialization availability.
|
|
1069
|
+
"""
|
|
1070
|
+
# add one transform node
|
|
1071
|
+
response = await client_with_repairs_cube.post(
|
|
1072
|
+
"/nodes/transform/",
|
|
1073
|
+
json={
|
|
1074
|
+
"query": ("SELECT first_name, birth_date FROM default.hard_hats"),
|
|
1075
|
+
"description": "test transform",
|
|
1076
|
+
"mode": "published",
|
|
1077
|
+
"name": "default.test_transform",
|
|
1078
|
+
},
|
|
1079
|
+
)
|
|
1080
|
+
assert response.status_code in (200, 201)
|
|
1081
|
+
|
|
1082
|
+
# add another transform node on top of the 1st one
|
|
1083
|
+
response = await client_with_repairs_cube.post(
|
|
1084
|
+
"/nodes/transform/",
|
|
1085
|
+
json={
|
|
1086
|
+
"query": ("SELECT first_name, birth_date FROM default.test_transform"),
|
|
1087
|
+
"description": "test transform two",
|
|
1088
|
+
"mode": "published",
|
|
1089
|
+
"name": "default.test_transform_two",
|
|
1090
|
+
},
|
|
1091
|
+
)
|
|
1092
|
+
assert response.status_code in (200, 201)
|
|
1093
|
+
|
|
1094
|
+
# create a materialization on the 1st node (w/o availability)
|
|
1095
|
+
response = await client_with_repairs_cube.post(
|
|
1096
|
+
"/nodes/default.test_transform/materialization/",
|
|
1097
|
+
json={
|
|
1098
|
+
"job": "spark_sql",
|
|
1099
|
+
"strategy": "full",
|
|
1100
|
+
"config": {},
|
|
1101
|
+
"schedule": "0 * * * *",
|
|
1102
|
+
},
|
|
1103
|
+
)
|
|
1104
|
+
assert response.status_code in (200, 201)
|
|
1105
|
+
|
|
1106
|
+
# check the materialization on 1st node
|
|
1107
|
+
query_one = (
|
|
1108
|
+
"SELECT default_DOT_test_transform.first_name,"
|
|
1109
|
+
"\n\tdefault_DOT_test_transform.birth_date "
|
|
1110
|
+
"\n FROM (SELECT default_DOT_hard_hats.first_name,"
|
|
1111
|
+
"\n\tdefault_DOT_hard_hats.birth_date "
|
|
1112
|
+
"\n FROM roads.hard_hats AS default_DOT_hard_hats)"
|
|
1113
|
+
"\n AS default_DOT_test_transform\n\n"
|
|
1114
|
+
)
|
|
1115
|
+
response = await client_with_repairs_cube.get(
|
|
1116
|
+
"/nodes/default.test_transform/materializations/",
|
|
1117
|
+
)
|
|
1118
|
+
assert response.status_code in (200, 201)
|
|
1119
|
+
assert response.json()[0]["config"]["query"] == query_one
|
|
1120
|
+
|
|
1121
|
+
# create a materialization on the 2nd node (w/o availability)
|
|
1122
|
+
response = await client_with_repairs_cube.post(
|
|
1123
|
+
"/nodes/default.test_transform_two/materialization/",
|
|
1124
|
+
json={
|
|
1125
|
+
"job": "spark_sql",
|
|
1126
|
+
"strategy": "full",
|
|
1127
|
+
"config": {},
|
|
1128
|
+
"schedule": "0 * * * *",
|
|
1129
|
+
},
|
|
1130
|
+
)
|
|
1131
|
+
assert response.status_code in (200, 201)
|
|
1132
|
+
|
|
1133
|
+
# check the materialization on 2nd node
|
|
1134
|
+
query_two = (
|
|
1135
|
+
"SELECT default_DOT_test_transform_two.first_name,"
|
|
1136
|
+
"\n\tdefault_DOT_test_transform_two.birth_date "
|
|
1137
|
+
"\n FROM (SELECT default_DOT_test_transform.first_name,"
|
|
1138
|
+
"\n\tdefault_DOT_test_transform.birth_date "
|
|
1139
|
+
"\n FROM (SELECT default_DOT_hard_hats.first_name,"
|
|
1140
|
+
"\n\tdefault_DOT_hard_hats.birth_date "
|
|
1141
|
+
"\n FROM roads.hard_hats AS default_DOT_hard_hats)"
|
|
1142
|
+
"\n AS default_DOT_test_transform)"
|
|
1143
|
+
"\n AS default_DOT_test_transform_two\n\n"
|
|
1144
|
+
)
|
|
1145
|
+
response = await client_with_repairs_cube.get(
|
|
1146
|
+
"/nodes/default.test_transform_two/materializations/",
|
|
1147
|
+
)
|
|
1148
|
+
assert response.status_code in (200, 201)
|
|
1149
|
+
assert response.json()[0]["config"]["query"] == query_two
|
|
1150
|
+
|
|
1151
|
+
# add some availability to the 1st node
|
|
1152
|
+
response = await client_with_repairs_cube.post(
|
|
1153
|
+
"/data/default.test_transform/availability/",
|
|
1154
|
+
json={
|
|
1155
|
+
"catalog": "default",
|
|
1156
|
+
"schema_": "accounting",
|
|
1157
|
+
"table": "test_transform_materialized",
|
|
1158
|
+
"valid_through_ts": 20230125,
|
|
1159
|
+
"max_temporal_partition": ["2023", "01", "25"],
|
|
1160
|
+
"min_temporal_partition": ["2022", "01", "01"],
|
|
1161
|
+
"url": "http://some.catalog.com/default.accounting.pmts",
|
|
1162
|
+
},
|
|
1163
|
+
)
|
|
1164
|
+
assert response.status_code in (200, 201)
|
|
1165
|
+
|
|
1166
|
+
# refresh the materialization on 1st node now with availability (query should be the same)
|
|
1167
|
+
response = await client_with_repairs_cube.post(
|
|
1168
|
+
"/nodes/default.test_transform/materialization/",
|
|
1169
|
+
json={
|
|
1170
|
+
"job": "spark_sql",
|
|
1171
|
+
"strategy": "full",
|
|
1172
|
+
"config": {},
|
|
1173
|
+
"schedule": "0 * * * *",
|
|
1174
|
+
},
|
|
1175
|
+
)
|
|
1176
|
+
assert response.status_code in (200, 201)
|
|
1177
|
+
|
|
1178
|
+
# check the materialization query again (query should be the same)
|
|
1179
|
+
response = await client_with_repairs_cube.get(
|
|
1180
|
+
"/nodes/default.test_transform/materializations/",
|
|
1181
|
+
)
|
|
1182
|
+
assert response.status_code in (200, 201)
|
|
1183
|
+
assert response.json()[0]["config"]["query"] == query_one
|
|
1184
|
+
|
|
1185
|
+
# refresh the materialization on 2nd node now with availability
|
|
1186
|
+
# (query should now include availability of the 1st node)
|
|
1187
|
+
response = await client_with_repairs_cube.post(
|
|
1188
|
+
"/nodes/default.test_transform_two/materialization/",
|
|
1189
|
+
json={
|
|
1190
|
+
"job": "spark_sql",
|
|
1191
|
+
"strategy": "full",
|
|
1192
|
+
"config": {},
|
|
1193
|
+
"schedule": "0 * * * *",
|
|
1194
|
+
},
|
|
1195
|
+
)
|
|
1196
|
+
assert response.status_code in (200, 201)
|
|
1197
|
+
|
|
1198
|
+
# check the materialization query again (query should be the same)
|
|
1199
|
+
response = await client_with_repairs_cube.get(
|
|
1200
|
+
"/nodes/default.test_transform_two/materializations/",
|
|
1201
|
+
)
|
|
1202
|
+
assert response.status_code in (200, 201)
|
|
1203
|
+
assert response.json()[0]["config"]["query"] != query_two
|
|
1204
|
+
assert (
|
|
1205
|
+
"FROM accounting.test_transform_materialized "
|
|
1206
|
+
in response.json()[0]["config"]["query"]
|
|
1207
|
+
)
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/tests/construction/build_test.py
RENAMED
|
@@ -7,11 +7,12 @@ from sqlalchemy import select
|
|
|
7
7
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
8
8
|
|
|
9
9
|
import datajunction_server.sql.parsing.types as ct
|
|
10
|
-
from datajunction_server.construction.build import build_node
|
|
10
|
+
from datajunction_server.construction.build import build_node, get_default_criteria
|
|
11
11
|
from datajunction_server.database.attributetype import AttributeType, ColumnAttribute
|
|
12
12
|
from datajunction_server.database.column import Column
|
|
13
13
|
from datajunction_server.database.node import Node, NodeRevision
|
|
14
14
|
from datajunction_server.errors import DJException
|
|
15
|
+
from datajunction_server.models.engine import Dialect
|
|
15
16
|
from datajunction_server.models.node_type import NodeType
|
|
16
17
|
from datajunction_server.naming import amenable_name
|
|
17
18
|
from datajunction_server.sql.parsing.backends.antlr4 import parse
|
|
@@ -278,3 +279,10 @@ async def test_build_node_with_unnamed_column(construction_session: AsyncSession
|
|
|
278
279
|
def test_amenable_name():
|
|
279
280
|
"""testing for making an amenable name"""
|
|
280
281
|
assert amenable_name("hello.名") == "hello_DOT__UNK"
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
def test_get_default_criteria():
|
|
285
|
+
"""Test getting default criteria for a node revision"""
|
|
286
|
+
result = get_default_criteria(node=NodeRevision(type=NodeType.TRANSFORM))
|
|
287
|
+
assert result.dialect == Dialect.SPARK
|
|
288
|
+
assert result.target_node_name is None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/__init__.py
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
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/client.py
RENAMED
|
File without changes
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/cubes.py
RENAMED
|
File without changes
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/data.py
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/djsql.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/health.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/sql.py
RENAMED
|
File without changes
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/api/tags.py
RENAMED
|
File without changes
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/config.py
RENAMED
|
File without changes
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/constants.py
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
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/enum.py
RENAMED
|
File without changes
|
{datajunction_server-0.0.1a47.dev0 → datajunction_server-0.0.1a48}/datajunction_server/errors.py
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
|