sqlspec 0.47.0__tar.gz → 0.48.0__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.
- {sqlspec-0.47.0 → sqlspec-0.48.0}/PKG-INFO +6 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/pyproject.toml +20 -3
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/adbc/_typing.py +6 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/adbc/config.py +8 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/adbc/core.py +9 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/adbc/driver.py +42 -2
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiomysql/core.py +4 -8
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiosqlite/core.py +4 -8
- sqlspec-0.48.0/sqlspec/adapters/arrow_odbc/__init__.py +30 -0
- sqlspec-0.48.0/sqlspec/adapters/arrow_odbc/_typing.py +96 -0
- sqlspec-0.48.0/sqlspec/adapters/arrow_odbc/config.py +202 -0
- sqlspec-0.48.0/sqlspec/adapters/arrow_odbc/core.py +169 -0
- sqlspec-0.48.0/sqlspec/adapters/arrow_odbc/data_dictionary.py +136 -0
- sqlspec-0.48.0/sqlspec/adapters/arrow_odbc/driver.py +294 -0
- sqlspec-0.48.0/sqlspec/adapters/arrow_odbc/type_converter.py +93 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncmy/core.py +4 -8
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/config.py +1 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/driver.py +21 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/bigquery/config.py +4 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/bigquery/core.py +1 -26
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/bigquery/driver.py +1 -4
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_asyncpg/config.py +1 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_psycopg/config.py +2 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/config.py +1 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/driver.py +12 -0
- sqlspec-0.48.0/sqlspec/adapters/mssql_python/__init__.py +55 -0
- sqlspec-0.48.0/sqlspec/adapters/mssql_python/_typing.py +166 -0
- sqlspec-0.48.0/sqlspec/adapters/mssql_python/config.py +401 -0
- sqlspec-0.48.0/sqlspec/adapters/mssql_python/core.py +219 -0
- sqlspec-0.48.0/sqlspec/adapters/mssql_python/data_dictionary.py +377 -0
- sqlspec-0.48.0/sqlspec/adapters/mssql_python/driver.py +427 -0
- sqlspec-0.48.0/sqlspec/adapters/mssql_python/events/__init__.py +9 -0
- sqlspec-0.48.0/sqlspec/adapters/mssql_python/events/store.py +82 -0
- sqlspec-0.48.0/sqlspec/adapters/mssql_python/litestar/__init__.py +5 -0
- sqlspec-0.48.0/sqlspec/adapters/mssql_python/litestar/store.py +202 -0
- sqlspec-0.48.0/sqlspec/adapters/mssql_python/migrations.py +226 -0
- sqlspec-0.48.0/sqlspec/adapters/mssql_python/type_converter.py +83 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/mysqlconnector/core.py +4 -8
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/config.py +2 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/driver.py +38 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/migrations.py +30 -16
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/config.py +1 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/core.py +4 -8
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/driver.py +21 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/config.py +2 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/driver.py +54 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/pymysql/core.py +4 -8
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/spanner/config.py +34 -14
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/spanner/driver.py +8 -4
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/core.py +4 -8
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_dml.py +2 -2
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/config.py +8 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/result/_base.py +23 -16
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/splitter.py +3 -4
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/_registry.py +7 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/dialects/__init__.py +2 -0
- sqlspec-0.48.0/sqlspec/data_dictionary/dialects/mssql.py +207 -0
- sqlspec-0.48.0/sqlspec/data_dictionary/sql/mssql/columns.sql +76 -0
- sqlspec-0.48.0/sqlspec/data_dictionary/sql/mssql/foreign_keys.sql +38 -0
- sqlspec-0.48.0/sqlspec/data_dictionary/sql/mssql/indexes.sql +50 -0
- sqlspec-0.48.0/sqlspec/data_dictionary/sql/mssql/tables.sql +52 -0
- sqlspec-0.48.0/sqlspec/data_dictionary/sql/mssql/version.sql +7 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/postgres/indexes.sql +2 -2
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/driver/_async.py +36 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/driver/_sync.py +36 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/litestar/providers.py +24 -16
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/migrations/base.py +75 -5
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/migrations/commands.py +27 -2
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/migrations/runner.py +67 -24
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/migrations/tracker.py +12 -2
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/migrations/utils.py +36 -2
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/text.py +47 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/conftest.py +1 -0
- sqlspec-0.48.0/tests/integration/adapters/_postgres_migration_schema.py +81 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_migrations.py +133 -3
- sqlspec-0.48.0/tests/integration/adapters/adbc/test_sqlite_session.py +36 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_data_dictionary.py +41 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_migrations.py +182 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/test_migrations.py +175 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_migrations.py +318 -0
- sqlspec-0.48.0/tests/integration/adapters/psqlpy/test_data_dictionary.py +108 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/test_migrations.py +166 -0
- sqlspec-0.48.0/tests/integration/adapters/psycopg/test_data_dictionary.py +113 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/test_migrations.py +171 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/conftest.py +1 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/test_exceptions.py +2 -2
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/test_execute_many.py +1 -1
- sqlspec-0.48.0/tests/integration/adapters/spanner/test_session_defaults.py +47 -0
- sqlspec-0.48.0/tests/integration/conftest.py +38 -0
- sqlspec-0.48.0/tests/unit/adapters/sqlite/__init__.py +1 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/sqlite/test_rowcount_optimization.py +19 -15
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_adapter_implementations.py +8 -6
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_adbc/test_core.py +24 -0
- sqlspec-0.48.0/tests/unit/adapters/test_arrow_odbc.py +204 -0
- sqlspec-0.48.0/tests/unit/adapters/test_bigquery/test_config.py +51 -0
- sqlspec-0.48.0/tests/unit/adapters/test_duckdb/test_migration_schema.py +49 -0
- sqlspec-0.48.0/tests/unit/adapters/test_migration_schema_noops.py +109 -0
- sqlspec-0.48.0/tests/unit/adapters/test_mssql_python/__init__.py +1 -0
- sqlspec-0.48.0/tests/unit/adapters/test_mssql_python/conftest.py +5 -0
- sqlspec-0.48.0/tests/unit/adapters/test_mssql_python/test_arrow.py +224 -0
- sqlspec-0.48.0/tests/unit/adapters/test_mssql_python/test_async.py +109 -0
- sqlspec-0.48.0/tests/unit/adapters/test_mssql_python/test_config.py +91 -0
- sqlspec-0.48.0/tests/unit/adapters/test_mssql_python/test_core.py +70 -0
- sqlspec-0.48.0/tests/unit/adapters/test_mssql_python/test_data_dictionary.py +132 -0
- sqlspec-0.48.0/tests/unit/adapters/test_mssql_python/test_driver.py +32 -0
- sqlspec-0.48.0/tests/unit/adapters/test_mssql_python/test_events_store.py +33 -0
- sqlspec-0.48.0/tests/unit/adapters/test_mssql_python/test_litestar_store.py +134 -0
- sqlspec-0.48.0/tests/unit/adapters/test_mssql_python/test_migrations.py +79 -0
- sqlspec-0.48.0/tests/unit/adapters/test_mssql_python/test_type_converter.py +39 -0
- sqlspec-0.48.0/tests/unit/adapters/test_oracledb/test_migration_schema.py +104 -0
- sqlspec-0.48.0/tests/unit/adapters/test_postgres_migration_schema.py +271 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_sync_adapters.py +46 -36
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/base/test_set_migration_config.py +8 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_insert_builder.py +9 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/conftest.py +37 -14
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_compiler.py +2 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_parameters.py +16 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_single_compilation.py +9 -6
- sqlspec-0.48.0/tests/unit/core/test_splitter.py +74 -0
- sqlspec-0.48.0/tests/unit/data_dictionary/test_dialects.py +20 -0
- sqlspec-0.48.0/tests/unit/data_dictionary/test_mssql_dialect.py +109 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_litestar/test_providers.py +52 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/loader/test_fixtures_directory_loading.py +2 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/loader/test_loading_patterns.py +6 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/loader/test_sql_file_loader.py +1 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_migration_commands.py +129 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_migration_runner.py +191 -2
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_tracker_idempotency.py +101 -2
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_utils.py +28 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/scripts/mypyc_smoke.py +72 -1
- {sqlspec-0.47.0 → sqlspec-0.48.0}/uv.lock +185 -32
- sqlspec-0.47.0/tests/integration/conftest.py +0 -107
- sqlspec-0.47.0/tests/integration/test_rustfs_fixture_contract.py +0 -60
- sqlspec-0.47.0/tests/unit/adapters/test_bigquery/test_config.py +0 -28
- sqlspec-0.47.0/tests/unit/core/test_splitter.py +0 -13
- {sqlspec-0.47.0 → sqlspec-0.48.0}/.gitignore +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/.pre-commit-config.yaml +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/CONTRIBUTING.rst +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/LICENSE +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/Makefile +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/README.md +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/docs/_static/demos/.gitkeep +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/docs/_static/demos/migration_workflow.gif +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/docs/_static/demos/query_builder.gif +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/docs/_static/demos/quickstart.gif +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/__main__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/__metadata__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/adbc/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/adbc/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/adbc/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/adbc/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/adbc/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/adbc/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/adbc/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/adbc/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/adbc/type_converter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiomysql/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiomysql/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiomysql/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiomysql/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiomysql/config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiomysql/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiomysql/driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiomysql/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiomysql/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiomysql/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiomysql/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiosqlite/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiosqlite/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiosqlite/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiosqlite/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiosqlite/config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiosqlite/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiosqlite/driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiosqlite/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiosqlite/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiosqlite/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiosqlite/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/aiosqlite/pool.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncmy/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncmy/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncmy/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncmy/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncmy/config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncmy/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncmy/driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncmy/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncmy/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncmy/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncmy/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/events/_hub.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/events/backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/asyncpg/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/bigquery/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/bigquery/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/bigquery/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/bigquery/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/bigquery/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/bigquery/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/bigquery/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/bigquery/type_converter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_asyncpg/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_asyncpg/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_asyncpg/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_asyncpg/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_asyncpg/core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_asyncpg/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_asyncpg/driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_asyncpg/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_asyncpg/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_asyncpg/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_asyncpg/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_psycopg/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_psycopg/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_psycopg/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_psycopg/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_psycopg/core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_psycopg/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_psycopg/driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_psycopg/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_psycopg/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_psycopg/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/cockroach_psycopg/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/pool.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/duckdb/type_converter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/mysqlconnector/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/mysqlconnector/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/mysqlconnector/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/mysqlconnector/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/mysqlconnector/config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/mysqlconnector/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/mysqlconnector/driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/mysqlconnector/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/mysqlconnector/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/mysqlconnector/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/mysqlconnector/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/_json_handlers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/_param_types.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/_uuid_handlers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/_vector_handlers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/events/_hub.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/events/backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/oracledb/type_converter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/events/_hub.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/events/backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psqlpy/type_converter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/events/_hub.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/events/backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/psycopg/type_converter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/pymysql/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/pymysql/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/pymysql/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/pymysql/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/pymysql/config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/pymysql/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/pymysql/driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/pymysql/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/pymysql/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/pymysql/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/pymysql/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/pymysql/pool.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/spanner/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/spanner/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/spanner/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/spanner/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/spanner/core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/spanner/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/spanner/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/spanner/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/spanner/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/spanner/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/spanner/type_converter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/_typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/events/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/pool.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/adapters/sqlite/type_converter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/base.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_base.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_column.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_ddl.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_delete.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_expression_wrappers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_factory.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_insert.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_join.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_merge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_parsing_utils.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_select.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_temporal.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_update.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/builder/_vector_distance.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/cli.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/_correlation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/_pagination.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/_pool.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/cache.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/compiler.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/config_runtime.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/filters.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/hashing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/metrics.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/parameters/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/parameters/_alignment.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/parameters/_converter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/parameters/_processor.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/parameters/_registry.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/parameters/_transformers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/parameters/_types.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/parameters/_validator.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/pipeline.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/query_modifiers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/result/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/result/_io.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/sqlcommenter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/stack.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/statement.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/core/type_converter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/_loader.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/_types.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/dialects/bigquery.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/dialects/cockroachdb.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/dialects/duckdb.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/dialects/mysql.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/dialects/oracle.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/dialects/postgres.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/dialects/spanner.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/dialects/sqlite.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/.gitkeep +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/bigquery/columns.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/bigquery/foreign_keys.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/bigquery/indexes.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/bigquery/tables.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/bigquery/version.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/cockroachdb/columns.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/cockroachdb/foreign_keys.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/cockroachdb/indexes.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/cockroachdb/tables.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/cockroachdb/version.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/duckdb/columns.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/duckdb/foreign_keys.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/duckdb/indexes.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/duckdb/tables.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/duckdb/version.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/mysql/columns.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/mysql/foreign_keys.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/mysql/indexes.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/mysql/tables.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/mysql/version.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/oracle/columns.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/oracle/foreign_keys.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/oracle/indexes.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/oracle/tables.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/oracle/version.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/postgres/columns.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/postgres/foreign_keys.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/postgres/tables.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/postgres/version.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/spanner/columns.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/spanner/foreign_keys.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/spanner/indexes.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/spanner/tables.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/spanner/version.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/sqlite/columns.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/sqlite/foreign_keys.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/sqlite/indexes.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/sqlite/tables.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/data_dictionary/sql/sqlite/version.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/dialects/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/dialects/_compat.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/dialects/postgres/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/dialects/postgres/_generators.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/dialects/postgres/_operators.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/dialects/postgres/_paradedb.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/dialects/postgres/_pgvector.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/dialects/spanner/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/dialects/spanner/_generators.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/dialects/spanner/_spangres.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/dialects/spanner/_spanner.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/driver/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/driver/_common.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/driver/_exception_handler.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/driver/_query_cache.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/driver/_sql_helpers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/driver/_storage_helpers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/_config_utils.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/_types.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/artifact/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/artifact/_types.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/artifact/service.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/artifact/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/converters.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/memory/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/memory/_types.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/memory/converters.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/memory/service.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/memory/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/migrations/0001_create_adk_tables.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/migrations/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/service.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/adk/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/events/_channel.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/events/_hints.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/events/_models.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/events/_payload.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/events/_protocols.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/events/_queue.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/events/_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/events/migrations/0001_create_event_queue.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/events/migrations/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/fastapi/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/fastapi/extension.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/fastapi/providers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/flask/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/flask/_state.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/flask/_utils.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/flask/extension.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/litestar/_utils.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/litestar/channels.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/litestar/cli.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/litestar/config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/litestar/handlers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/litestar/migrations/0001_create_session_table.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/litestar/migrations/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/litestar/plugin.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/litestar/store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/otel/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/prometheus/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/sanic/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/sanic/_state.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/sanic/_utils.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/sanic/extension.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/starlette/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/starlette/_state.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/starlette/_utils.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/starlette/extension.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/extensions/starlette/middleware.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/loader.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/migrations/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/migrations/context.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/migrations/fix.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/migrations/loaders.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/migrations/squash.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/migrations/templates.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/migrations/validation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/migrations/version.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_common.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_diagnostics.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_dispatcher.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_formatters/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_formatters/_aws.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_formatters/_azure.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_formatters/_base.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_formatters/_gcp.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_formatting.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_observer.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_runtime.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_sampling.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/observability/_spans.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/protocols.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/py.typed +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/service.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/storage/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/storage/_arrow_payload.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/storage/_paths.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/storage/_utils.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/storage/backends/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/storage/backends/base.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/storage/backends/fsspec.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/storage/backends/local.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/storage/backends/obstore.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/storage/errors.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/storage/pipeline.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/storage/registry.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/typing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/arrow_helpers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/config_tools.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/correlation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/deprecation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/dispatch.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/fixtures.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/logging.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/module_loader.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/portal.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/schema.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/serializers/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/serializers/_json.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/serializers/_numpy.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/serializers/_schema.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/singleton.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/sync_tools.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/type_converters.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/type_guards.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/sqlspec/utils/uuids.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/asset_maintenance.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/ddls-mysql-collection.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/ddls-postgres-collection.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/example_usage.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/init.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/mysql/collection-config.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/mysql/collection-data_types.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/mysql/collection-database_details.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/mysql/collection-engines.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/mysql/collection-hostname.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/mysql/collection-plugins.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/mysql/collection-process_list.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/mysql/collection-resource-groups.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/mysql/collection-schema_objects.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/mysql/collection-table_details.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/mysql/collection-users.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/mysql/init.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/oracle.ddl.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-applications.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-aws_extension_dependency.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-aws_oracle_exists.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-bg_writer_stats.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-calculated_metrics.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-data_types.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-database_details.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-extensions.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-index_details.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-pglogical-details.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-privileges.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-replication_slots.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-replication_stats.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-schema_details.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-schema_objects.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-settings.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-source_details.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/collection-table_details.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/extended-collection-all-databases.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/postgres/init.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/readiness-check.sql +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/rustfs.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/fixtures/sql_utils.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/_events_helpers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/_storage_bridge_helpers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/extensions/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/extensions/adk/test_dialect_integration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/extensions/adk/test_dialect_support.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/extensions/adk/test_edge_cases.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/extensions/adk/test_event_operations.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/extensions/adk/test_memory_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/extensions/adk/test_owner_id_column.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/extensions/adk/test_session_operations.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_adbc_backends.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_adbc_connection.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_adbc_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_adbc_edge_cases.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_adbc_results.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_arrow_duckdb.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_arrow_features.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_paradedb.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_pgvector.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_storage_bridge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/adbc/test_vector_functions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/extensions/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/extensions/adk/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/extensions/adk/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/extensions/events/test_queue_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/test_arrow.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/test_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/test_features.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/test_migrations.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiomysql/test_storage_bridge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/extensions/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/extensions/adk/test_memory_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/extensions/adk/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/extensions/events/test_queue_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/extensions/litestar/test_numpy_serialization.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/test_arrow.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/test_connection.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/test_data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/test_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/test_migrations.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/test_pooling.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/aiosqlite/test_storage_bridge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/extensions/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/extensions/adk/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/extensions/adk/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/extensions/events/test_queue_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/test_arrow.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/test_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/test_features.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/test_migrations.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncmy/test_storage_bridge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/extensions/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/extensions/adk/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/extensions/adk/test_owner_id_column.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/extensions/adk/test_session_operations.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/extensions/events/test_listen_notify.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/extensions/events/test_queue_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_arrow.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_cloud_connectors.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_execute_many.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_merge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_merge_bulk.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_paradedb.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_pgvector.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_schema_migration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/asyncpg/test_storage_bridge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/bigquery/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/bigquery/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/bigquery/test_arrow.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/bigquery/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/bigquery/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/bigquery/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/bigquery/test_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/bigquery/test_features.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/bigquery/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/bigquery/test_vector_functions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/cockroach_asyncpg/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/cockroach_asyncpg/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/cockroach_asyncpg/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/cockroach_asyncpg/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/cockroach_psycopg/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/cockroach_psycopg/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/cockroach_psycopg/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/cockroach_psycopg/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/extensions/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/extensions/adk/test_memory_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/extensions/adk/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/extensions/events/test_queue_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/test_arrow.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/test_connection.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/test_driver_features.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/test_execute_many.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/test_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/test_mixed_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/test_pooling.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/test_storage_bridge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/test_vector_functions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/duckdb/utils.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/extensions/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/extensions/adk/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/extensions/adk/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/extensions/events/test_queue_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/test_driver_async.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/test_driver_sync.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/mysqlconnector/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/extensions/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/extensions/adk/test_inmemory.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/extensions/adk/test_oracle_specific.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/extensions/events/test_aq_poll_interval.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/extensions/events/test_oracle_aq.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/extensions/events/test_queue_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/extensions/litestar/test_inmemory.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/extensions/litestar/test_store_async.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/extensions/litestar/test_store_sync.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_arrow.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_driver_async.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_driver_sync.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_execute_many.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_features.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_json_native.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_merge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_merge_bulk.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_msgspec_clob.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_numpy_vectors.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_smart_lob_coercion.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_stack.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_uuid_binary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/oracledb/test_vector_functions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/extensions/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/extensions/adk/test_owner_id_column.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/extensions/events/test_listen_notify.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/extensions/events/test_queue_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/test_arrow.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/test_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/test_features.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/test_merge_bulk.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/test_paradedb.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/test_pgvector.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psqlpy/test_storage_bridge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/extensions/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/extensions/adk/test_owner_id_column.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/extensions/events/test_listen_notify.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/extensions/events/test_queue_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/extensions/litestar/test_store_async.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/extensions/litestar/test_store_sync.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/test_arrow.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/test_async_copy.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/test_execute_many.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/test_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/test_merge_bulk.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/test_paradedb.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/test_pgvector.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/psycopg/test_storage_bridge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/pymysql/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/pymysql/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/pymysql/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/pymysql/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/pymysql/extensions/events/test_queue_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/pymysql/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/pymysql/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/pymysql/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/pymysql/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/pymysql/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/pymysql/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/extensions/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/extensions/adk/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/extensions/adk/test_adk_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/extensions/events/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/extensions/events/test_queue_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/extensions/litestar/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/test_arrow.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/test_bytes_direct.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/test_crud_operations.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/test_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/test_spangres_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/spanner/test_spangres_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/extensions/adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/extensions/adk/test_memory_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/extensions/adk/test_owner_id_column.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/extensions/adk/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/extensions/events/test_queue_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/test_arrow.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/test_data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/test_driver_features.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/test_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/test_migrations.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/test_parameter_styles.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/test_pooling.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/test_query_mixin.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/adapters/sqlite/test_storage_bridge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/cli/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/cli/test_config_discovery.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/cli/test_sync_adapter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/config/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/config/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/config/test_connection_injection.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/core/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/core/test_stack_edge_cases.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/dishka/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/dishka/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/dishka/test_integration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/events/test_native_concurrency.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/fastapi/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/fastapi/test_filters_integration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/fastapi/test_integration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/flask/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/flask/test_disable_di.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/flask/test_integration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/litestar/test_channels_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/litestar/test_channels_backend_concurrency.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/litestar/test_correlation_middleware.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/litestar/test_disable_di.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/litestar/test_in_fields_filters.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/litestar/test_logging_format.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/litestar/test_offset_pagination_serialization.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/litestar/test_request_scope_access.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/prometheus/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/prometheus/test_integration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/sanic/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/sanic/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/sanic/test_integration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/starlette/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/starlette/test_disable_di.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/extensions/starlette/test_integration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/loader/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/loader/test_file_system.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/migrations/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/migrations/test_async_migrations.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/migrations/test_auto_sync.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/migrations/test_fix_checksum_stability.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/migrations/test_fix_file_operations.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/migrations/test_fix_idempotency_workflow.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/migrations/test_migrations_logging_format.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/migrations/test_schema_migration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/migrations/test_squash_file_operations.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/migrations/test_upgrade_downgrade_versions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/observability/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/observability/test_logging_format.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/storage/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/storage/test_integration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/storage/test_signing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/storage/test_streaming.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/integration/test_pool_concurrency.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_adbc/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_adbc/test_adbc_config_normalization.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_adbc/test_adbc_serialization.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_adbc/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_adbc/test_extension_detection.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_aiomysql/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_aiomysql/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_aiosqlite/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_aiosqlite/test_pool_shutdown.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_async_adapters.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_asyncmy/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_asyncmy/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_asyncpg/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_asyncpg/test_cloud_connectors.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_asyncpg/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_asyncpg/test_type_handlers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_bigquery/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_bigquery/test_core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_bigquery/test_execute_many.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_bigquery/test_parameters.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_cockroach_asyncpg/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_cockroach_asyncpg/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_cockroach_asyncpg/test_core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_cockroach_psycopg/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_cockroach_psycopg/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_cockroach_psycopg/test_core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_duckdb/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_duckdb/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_duckdb/test_exception_mapping.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_duckdb/test_extension_flags.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_duckdb/test_type_converter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_extension_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_mysql_family_core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_mysql_family_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_oracledb/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_oracledb/test_core_driver_features.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_oracledb/test_core_row_materialization.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_oracledb/test_data_dictionary_oracledb.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_oracledb/test_json_handlers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_oracledb/test_lob_coercion.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_oracledb/test_numpy_handlers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_oracledb/test_oracle_adk_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_oracledb/test_param_types.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_oracledb/test_pipeline_helpers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_oracledb/test_type_converter_vectors.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_oracledb/test_uuid_handlers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_oracledb/test_vector_handlers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_pool_logging.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_psqlpy/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_psqlpy/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_psqlpy/test_core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_psycopg/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_psycopg/test_adk_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_psycopg/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_psycopg/test_core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_psycopg/test_type_handlers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_spanner/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_spanner/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_spanner/test_adk_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_spanner/test_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_spanner/test_core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_spanner/test_dialect.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_spanner/test_driver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_spanner/test_events_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_spanner/test_init.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_spanner/test_litestar_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_spanner/test_type_converter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_sqlite/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/adapters/test_sqlite/test_type_handlers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/base/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/base/test_config_instances.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/base/test_pool_destroying_hook.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/base/test_sql_integration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/base/test_sqlspec_class.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_cte_parameter_collisions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_dialect_override.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_explain.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_lateral_joins.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_merge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_merge_dialect_validation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_merge_property_shorthand.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_parameter_naming.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_parsing_utils.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_select_builder.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_select_locking.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_sql_factory.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_struct_aware_values.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_temporal.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_to_sql.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_upsert_factory.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_vector_functions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/builder/test_where_or_operations.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/cli/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/cli/test_config_loading.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/cli/test_migration_commands.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/cli/test_shell_completion.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/config/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/config/test_connection_config_edge_cases.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/config/test_connection_config_parameters.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/config/test_discovery.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/config/test_migration_methods.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/config/test_mypyc_boundary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/config/test_observability_extensions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/config/test_provide_methods.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/config/test_resolver.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/config/test_storage_capabilities.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_cache.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_cache_keys.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_config_caching.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_correlation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_filters.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_hashing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_introspection_sql.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_parameter_regex_performance.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_pool.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_query_modifiers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_result.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_sql_modifiers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_sqlcommenter.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_stack.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_statement.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_statement_optimization.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/core/test_type_conversion.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/dialects/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/dialects/test_generators.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/dialects/test_paradedb.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/dialects/test_pgvector.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/dialects/test_spangres.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/dialects/test_spanner.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/docs/test_conf.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/driver/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/driver/test_count_query.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/driver/test_data_dictionary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/driver/test_execute_script.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/driver/test_fetch_aliases.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/driver/test_force_select.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/driver/test_query_cache.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/driver/test_result_tools.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/driver/test_stack_base.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/exceptions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/exceptions/test_exception_handler.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/exceptions/test_exceptions.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/conftest.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_adk/test_converters.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_adk/test_memory_converters.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_adk/test_service.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_adk/test_store_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_adk/test_store_instantiation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_events/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_events/test_adapter_stores.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_events/test_backend_factories.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_events/test_channel.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_events/test_channel_extended.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_events/test_events_config.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_events/test_hints.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_events/test_listener_hubs.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_events/test_models.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_events/test_mypyc_boundary.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_events/test_queue.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_events/test_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_events/test_store_hooks.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_fastapi/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_fastapi/test_extension.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_fastapi/test_providers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_flask/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_flask/test_correlation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_flask/test_extension.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_flask/test_state.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_litestar/test_correlation_middleware.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_litestar/test_handlers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_litestar/test_not_found_handler.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_litestar/test_plugin_ordering.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_litestar/test_serialization_plugin.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_otel/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_otel/test_enable_tracing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_prometheus/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_prometheus/test_enable_metrics.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_prometheus/test_metrics.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_sanic/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_sanic/test_config_state.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_sanic/test_extension.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_sanic/test_lifecycle.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_sanic/test_middleware.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_sanic/test_observability.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_sanic/test_utils.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_service_reexports.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_sqlcommenter/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_sqlcommenter/test_middleware.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_starlette/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_starlette/test_config_state.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_starlette/test_correlation_middleware.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_starlette/test_extension.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/extensions/test_starlette/test_utils.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/loader/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/loader/test_alias_handling.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/loader/test_cache_integration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/loader/test_correlation_preserved.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/loader/test_path_handling.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_checksum_canonicalization.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_commands_squash.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_extension_discovery.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_fix_regex_precision.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_migration.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_migration_context.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_migration_execution.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_squash.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_squash_edge_cases.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_squash_grouping.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_squash_plan_mixed.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_squash_python_output.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_squash_validation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_tracker_squash.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_use_logger.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_validation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_version.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_version_conversion.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/migrations/test_version_parsing_edge_cases.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/observability/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/observability/test_formatters.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/observability/test_observability_core.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/observability/test_observability_logging.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/observability/test_observability_sampling.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/observability/test_sampling.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/storage/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/storage/test_backend_type_constants.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/storage/test_bridge.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/storage/test_errors.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/storage/test_fsspec_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/storage/test_local_store.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/storage/test_obstore_backend.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/storage/test_registry_file_resolution.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/storage/test_signing.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/storage/test_storage_iterators.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/storage/test_storage_registry.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/storage/test_storage_registry_source.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/storage/test_storage_utils.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/serializers/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/serializers/test_default_type_encoders.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_arrow_helpers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_bench.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_bench_gate.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_bench_subsystems.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_correlation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_data_transformation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_dependencies.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_deprecation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_dispatch.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_fixtures.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_logging.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_makefile_quality.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_mypyc_inventory.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_mypyc_smoke.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_portal.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_serialization.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_serializers.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_sync_tools.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_text.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_to_value_type.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_type_converters.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_type_guards.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tests/unit/utils/test_uuids.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/benchmark_cache_key.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/benchmark_results.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/benchmark_sqlglot.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/benchmark_transform.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/build_docs.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/fix_documentation.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/local-infra.sh +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/profiling.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/pypi_readme.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/run_pre_commit.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/scripts/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/scripts/analyze_profile.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/scripts/bench.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/scripts/bench_compare.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/scripts/bench_gate.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/scripts/bench_subsystems.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/scripts/mypyc_boundary_map.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/scripts/mypyc_inventory.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/scripts/pgo_training.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/scripts/profiles/.gitkeep +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/sphinx_ext/__init__.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/sphinx_ext/changelog.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/sphinx_ext/missing_references.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/sphinx_ext/playground.py +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/sphinx_ext/playground_template.html +0 -0
- {sqlspec-0.47.0 → sqlspec-0.48.0}/tools/sphinx_ext/pygments_styles.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sqlspec
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.48.0
|
|
4
4
|
Summary: SQL Experiments in Python
|
|
5
5
|
Project-URL: Discord, https://discord.gg/litestar
|
|
6
6
|
Project-URL: Issue, https://github.com/litestar-org/sqlspec/issues/
|
|
@@ -37,6 +37,9 @@ Provides-Extra: aiosqlite
|
|
|
37
37
|
Requires-Dist: aiosqlite; extra == 'aiosqlite'
|
|
38
38
|
Provides-Extra: alloydb
|
|
39
39
|
Requires-Dist: google-cloud-alloydb-connector; extra == 'alloydb'
|
|
40
|
+
Provides-Extra: arrow-odbc
|
|
41
|
+
Requires-Dist: arrow-odbc>=10.4; extra == 'arrow-odbc'
|
|
42
|
+
Requires-Dist: pyarrow; extra == 'arrow-odbc'
|
|
40
43
|
Provides-Extra: asyncmy
|
|
41
44
|
Requires-Dist: asyncmy; extra == 'asyncmy'
|
|
42
45
|
Provides-Extra: asyncpg
|
|
@@ -65,6 +68,8 @@ Provides-Extra: litestar
|
|
|
65
68
|
Requires-Dist: litestar>=2.22.0; extra == 'litestar'
|
|
66
69
|
Provides-Extra: msgspec
|
|
67
70
|
Requires-Dist: msgspec; extra == 'msgspec'
|
|
71
|
+
Provides-Extra: mssql-python
|
|
72
|
+
Requires-Dist: mssql-python>=1.7; extra == 'mssql-python'
|
|
68
73
|
Provides-Extra: mypyc
|
|
69
74
|
Requires-Dist: sqlglot[c]>=30.0.0; extra == 'mypyc'
|
|
70
75
|
Provides-Extra: mysql-connector
|
|
@@ -24,7 +24,7 @@ maintainers = [{ name = "Litestar Developers", email = "hello@litestar.dev" }]
|
|
|
24
24
|
name = "sqlspec"
|
|
25
25
|
readme = "README.md"
|
|
26
26
|
requires-python = ">=3.10, <4.0"
|
|
27
|
-
version = "0.
|
|
27
|
+
version = "0.48.0"
|
|
28
28
|
|
|
29
29
|
[project.urls]
|
|
30
30
|
Discord = "https://discord.gg/litestar"
|
|
@@ -38,6 +38,7 @@ aiomysql = ["aiomysql"]
|
|
|
38
38
|
aioodbc = ["aioodbc"]
|
|
39
39
|
aiosqlite = ["aiosqlite"]
|
|
40
40
|
alloydb = ["google-cloud-alloydb-connector"]
|
|
41
|
+
arrow-odbc = ["arrow-odbc>=10.4", "pyarrow"]
|
|
41
42
|
asyncmy = ["asyncmy"]
|
|
42
43
|
asyncpg = ["asyncpg"]
|
|
43
44
|
attrs = ["attrs", "cattrs"]
|
|
@@ -50,6 +51,7 @@ flask = ["flask"]
|
|
|
50
51
|
fsspec = ["fsspec"]
|
|
51
52
|
litestar = ["litestar>=2.22.0"]
|
|
52
53
|
msgspec = ["msgspec"]
|
|
54
|
+
mssql-python = ["mssql-python>=1.7"]
|
|
53
55
|
mypyc = ["sqlglot[c]>=30.0.0"]
|
|
54
56
|
mysql-connector = [
|
|
55
57
|
"mysql-connector-python; python_version < '3.12'",
|
|
@@ -146,7 +148,7 @@ test = [
|
|
|
146
148
|
"pytest>=8.0.0",
|
|
147
149
|
|
|
148
150
|
"pytest-cov>=5.0.0",
|
|
149
|
-
"pytest-databases[postgres,oracle,bigquery,spanner]>=0.
|
|
151
|
+
"pytest-databases[postgres,oracle,bigquery,spanner]>=0.19.0",
|
|
150
152
|
"pytest-mock>=3.14.0",
|
|
151
153
|
"pytest-sugar>=1.0.0",
|
|
152
154
|
"pytest-xdist>=3.6.1",
|
|
@@ -190,6 +192,7 @@ packages = ["sqlspec"]
|
|
|
190
192
|
# Keep that smoke build from auto-discovering ignored scratch directories.
|
|
191
193
|
packages = []
|
|
192
194
|
|
|
195
|
+
|
|
193
196
|
[tool.hatch.build.targets.wheel.hooks.mypyc]
|
|
194
197
|
dependencies = ["hatch-mypyc", "hatch-cython", "mypy>=2.0.0"]
|
|
195
198
|
enable-by-default = false
|
|
@@ -289,7 +292,7 @@ opt_level = "3" # Maximum optimization (0-3)
|
|
|
289
292
|
allow_dirty = true
|
|
290
293
|
commit = false
|
|
291
294
|
commit_args = "--no-verify"
|
|
292
|
-
current_version = "0.
|
|
295
|
+
current_version = "0.48.0"
|
|
293
296
|
ignore_missing_files = false
|
|
294
297
|
ignore_missing_version = false
|
|
295
298
|
message = "chore(release): bump to v{new_version}"
|
|
@@ -397,6 +400,14 @@ filterwarnings = [
|
|
|
397
400
|
"ignore:PROCEDURE .* does not exist:Warning",
|
|
398
401
|
"ignore::Warning:aiomysql.cursors",
|
|
399
402
|
"ignore:Exception ignored in:pytest.PytestUnraisableExceptionWarning",
|
|
403
|
+
# coverage 7.x stores per-process coverage data in sqlite. Those
|
|
404
|
+
# connections are GC'd non-deterministically by Python (often during
|
|
405
|
+
# xdist worker shutdown), surfacing tracebacks at random sites in
|
|
406
|
+
# stdlib/xdist/sqlglot. Tracemalloc confirms allocation in
|
|
407
|
+
# execnet/coverage code, not ours. Suppress the message globally.
|
|
408
|
+
"ignore:unclosed database:ResourceWarning",
|
|
409
|
+
# Same warning when pytest's unraisable-exception hook re-emits it.
|
|
410
|
+
"ignore:.*unclosed database.*:pytest.PytestUnraisableExceptionWarning",
|
|
400
411
|
]
|
|
401
412
|
markers = [
|
|
402
413
|
"xdist_group: pin tests sharing state to the same xdist worker (registered to silence PytestUnknownMarkWarning when xdist isn't actively loaded)",
|
|
@@ -415,6 +426,7 @@ markers = [
|
|
|
415
426
|
"aiomysql: marks tests using aiomysql",
|
|
416
427
|
"aioodbc: marks tests using aioodbc",
|
|
417
428
|
"aiosqlite: marks tests using aiosqlite",
|
|
429
|
+
"arrow_odbc: marks tests using the arrow_odbc adapter",
|
|
418
430
|
"asyncmy: marks tests using asyncmy",
|
|
419
431
|
"asyncpg: marks tests using asyncpg",
|
|
420
432
|
"duckdb_driver: marks tests using the duckdb driver",
|
|
@@ -422,6 +434,7 @@ markers = [
|
|
|
422
434
|
"google_spanner: marks tests using google-cloud-spanner",
|
|
423
435
|
"oracledb: marks tests using oracledb",
|
|
424
436
|
"psycopg: marks tests using psycopg",
|
|
437
|
+
"mssql_python: marks tests using the mssql-python driver",
|
|
425
438
|
"pymssql: marks tests using pymssql",
|
|
426
439
|
"mysql_connector: marks tests using mysql-connector",
|
|
427
440
|
"pymysql: marks tests using pymysql",
|
|
@@ -460,8 +473,12 @@ module = [
|
|
|
460
473
|
"uvloop.*",
|
|
461
474
|
"aiomysql",
|
|
462
475
|
"aiomysql.*",
|
|
476
|
+
"arrow_odbc",
|
|
477
|
+
"arrow_odbc.*",
|
|
463
478
|
"asyncmy",
|
|
464
479
|
"asyncmy.*",
|
|
480
|
+
"mssql_python",
|
|
481
|
+
"mssql_python.*",
|
|
465
482
|
"pyarrow",
|
|
466
483
|
"pyarrow.*",
|
|
467
484
|
"opentelemetry.*",
|
|
@@ -86,11 +86,16 @@ class AdbcSessionContext:
|
|
|
86
86
|
self._driver: AdbcDriver | None = None
|
|
87
87
|
|
|
88
88
|
def __enter__(self) -> "AdbcDriver":
|
|
89
|
+
from sqlspec.adapters.adbc.core import resolve_dialect_name
|
|
89
90
|
from sqlspec.adapters.adbc.driver import AdbcDriver
|
|
90
91
|
|
|
91
92
|
self._connection = self._acquire_connection()
|
|
93
|
+
resolved_dialect = resolve_dialect_name(self._statement_config.dialect) or None
|
|
92
94
|
self._driver = AdbcDriver(
|
|
93
|
-
connection=self._connection,
|
|
95
|
+
connection=self._connection,
|
|
96
|
+
statement_config=self._statement_config,
|
|
97
|
+
driver_features=self._driver_features,
|
|
98
|
+
dialect=resolved_dialect,
|
|
94
99
|
)
|
|
95
100
|
return self._prepare_driver(self._driver)
|
|
96
101
|
|
|
@@ -224,8 +224,10 @@ class AdbcConfig(NoPoolSyncConfig[AdbcConnection, AdbcDriver]):
|
|
|
224
224
|
self._pgvector_available: bool | None = None
|
|
225
225
|
self._paradedb_available: bool | None = None
|
|
226
226
|
|
|
227
|
+
dialect = resolve_dialect_from_config(self.connection_config)
|
|
228
|
+
|
|
227
229
|
if statement_config is None:
|
|
228
|
-
statement_config = get_statement_config(
|
|
230
|
+
statement_config = get_statement_config(dialect)
|
|
229
231
|
|
|
230
232
|
statement_config, driver_features = apply_driver_features(statement_config, driver_features)
|
|
231
233
|
|
|
@@ -241,6 +243,11 @@ class AdbcConfig(NoPoolSyncConfig[AdbcConnection, AdbcDriver]):
|
|
|
241
243
|
**kwargs,
|
|
242
244
|
)
|
|
243
245
|
|
|
246
|
+
@property
|
|
247
|
+
def supports_migration_schemas(self) -> bool: # type: ignore[override]
|
|
248
|
+
"""Migration schema support is only available for PostgreSQL-backed ADBC drivers."""
|
|
249
|
+
return is_postgres_dialect(resolve_dialect_from_config(self.connection_config))
|
|
250
|
+
|
|
244
251
|
def create_connection(self) -> AdbcConnection:
|
|
245
252
|
"""Create and return a new connection using the specified driver.
|
|
246
253
|
|
|
@@ -157,12 +157,15 @@ _BIGQUERY_DB_KWARGS_FIELDS: "tuple[str, ...]" = ("project_id", "dataset_id", "to
|
|
|
157
157
|
_TYPE_COERCION_DISPATCHERS: "dict[tuple[tuple[type, Callable[[Any], Any]], ...], TypeDispatcher[Callable[[Any], Any]]]" = {}
|
|
158
158
|
|
|
159
159
|
|
|
160
|
-
def detect_dialect(connection: Any, logger: Any | None = None) -> str:
|
|
160
|
+
def detect_dialect(connection: Any, logger: Any | None = None, *, fallback_dialect: "str | None" = None) -> str:
|
|
161
161
|
"""Detect database dialect from ADBC driver information.
|
|
162
162
|
|
|
163
163
|
Args:
|
|
164
164
|
connection: ADBC connection with driver metadata.
|
|
165
165
|
logger: Optional logger for diagnostics.
|
|
166
|
+
fallback_dialect: Pre-resolved dialect from config (e.g. from
|
|
167
|
+
``resolve_dialect_from_config``). Used when introspection
|
|
168
|
+
yields no match, before defaulting to ``postgres``.
|
|
166
169
|
|
|
167
170
|
Returns:
|
|
168
171
|
Detected dialect name, defaulting to ``postgres``.
|
|
@@ -182,6 +185,11 @@ def detect_dialect(connection: Any, logger: Any | None = None) -> str:
|
|
|
182
185
|
if logger is not None:
|
|
183
186
|
logger.debug("Dialect detection failed: %s", exc)
|
|
184
187
|
|
|
188
|
+
if fallback_dialect:
|
|
189
|
+
if logger is not None:
|
|
190
|
+
logger.debug("Dialect from connection_config: %s (introspection yielded no match)", fallback_dialect)
|
|
191
|
+
return fallback_dialect
|
|
192
|
+
|
|
185
193
|
if logger is not None:
|
|
186
194
|
logger.warning("Could not determine dialect from driver info. Defaulting to 'postgres'.")
|
|
187
195
|
return "postgres"
|
|
@@ -31,6 +31,7 @@ from sqlspec.exceptions import DatabaseConnectionError, SQLSpecError
|
|
|
31
31
|
from sqlspec.utils.logging import get_logger
|
|
32
32
|
from sqlspec.utils.module_loader import ensure_pyarrow
|
|
33
33
|
from sqlspec.utils.serializers import to_json
|
|
34
|
+
from sqlspec.utils.text import quote_identifier
|
|
34
35
|
|
|
35
36
|
if TYPE_CHECKING:
|
|
36
37
|
from collections.abc import Callable
|
|
@@ -89,8 +90,10 @@ class AdbcDriver(SyncDriverAdapterBase):
|
|
|
89
90
|
connection: "AdbcConnection",
|
|
90
91
|
statement_config: "StatementConfig | None" = None,
|
|
91
92
|
driver_features: "dict[str, Any] | None" = None,
|
|
93
|
+
*,
|
|
94
|
+
dialect: "str | None" = None,
|
|
92
95
|
) -> None:
|
|
93
|
-
self._detected_dialect = detect_dialect(connection, logger)
|
|
96
|
+
self._detected_dialect = detect_dialect(connection, logger, fallback_dialect=dialect)
|
|
94
97
|
|
|
95
98
|
if statement_config is None:
|
|
96
99
|
base_config = get_statement_config(self._detected_dialect)
|
|
@@ -256,7 +259,15 @@ class AdbcDriver(SyncDriverAdapterBase):
|
|
|
256
259
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
257
260
|
|
|
258
261
|
def begin(self) -> None:
|
|
259
|
-
"""Begin database transaction.
|
|
262
|
+
"""Begin database transaction.
|
|
263
|
+
|
|
264
|
+
ADBC SQLite holds an implicit transaction after the first DML and
|
|
265
|
+
rejects an explicit ``BEGIN`` with "cannot start a transaction
|
|
266
|
+
within a transaction." On that dialect this is a no-op; the
|
|
267
|
+
implicit transaction is closed by ``commit()`` / ``rollback()``.
|
|
268
|
+
"""
|
|
269
|
+
if self._dialect_name == "sqlite":
|
|
270
|
+
return
|
|
260
271
|
try:
|
|
261
272
|
with self.with_cursor(self.connection) as cursor:
|
|
262
273
|
cursor.execute("BEGIN")
|
|
@@ -282,6 +293,35 @@ class AdbcDriver(SyncDriverAdapterBase):
|
|
|
282
293
|
msg = f"Failed to rollback transaction: {e}"
|
|
283
294
|
raise SQLSpecError(msg) from e
|
|
284
295
|
|
|
296
|
+
def set_migration_session_schema(self, schema: str) -> None:
|
|
297
|
+
"""Set the PostgreSQL search path for migration SQL when using ADBC PostgreSQL."""
|
|
298
|
+
if not self._is_postgres:
|
|
299
|
+
super().set_migration_session_schema(schema)
|
|
300
|
+
return
|
|
301
|
+
quoted_schema = quote_identifier(schema)
|
|
302
|
+
with self.with_cursor(self.connection) as cursor:
|
|
303
|
+
cursor.execute(f'SET search_path TO {quoted_schema}, "$user", public')
|
|
304
|
+
|
|
305
|
+
def set_migration_non_transactional_schema(self, schema: str) -> None:
|
|
306
|
+
"""Set the PostgreSQL search path for non-transactional migration SQL."""
|
|
307
|
+
self.set_migration_session_schema(schema)
|
|
308
|
+
|
|
309
|
+
def reset_migration_session_schema(self) -> None:
|
|
310
|
+
"""Reset PostgreSQL search path after non-transactional migration SQL."""
|
|
311
|
+
if not self._is_postgres:
|
|
312
|
+
super().reset_migration_session_schema()
|
|
313
|
+
return
|
|
314
|
+
with self.with_cursor(self.connection) as cursor:
|
|
315
|
+
cursor.execute("RESET search_path")
|
|
316
|
+
|
|
317
|
+
def has_schema(self, schema: str) -> bool:
|
|
318
|
+
"""Return whether a PostgreSQL schema exists when using ADBC PostgreSQL."""
|
|
319
|
+
if not self._is_postgres:
|
|
320
|
+
return super().has_schema(schema)
|
|
321
|
+
with self.with_cursor(self.connection) as cursor:
|
|
322
|
+
cursor.execute("SELECT 1 FROM information_schema.schemata WHERE schema_name = $1", parameters=[schema])
|
|
323
|
+
return cursor.fetchone() is not None
|
|
324
|
+
|
|
285
325
|
def with_cursor(self, connection: "AdbcConnection") -> "AdbcCursor":
|
|
286
326
|
"""Create context manager for cursor.
|
|
287
327
|
|
|
@@ -21,6 +21,7 @@ from sqlspec.exceptions import (
|
|
|
21
21
|
UniqueViolationError,
|
|
22
22
|
)
|
|
23
23
|
from sqlspec.utils.serializers import from_json, to_json
|
|
24
|
+
from sqlspec.utils.text import quote_backtick_identifier
|
|
24
25
|
from sqlspec.utils.type_converters import build_uuid_coercions
|
|
25
26
|
from sqlspec.utils.type_guards import has_cursor_metadata, has_lastrowid, has_rowcount
|
|
26
27
|
|
|
@@ -117,23 +118,18 @@ def _bool_to_int(value: bool) -> int:
|
|
|
117
118
|
return int(value)
|
|
118
119
|
|
|
119
120
|
|
|
120
|
-
def _quote_mysql_identifier(identifier: str) -> str:
|
|
121
|
-
normalized = identifier.replace("`", "``")
|
|
122
|
-
return f"`{normalized}`"
|
|
123
|
-
|
|
124
|
-
|
|
125
121
|
def format_identifier(identifier: str) -> str:
|
|
126
122
|
cleaned = identifier.strip()
|
|
127
123
|
if not cleaned:
|
|
128
124
|
msg = "Table name must not be empty"
|
|
129
125
|
raise SQLSpecError(msg)
|
|
130
126
|
parts = [part for part in cleaned.split(".") if part]
|
|
131
|
-
formatted = ".".join(
|
|
132
|
-
return formatted or
|
|
127
|
+
formatted = ".".join(quote_backtick_identifier(part) for part in parts)
|
|
128
|
+
return formatted or quote_backtick_identifier(cleaned)
|
|
133
129
|
|
|
134
130
|
|
|
135
131
|
def build_insert_statement(table: str, columns: "list[str]") -> str:
|
|
136
|
-
column_clause = ", ".join(
|
|
132
|
+
column_clause = ", ".join(quote_backtick_identifier(column) for column in columns)
|
|
137
133
|
placeholders = ", ".join("%s" for _ in columns)
|
|
138
134
|
return f"INSERT INTO {format_identifier(table)} ({column_clause}) VALUES ({placeholders})"
|
|
139
135
|
|
|
@@ -18,6 +18,7 @@ from sqlspec.exceptions import (
|
|
|
18
18
|
UniqueViolationError,
|
|
19
19
|
)
|
|
20
20
|
from sqlspec.utils.serializers import from_json, to_json
|
|
21
|
+
from sqlspec.utils.text import quote_identifier
|
|
21
22
|
from sqlspec.utils.type_converters import build_decimal_converter, build_time_iso_converter, build_uuid_coercions
|
|
22
23
|
from sqlspec.utils.type_guards import has_rowcount, has_sqlite_error
|
|
23
24
|
|
|
@@ -58,23 +59,18 @@ def _bool_to_int(value: bool) -> int:
|
|
|
58
59
|
return int(value)
|
|
59
60
|
|
|
60
61
|
|
|
61
|
-
def _quote_sqlite_identifier(identifier: str) -> str:
|
|
62
|
-
normalized = identifier.replace('"', '""')
|
|
63
|
-
return f'"{normalized}"'
|
|
64
|
-
|
|
65
|
-
|
|
66
62
|
def format_identifier(identifier: str) -> str:
|
|
67
63
|
cleaned = identifier.strip()
|
|
68
64
|
if not cleaned:
|
|
69
65
|
msg = "Table name must not be empty"
|
|
70
66
|
raise SQLSpecError(msg)
|
|
71
67
|
parts = [part for part in cleaned.split(".") if part]
|
|
72
|
-
formatted = ".".join(
|
|
73
|
-
return formatted or
|
|
68
|
+
formatted = ".".join(quote_identifier(part) for part in parts)
|
|
69
|
+
return formatted or quote_identifier(cleaned)
|
|
74
70
|
|
|
75
71
|
|
|
76
72
|
def build_insert_statement(table: str, columns: "list[str]") -> str:
|
|
77
|
-
column_clause = ", ".join(
|
|
73
|
+
column_clause = ", ".join(quote_identifier(column) for column in columns)
|
|
78
74
|
placeholders = ", ".join("?" for _ in columns)
|
|
79
75
|
return f"INSERT INTO {format_identifier(table)} ({column_clause}) VALUES ({placeholders})"
|
|
80
76
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""SQLSpec adapter for arrow-odbc."""
|
|
2
|
+
|
|
3
|
+
from sqlspec.adapters.arrow_odbc.config import ArrowOdbcConfig, ArrowOdbcConnectionParams, ArrowOdbcDriverFeatures
|
|
4
|
+
from sqlspec.adapters.arrow_odbc.core import (
|
|
5
|
+
apply_driver_features,
|
|
6
|
+
build_connection_config,
|
|
7
|
+
build_statement_config,
|
|
8
|
+
create_mapped_exception,
|
|
9
|
+
default_statement_config,
|
|
10
|
+
driver_profile,
|
|
11
|
+
resolve_dialect_from_dbms_name,
|
|
12
|
+
)
|
|
13
|
+
from sqlspec.adapters.arrow_odbc.data_dictionary import ArrowOdbcDataDictionary
|
|
14
|
+
from sqlspec.adapters.arrow_odbc.driver import ArrowOdbcDriver, ArrowOdbcExceptionHandler
|
|
15
|
+
|
|
16
|
+
__all__ = (
|
|
17
|
+
"ArrowOdbcConfig",
|
|
18
|
+
"ArrowOdbcConnectionParams",
|
|
19
|
+
"ArrowOdbcDataDictionary",
|
|
20
|
+
"ArrowOdbcDriver",
|
|
21
|
+
"ArrowOdbcDriverFeatures",
|
|
22
|
+
"ArrowOdbcExceptionHandler",
|
|
23
|
+
"apply_driver_features",
|
|
24
|
+
"build_connection_config",
|
|
25
|
+
"build_statement_config",
|
|
26
|
+
"create_mapped_exception",
|
|
27
|
+
"default_statement_config",
|
|
28
|
+
"driver_profile",
|
|
29
|
+
"resolve_dialect_from_dbms_name",
|
|
30
|
+
)
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# pyright: reportAttributeAccessIssue=false
|
|
2
|
+
"""arrow-odbc adapter type definitions and mypyc-excluded context managers."""
|
|
3
|
+
|
|
4
|
+
from typing import TYPE_CHECKING, Any
|
|
5
|
+
|
|
6
|
+
import arrow_odbc as _arrow_odbc # pyright: ignore[reportMissingImports]
|
|
7
|
+
from arrow_odbc import connect as arrow_odbc_connect # pyright: ignore[reportMissingImports]
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from collections.abc import Callable
|
|
11
|
+
from types import TracebackType
|
|
12
|
+
from typing import TypeAlias
|
|
13
|
+
|
|
14
|
+
from sqlspec.adapters.arrow_odbc.driver import ArrowOdbcDriver
|
|
15
|
+
from sqlspec.core import StatementConfig
|
|
16
|
+
|
|
17
|
+
ArrowOdbcConnection: TypeAlias = _arrow_odbc.Connection
|
|
18
|
+
ArrowOdbcRawCursor: TypeAlias = _arrow_odbc.Connection
|
|
19
|
+
|
|
20
|
+
if not TYPE_CHECKING:
|
|
21
|
+
ArrowOdbcConnection = _arrow_odbc.Connection
|
|
22
|
+
ArrowOdbcRawCursor = _arrow_odbc.Connection
|
|
23
|
+
|
|
24
|
+
ArrowOdbcError: "type[Exception]" = getattr(_arrow_odbc, "Error", Exception)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ArrowOdbcCursor:
|
|
28
|
+
"""Context manager yielding the arrow-odbc connection as its execution cursor."""
|
|
29
|
+
|
|
30
|
+
__slots__ = ("connection",)
|
|
31
|
+
|
|
32
|
+
def __init__(self, connection: "ArrowOdbcConnection") -> None:
|
|
33
|
+
self.connection = connection
|
|
34
|
+
|
|
35
|
+
def __enter__(self) -> "ArrowOdbcRawCursor":
|
|
36
|
+
return self.connection
|
|
37
|
+
|
|
38
|
+
def __exit__(self, *_: object) -> None:
|
|
39
|
+
return None
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class ArrowOdbcSessionContext:
|
|
43
|
+
"""Sync session context bridging interpreted config and compiled driver code."""
|
|
44
|
+
|
|
45
|
+
__slots__ = (
|
|
46
|
+
"_acquire_connection",
|
|
47
|
+
"_connection",
|
|
48
|
+
"_driver",
|
|
49
|
+
"_driver_features",
|
|
50
|
+
"_prepare_driver",
|
|
51
|
+
"_release_connection",
|
|
52
|
+
"_statement_config",
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
def __init__(
|
|
56
|
+
self,
|
|
57
|
+
acquire_connection: "Callable[[], Any]",
|
|
58
|
+
release_connection: "Callable[[Any], Any]",
|
|
59
|
+
statement_config: "StatementConfig",
|
|
60
|
+
driver_features: "dict[str, Any]",
|
|
61
|
+
prepare_driver: "Callable[[ArrowOdbcDriver], ArrowOdbcDriver]",
|
|
62
|
+
) -> None:
|
|
63
|
+
self._acquire_connection = acquire_connection
|
|
64
|
+
self._release_connection = release_connection
|
|
65
|
+
self._statement_config = statement_config
|
|
66
|
+
self._driver_features = driver_features
|
|
67
|
+
self._prepare_driver = prepare_driver
|
|
68
|
+
self._connection: Any = None
|
|
69
|
+
self._driver: ArrowOdbcDriver | None = None
|
|
70
|
+
|
|
71
|
+
def __enter__(self) -> "ArrowOdbcDriver":
|
|
72
|
+
from sqlspec.adapters.arrow_odbc.driver import ArrowOdbcDriver
|
|
73
|
+
|
|
74
|
+
self._connection = self._acquire_connection()
|
|
75
|
+
self._driver = ArrowOdbcDriver(
|
|
76
|
+
connection=self._connection, statement_config=self._statement_config, driver_features=self._driver_features
|
|
77
|
+
)
|
|
78
|
+
return self._prepare_driver(self._driver)
|
|
79
|
+
|
|
80
|
+
def __exit__(
|
|
81
|
+
self, exc_type: "type[BaseException] | None", exc_val: "BaseException | None", exc_tb: "TracebackType | None"
|
|
82
|
+
) -> "bool | None":
|
|
83
|
+
if self._connection is not None:
|
|
84
|
+
self._release_connection(self._connection)
|
|
85
|
+
self._connection = None
|
|
86
|
+
return None
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
__all__ = (
|
|
90
|
+
"ArrowOdbcConnection",
|
|
91
|
+
"ArrowOdbcCursor",
|
|
92
|
+
"ArrowOdbcError",
|
|
93
|
+
"ArrowOdbcRawCursor",
|
|
94
|
+
"ArrowOdbcSessionContext",
|
|
95
|
+
"arrow_odbc_connect",
|
|
96
|
+
)
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"""arrow-odbc database configuration."""
|
|
2
|
+
|
|
3
|
+
from typing import TYPE_CHECKING, Any, ClassVar, TypedDict, cast
|
|
4
|
+
|
|
5
|
+
from typing_extensions import NotRequired
|
|
6
|
+
|
|
7
|
+
from sqlspec.adapters.arrow_odbc._typing import ArrowOdbcConnection, ArrowOdbcSessionContext, arrow_odbc_connect
|
|
8
|
+
from sqlspec.adapters.arrow_odbc.core import apply_driver_features, build_connection_config, default_statement_config
|
|
9
|
+
from sqlspec.adapters.arrow_odbc.driver import ArrowOdbcDriver
|
|
10
|
+
from sqlspec.config import ExtensionConfigs, NoPoolSyncConfig
|
|
11
|
+
from sqlspec.driver._sync import SyncPoolConnectionContext, SyncPoolSessionFactory
|
|
12
|
+
from sqlspec.exceptions import ImproperConfigurationError
|
|
13
|
+
from sqlspec.extensions.events import EventRuntimeHints
|
|
14
|
+
from sqlspec.utils.config_tools import normalize_connection_config
|
|
15
|
+
|
|
16
|
+
if TYPE_CHECKING:
|
|
17
|
+
from types import TracebackType
|
|
18
|
+
|
|
19
|
+
from sqlspec.core import StatementConfig
|
|
20
|
+
from sqlspec.observability import ObservabilityConfig
|
|
21
|
+
|
|
22
|
+
__all__ = ("ArrowOdbcConfig", "ArrowOdbcConnectionParams", "ArrowOdbcDriverFeatures")
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ArrowOdbcConnectionParams(TypedDict):
|
|
26
|
+
"""arrow-odbc connection parameters."""
|
|
27
|
+
|
|
28
|
+
connection_string: NotRequired[str]
|
|
29
|
+
dsn: NotRequired[str]
|
|
30
|
+
driver: NotRequired[str]
|
|
31
|
+
server: NotRequired[str]
|
|
32
|
+
host: NotRequired[str]
|
|
33
|
+
database: NotRequired[str]
|
|
34
|
+
uid: NotRequired[str]
|
|
35
|
+
pwd: NotRequired[str]
|
|
36
|
+
user: NotRequired[str]
|
|
37
|
+
password: NotRequired[str]
|
|
38
|
+
login_timeout: NotRequired[int]
|
|
39
|
+
login_timeout_sec: NotRequired[int]
|
|
40
|
+
packet_size: NotRequired[int]
|
|
41
|
+
autocommit: NotRequired[bool]
|
|
42
|
+
extra: NotRequired[dict[str, Any]]
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class ArrowOdbcDriverFeatures(TypedDict):
|
|
46
|
+
"""arrow-odbc driver feature flags."""
|
|
47
|
+
|
|
48
|
+
chunk_size: NotRequired[int]
|
|
49
|
+
max_bytes_per_batch: NotRequired[int]
|
|
50
|
+
max_text_size: NotRequired[int]
|
|
51
|
+
max_binary_size: NotRequired[int]
|
|
52
|
+
fetch_concurrently: NotRequired[bool]
|
|
53
|
+
query_timeout_sec: NotRequired[int]
|
|
54
|
+
connection_string: NotRequired[str]
|
|
55
|
+
dbms_name: NotRequired[str]
|
|
56
|
+
enable_events: NotRequired[bool]
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class ArrowOdbcConnectionContext(SyncPoolConnectionContext):
|
|
60
|
+
"""Context manager for arrow-odbc connections."""
|
|
61
|
+
|
|
62
|
+
__slots__ = ("_connection",)
|
|
63
|
+
|
|
64
|
+
def __init__(self, config: "ArrowOdbcConfig") -> None:
|
|
65
|
+
super().__init__(config)
|
|
66
|
+
self._connection: ArrowOdbcConnection | None = None
|
|
67
|
+
|
|
68
|
+
def __enter__(self) -> "ArrowOdbcConnection":
|
|
69
|
+
self._connection = self._config.create_connection()
|
|
70
|
+
return cast("ArrowOdbcConnection", self._connection)
|
|
71
|
+
|
|
72
|
+
def __exit__(
|
|
73
|
+
self, exc_type: "type[BaseException] | None", exc_val: "BaseException | None", exc_tb: "TracebackType | None"
|
|
74
|
+
) -> "bool | None":
|
|
75
|
+
if self._connection is not None:
|
|
76
|
+
_close_arrow_odbc_connection(self._connection)
|
|
77
|
+
self._connection = None
|
|
78
|
+
return None
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class _ArrowOdbcSessionConnectionHandler(SyncPoolSessionFactory):
|
|
82
|
+
"""Session connection handler for no-pool arrow-odbc sessions."""
|
|
83
|
+
|
|
84
|
+
__slots__ = ("_connection",)
|
|
85
|
+
|
|
86
|
+
def __init__(self, config: "ArrowOdbcConfig") -> None:
|
|
87
|
+
super().__init__(config)
|
|
88
|
+
self._connection: ArrowOdbcConnection | None = None
|
|
89
|
+
|
|
90
|
+
def acquire_connection(self) -> "ArrowOdbcConnection":
|
|
91
|
+
self._connection = self._config.create_connection()
|
|
92
|
+
return cast("ArrowOdbcConnection", self._connection)
|
|
93
|
+
|
|
94
|
+
def release_connection(self, _conn: "ArrowOdbcConnection", **kwargs: Any) -> None:
|
|
95
|
+
if self._connection is None:
|
|
96
|
+
return
|
|
97
|
+
_close_arrow_odbc_connection(self._connection)
|
|
98
|
+
self._connection = None
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class ArrowOdbcConfig(NoPoolSyncConfig[ArrowOdbcConnection, ArrowOdbcDriver]):
|
|
102
|
+
"""Configuration for synchronous arrow-odbc connections."""
|
|
103
|
+
|
|
104
|
+
driver_type: "ClassVar[type[ArrowOdbcDriver]]" = ArrowOdbcDriver
|
|
105
|
+
connection_type: "ClassVar[type[ArrowOdbcConnection]]" = ArrowOdbcConnection
|
|
106
|
+
supports_transactional_ddl: "ClassVar[bool]" = False
|
|
107
|
+
supports_native_arrow_export: "ClassVar[bool]" = True
|
|
108
|
+
supports_native_arrow_import: "ClassVar[bool]" = True
|
|
109
|
+
supports_native_parquet_export: "ClassVar[bool]" = False
|
|
110
|
+
supports_native_parquet_import: "ClassVar[bool]" = False
|
|
111
|
+
_connection_context_class: "ClassVar[type[ArrowOdbcConnectionContext]]" = ArrowOdbcConnectionContext
|
|
112
|
+
_session_factory_class: "ClassVar[type[_ArrowOdbcSessionConnectionHandler]]" = _ArrowOdbcSessionConnectionHandler
|
|
113
|
+
_session_context_class: "ClassVar[type[ArrowOdbcSessionContext]]" = ArrowOdbcSessionContext
|
|
114
|
+
_default_statement_config = default_statement_config
|
|
115
|
+
|
|
116
|
+
def __init__(
|
|
117
|
+
self,
|
|
118
|
+
*,
|
|
119
|
+
connection_config: "ArrowOdbcConnectionParams | dict[str, Any] | None" = None,
|
|
120
|
+
connection_instance: "Any" = None,
|
|
121
|
+
migration_config: "dict[str, Any] | None" = None,
|
|
122
|
+
statement_config: "StatementConfig | None" = None,
|
|
123
|
+
driver_features: "ArrowOdbcDriverFeatures | dict[str, Any] | None" = None,
|
|
124
|
+
bind_key: str | None = None,
|
|
125
|
+
extension_config: "ExtensionConfigs | None" = None,
|
|
126
|
+
observability_config: "ObservabilityConfig | None" = None,
|
|
127
|
+
**kwargs: Any,
|
|
128
|
+
) -> None:
|
|
129
|
+
"""Initialize arrow-odbc configuration."""
|
|
130
|
+
self.connection_config = normalize_connection_config(connection_config)
|
|
131
|
+
features = apply_driver_features(dict(driver_features or {}))
|
|
132
|
+
connection_string = self.connection_config.get("connection_string")
|
|
133
|
+
if connection_string is not None:
|
|
134
|
+
features.setdefault("connection_string", str(connection_string))
|
|
135
|
+
elif self.connection_config.get("driver") is not None:
|
|
136
|
+
features.setdefault("dbms_name", str(self.connection_config["driver"]))
|
|
137
|
+
|
|
138
|
+
super().__init__(
|
|
139
|
+
connection_config=self.connection_config,
|
|
140
|
+
connection_instance=connection_instance,
|
|
141
|
+
migration_config=migration_config,
|
|
142
|
+
statement_config=statement_config or default_statement_config,
|
|
143
|
+
driver_features=features,
|
|
144
|
+
bind_key=bind_key,
|
|
145
|
+
extension_config=extension_config,
|
|
146
|
+
observability_config=observability_config,
|
|
147
|
+
**kwargs,
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
def create_connection(self) -> "ArrowOdbcConnection":
|
|
151
|
+
"""Create and return a new arrow-odbc connection."""
|
|
152
|
+
if self.connection_instance is not None:
|
|
153
|
+
return cast("ArrowOdbcConnection", self.connection_instance)
|
|
154
|
+
connection_string, connect_kwargs = build_connection_config(self.connection_config)
|
|
155
|
+
try:
|
|
156
|
+
connection = cast("ArrowOdbcConnection", arrow_odbc_connect(connection_string, **connect_kwargs))
|
|
157
|
+
return cast("ArrowOdbcConnection", connection)
|
|
158
|
+
except Exception as exc:
|
|
159
|
+
msg = f"Could not configure arrow-odbc connection. Error: {exc}"
|
|
160
|
+
raise ImproperConfigurationError(msg) from exc
|
|
161
|
+
|
|
162
|
+
def provide_connection(self, *args: Any, **kwargs: Any) -> "ArrowOdbcConnectionContext":
|
|
163
|
+
"""Provide a connection context manager."""
|
|
164
|
+
return ArrowOdbcConnectionContext(self)
|
|
165
|
+
|
|
166
|
+
def provide_session(
|
|
167
|
+
self, *_args: Any, statement_config: "StatementConfig | None" = None, **_kwargs: Any
|
|
168
|
+
) -> "ArrowOdbcSessionContext":
|
|
169
|
+
"""Provide a driver session context manager."""
|
|
170
|
+
handler = _ArrowOdbcSessionConnectionHandler(self)
|
|
171
|
+
return ArrowOdbcSessionContext(
|
|
172
|
+
acquire_connection=handler.acquire_connection,
|
|
173
|
+
release_connection=handler.release_connection,
|
|
174
|
+
statement_config=statement_config or self.statement_config,
|
|
175
|
+
driver_features=self.driver_features,
|
|
176
|
+
prepare_driver=self._prepare_driver,
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
def get_signature_namespace(self) -> "dict[str, Any]":
|
|
180
|
+
"""Get the signature namespace for ArrowOdbcConfig types."""
|
|
181
|
+
namespace = super().get_signature_namespace()
|
|
182
|
+
namespace.update({
|
|
183
|
+
"ArrowOdbcConfig": ArrowOdbcConfig,
|
|
184
|
+
"ArrowOdbcConnection": ArrowOdbcConnection,
|
|
185
|
+
"ArrowOdbcConnectionContext": ArrowOdbcConnectionContext,
|
|
186
|
+
"ArrowOdbcConnectionParams": ArrowOdbcConnectionParams,
|
|
187
|
+
"ArrowOdbcDriver": ArrowOdbcDriver,
|
|
188
|
+
"ArrowOdbcDriverFeatures": ArrowOdbcDriverFeatures,
|
|
189
|
+
"ArrowOdbcSessionContext": ArrowOdbcSessionContext,
|
|
190
|
+
})
|
|
191
|
+
return namespace
|
|
192
|
+
|
|
193
|
+
def get_event_runtime_hints(self) -> "EventRuntimeHints":
|
|
194
|
+
"""Return polling defaults suitable for generic ODBC sources."""
|
|
195
|
+
return EventRuntimeHints(poll_interval=2.0, lease_seconds=60, retention_seconds=172_800)
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
def _close_arrow_odbc_connection(connection: "ArrowOdbcConnection") -> None:
|
|
199
|
+
"""Close connection objects from compatible wrappers when they expose close()."""
|
|
200
|
+
close = getattr(connection, "close", None)
|
|
201
|
+
if close is not None:
|
|
202
|
+
close()
|