datajunction-server 0.0.1a39.dev0__tar.gz → 0.0.1a39.dev2__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.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/PKG-INFO +1 -1
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/alembic/env.py +1 -0
- datajunction_server-0.0.1a39.dev2/alembic/versions/2024_01_18_2011-20f060b02772_switch_enum_values.py +207 -0
- datajunction_server-0.0.1a39.dev2/datajunction_server/__about__.py +4 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/helpers.py +1 -1
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/nodes.py +92 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/__init__.py +2 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/dimensionlink.py +2 -3
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/engine.py +3 -3
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/history.py +3 -4
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/node.py +9 -13
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/user.py +2 -3
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/internal/namespaces.py +10 -3
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/base.py +0 -19
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/tag.py +1 -1
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/functions.py +66 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/namespaces_test.py +13 -2
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/tags_test.py +22 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/conftest.py +1 -1
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/migrations_test.py +6 -7
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/functions_test.py +16 -0
- datajunction_server-0.0.1a39.dev0/datajunction_server/__about__.py +0 -4
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/.coveragerc +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/.env +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/.env.integration +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/.flake8 +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/.gitignore +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/.isort.cfg +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/.pre-commit-config.yaml +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/.pylintrc +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/Dockerfile +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/Makefile +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/README.md +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/alembic/README +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/alembic/script.py.mako +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/alembic/versions/2023_12_20_1829-724445d2b29d_initial_migration.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/alembic/versions/2024_01_08_2034-945d44abcd32_add_dimension_links.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/alembic/versions/2024_01_11_2032-c74b11566d82_add_column_order.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/alembic.ini +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/alembic_version.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/attributetype.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/availabilitystate.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/backfill.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/catalog.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/catalogengines.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/column.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/columnattribute.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/cube.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/database.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/engine.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/history.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/materialization.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/measures.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/metric_required_dimensions.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/metricmetadata.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/missingparent.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/node.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/nodeavailabilitystate.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/nodecolumns.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/nodemissingparents.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/nodenamespace.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/noderelationship.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/noderevision.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/partition.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/table.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/tablecolumns.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/tag.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/tagnoderelationship.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/alembic_version.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/attributetype.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/availabilitystate.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/backfill.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/catalog.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/catalogengines.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/column.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/columnattribute.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/cube.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/database.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/engine.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/history.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/materialization.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/measures.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/metric_required_dimensions.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/metricmetadata.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/missingparent.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/node.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/nodeavailabilitystate.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/nodecolumns.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/nodemissingparents.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/nodenamespace.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/noderelationship.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/noderevision.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/partition.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/table.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/tablecolumns.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/tag.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/tagnoderelationship.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/test/backup/users.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/backup/users.csv +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/curl-format.txt +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/access/authentication/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/access/authentication/basic.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/access/authentication/github.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/access/authentication/google.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/access/authentication/whoami.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/attributes.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/catalogs.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/client.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/cubes.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/data.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/dimensions.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/djsql.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/engines.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/graphql/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/graphql/catalogs.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/graphql/engines.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/graphql/main.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/health.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/history.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/logging.conf +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/main.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/materializations.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/measures.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/metrics.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/namespaces.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/sql.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/api/tags.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/config.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/constants.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/construction/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/construction/build.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/construction/dimensions.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/construction/dj_query.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/construction/exceptions.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/construction/utils.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/attributetype.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/availabilitystate.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/backfill.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/base.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/catalog.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/column.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/database.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/materialization.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/measure.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/metricmetadata.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/namespace.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/partition.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/database/tag.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/enum.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/errors.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/internal/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/internal/access/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/internal/access/authentication/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/internal/access/authentication/basic.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/internal/access/authentication/github.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/internal/access/authentication/google.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/internal/access/authentication/http.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/internal/access/authentication/tokens.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/internal/access/authorization.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/internal/engines.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/internal/materializations.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/internal/nodes.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/materialization/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/materialization/jobs/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/materialization/jobs/cube_materialization.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/materialization/jobs/job_types.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/materialization/jobs/materialization_job.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/access.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/attribute.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/catalog.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/column.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/cube.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/database.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/dimensionlink.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/engine.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/history.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/materialization.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/measure.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/metric.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/node.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/node_type.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/partition.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/query.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/table.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/models/user.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/naming.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/service_clients.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/dag.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/ast.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/antlr4.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/exceptions.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/grammar/SqlBaseLexer.g4 +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/grammar/SqlBaseParser.g4 +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/grammar/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseLexer.interp +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseLexer.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseLexer.tokens +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParser.interp +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParser.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParser.tokens +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParserListener.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParserVisitor.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/sql/parsing/types.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/superset.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/transpilation.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/typing.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/datajunction_server/utils.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/default.duckdb +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/dj.copy.db +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/dj.internal.db +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/dj.test.db +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/dj.tt.db +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/pdm.lock +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/pyproject.toml +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/requirements/docker.txt +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/requirements/test.txt +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/scripts/docs-snippets.js +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/scripts/docs-snippets.sh +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/scripts/generate-openapi.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tester.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/attributes_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/catalog_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/client_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/cubes_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/data_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/dimension_links_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/dimensions_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/djql_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/engine_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/graphql/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/graphql/catalog_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/graphql/engine_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/health_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/helpers_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/history_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/materializations_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/measures_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/metrics_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/node_update_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/nodes_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/routers_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/api/sql_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/construction/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/construction/build_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/construction/compile_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/construction/exceptions_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/construction/fixtures.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/construction/inference_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/construction/utils_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/default.duckdb +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/duckdb.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/errors_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/examples.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/fixes_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/integration/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/integration/basic_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/internal/authentication/basic_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/internal/authentication/github_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/internal/authentication/http_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/internal/authentication/token_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/internal/authentication/whoami_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/models/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/models/catalog_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/models/hash_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/models/measure_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/models/node_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/models/query_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/service_clients_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/dag_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/backends/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/backends/antlr4_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/backends/types_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/__init__.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query1.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query10.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query11.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query12.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query13.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query14.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query15.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query16.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query17.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query18.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query19.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query2.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query20.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query21.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query22.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query23.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query24.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query25.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query26.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query27.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query28.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query29.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query3.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query30.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query31.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query32.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query33.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query34.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query35.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query36.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query37.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query38.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query39.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query4.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query40.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query41.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query42.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query43.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query44.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query45.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query46.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query47.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query48.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query49.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query5.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query50.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query51.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query52.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query53.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query54.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query55.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query56.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query57.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query58.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query59.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query6.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query60.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query61.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query62.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query63.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query64.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query65.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query66.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query67.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query68.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query69.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query7.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query70.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query71.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query72.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query73.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query74.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query75.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query76.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query77.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query78.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query79.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query8.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query80.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query81.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query82.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query83.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query84.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query85.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query86.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query87.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query88.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query89.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query9.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query90.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query91.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query92.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query93.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query94.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query95.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query96.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query97.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query98.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/ansi/query99.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query1.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query10.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query11.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query12.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query13.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query14.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query15.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query16.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query17.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query18.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query19.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query2.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query20.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query21.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query22.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query23.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query24.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query25.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query26.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query27.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query28.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query29.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query3.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query30.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query31.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query32.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query33.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query34.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query35.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query36.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query37.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query38.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query39.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query4.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query40.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query41.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query42.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query43.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query44.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query45.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query46.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query47.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query48.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query49.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query5.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query50.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query51.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query52.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query53.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query54.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query55.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query56.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query57.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query58.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query59.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query6.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query60.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query61.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query62.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query63.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query64.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query65.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query66.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query67.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query68.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query69.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query7.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query70.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query71.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query72.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query73.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query74.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query75.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query76.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query77.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query78.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query79.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query8.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query80.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query81.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query82.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query83.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query84.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query85.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query86.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query87.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query88.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query89.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query9.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query90.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query91.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query92.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query93.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query94.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query95.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query96.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query97.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query98.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/sparksql/query99.sql +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/queries/tpcds/test_tpcds.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/parsing/test_ast.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/sql/utils.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/superset_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/transpilation_test.py +0 -0
- {datajunction_server-0.0.1a39.dev0 → datajunction_server-0.0.1a39.dev2}/tests/utils_test.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: datajunction-server
|
|
3
|
-
Version: 0.0.1a39.
|
|
3
|
+
Version: 0.0.1a39.dev2
|
|
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>
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"""Switch enum values
|
|
2
|
+
|
|
3
|
+
Revision ID: 20f060b02772
|
|
4
|
+
Revises: c74b11566d82
|
|
5
|
+
Create Date: 2024-01-18 20:11:08.521879+00:00
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
# pylint: disable=no-member, invalid-name, missing-function-docstring, unused-import, no-name-in-module
|
|
9
|
+
|
|
10
|
+
import sqlalchemy as sa
|
|
11
|
+
from sqlalchemy.dialects import postgresql
|
|
12
|
+
|
|
13
|
+
from alembic import op
|
|
14
|
+
|
|
15
|
+
# revision identifiers, used by Alembic.
|
|
16
|
+
revision = "20f060b02772"
|
|
17
|
+
down_revision = "c74b11566d82"
|
|
18
|
+
branch_labels = None
|
|
19
|
+
depends_on = None
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def upgrade():
|
|
23
|
+
with op.batch_alter_table("nodenamespace", schema=None) as batch_op:
|
|
24
|
+
batch_op.create_unique_constraint("uq_nodenamespace_namespace", ["namespace"])
|
|
25
|
+
|
|
26
|
+
op.execute("ALTER TYPE oauthprovider RENAME VALUE 'basic' TO 'BASIC'")
|
|
27
|
+
op.execute("ALTER TYPE oauthprovider RENAME VALUE 'github' TO 'GITHUB'")
|
|
28
|
+
op.execute("ALTER TYPE oauthprovider RENAME VALUE 'google' TO 'GOOGLE'")
|
|
29
|
+
op.execute(
|
|
30
|
+
"UPDATE users set oauth_provider = upper(oauth_provider::text)::oauthprovider",
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
op.execute("ALTER TYPE materializationstrategy RENAME VALUE 'full' TO 'FULL'")
|
|
34
|
+
op.execute(
|
|
35
|
+
"ALTER TYPE materializationstrategy RENAME VALUE 'snapshot' TO 'SNAPSHOT'",
|
|
36
|
+
)
|
|
37
|
+
op.execute(
|
|
38
|
+
"ALTER TYPE materializationstrategy "
|
|
39
|
+
"RENAME VALUE 'snapshot_partition' TO 'SNAPSHOT_PARTITION'",
|
|
40
|
+
)
|
|
41
|
+
op.execute(
|
|
42
|
+
"ALTER TYPE materializationstrategy RENAME VALUE 'incremental_time' TO 'INCREMENTAL_TIME'",
|
|
43
|
+
)
|
|
44
|
+
op.execute("ALTER TYPE materializationstrategy RENAME VALUE 'view' TO 'VIEW'")
|
|
45
|
+
op.execute(
|
|
46
|
+
"UPDATE materialization set strategy = upper(strategy::text)::materializationstrategy",
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
op.execute("ALTER TYPE aggregationrule RENAME VALUE 'additive' TO 'ADDITIVE'")
|
|
50
|
+
op.execute(
|
|
51
|
+
"ALTER TYPE aggregationrule RENAME VALUE 'non_additive' TO 'NON_ADDITIVE'",
|
|
52
|
+
)
|
|
53
|
+
op.execute(
|
|
54
|
+
"ALTER TYPE aggregationrule RENAME VALUE 'semi_additive' TO 'SEMI_ADDITIVE'",
|
|
55
|
+
)
|
|
56
|
+
op.execute("UPDATE measures set additive = upper(additive::text)::aggregationrule")
|
|
57
|
+
|
|
58
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'attribute' TO 'ATTRIBUTE'")
|
|
59
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'availability' TO 'AVAILABILITY'")
|
|
60
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'backfill' TO 'BACKFILL'")
|
|
61
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'catalog' TO 'CATALOG'")
|
|
62
|
+
op.execute(
|
|
63
|
+
"ALTER TYPE entitytype RENAME VALUE 'column_attribute' TO 'COLUMN_ATTRIBUTE'",
|
|
64
|
+
)
|
|
65
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'dependency' TO 'DEPENDENCY'")
|
|
66
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'engine' TO 'ENGINE'")
|
|
67
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'link' TO 'LINK'")
|
|
68
|
+
op.execute(
|
|
69
|
+
"ALTER TYPE entitytype RENAME VALUE 'materialization' TO 'MATERIALIZATION'",
|
|
70
|
+
)
|
|
71
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'namespace' TO 'NAMESPACE'")
|
|
72
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'node' TO 'NODE'")
|
|
73
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'partition' TO 'PARTITION'")
|
|
74
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'query' TO 'QUERY'")
|
|
75
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'tag' TO 'TAG'")
|
|
76
|
+
op.execute("UPDATE history set entity_type = upper(entity_type::text)::entitytype")
|
|
77
|
+
|
|
78
|
+
op.execute("ALTER TYPE activitytype RENAME VALUE 'create' TO 'CREATE'")
|
|
79
|
+
op.execute("ALTER TYPE activitytype RENAME VALUE 'delete' TO 'DELETE'")
|
|
80
|
+
op.execute("ALTER TYPE activitytype RENAME VALUE 'restore' TO 'RESTORE'")
|
|
81
|
+
op.execute("ALTER TYPE activitytype RENAME VALUE 'update' TO 'UPDATE'")
|
|
82
|
+
op.execute("ALTER TYPE activitytype RENAME VALUE 'refresh' TO 'REFRESH'")
|
|
83
|
+
op.execute("ALTER TYPE activitytype RENAME VALUE 'tag' TO 'TAG'")
|
|
84
|
+
op.execute(
|
|
85
|
+
"ALTER TYPE activitytype RENAME VALUE 'set_attribute' TO 'SET_ATTRIBUTE'",
|
|
86
|
+
)
|
|
87
|
+
op.execute(
|
|
88
|
+
"ALTER TYPE activitytype RENAME VALUE 'status_change' TO 'STATUS_CHANGE'",
|
|
89
|
+
)
|
|
90
|
+
op.execute(
|
|
91
|
+
"UPDATE history set activity_type = upper(activity_type::text)::activitytype",
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
op.execute("CREATE TYPE nodestatus AS ENUM ('VALID', 'INVALID')")
|
|
95
|
+
op.execute("CREATE TYPE nodemode AS ENUM ('DRAFT', 'PUBLISHED')")
|
|
96
|
+
op.execute(
|
|
97
|
+
"ALTER TABLE noderevision ALTER COLUMN status "
|
|
98
|
+
"TYPE nodestatus USING upper(status)::nodestatus",
|
|
99
|
+
)
|
|
100
|
+
op.execute(
|
|
101
|
+
"ALTER TABLE noderevision ALTER COLUMN mode TYPE nodemode USING upper(mode)::nodemode",
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
op.execute("CREATE TYPE partitiontype AS ENUM ('TEMPORAL', 'CATEGORICAL')")
|
|
105
|
+
op.execute(
|
|
106
|
+
"CREATE TYPE granularity AS ENUM "
|
|
107
|
+
"('SECOND', 'MINUTE', 'HOUR', 'DAY', 'WEEK', 'MONTH', 'QUARTER', 'YEAR')",
|
|
108
|
+
)
|
|
109
|
+
op.execute(
|
|
110
|
+
"ALTER TABLE partition ALTER COLUMN type_ "
|
|
111
|
+
"TYPE partitiontype USING upper(type_)::partitiontype",
|
|
112
|
+
)
|
|
113
|
+
op.execute(
|
|
114
|
+
"ALTER TABLE partition ALTER COLUMN granularity "
|
|
115
|
+
"TYPE granularity USING upper(granularity)::granularity",
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def downgrade():
|
|
120
|
+
op.execute("DROP TYPE partitiontype")
|
|
121
|
+
op.execute("DROP TYPE granularity")
|
|
122
|
+
op.execute(
|
|
123
|
+
"ALTER TABLE partition ALTER COLUMN type_ TYPE text USING lower(type_::text)",
|
|
124
|
+
)
|
|
125
|
+
op.execute(
|
|
126
|
+
"ALTER TABLE partition ALTER COLUMN granularity TYPE text USING lower(granularity::text)",
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
op.execute("DROP TYPE nodestatus")
|
|
130
|
+
op.execute("DROP TYPE nodemode")
|
|
131
|
+
op.execute(
|
|
132
|
+
"ALTER TABLE noderevision ALTER COLUMN status TYPE text USING lower(status::text)",
|
|
133
|
+
)
|
|
134
|
+
op.execute(
|
|
135
|
+
"ALTER TABLE noderevision ALTER COLUMN mode TYPE text USING lower(mode::text)",
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
op.execute("ALTER TYPE activitytype RENAME VALUE 'CREATE' TO 'create'")
|
|
139
|
+
op.execute("ALTER TYPE activitytype RENAME VALUE 'DELETE' TO 'delete'")
|
|
140
|
+
op.execute("ALTER TYPE activitytype RENAME VALUE 'RESTORE' TO 'restore'")
|
|
141
|
+
op.execute("ALTER TYPE activitytype RENAME VALUE 'UPDATE' TO 'update'")
|
|
142
|
+
op.execute("ALTER TYPE activitytype RENAME VALUE 'REFRESH' TO 'refresh'")
|
|
143
|
+
op.execute("ALTER TYPE activitytype RENAME VALUE 'TAG' TO 'tag'")
|
|
144
|
+
op.execute(
|
|
145
|
+
"ALTER TYPE activitytype RENAME VALUE 'SET_ATTRIBUTE' TO 'set_attribute'",
|
|
146
|
+
)
|
|
147
|
+
op.execute(
|
|
148
|
+
"ALTER TYPE activitytype RENAME VALUE 'STATUS_CHANGE' TO 'status_change'",
|
|
149
|
+
)
|
|
150
|
+
op.execute(
|
|
151
|
+
"UPDATE history set activity_type = lower(activity_type::text)::activitytype",
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'ATTRIBUTE' TO 'attribute'")
|
|
155
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'AVAILABILITY' TO 'availability'")
|
|
156
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'BACKFILL' TO 'backfill'")
|
|
157
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'CATALOG' TO 'catalog'")
|
|
158
|
+
op.execute(
|
|
159
|
+
"ALTER TYPE entitytype RENAME VALUE 'COLUMN_ATTRIBUTE' TO 'column_attribute'",
|
|
160
|
+
)
|
|
161
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'DEPENDENCY' TO 'dependency'")
|
|
162
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'ENGINE' TO 'engine'")
|
|
163
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'LINK' TO 'link'")
|
|
164
|
+
op.execute(
|
|
165
|
+
"ALTER TYPE entitytype RENAME VALUE 'MATERIALIZATION' TO 'materialization'",
|
|
166
|
+
)
|
|
167
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'NAMESPACE' TO 'namespace'")
|
|
168
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'NODE' TO 'node'")
|
|
169
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'PARTITION' TO 'partition'")
|
|
170
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'QUERY' TO 'query'")
|
|
171
|
+
op.execute("ALTER TYPE entitytype RENAME VALUE 'TAG' TO 'tag'")
|
|
172
|
+
op.execute("UPDATE history set entity_type = lower(entity_type::text)::entitytype")
|
|
173
|
+
|
|
174
|
+
op.execute("ALTER TYPE aggregationrule RENAME VALUE 'ADDITIVE' TO 'additive'")
|
|
175
|
+
op.execute(
|
|
176
|
+
"ALTER TYPE aggregationrule RENAME VALUE 'NON_ADDITIVE' TO 'non_additive'",
|
|
177
|
+
)
|
|
178
|
+
op.execute(
|
|
179
|
+
"ALTER TYPE aggregationrule RENAME VALUE 'SEMI_ADDITIVE' TO 'semi_additive'",
|
|
180
|
+
)
|
|
181
|
+
op.execute("UPDATE measures set additive = lower(additive::text)::aggregationrule")
|
|
182
|
+
|
|
183
|
+
op.execute("ALTER TYPE materializationstrategy RENAME VALUE 'VIEW' TO 'view'")
|
|
184
|
+
op.execute(
|
|
185
|
+
"ALTER TYPE materializationstrategy RENAME VALUE 'INCREMENTAL_TIME' TO 'incremental_time'",
|
|
186
|
+
)
|
|
187
|
+
op.execute(
|
|
188
|
+
"ALTER TYPE materializationstrategy "
|
|
189
|
+
"RENAME VALUE 'SNAPSHOT_PARTITION' TO 'snapshot_partition'",
|
|
190
|
+
)
|
|
191
|
+
op.execute(
|
|
192
|
+
"ALTER TYPE materializationstrategy RENAME VALUE 'SNAPSHOT' TO 'snapshot'",
|
|
193
|
+
)
|
|
194
|
+
op.execute("ALTER TYPE materializationstrategy RENAME VALUE 'FULL' TO 'full'")
|
|
195
|
+
op.execute(
|
|
196
|
+
"UPDATE materialization set strategy = lower(strategy::text)::materializationstrategy",
|
|
197
|
+
)
|
|
198
|
+
|
|
199
|
+
op.execute("ALTER TYPE oauthprovider RENAME VALUE 'GOOGLE' TO 'google'")
|
|
200
|
+
op.execute("ALTER TYPE oauthprovider RENAME VALUE 'GITHUB' TO 'github'")
|
|
201
|
+
op.execute("ALTER TYPE oauthprovider RENAME VALUE 'BASIC' TO 'basic'")
|
|
202
|
+
op.execute(
|
|
203
|
+
"UPDATE users set oauth_provider = lower(oauth_provider::text)::oauthprovider",
|
|
204
|
+
)
|
|
205
|
+
|
|
206
|
+
with op.batch_alter_table("nodenamespace", schema=None) as batch_op:
|
|
207
|
+
batch_op.drop_constraint("uq_nodenamespace_namespace", type_="unique")
|
|
@@ -1135,7 +1135,7 @@ def hard_delete_node(
|
|
|
1135
1135
|
Hard delete a node, destroying all links and invalidating all downstream nodes.
|
|
1136
1136
|
This should be used with caution, deactivating a node is preferred.
|
|
1137
1137
|
"""
|
|
1138
|
-
node = get_node_by_name(session, name, with_current=True)
|
|
1138
|
+
node = get_node_by_name(session, name, with_current=True, include_inactive=True)
|
|
1139
1139
|
downstream_nodes = get_downstream_nodes(session=session, node_name=name)
|
|
1140
1140
|
|
|
1141
1141
|
linked_nodes = []
|
|
@@ -1306,3 +1306,95 @@ def set_column_partition( # pylint: disable=too-many-locals
|
|
|
1306
1306
|
session.commit()
|
|
1307
1307
|
session.refresh(column)
|
|
1308
1308
|
return column
|
|
1309
|
+
|
|
1310
|
+
|
|
1311
|
+
@router.post("/nodes/{name}/savecolumnorder")
|
|
1312
|
+
def save_column_order(
|
|
1313
|
+
name: str,
|
|
1314
|
+
session: Session = Depends(get_session),
|
|
1315
|
+
query_service_client: QueryServiceClient = Depends(get_query_service_client),
|
|
1316
|
+
):
|
|
1317
|
+
node = get_node_by_name(session, name, with_current=True)
|
|
1318
|
+
current_node_revision = node.current
|
|
1319
|
+
_logger.info("Processing %s node `%s`", node.type, node.name)
|
|
1320
|
+
|
|
1321
|
+
# Only assign column orders if one or more columns lack an order value
|
|
1322
|
+
columns_without_order = [
|
|
1323
|
+
col.order for col in current_node_revision.columns if not col.order
|
|
1324
|
+
]
|
|
1325
|
+
if columns_without_order:
|
|
1326
|
+
_logger.info(
|
|
1327
|
+
"Found columns without order for %s node `%s`",
|
|
1328
|
+
node.type,
|
|
1329
|
+
node.name,
|
|
1330
|
+
)
|
|
1331
|
+
if node.type == NodeType.SOURCE:
|
|
1332
|
+
column_mapping = {
|
|
1333
|
+
col.name: col
|
|
1334
|
+
for col in query_service_client.get_columns_for_table(
|
|
1335
|
+
current_node_revision.catalog.name,
|
|
1336
|
+
current_node_revision.schema_,
|
|
1337
|
+
current_node_revision.table,
|
|
1338
|
+
)
|
|
1339
|
+
}
|
|
1340
|
+
for col in current_node_revision.columns:
|
|
1341
|
+
col.order = column_mapping[col.name].order
|
|
1342
|
+
session.add(col)
|
|
1343
|
+
_logger.info(
|
|
1344
|
+
"Assigning new column order to %s node `%s`",
|
|
1345
|
+
node.type,
|
|
1346
|
+
node.name,
|
|
1347
|
+
)
|
|
1348
|
+
session.commit()
|
|
1349
|
+
return JSONResponse(
|
|
1350
|
+
status_code=200,
|
|
1351
|
+
content={
|
|
1352
|
+
"message": f"Assigned new column order to node `{node.name}`",
|
|
1353
|
+
"columns": [
|
|
1354
|
+
ColumnOutput.from_orm(col)
|
|
1355
|
+
for col in current_node_revision.columns
|
|
1356
|
+
],
|
|
1357
|
+
},
|
|
1358
|
+
)
|
|
1359
|
+
if node.type in (NodeType.TRANSFORM, NodeType.DIMENSION, NodeType.METRIC):
|
|
1360
|
+
query_ast = parse(current_node_revision.query)
|
|
1361
|
+
column_mapping = {
|
|
1362
|
+
col.alias_or_name.name: idx
|
|
1363
|
+
for idx, col in enumerate(query_ast.select.projection)
|
|
1364
|
+
}
|
|
1365
|
+
for col in current_node_revision.columns:
|
|
1366
|
+
col.order = column_mapping[col.name]
|
|
1367
|
+
session.add(col)
|
|
1368
|
+
_logger.info(
|
|
1369
|
+
"Assigning new column order to %s node `%s`",
|
|
1370
|
+
node.type,
|
|
1371
|
+
node.name,
|
|
1372
|
+
)
|
|
1373
|
+
session.commit()
|
|
1374
|
+
|
|
1375
|
+
return JSONResponse(
|
|
1376
|
+
status_code=200,
|
|
1377
|
+
content={
|
|
1378
|
+
"message": f"Assigned new column order to node `{node.name}`",
|
|
1379
|
+
"columns": [
|
|
1380
|
+
ColumnOutput.from_orm(col).dict()
|
|
1381
|
+
for col in current_node_revision.columns
|
|
1382
|
+
],
|
|
1383
|
+
},
|
|
1384
|
+
)
|
|
1385
|
+
|
|
1386
|
+
return JSONResponse(
|
|
1387
|
+
status_code=500,
|
|
1388
|
+
content={
|
|
1389
|
+
"message": f"Manual update needed for `{node.name}`.",
|
|
1390
|
+
"columns": [
|
|
1391
|
+
ColumnOutput.from_orm(col) for col in current_node_revision.columns
|
|
1392
|
+
],
|
|
1393
|
+
},
|
|
1394
|
+
)
|
|
1395
|
+
return JSONResponse(
|
|
1396
|
+
status_code=200,
|
|
1397
|
+
content={
|
|
1398
|
+
"message": f"All columns for `{node.name}` have an order. Skipping update.",
|
|
1399
|
+
},
|
|
1400
|
+
)
|
|
@@ -5,6 +5,7 @@ __all__ = [
|
|
|
5
5
|
"Catalog",
|
|
6
6
|
"Column",
|
|
7
7
|
"Database",
|
|
8
|
+
"DimensionLink",
|
|
8
9
|
"Engine",
|
|
9
10
|
"History",
|
|
10
11
|
"Node",
|
|
@@ -21,6 +22,7 @@ from datajunction_server.database.attributetype import AttributeType, ColumnAttr
|
|
|
21
22
|
from datajunction_server.database.catalog import Catalog
|
|
22
23
|
from datajunction_server.database.column import Column
|
|
23
24
|
from datajunction_server.database.database import Database, Table
|
|
25
|
+
from datajunction_server.database.dimensionlink import DimensionLink
|
|
24
26
|
from datajunction_server.database.engine import Engine
|
|
25
27
|
from datajunction_server.database.measure import Measure
|
|
26
28
|
from datajunction_server.database.namespace import NodeNamespace
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"""Dimension links table."""
|
|
2
2
|
from typing import Dict, Optional
|
|
3
3
|
|
|
4
|
-
from sqlalchemy import JSON, BigInteger, ForeignKey, Integer
|
|
4
|
+
from sqlalchemy import JSON, BigInteger, Enum, ForeignKey, Integer
|
|
5
5
|
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
|
6
6
|
|
|
7
7
|
from datajunction_server.database.base import Base
|
|
8
8
|
from datajunction_server.database.node import Node, NodeRevision
|
|
9
|
-
from datajunction_server.models.base import sqlalchemy_enum_with_name
|
|
10
9
|
from datajunction_server.models.dimensionlink import JoinCardinality, JoinType
|
|
11
10
|
|
|
12
11
|
|
|
@@ -55,7 +54,7 @@ class DimensionLink(Base): # pylint: disable=too-few-public-methods
|
|
|
55
54
|
# Metadata about the join
|
|
56
55
|
join_type: Mapped[Optional[JoinType]]
|
|
57
56
|
join_cardinality: Mapped[JoinCardinality] = mapped_column(
|
|
58
|
-
|
|
57
|
+
Enum(JoinCardinality),
|
|
59
58
|
default=JoinCardinality.MANY_TO_ONE,
|
|
60
59
|
)
|
|
61
60
|
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
from typing import Optional
|
|
3
3
|
|
|
4
4
|
import sqlalchemy as sa
|
|
5
|
+
from sqlalchemy import Enum
|
|
5
6
|
from sqlalchemy.orm import Mapped, mapped_column
|
|
6
7
|
|
|
7
8
|
from datajunction_server.database.base import Base
|
|
8
|
-
from datajunction_server.models.base import sqlalchemy_enum_with_name
|
|
9
9
|
from datajunction_server.models.engine import Dialect
|
|
10
10
|
|
|
11
11
|
|
|
@@ -17,12 +17,12 @@ class Engine(Base): # pylint: disable=too-few-public-methods
|
|
|
17
17
|
__tablename__ = "engine"
|
|
18
18
|
|
|
19
19
|
id: Mapped[int] = mapped_column(
|
|
20
|
-
sa.BigInteger(),
|
|
20
|
+
sa.BigInteger().with_variant(sa.Integer, "sqlite"),
|
|
21
21
|
primary_key=True,
|
|
22
22
|
)
|
|
23
23
|
name: Mapped[str]
|
|
24
24
|
version: Mapped[str]
|
|
25
25
|
uri: Mapped[Optional[str]]
|
|
26
26
|
dialect: Mapped[Optional[Dialect]] = mapped_column(
|
|
27
|
-
|
|
27
|
+
Enum(Dialect),
|
|
28
28
|
)
|
|
@@ -3,12 +3,11 @@ from datetime import datetime, timezone
|
|
|
3
3
|
from functools import partial
|
|
4
4
|
from typing import Any, Dict, Optional
|
|
5
5
|
|
|
6
|
-
from sqlalchemy import JSON, BigInteger, DateTime, Integer, String
|
|
6
|
+
from sqlalchemy import JSON, BigInteger, DateTime, Enum, Integer, String
|
|
7
7
|
from sqlalchemy.orm import Mapped, mapped_column
|
|
8
8
|
|
|
9
9
|
from datajunction_server.database.base import Base
|
|
10
10
|
from datajunction_server.enum import StrEnum
|
|
11
|
-
from datajunction_server.models.base import sqlalchemy_enum_with_name
|
|
12
11
|
from datajunction_server.typing import UTCDatetime
|
|
13
12
|
|
|
14
13
|
|
|
@@ -60,13 +59,13 @@ class History(Base): # pylint: disable=too-few-public-methods
|
|
|
60
59
|
primary_key=True,
|
|
61
60
|
)
|
|
62
61
|
entity_type: Mapped[Optional[EntityType]] = mapped_column(
|
|
63
|
-
|
|
62
|
+
Enum(EntityType),
|
|
64
63
|
default=None,
|
|
65
64
|
)
|
|
66
65
|
entity_name: Mapped[Optional[str]] = mapped_column(String, default=None)
|
|
67
66
|
node: Mapped[Optional[str]] = mapped_column(String, default=None)
|
|
68
67
|
activity_type: Mapped[Optional[ActivityType]] = mapped_column(
|
|
69
|
-
|
|
68
|
+
Enum(ActivityType),
|
|
70
69
|
default=None,
|
|
71
70
|
)
|
|
72
71
|
user: Mapped[Optional[str]] = mapped_column(String, default=None)
|
|
@@ -6,7 +6,7 @@ from typing import TYPE_CHECKING, Dict, List, Optional, Tuple
|
|
|
6
6
|
|
|
7
7
|
import sqlalchemy as sa
|
|
8
8
|
from pydantic import Extra
|
|
9
|
-
from sqlalchemy import JSON, DateTime, ForeignKey, String, UniqueConstraint
|
|
9
|
+
from sqlalchemy import JSON, DateTime, Enum, ForeignKey, String, UniqueConstraint
|
|
10
10
|
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
|
11
11
|
|
|
12
12
|
from datajunction_server.database.availabilitystate import AvailabilityState
|
|
@@ -17,11 +17,7 @@ from datajunction_server.database.materialization import Materialization
|
|
|
17
17
|
from datajunction_server.database.metricmetadata import MetricMetadata
|
|
18
18
|
from datajunction_server.database.tag import Tag
|
|
19
19
|
from datajunction_server.errors import DJInvalidInputException
|
|
20
|
-
from datajunction_server.models.base import
|
|
21
|
-
labelize,
|
|
22
|
-
sqlalchemy_enum_with_name,
|
|
23
|
-
sqlalchemy_enum_with_value,
|
|
24
|
-
)
|
|
20
|
+
from datajunction_server.models.base import labelize
|
|
25
21
|
from datajunction_server.models.node import (
|
|
26
22
|
DEFAULT_DRAFT_VERSION,
|
|
27
23
|
BuildCriteria,
|
|
@@ -159,7 +155,7 @@ class Node(Base): # pylint: disable=too-few-public-methods
|
|
|
159
155
|
primary_key=True,
|
|
160
156
|
)
|
|
161
157
|
name: Mapped[str] = mapped_column(String, unique=True)
|
|
162
|
-
type: Mapped[NodeType] = mapped_column(
|
|
158
|
+
type: Mapped[NodeType] = mapped_column(Enum(NodeType))
|
|
163
159
|
display_name: Mapped[Optional[str]]
|
|
164
160
|
namespace: Mapped[str] = mapped_column(String, default="default")
|
|
165
161
|
current_version: Mapped[str] = mapped_column(
|
|
@@ -232,12 +228,12 @@ class NodeRevision(
|
|
|
232
228
|
String,
|
|
233
229
|
insert_default=lambda context: labelize(context.current_parameters.get("name")),
|
|
234
230
|
)
|
|
235
|
-
type: Mapped[NodeType] = mapped_column(
|
|
231
|
+
type: Mapped[NodeType] = mapped_column(Enum(NodeType))
|
|
236
232
|
description: Mapped[str] = mapped_column(String, default="")
|
|
237
233
|
query: Mapped[Optional[str]] = mapped_column(String)
|
|
238
234
|
mode: Mapped[NodeMode] = mapped_column(
|
|
239
|
-
|
|
240
|
-
default=NodeMode.PUBLISHED
|
|
235
|
+
Enum(NodeMode),
|
|
236
|
+
default=NodeMode.PUBLISHED, # pylint: disable=no-member
|
|
241
237
|
)
|
|
242
238
|
|
|
243
239
|
version: Mapped[Optional[str]] = mapped_column(
|
|
@@ -293,7 +289,7 @@ class NodeRevision(
|
|
|
293
289
|
)
|
|
294
290
|
|
|
295
291
|
status: Mapped[NodeStatus] = mapped_column(
|
|
296
|
-
|
|
292
|
+
Enum(NodeStatus),
|
|
297
293
|
default=NodeStatus.INVALID,
|
|
298
294
|
)
|
|
299
295
|
updated_at: Mapped[UTCDatetime] = mapped_column(
|
|
@@ -559,11 +555,11 @@ class NodeColumns(Base): # pylint: disable=too-few-public-methods
|
|
|
559
555
|
|
|
560
556
|
__tablename__ = "nodecolumns"
|
|
561
557
|
|
|
562
|
-
node_id: Mapped[int] = mapped_column(
|
|
558
|
+
node_id: Mapped[int] = mapped_column( # pylint: disable=unsubscriptable-object
|
|
563
559
|
ForeignKey("noderevision.id", name="fk_nodecolumns_node_id_noderevision"),
|
|
564
560
|
primary_key=True,
|
|
565
561
|
)
|
|
566
|
-
column_id: Mapped[int] = mapped_column(
|
|
562
|
+
column_id: Mapped[int] = mapped_column( # pylint: disable=unsubscriptable-object
|
|
567
563
|
ForeignKey("column.id", name="fk_nodecolumns_column_id_column"),
|
|
568
564
|
primary_key=True,
|
|
569
565
|
)
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"""User database schema."""
|
|
2
2
|
from typing import Optional
|
|
3
3
|
|
|
4
|
-
from sqlalchemy import BigInteger, Integer
|
|
4
|
+
from sqlalchemy import BigInteger, Enum, Integer
|
|
5
5
|
from sqlalchemy.orm import Mapped, mapped_column
|
|
6
6
|
|
|
7
7
|
from datajunction_server.database.base import Base
|
|
8
8
|
from datajunction_server.enum import StrEnum
|
|
9
|
-
from datajunction_server.models.base import sqlalchemy_enum_with_name
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
class OAuthProvider(StrEnum):
|
|
@@ -33,6 +32,6 @@ class User(Base): # pylint: disable=too-few-public-methods
|
|
|
33
32
|
email: Mapped[Optional[str]]
|
|
34
33
|
name: Mapped[Optional[str]]
|
|
35
34
|
oauth_provider: Mapped[OAuthProvider] = mapped_column(
|
|
36
|
-
|
|
35
|
+
Enum(OAuthProvider),
|
|
37
36
|
)
|
|
38
37
|
is_admin: Mapped[bool] = mapped_column(default=False)
|
|
@@ -25,6 +25,12 @@ from datajunction_server.models.node_type import NodeType
|
|
|
25
25
|
from datajunction_server.typing import UTCDatetime
|
|
26
26
|
from datajunction_server.utils import SEPARATOR
|
|
27
27
|
|
|
28
|
+
# A list of namespace names that cannot be used because they are
|
|
29
|
+
# part of a list of reserved SQL keywords
|
|
30
|
+
RESERVED_NAMESPACE_NAMES = [
|
|
31
|
+
"user",
|
|
32
|
+
]
|
|
33
|
+
|
|
28
34
|
|
|
29
35
|
def get_nodes_in_namespace(
|
|
30
36
|
session: Session,
|
|
@@ -182,10 +188,10 @@ def validate_namespace(namespace: str):
|
|
|
182
188
|
"""
|
|
183
189
|
parts = namespace.split(SEPARATOR)
|
|
184
190
|
for part in parts:
|
|
185
|
-
if not part or (part and part[0].isdigit()):
|
|
191
|
+
if not part or (part and part[0].isdigit()) or part in RESERVED_NAMESPACE_NAMES:
|
|
186
192
|
raise DJInvalidInputException(
|
|
187
|
-
f"{namespace} is not a valid namespace. Namespace parts cannot start with "
|
|
188
|
-
"
|
|
193
|
+
f"{namespace} is not a valid namespace. Namespace parts cannot start with numbers"
|
|
194
|
+
f", be empty, or use the reserved keyword [{', '.join(RESERVED_NAMESPACE_NAMES)}]",
|
|
189
195
|
)
|
|
190
196
|
|
|
191
197
|
|
|
@@ -281,6 +287,7 @@ def hard_delete_namespace(
|
|
|
281
287
|
"status": "deleted",
|
|
282
288
|
}
|
|
283
289
|
session.delete(_namespace)
|
|
290
|
+
session.commit()
|
|
284
291
|
return impacts
|
|
285
292
|
|
|
286
293
|
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"""
|
|
2
2
|
A base SQLModel class with a default naming convention.
|
|
3
3
|
"""
|
|
4
|
-
import sqlalchemy as sa
|
|
5
|
-
|
|
6
4
|
NAMING_CONVENTION = {
|
|
7
5
|
"ix": "ix_%(column_0_label)s",
|
|
8
6
|
"uq": "uq_%(table_name)s_%(column_0_name)s",
|
|
@@ -12,23 +10,6 @@ NAMING_CONVENTION = {
|
|
|
12
10
|
}
|
|
13
11
|
|
|
14
12
|
|
|
15
|
-
def sqlalchemy_enum_with_name(enum_type):
|
|
16
|
-
"""
|
|
17
|
-
SQLAlchemy-compatible enum type using the enum's names as values
|
|
18
|
-
"""
|
|
19
|
-
return sa.Enum(enum_type, values_callable=lambda obj: [e.name for e in obj])
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
def sqlalchemy_enum_with_value(enum_type):
|
|
23
|
-
"""
|
|
24
|
-
SQLAlchemy-compatible enum type using the enum's values as values
|
|
25
|
-
"""
|
|
26
|
-
return sa.Enum(
|
|
27
|
-
enum_type,
|
|
28
|
-
values_callable=lambda obj: [e.value for e in obj],
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
|
|
32
13
|
def labelize(value: str) -> str:
|
|
33
14
|
"""
|
|
34
15
|
Turn a system name into a human-readable name.
|