sqlspec 0.59.0__tar.gz → 0.60.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.59.0 → sqlspec-0.60.0}/PKG-INFO +1 -1
- {sqlspec-0.59.0 → sqlspec-0.60.0}/pyproject.toml +2 -2
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/events/_hub.py +16 -3
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/events/_hub.py +17 -4
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/events/_hub.py +31 -6
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/config.py +3 -0
- sqlspec-0.60.0/sqlspec/extensions/events/_buffer.py +38 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/events/_channel.py +3 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/events/_store.py +3 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/litestar/channels.py +26 -2
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/litestar/test_channels_backend.py +62 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_adapter_stores.py +22 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_events_config.py +24 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_listener_hubs.py +72 -6
- {sqlspec-0.59.0 → sqlspec-0.60.0}/uv.lock +170 -170
- {sqlspec-0.59.0 → sqlspec-0.60.0}/.gitignore +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/.pre-commit-config.yaml +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/CONTRIBUTING.rst +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/LICENSE +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/Makefile +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/README.md +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/codecov.yml +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/docs/_static/demos/.gitkeep +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/docs/_static/demos/query_builder.gif +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/docs/_static/demos/quickstart.gif +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/__main__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/__metadata__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/adbc/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/adbc/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/adbc/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/adbc/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/adbc/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/adbc/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/adbc/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/adbc/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/adbc/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/adbc/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/adbc/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/adbc/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/adbc/type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiomysql/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiomysql/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiomysql/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiomysql/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiomysql/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiomysql/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiomysql/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiomysql/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiomysql/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiomysql/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiomysql/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiomysql/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/pool.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/aiosqlite/type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/arrow_odbc/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/arrow_odbc/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/arrow_odbc/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/arrow_odbc/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/arrow_odbc/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/arrow_odbc/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/arrow_odbc/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/arrow_odbc/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/arrow_odbc/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/arrow_odbc/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/arrow_odbc/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/arrow_odbc/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/arrow_odbc/type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncmy/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncmy/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncmy/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncmy/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncmy/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncmy/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncmy/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncmy/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncmy/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncmy/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncmy/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncmy/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/events/backend.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/asyncpg/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/bigquery/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/bigquery/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/bigquery/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/bigquery/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/bigquery/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/bigquery/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/bigquery/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/bigquery/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/bigquery/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/bigquery/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/bigquery/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/bigquery/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_asyncpg/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_asyncpg/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_asyncpg/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_asyncpg/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_asyncpg/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_asyncpg/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_asyncpg/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_asyncpg/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_asyncpg/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_asyncpg/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_asyncpg/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_asyncpg/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_psycopg/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_psycopg/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_psycopg/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_psycopg/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_psycopg/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_psycopg/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_psycopg/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_psycopg/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_psycopg/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_psycopg/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_psycopg/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/cockroach_psycopg/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/duckdb/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/duckdb/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/duckdb/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/duckdb/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/duckdb/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/duckdb/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/duckdb/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/duckdb/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/duckdb/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/duckdb/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/duckdb/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/duckdb/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/duckdb/pool.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/migrations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/pool.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mssql_python/type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mysqlconnector/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mysqlconnector/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mysqlconnector/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mysqlconnector/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mysqlconnector/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mysqlconnector/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mysqlconnector/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mysqlconnector/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mysqlconnector/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mysqlconnector/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mysqlconnector/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/mysqlconnector/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/_json_handlers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/_param_types.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/_storage.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/_uuid_handlers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/_vector_handlers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/events/_hub.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/events/backend.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/migrations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/oracledb/type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/events/backend.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psqlpy/type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/events/backend.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/psycopg/type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/migrations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymssql/pool.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymysql/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymysql/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymysql/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymysql/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymysql/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymysql/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymysql/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymysql/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymysql/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymysql/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymysql/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymysql/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/pymysql/pool.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/spanner/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/spanner/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/spanner/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/spanner/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/spanner/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/spanner/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/spanner/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/spanner/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/spanner/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/spanner/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/spanner/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/spanner/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/spanner/type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/_typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/events/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/pool.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/adapters/sqlite/type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/base.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_base.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_column.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_ddl.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_delete.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_dml.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_explain.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_expression_wrappers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_factory.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_generation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_insert.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_join.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_locking.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_merge.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_parsing_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_select.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_temporal.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_update.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/builder/_vector_distance.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/cli.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/_pagination.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/_pool.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/cache.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/compiler.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/config_runtime.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/correlation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/explain.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/filters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/hashing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/metrics.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/parameters/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/parameters/_alignment.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/parameters/_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/parameters/_declared.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/parameters/_processor.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/parameters/_registry.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/parameters/_transformers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/parameters/_types.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/parameters/_validator.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/pipeline.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/query_modifiers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/result/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/result/_base.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/splitter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/sqlcommenter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/stack.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/statement.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/core/type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/_capabilities.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/_dependencies.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/_loader.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/_registry.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/_types.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/columns.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/constraints.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/datasets.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/ddl.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/dependencies.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/foreign_keys.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/indexes.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/objects.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/privileges.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/routines.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/system.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/tables.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/version.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/bigquery/sql/views.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/columns.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/comments.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/constraints.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/crdb_internal.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/ddl.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/dependencies.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/foreign_keys.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/indexes.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/objects.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/privileges.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/schemas.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/sequences.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/tables.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/version.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/cockroachdb/sql/views.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/columns.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/constraints.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/databases.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/dependencies.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/extensions.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/foreign_keys.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/functions.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/indexes.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/objects.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/schemas.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/sequences.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/system.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/tables.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/version.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/duckdb/sql/views.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/columns.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/constraints.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/ddl.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/events.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/indexes.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/objects.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/partitions.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/plugins.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/privileges.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/routines.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/schemas.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/system.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/tables.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/triggers.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mariadb/sql/views.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/columns.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/constraints.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/ddl.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/dependencies.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/extended_properties.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/foreign_keys.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/indexes.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/modules.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/objects.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/permissions.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/routines.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/schemas.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/sequences.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/storage.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/system.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/tables.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/triggers.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/version.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mssql/sql/views.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/columns.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/components.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/constraints.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/ddl.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/events.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/foreign_keys.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/indexes.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/objects.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/partitions.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/plugins.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/privileges.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/routines.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/schemas.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/system.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/tables.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/triggers.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/version.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/mysql/sql/views.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/arguments.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/columns.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/comments.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/constraints.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/ddl.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/dependencies.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/foreign_keys.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/grants.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/indexes.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/lob_storage.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/materialized_views.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/objects.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/partitions.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/routines.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/schemas.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/sequences.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/source.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/system.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/tables.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/triggers.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/version.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/oracle/sql/views.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/columns.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/comments.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/constraints.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/ddl.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/dependencies.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/extensions.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/foreign_keys.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/indexes.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/materialized_views.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/objects.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/partitions.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/privileges.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/routines.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/schemas.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/sequences.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/system.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/tables.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/triggers.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/version.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/postgres/sql/views.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/columns.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/foreign_keys.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/change_streams.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/columns.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/constraints.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/database.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/indexes.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/objects.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/placements.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/privileges.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/property_graphs.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/routines.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/sequences.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/system.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/tables.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/googlesql/views.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/indexes.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/postgresql/objects.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/tables.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/spanner/sql/version.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/columns.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/compile_options.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/constraints.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/ddl.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/foreign_keys.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/functions.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/indexes.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/modules.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/objects.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/schemas.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/system.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/tables.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/triggers.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/version.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/data_dictionary/dialects/sqlite/sql/views.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/dialects/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/dialects/postgres/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/dialects/postgres/_generators.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/dialects/postgres/_operators.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/dialects/postgres/_paradedb.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/dialects/postgres/_pgvector.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/dialects/spanner/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/dialects/spanner/_generators.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/dialects/spanner/_parsers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/dialects/spanner/_spangres.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/dialects/spanner/_spanner.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/driver/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/driver/_async.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/driver/_common.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/driver/_exception_handler.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/driver/_query_cache.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/driver/_sql_helpers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/driver/_storage_helpers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/driver/_stream.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/driver/_sync.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/exceptions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/_config_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/_table_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/_types.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/artifact/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/artifact/_types.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/artifact/service.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/artifact/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/converters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/memory/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/memory/_types.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/memory/converters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/memory/service.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/memory/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/migrations/0001_create_adk_tables.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/migrations/0002_reset_adk_tables.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/migrations/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/service.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/adk/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/events/_hints.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/events/_models.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/events/_names.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/events/_payload.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/events/_protocols.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/events/_queue.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/events/migrations/0001_create_event_queue.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/events/migrations/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/fastapi/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/fastapi/extension.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/fastapi/providers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/flask/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/flask/_state.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/flask/_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/flask/extension.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/litestar/_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/litestar/cli.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/litestar/config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/litestar/handlers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/litestar/migrations/0001_create_session_table.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/litestar/migrations/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/litestar/plugin.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/litestar/providers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/litestar/store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/otel/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/prometheus/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/prometheus/_observer.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/sanic/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/sanic/_state.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/sanic/_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/sanic/extension.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/starlette/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/starlette/_state.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/starlette/_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/starlette/extension.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/extensions/starlette/middleware.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/loader.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/_backup.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/base.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/commands.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/context.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/fix.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/loaders.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/runner.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/schema.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/squash.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/templates.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/tracker.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/validation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/migrations/version.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_common.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_diagnostics.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_dispatcher.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_formatters/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_formatters/_aws.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_formatters/_azure.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_formatters/_base.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_formatters/_gcp.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_formatting.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_observer.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_runtime.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_sampling.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/observability/_spans.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/protocols.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/py.typed +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/service.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/storage/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/storage/_arrow_payload.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/storage/_arrow_stream.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/storage/_paths.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/storage/_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/storage/backends/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/storage/backends/base.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/storage/backends/fsspec.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/storage/backends/local.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/storage/backends/obstore.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/storage/errors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/storage/pipeline.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/storage/registry.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/typing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/arrow_helpers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/config_tools.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/correlation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/deprecation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/dispatch.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/env.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/fixtures.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/logging.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/module_loader.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/portal.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/schema.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/serializers/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/serializers/_json.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/serializers/_numpy.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/serializers/_schema.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/singleton.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/sync_tools.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/text.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/type_converters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/type_guards.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/sqlspec/utils/uuids.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/README.md +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/conftest.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/asset_maintenance.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/ddls-mysql-collection.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/ddls-postgres-collection.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/example_usage.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/init.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/mysql/collection-config.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/mysql/collection-data_types.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/mysql/collection-database_details.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/mysql/collection-engines.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/mysql/collection-hostname.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/mysql/collection-plugins.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/mysql/collection-process_list.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/mysql/collection-resource-groups.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/mysql/collection-schema_objects.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/mysql/collection-table_details.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/mysql/collection-users.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/mysql/init.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/oracle.ddl.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-applications.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-aws_extension_dependency.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-aws_oracle_exists.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-bg_writer_stats.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-calculated_metrics.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-data_types.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-database_details.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-extensions.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-index_details.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-pglogical-details.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-privileges.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-replication_slots.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-replication_stats.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-schema_details.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-schema_objects.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-settings.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-source_details.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/collection-table_details.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/extended-collection-all-databases.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/postgres/init.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/readiness-check.sql +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/rustfs.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/fixtures/sql_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/README.md +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/_adk_cases.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/_assertions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/_cases.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/_driver_type_system.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/_events_cases.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/_inputs.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/_migration_cases.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/_postgres_extension_cases.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/_schema.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/_store_cases.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/adbc_backends.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/adbc_connection.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/adbc_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/adbc_edge_cases.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/adk_behaviors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/behaviors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/events_behaviors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/migration_behaviors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/postgres_extension_behaviors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/store_behaviors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_adk_store_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_arrow_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_bulk_ingest_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_case_metadata_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_connect_time_settings_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_driver_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_driver_features_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_events_queue_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_exceptions_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_execute_many_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_explain_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_extra_assertions_proof_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_lifecycle_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_listen_notify_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_litestar_store_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_merge_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_metadata_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_migrations_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_oracle_lob_fetch_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_parameter_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_parameter_styles_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_postgres_extensions_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_query_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_result_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_script_error_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_statement_inputs_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_storage_bridge_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_storage_bridge_rustfs_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_streaming_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/_shared/suite_vector_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/bigquery/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/bigquery/_wedge.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/bigquery/adbc/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/bigquery/adbc/test_connection.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/bigquery/bigquery/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/bigquery/bigquery/conftest.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/bigquery/bigquery/test_arrow.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/bigquery/bigquery/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/bigquery/bigquery/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/bigquery/bigquery/test_parameter_variants.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/bigquery/bigquery/test_vector_functions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/bigquery/test_shared.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/cockroach/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/cockroach/test_shared.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/conftest.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/adbc/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/adbc/test_arrow_features.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/adbc/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/duckdb/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/duckdb/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/duckdb/extensions/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/duckdb/extensions/adk/test_memory_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/duckdb/extensions/adk/test_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/duckdb/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/duckdb/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/duckdb/test_connection.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/duckdb/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/duckdb/test_pool_robustness.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/duckdb/test_pooling.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/duckdb/utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/duckdb/test_shared.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/gizmosql/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/gizmosql/adbc/test_arrow.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/gizmosql/adbc/test_data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/gizmosql/adbc/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mssql/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mssql/mssql_python/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mssql/mssql_python/test_transactions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mssql/test_shared.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/aiomysql/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/aiomysql/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/aiomysql/extensions/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/aiomysql/extensions/adk/test_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/aiomysql/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/aiomysql/test_local_infile_bulk_load.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/asyncmy/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/asyncmy/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/asyncmy/extensions/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/asyncmy/extensions/adk/test_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/asyncmy/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/mysqlconnector/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/mysqlconnector/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/mysqlconnector/extensions/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/mysqlconnector/extensions/adk/test_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/mysqlconnector/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/mysqlconnector/test_driver_sync.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/mysqlconnector/test_local_infile_bulk_load.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/pymysql/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/pymysql/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/pymysql/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/pymysql/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/pymysql/test_local_infile_bulk_load.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/test_features.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/mysql/test_shared.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/extensions/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/extensions/adk/test_inmemory.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/extensions/adk/test_oracle_specific.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/extensions/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/extensions/events/test_aq_async.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/extensions/events/test_aq_payload_mode.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/extensions/events/test_aq_poll_interval.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/extensions/events/test_aq_privileges.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/extensions/events/test_oracle_aq.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/extensions/events/test_txeventq.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/extensions/litestar/test_inmemory.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/test_direct_path_load.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/test_execute_many.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/test_features.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/test_json_storage_modes.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/test_lob_fetch_parity.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/test_migrations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/test_msgspec_clob.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/test_numpy_vectors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/test_smart_lob_coercion.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/test_sparse_vectors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/test_stack_transaction.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/oracledb/test_uuid_binary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/oracle/test_shared.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/adbc/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/adbc/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/adbc/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/asyncpg/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/asyncpg/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/asyncpg/extensions/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/asyncpg/extensions/adk/test_owner_id_column.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/asyncpg/extensions/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/asyncpg/extensions/events/test_listen_notify.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/asyncpg/test_cloud_connectors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/asyncpg/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/asyncpg/test_load_from_records.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/asyncpg/test_migrations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/asyncpg/test_schema_migration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psqlpy/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psqlpy/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psqlpy/extensions/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psqlpy/extensions/adk/test_owner_id_column.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psqlpy/extensions/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psqlpy/extensions/events/test_listen_notify.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psqlpy/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psqlpy/test_features.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psqlpy/test_parameter_variants.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psycopg/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psycopg/conftest.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psycopg/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psycopg/extensions/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psycopg/extensions/adk/test_owner_id_column.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psycopg/extensions/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psycopg/extensions/events/test_listen_notify.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psycopg/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psycopg/extensions/litestar/test_store_sync.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psycopg/test_async_copy.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psycopg/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psycopg/test_load_from_records.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/psycopg/test_transaction_ownership.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/test_asyncpg_copy.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/test_cockroach_retry.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/postgres/test_shared.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/conftest.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/extensions/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/extensions/adk/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/extensions/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/extensions/events/test_queue_backend.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/test_arrow.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/test_batch_write_api.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/test_bytes_direct.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/test_crud_operations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/test_exceptions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/test_execute_many.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/test_explain.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/test_load_from_arrow_mutations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/test_parameter_variants.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/test_session_defaults.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/test_spangres_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/spanner/spanner/test_spangres_parameter_styles.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/adbc/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/adbc/extensions/adk/test_memory_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/adbc/extensions/adk/test_owner_id_column.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/adbc/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/adbc/test_session.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/aiosqlite/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/aiosqlite/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/aiosqlite/extensions/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/aiosqlite/extensions/adk/test_memory_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/aiosqlite/extensions/adk/test_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/aiosqlite/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/aiosqlite/extensions/litestar/test_numpy_serialization.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/aiosqlite/test_connection.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/aiosqlite/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/aiosqlite/test_load_from_arrow_transaction.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/aiosqlite/test_pool_robustness.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/aiosqlite/test_pooling.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/extensions/adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/extensions/adk/test_memory_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/extensions/adk/test_owner_id_column.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/extensions/litestar/test_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/test_driver_features.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/test_load_from_arrow_transaction.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/test_load_from_records.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/test_migrations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/test_pooling.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/sqlite/test_query_mixin.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/test_features.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/test_runtime_setup.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/adapters/sqlite/test_shared.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/conftest.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/dishka/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/dishka/conftest.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/dishka/test_integration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/events/test_native_concurrency.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/fastapi/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/fastapi/test_filters_integration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/fastapi/test_integration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/flask/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/flask/test_disable_di.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/flask/test_integration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/litestar/test_channels_backend_concurrency.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/litestar/test_correlation_middleware.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/litestar/test_disable_di.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/litestar/test_in_fields_filters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/litestar/test_logging_format.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/litestar/test_offset_pagination_serialization.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/litestar/test_request_scope_access.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/prometheus/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/prometheus/test_integration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/sanic/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/sanic/test_integration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/starlette/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/starlette/test_disable_di.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/starlette/test_integration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/adapter_cases.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/adbc.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/aiomysql_adk.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/asyncmy_adk.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/asyncpg_adk.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/bigquery.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/cleanup.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/duckdb.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/mssql.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/mysql.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/mysqlconnector_adk.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/oracle.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/oracle_events.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/postgres.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/spanner.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/spanner_adk.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/spanner_events.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/spanner_litestar.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/fixtures/sqlite.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/migrations/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/migrations/test_async_migrations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/migrations/test_auto_sync.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/migrations/test_fix_checksum_stability.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/migrations/test_fix_file_operations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/migrations/test_fix_idempotency_workflow.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/migrations/test_migrations_logging_format.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/migrations/test_schema_migration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/migrations/test_squash_file_operations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/migrations/test_upgrade_downgrade_versions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/observability/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/observability/test_logging_format.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/storage/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/storage/test_integration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/storage/test_signing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/storage/test_streaming.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/typing/typing_lazy_exports.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_adapter_implementations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_adbc/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_adbc/test_adbc_config_normalization.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_adbc/test_adbc_serialization.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_adbc/test_adk_dialect_support.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_adbc/test_arrow_streaming.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_adbc/test_core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_adbc/test_data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_adbc/test_extension_detection.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_adbc/test_text_array_binding.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_adbc/test_uuid_binding.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_adbc/test_uuid_decoding.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiomysql/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiomysql/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiomysql/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiomysql/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiomysql/test_events_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiomysql/test_litestar_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiomysql/test_load_from_arrow.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiomysql/test_local_infile_bulk_load.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiosqlite/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiosqlite/test_adk_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiosqlite/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiosqlite/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiosqlite/test_exception_mapping.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiosqlite/test_load_from_arrow_transaction.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiosqlite/test_pool.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiosqlite/test_pool_shutdown.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_aiosqlite/test_type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_arrow_odbc/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_arrow_odbc/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_arrow_odbc/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_arrow_odbc/test_extensions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_arrow_odbc/test_load_from_arrow.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_async_adapters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_asyncmy/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_asyncmy/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_asyncmy/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_asyncmy/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_asyncmy/test_litestar_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_asyncmy/test_load_from_arrow.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_asyncpg/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_asyncpg/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_asyncpg/test_cloud_connectors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_asyncpg/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_asyncpg/test_load_from_records.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_asyncpg/test_type_handlers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_bigquery/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_bigquery/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_bigquery/test_arrow_streaming.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_bigquery/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_bigquery/test_core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_bigquery/test_cursor_cleanup.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_bigquery/test_emulator_wedge.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_bigquery/test_execute_many.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_bigquery/test_job_controls.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_bigquery/test_load_from_storage_formats.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_bigquery/test_parameters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_bigquery/test_storage_write_api.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_cockroach_asyncpg/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_cockroach_asyncpg/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_cockroach_asyncpg/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_cockroach_asyncpg/test_core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_cockroach_psycopg/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_cockroach_psycopg/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_cockroach_psycopg/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_cockroach_psycopg/test_core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_contract_arrow_odbc_harness.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_contract_arrow_specifics.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_contract_capability_flags.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_contract_execute_many_specifics.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_contract_explain_modifiers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_contract_extra_assertions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_contract_lifecycle.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_contract_param_codecs.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_contract_statement_stack_parity.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_contract_streaming_deviations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_duckdb/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_duckdb/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_duckdb/test_arrow_streaming.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_duckdb/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_duckdb/test_exception_mapping.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_duckdb/test_extension_flags.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_duckdb/test_extension_lifecycle.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_duckdb/test_migration_schema.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_duckdb/test_pool.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_duckdb/test_transaction_state.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_duckdb/test_type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_extension_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_arrow.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_bulk_copy_result.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_events_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_litestar_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_load_from_arrow.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_migrations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_row_collection.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_transaction_state.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mssql_python/test_type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mysql_family_core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mysql_family_exceptions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mysql_insert_statement_contract.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mysqlconnector/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mysqlconnector/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mysqlconnector/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mysqlconnector/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mysqlconnector/test_events_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mysqlconnector/test_litestar_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mysqlconnector/test_load_from_arrow.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_mysqlconnector/test_local_infile_bulk_load.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_arrow_batches.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_capability_gates.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_core_driver_features.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_core_row_materialization.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_data_dictionary_oracledb.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_direct_path_load.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_explain_plan.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_fetch_tuning.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_json_handlers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_litestar_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_lob_coercion.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_migration_schema.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_numpy_handlers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_oracle_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_oracle_version_unification.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_param_types.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_pipeline_helpers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_stack_native_transaction.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_storage_features.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_transaction_state.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_type_converter_vectors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_uuid_handlers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_oracledb/test_vector_handlers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pool_logging.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_postgres_data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_postgres_migration_schema.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_psqlpy/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_psqlpy/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_psqlpy/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_psqlpy/test_core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_psycopg/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_psycopg/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_psycopg/test_cloud_connectors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_psycopg/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_psycopg/test_core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_psycopg/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_psycopg/test_type_handlers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymssql/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymssql/_fakes.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymssql/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymssql/test_core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymssql/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymssql/test_extensions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymssql/test_pool.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymssql/test_wiring.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymysql/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymysql/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymysql/test_cloud_sql_connector.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymysql/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymysql/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymysql/test_events_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymysql/test_litestar_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymysql/test_load_from_arrow.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_pymysql/test_local_infile_bulk_load.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_spanner/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_spanner/test_adk_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_spanner/test_batch_write_api.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_spanner/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_spanner/test_core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_spanner/test_dialect.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_spanner/test_events_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_spanner/test_init.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_spanner/test_litestar_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_spanner/test_load_from_arrow_mutations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_spanner/test_session_controls.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_spanner/test_type_converter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_sqlite/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_sqlite/test_adk_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_sqlite/test_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_sqlite/test_driver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_sqlite/test_load_from_arrow_transaction.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_sqlite/test_pool.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_sqlite/test_rowcount_optimization.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_sqlite/test_type_handlers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/adapters/test_sync_adapters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/base/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/base/test_config_instances.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/base/test_pool_destroying_hook.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/base/test_set_migration_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/base/test_sql_integration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/base/test_sqlspec_class.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_alter_table.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_builder_cache.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_cte_parameter_collisions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_ddl_arg_contracts.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_ddl_builder.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_dialect_override.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_dml_arg_contracts.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_explain.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_explain_statement_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_expression_arg_contracts.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_generation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_insert_builder.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_lateral_joins.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_merge.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_merge_dialect_validation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_merge_property_shorthand.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_optimizer_rules.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_parameter_naming.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_parsing_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_select_builder.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_select_iterable_semantics.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_select_locking.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_sql_factory.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_sqlglot_arg_contracts.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_struct_aware_values.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_temporal.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_to_sql.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_upsert_factory.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_vector_functions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/builder/test_where_or_operations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/cli/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/cli/test_config_discovery.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/cli/test_config_loading.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/cli/test_migration_commands.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/cli/test_shell_completion.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/cli/test_sync_adapter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_arrow_streaming_flag.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_connection_config_edge_cases.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_connection_config_parameters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_connection_injection.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_discovery.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_kwargs_validation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_migration_config_key_inventory.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_migration_config_validation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_migration_methods.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_mypyc_boundary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_observability_extensions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_provide_methods.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_resolver.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/config/test_storage_capabilities.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/conftest.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/parameters/test_declared.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_cache.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_cache_keys.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_compiler.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_config_caching.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_correlation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_declared_params_carriage.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_explain.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_explain_classification.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_filters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_hashing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_introspection_sql.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_parameter_regex_performance.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_parameters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_pickle_deepcopy.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_pipeline.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_pool.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_query_modifiers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_result.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_single_compilation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_splitter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_sql_modifiers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_sqlcommenter.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_stack.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_stack_edge_cases.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_statement.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_statement_concurrency.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_statement_empty_copy.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_statement_optimization.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_table_shorthand_classification.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_type_conversion.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/core/test_type_converter_dead_code.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/data_dictionary/test_bigquery_spanner_metadata.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/data_dictionary/test_ddl_dependencies.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/data_dictionary/test_dialects.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/data_dictionary/test_loader_domains.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/data_dictionary/test_metadata_models.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/data_dictionary/test_mssql_dialect.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/data_dictionary/test_mssql_metadata.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/data_dictionary/test_mysql_metadata.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/data_dictionary/test_postgres_cockroach_query_packs.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/data_dictionary/test_sqlite_duckdb_metadata.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/data_dictionary/test_system_metadata.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/data_dictionary/test_types.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/dialects/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/dialects/test_generators.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/dialects/test_paradedb.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/dialects/test_pgvector.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/dialects/test_registration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/dialects/test_spangres.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/dialects/test_spanner.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/docs/test_conf.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_count_query.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_data_dictionary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_declared_param_validation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_execute_many_empty.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_execute_script.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_fetch_aliases.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_force_select.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_load_from_records.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_query_cache.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_result_tools.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_select_stream.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_sql_helpers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_stack_base.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/driver/test_stream.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/exceptions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/exceptions/test_exception_handler.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/exceptions/test_exceptions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_adk/test_config_resolution.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_adk/test_converters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_adk/test_memory_converters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_adk/test_service.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_adk/test_service_dispatch.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_adk/test_sql_template_hoist.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_adk/test_store_common_mixins.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_adk/test_store_config.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_adk/test_store_instantiation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_backend_factories.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_batch_publish.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_channel.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_channel_extended.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_hints.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_models.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_mypyc_boundary.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_queue.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_queue_claim_verification.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_events/test_store_hooks.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_fastapi/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_fastapi/test_extension.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_fastapi/test_providers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_fastapi/test_providers_deepcopy.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_flask/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_flask/test_correlation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_flask/test_extension.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_flask/test_state.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_framework_state.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_litestar/test_cli.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_litestar/test_controller_deepcopy.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_litestar/test_correlation_middleware.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_litestar/test_handlers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_litestar/test_not_found_handler.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_litestar/test_plugin_ordering.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_litestar/test_plugin_registration_guard.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_litestar/test_plugin_state_lookup.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_litestar/test_providers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_litestar/test_providers_deepcopy.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_litestar/test_serialization_plugin.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_otel/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_otel/test_enable_tracing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_prometheus/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_prometheus/test_enable_metrics.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_prometheus/test_metrics.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_sanic/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_sanic/test_config_state.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_sanic/test_extension.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_sanic/test_lifecycle.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_sanic/test_middleware.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_sanic/test_observability.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_sanic/test_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_schema_reconciliation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_service_reexports.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_sqlcommenter/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_sqlcommenter/test_middleware.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_starlette/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_starlette/test_config_state.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_starlette/test_correlation_middleware.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_starlette/test_extension.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_starlette/test_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/extensions/test_storage_options.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/loader/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/loader/test_alias_handling.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/loader/test_cache_integration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/loader/test_correlation_preserved.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/loader/test_file_system.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/loader/test_fixtures_directory_loading.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/loader/test_loading_patterns.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/loader/test_param_directives.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/loader/test_param_load_validation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/loader/test_path_handling.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/loader/test_sql_file_loader.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_checksum_canonicalization.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_commands_squash.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_extension_discovery.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_extension_path_resolution.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_fix_regex_precision.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_migration.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_migration_commands.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_migration_context.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_migration_execution.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_migration_runner.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_schema_ensure.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_squash.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_squash_edge_cases.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_squash_grouping.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_squash_plan_mixed.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_squash_python_output.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_squash_validation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_tracker_idempotency.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_tracker_squash.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_use_logger.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_validation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_version.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_version_conversion.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/migrations/test_version_parsing_edge_cases.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/observability/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/observability/test_formatters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/observability/test_observability_core.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/observability/test_observability_logging.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/observability/test_observability_sampling.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/observability/test_sampling.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_arrow_streaming.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_backend_type_constants.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_bridge.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_errors.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_fsspec_backend.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_local_store.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_obstore_backend.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_payload_codecs.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_registry_file_resolution.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_signing.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_storage_iterators.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_storage_registry.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_storage_registry_source.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_storage_utils.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/storage/test_uri_resolution.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/test_bench_oracle_scenarios.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/test_docs_extras_parity.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/test_exceptions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/test_import_time.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/test_import_time_extensions.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/test_service.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/test_typing_lazy_exports.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/tools/test_no_future_annotations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/serializers/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/serializers/test_default_type_encoders.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_arrow_helpers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_correlation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_data_transformation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_dependencies.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_deprecation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_dispatch.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_env.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_fixtures.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_logging.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_makefile_quality.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_mypyc_inventory.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_mypyc_smoke.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_optional_import_convention.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_portal.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_schema_msgspec.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_serialization.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_serializers.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_sync_tools.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_text.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_to_value_type.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_type_converters.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_type_guards.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tests/unit/utils/test_uuids.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/benchmark_cache_key.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/benchmark_results.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/benchmark_sqlglot.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/benchmark_transform.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/build_docs.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/fix_documentation.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/hooks/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/hooks/no_future_annotations.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/local-infra.sh +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/README.md +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/adbc.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/aiosqlite.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/asyncpg.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/cockroach.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/cockroach_asyncpg.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/cockroach_psycopg_async.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/cockroach_psycopg_sync.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/duckdb.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/mysql.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/mysqlconnector.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/oracle.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/postgres.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/psycopg_async.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/psycopg_sync.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/spanner.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/perf_baselines/sqlite.json +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/profiling.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/pypi_readme.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/analyze_profile.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/bench.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/bench_compare.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/bench_gate.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/bench_streaming.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/bench_subsystems.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/bench_tuning.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/import_time.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/mypyc_boundary_map.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/mypyc_inventory.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/mypyc_smoke.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/pgo_training.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/scripts/profiles/.gitkeep +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/sphinx_ext/__init__.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/sphinx_ext/changelog.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/sphinx_ext/guarded_imports.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/sphinx_ext/missing_references.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/sphinx_ext/playground.py +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/sphinx_ext/playground_template.html +0 -0
- {sqlspec-0.59.0 → sqlspec-0.60.0}/tools/sphinx_ext/pygments_styles.py +0 -0
|
@@ -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.60.0"
|
|
28
28
|
|
|
29
29
|
[project.urls]
|
|
30
30
|
Discord = "https://discord.gg/litestar"
|
|
@@ -331,7 +331,7 @@ opt_level = "3" # Maximum optimization (0-3)
|
|
|
331
331
|
allow_dirty = true
|
|
332
332
|
commit = false
|
|
333
333
|
commit_args = "--no-verify"
|
|
334
|
-
current_version = "0.
|
|
334
|
+
current_version = "0.60.0"
|
|
335
335
|
ignore_missing_files = false
|
|
336
336
|
ignore_missing_version = false
|
|
337
337
|
message = "chore(release): bump to v{new_version}"
|
|
@@ -17,6 +17,7 @@ from weakref import WeakKeyDictionary
|
|
|
17
17
|
|
|
18
18
|
from sqlspec.exceptions import EventChannelError
|
|
19
19
|
from sqlspec.extensions.events import normalize_event_channel_name
|
|
20
|
+
from sqlspec.extensions.events._buffer import enqueue_with_capacity, resolve_listener_queue_capacity
|
|
20
21
|
from sqlspec.utils.logging import get_logger, log_with_context
|
|
21
22
|
from sqlspec.utils.type_guards import has_add_listener
|
|
22
23
|
|
|
@@ -39,6 +40,7 @@ class AsyncpgListenerHub:
|
|
|
39
40
|
"_config",
|
|
40
41
|
"_connection",
|
|
41
42
|
"_connection_cm",
|
|
43
|
+
"_listener_queue_capacity",
|
|
42
44
|
"_lock",
|
|
43
45
|
"_pool_destroying_registered",
|
|
44
46
|
"_queues",
|
|
@@ -49,6 +51,7 @@ class AsyncpgListenerHub:
|
|
|
49
51
|
self._backend_name = backend_name
|
|
50
52
|
self._config = config
|
|
51
53
|
self._lock = asyncio.Lock()
|
|
54
|
+
self._listener_queue_capacity = resolve_listener_queue_capacity(config)
|
|
52
55
|
self._queues: dict[str, WeakKeyDictionary[asyncio.Task[Any], asyncio.Queue[str]]] = {}
|
|
53
56
|
self._callbacks: dict[str, Callable[..., None]] = {}
|
|
54
57
|
self._connection_cm: Any | None = None
|
|
@@ -106,9 +109,12 @@ class AsyncpgListenerHub:
|
|
|
106
109
|
if queue is None:
|
|
107
110
|
return None
|
|
108
111
|
try:
|
|
109
|
-
|
|
112
|
+
payload = await asyncio.wait_for(queue.get(), timeout=poll_interval)
|
|
110
113
|
except asyncio.TimeoutError:
|
|
111
114
|
return None
|
|
115
|
+
else:
|
|
116
|
+
self._record_queue_depth()
|
|
117
|
+
return payload
|
|
112
118
|
|
|
113
119
|
async def shutdown(self) -> None:
|
|
114
120
|
async with self._lock:
|
|
@@ -123,6 +129,7 @@ class AsyncpgListenerHub:
|
|
|
123
129
|
self._callbacks.clear()
|
|
124
130
|
self._connection = None
|
|
125
131
|
self._connection_cm = None
|
|
132
|
+
self._record_queue_depth()
|
|
126
133
|
if connection is not None:
|
|
127
134
|
for channel in channels:
|
|
128
135
|
callback = callbacks.get(channel)
|
|
@@ -151,7 +158,7 @@ class AsyncpgListenerHub:
|
|
|
151
158
|
return None
|
|
152
159
|
queue = queues.get(task)
|
|
153
160
|
if queue is None:
|
|
154
|
-
queue = asyncio.Queue()
|
|
161
|
+
queue = asyncio.Queue(maxsize=self._listener_queue_capacity or 0)
|
|
155
162
|
queues[task] = queue
|
|
156
163
|
return queue
|
|
157
164
|
|
|
@@ -207,7 +214,13 @@ class AsyncpgListenerHub:
|
|
|
207
214
|
if queues is None:
|
|
208
215
|
return
|
|
209
216
|
for queue in list(queues.values()):
|
|
210
|
-
queue.
|
|
217
|
+
if enqueue_with_capacity(queue, payload, self._listener_queue_capacity, empty_error=asyncio.QueueEmpty):
|
|
218
|
+
self._config.get_observability_runtime().increment_metric("events.listener.queue.dropped")
|
|
219
|
+
self._record_queue_depth()
|
|
220
|
+
|
|
221
|
+
def _record_queue_depth(self) -> None:
|
|
222
|
+
depth = sum(queue.qsize() for queues in self._queues.values() for queue in queues.values())
|
|
223
|
+
self._config.get_observability_runtime().record_metric("events.listener.queue.depth", depth)
|
|
211
224
|
|
|
212
225
|
|
|
213
226
|
def _record_listener_lifecycle(config: "AsyncpgConfig", backend_name: str, status: str) -> None:
|
|
@@ -18,6 +18,7 @@ from weakref import WeakKeyDictionary
|
|
|
18
18
|
|
|
19
19
|
from sqlspec.core import SQL
|
|
20
20
|
from sqlspec.extensions.events import normalize_event_channel_name
|
|
21
|
+
from sqlspec.extensions.events._buffer import enqueue_with_capacity, resolve_listener_queue_capacity
|
|
21
22
|
from sqlspec.utils.logging import get_logger, log_with_context
|
|
22
23
|
from sqlspec.utils.type_guards import is_notification
|
|
23
24
|
from sqlspec.utils.uuids import uuid4
|
|
@@ -79,6 +80,7 @@ class PsqlpyListenerHub:
|
|
|
79
80
|
"_callbacks",
|
|
80
81
|
"_config",
|
|
81
82
|
"_listener",
|
|
83
|
+
"_listener_queue_capacity",
|
|
82
84
|
"_listener_started",
|
|
83
85
|
"_lock",
|
|
84
86
|
"_pool_destroying_registered",
|
|
@@ -91,6 +93,7 @@ class PsqlpyListenerHub:
|
|
|
91
93
|
self._backend_name = backend_name
|
|
92
94
|
self._config = config
|
|
93
95
|
self._lock = asyncio.Lock()
|
|
96
|
+
self._listener_queue_capacity = resolve_listener_queue_capacity(config)
|
|
94
97
|
self._queues: dict[str, WeakKeyDictionary[asyncio.Task[Any], asyncio.Queue[str]]] = {}
|
|
95
98
|
self._callbacks: dict[str, _PsqlpyHubCallback] = {}
|
|
96
99
|
self._ready_events: dict[str, dict[str, asyncio.Event]] = {}
|
|
@@ -134,9 +137,12 @@ class PsqlpyListenerHub:
|
|
|
134
137
|
if queue is None:
|
|
135
138
|
return None
|
|
136
139
|
try:
|
|
137
|
-
|
|
140
|
+
payload = await asyncio.wait_for(queue.get(), timeout=poll_interval)
|
|
138
141
|
except asyncio.TimeoutError:
|
|
139
142
|
return None
|
|
143
|
+
else:
|
|
144
|
+
self._record_queue_depth()
|
|
145
|
+
return payload
|
|
140
146
|
|
|
141
147
|
async def shutdown(self) -> None:
|
|
142
148
|
async with self._lock:
|
|
@@ -149,6 +155,7 @@ class PsqlpyListenerHub:
|
|
|
149
155
|
self._queues.clear()
|
|
150
156
|
self._callbacks.clear()
|
|
151
157
|
self._ready_events.clear()
|
|
158
|
+
self._record_queue_depth()
|
|
152
159
|
self._listener = None
|
|
153
160
|
self._listener_started = False
|
|
154
161
|
if listener is not None:
|
|
@@ -178,7 +185,7 @@ class PsqlpyListenerHub:
|
|
|
178
185
|
return None
|
|
179
186
|
queue = queues.get(task)
|
|
180
187
|
if queue is None:
|
|
181
|
-
queue = asyncio.Queue()
|
|
188
|
+
queue = asyncio.Queue(maxsize=self._listener_queue_capacity or 0)
|
|
182
189
|
queues[task] = queue
|
|
183
190
|
return queue
|
|
184
191
|
|
|
@@ -194,7 +201,7 @@ class PsqlpyListenerHub:
|
|
|
194
201
|
queues: WeakKeyDictionary[asyncio.Task[Any], asyncio.Queue[str]] = WeakKeyDictionary()
|
|
195
202
|
consumer_queue: asyncio.Queue[str] | None = None
|
|
196
203
|
if consumer_task is not None:
|
|
197
|
-
consumer_queue = asyncio.Queue()
|
|
204
|
+
consumer_queue = asyncio.Queue(maxsize=self._listener_queue_capacity or 0)
|
|
198
205
|
queues[consumer_task] = consumer_queue
|
|
199
206
|
self._queues[channel] = queues
|
|
200
207
|
self._callbacks[channel] = callback
|
|
@@ -284,7 +291,13 @@ class PsqlpyListenerHub:
|
|
|
284
291
|
if queues is None:
|
|
285
292
|
return
|
|
286
293
|
for queue in list(queues.values()):
|
|
287
|
-
queue.
|
|
294
|
+
if enqueue_with_capacity(queue, payload, self._listener_queue_capacity, empty_error=asyncio.QueueEmpty):
|
|
295
|
+
self._config.get_observability_runtime().increment_metric("events.listener.queue.dropped")
|
|
296
|
+
self._record_queue_depth()
|
|
297
|
+
|
|
298
|
+
def _record_queue_depth(self) -> None:
|
|
299
|
+
depth = sum(queue.qsize() for queues in self._queues.values() for queue in queues.values())
|
|
300
|
+
self._config.get_observability_runtime().record_metric("events.listener.queue.depth", depth)
|
|
288
301
|
|
|
289
302
|
|
|
290
303
|
def _record_listener_lifecycle(config: "PsqlpyConfig", backend_name: str, status: str) -> None:
|
|
@@ -20,6 +20,7 @@ from weakref import WeakKeyDictionary
|
|
|
20
20
|
from sqlspec.adapters.psycopg._typing import PsycopgComposed, PsycopgIdentifier, PsycopgSQL
|
|
21
21
|
from sqlspec.exceptions import ImproperConfigurationError
|
|
22
22
|
from sqlspec.extensions.events import normalize_event_channel_name
|
|
23
|
+
from sqlspec.extensions.events._buffer import enqueue_with_capacity, resolve_listener_queue_capacity
|
|
23
24
|
from sqlspec.utils.logging import get_logger, log_with_context
|
|
24
25
|
from sqlspec.utils.type_guards import has_notifies
|
|
25
26
|
|
|
@@ -43,6 +44,7 @@ class PsycopgAsyncListenerHub:
|
|
|
43
44
|
"_config",
|
|
44
45
|
"_connection",
|
|
45
46
|
"_connection_cm",
|
|
47
|
+
"_listener_queue_capacity",
|
|
46
48
|
"_lock",
|
|
47
49
|
"_pool_destroying_registered",
|
|
48
50
|
"_pump_task",
|
|
@@ -55,6 +57,7 @@ class PsycopgAsyncListenerHub:
|
|
|
55
57
|
self._backend_name = backend_name
|
|
56
58
|
self._config = config
|
|
57
59
|
self._lock = asyncio.Lock()
|
|
60
|
+
self._listener_queue_capacity = resolve_listener_queue_capacity(config)
|
|
58
61
|
self._queues: dict[str, WeakKeyDictionary[asyncio.Task[Any], asyncio.Queue[str]]] = {}
|
|
59
62
|
self._connection_cm: Any | None = None
|
|
60
63
|
self._connection: Any | None = None
|
|
@@ -100,9 +103,12 @@ class PsycopgAsyncListenerHub:
|
|
|
100
103
|
if queue is None:
|
|
101
104
|
return None
|
|
102
105
|
try:
|
|
103
|
-
|
|
106
|
+
payload = await asyncio.wait_for(queue.get(), timeout=poll_interval)
|
|
104
107
|
except asyncio.TimeoutError:
|
|
105
108
|
return None
|
|
109
|
+
else:
|
|
110
|
+
self._record_queue_depth()
|
|
111
|
+
return payload
|
|
106
112
|
|
|
107
113
|
async def shutdown(self) -> None:
|
|
108
114
|
async with self._lock:
|
|
@@ -115,6 +121,7 @@ class PsycopgAsyncListenerHub:
|
|
|
115
121
|
pump_task = self._pump_task
|
|
116
122
|
channels = list(self._queues.keys())
|
|
117
123
|
self._queues.clear()
|
|
124
|
+
self._record_queue_depth()
|
|
118
125
|
self._connection = None
|
|
119
126
|
self._connection_cm = None
|
|
120
127
|
self._pump_task = None
|
|
@@ -146,7 +153,7 @@ class PsycopgAsyncListenerHub:
|
|
|
146
153
|
return None
|
|
147
154
|
queue = queues.get(task)
|
|
148
155
|
if queue is None:
|
|
149
|
-
queue = asyncio.Queue()
|
|
156
|
+
queue = asyncio.Queue(maxsize=self._listener_queue_capacity or 0)
|
|
150
157
|
queues[task] = queue
|
|
151
158
|
return queue
|
|
152
159
|
|
|
@@ -235,7 +242,13 @@ class PsycopgAsyncListenerHub:
|
|
|
235
242
|
if queues is None:
|
|
236
243
|
return
|
|
237
244
|
for queue in list(queues.values()):
|
|
238
|
-
queue.
|
|
245
|
+
if enqueue_with_capacity(queue, payload, self._listener_queue_capacity, empty_error=asyncio.QueueEmpty):
|
|
246
|
+
self._config.get_observability_runtime().increment_metric("events.listener.queue.dropped")
|
|
247
|
+
self._record_queue_depth()
|
|
248
|
+
|
|
249
|
+
def _record_queue_depth(self) -> None:
|
|
250
|
+
depth = sum(queue.qsize() for queues in self._queues.values() for queue in queues.values())
|
|
251
|
+
self._config.get_observability_runtime().record_metric("events.listener.queue.depth", depth)
|
|
239
252
|
|
|
240
253
|
|
|
241
254
|
class PsycopgSyncListenerHub:
|
|
@@ -253,6 +266,7 @@ class PsycopgSyncListenerHub:
|
|
|
253
266
|
"_config",
|
|
254
267
|
"_connection",
|
|
255
268
|
"_connection_cm",
|
|
269
|
+
"_listener_queue_capacity",
|
|
256
270
|
"_lock",
|
|
257
271
|
"_pool_destroying_registered",
|
|
258
272
|
"_queues",
|
|
@@ -265,6 +279,7 @@ class PsycopgSyncListenerHub:
|
|
|
265
279
|
self._backend_name = backend_name
|
|
266
280
|
self._config = config
|
|
267
281
|
self._lock = threading.Lock()
|
|
282
|
+
self._listener_queue_capacity = resolve_listener_queue_capacity(config)
|
|
268
283
|
self._queues: dict[str, WeakKeyDictionary[threading.Thread, stdlib_queue.Queue[str]]] = {}
|
|
269
284
|
self._connection_cm: Any | None = None
|
|
270
285
|
self._connection: Any | None = None
|
|
@@ -305,9 +320,12 @@ class PsycopgSyncListenerHub:
|
|
|
305
320
|
if queue is None:
|
|
306
321
|
return None
|
|
307
322
|
try:
|
|
308
|
-
|
|
323
|
+
payload = queue.get(timeout=poll_interval)
|
|
309
324
|
except stdlib_queue.Empty:
|
|
310
325
|
return None
|
|
326
|
+
else:
|
|
327
|
+
self._record_queue_depth()
|
|
328
|
+
return payload
|
|
311
329
|
|
|
312
330
|
def shutdown(self) -> None:
|
|
313
331
|
with self._lock:
|
|
@@ -318,6 +336,7 @@ class PsycopgSyncListenerHub:
|
|
|
318
336
|
channels = list(self._queues.keys())
|
|
319
337
|
worker_thread = self._worker_thread
|
|
320
338
|
self._queues.clear()
|
|
339
|
+
self._record_queue_depth()
|
|
321
340
|
self._connection_cm = None
|
|
322
341
|
self._worker_thread = None
|
|
323
342
|
if worker_thread is not None:
|
|
@@ -349,7 +368,7 @@ class PsycopgSyncListenerHub:
|
|
|
349
368
|
thread = threading.current_thread()
|
|
350
369
|
queue = queues.get(thread)
|
|
351
370
|
if queue is None:
|
|
352
|
-
queue = stdlib_queue.Queue()
|
|
371
|
+
queue = stdlib_queue.Queue(maxsize=self._listener_queue_capacity or 0)
|
|
353
372
|
queues[thread] = queue
|
|
354
373
|
return queue
|
|
355
374
|
|
|
@@ -467,7 +486,13 @@ class PsycopgSyncListenerHub:
|
|
|
467
486
|
return
|
|
468
487
|
targets = list(queues.values())
|
|
469
488
|
for queue in targets:
|
|
470
|
-
queue.
|
|
489
|
+
if enqueue_with_capacity(queue, payload, self._listener_queue_capacity, empty_error=stdlib_queue.Empty):
|
|
490
|
+
self._config.get_observability_runtime().increment_metric("events.listener.queue.dropped")
|
|
491
|
+
self._record_queue_depth()
|
|
492
|
+
|
|
493
|
+
def _record_queue_depth(self) -> None:
|
|
494
|
+
depth = sum(queue.qsize() for queues in self._queues.values() for queue in queues.values())
|
|
495
|
+
self._config.get_observability_runtime().record_metric("events.listener.queue.depth", depth)
|
|
471
496
|
|
|
472
497
|
|
|
473
498
|
def _record_listener_lifecycle(
|
|
@@ -792,6 +792,9 @@ class EventsConfig(TypedDict):
|
|
|
792
792
|
event_poll_interval: NotRequired[float]
|
|
793
793
|
"""Durable event reconciliation interval in seconds. Takes precedence over poll_interval."""
|
|
794
794
|
|
|
795
|
+
listener_queue_capacity: NotRequired[int]
|
|
796
|
+
"""Maximum pending notifications per PostgreSQL listener consumer. Defaults to unbounded."""
|
|
797
|
+
|
|
795
798
|
select_for_update: NotRequired[bool]
|
|
796
799
|
"""Use SELECT FOR UPDATE locking when claiming events. Defaults to False."""
|
|
797
800
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"""Bounded event buffering helpers."""
|
|
2
|
+
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
from sqlspec.exceptions import ImproperConfigurationError
|
|
6
|
+
|
|
7
|
+
__all__ = ("enqueue_with_capacity", "resolve_listener_queue_capacity", "validate_queue_capacity")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def validate_queue_capacity(
|
|
11
|
+
value: object, *, name: str, error_type: "type[Exception]" = ImproperConfigurationError
|
|
12
|
+
) -> "int | None":
|
|
13
|
+
"""Validate an optional positive queue capacity."""
|
|
14
|
+
if value is None:
|
|
15
|
+
return None
|
|
16
|
+
if isinstance(value, bool) or not isinstance(value, int) or value <= 0:
|
|
17
|
+
msg = f"{name} must be a positive integer or None"
|
|
18
|
+
raise error_type(msg)
|
|
19
|
+
return value
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def resolve_listener_queue_capacity(config: Any) -> "int | None":
|
|
23
|
+
"""Resolve and validate the PostgreSQL listener queue capacity."""
|
|
24
|
+
settings = getattr(config, "extension_config", {}).get("events", {})
|
|
25
|
+
return validate_queue_capacity(settings.get("listener_queue_capacity"), name="listener_queue_capacity")
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def enqueue_with_capacity(queue: Any, item: object, capacity: "int | None", *, empty_error: "type[Exception]") -> bool:
|
|
29
|
+
"""Enqueue an item, evicting the oldest item when capacity is reached."""
|
|
30
|
+
dropped = False
|
|
31
|
+
if capacity is not None and queue.qsize() >= capacity:
|
|
32
|
+
try:
|
|
33
|
+
queue.get_nowait()
|
|
34
|
+
dropped = True
|
|
35
|
+
except empty_error:
|
|
36
|
+
pass
|
|
37
|
+
queue.put_nowait(item)
|
|
38
|
+
return dropped
|
|
@@ -12,6 +12,7 @@ from time import perf_counter
|
|
|
12
12
|
from typing import TYPE_CHECKING, Any, cast
|
|
13
13
|
|
|
14
14
|
from sqlspec.exceptions import ImproperConfigurationError, MissingDependencyError
|
|
15
|
+
from sqlspec.extensions.events._buffer import validate_queue_capacity
|
|
15
16
|
from sqlspec.extensions.events._hints import get_runtime_hints, resolve_adapter_name
|
|
16
17
|
from sqlspec.extensions.events._models import EventMessage
|
|
17
18
|
from sqlspec.extensions.events._names import normalize_event_channel_name
|
|
@@ -194,6 +195,7 @@ class SyncEventChannel:
|
|
|
194
195
|
msg = "SyncEventChannel requires a sync configuration"
|
|
195
196
|
raise ImproperConfigurationError(msg)
|
|
196
197
|
extension_settings: dict[str, Any] = dict(config.extension_config.get("events", {}))
|
|
198
|
+
validate_queue_capacity(extension_settings.get("listener_queue_capacity"), name="listener_queue_capacity")
|
|
197
199
|
self._adapter_name = resolve_adapter_name(config)
|
|
198
200
|
hints = get_runtime_hints(self._adapter_name, config)
|
|
199
201
|
self._event_poll_interval = resolve_event_poll_interval(
|
|
@@ -463,6 +465,7 @@ class AsyncEventChannel:
|
|
|
463
465
|
msg = "AsyncEventChannel requires an async configuration"
|
|
464
466
|
raise ImproperConfigurationError(msg)
|
|
465
467
|
extension_settings: dict[str, Any] = dict(config.extension_config.get("events", {}))
|
|
468
|
+
validate_queue_capacity(extension_settings.get("listener_queue_capacity"), name="listener_queue_capacity")
|
|
466
469
|
self._adapter_name = resolve_adapter_name(config)
|
|
467
470
|
hints = get_runtime_hints(self._adapter_name, config)
|
|
468
471
|
self._event_poll_interval = resolve_event_poll_interval(
|
|
@@ -4,6 +4,7 @@ from abc import ABC, abstractmethod
|
|
|
4
4
|
from typing import TYPE_CHECKING, Any, ClassVar, Generic, TypeVar, cast
|
|
5
5
|
|
|
6
6
|
from sqlspec.exceptions import ImproperConfigurationError
|
|
7
|
+
from sqlspec.extensions.events._buffer import validate_queue_capacity
|
|
7
8
|
from sqlspec.extensions.events._names import normalize_event_channel_name, normalize_queue_table_name
|
|
8
9
|
from sqlspec.migrations.schema import SchemaEnsureResult, SchemaTarget, ensure_schema_async, ensure_schema_sync
|
|
9
10
|
|
|
@@ -39,6 +40,7 @@ class BaseEventQueueStore(ABC, Generic[ConfigT]):
|
|
|
39
40
|
"create_schema",
|
|
40
41
|
"event_poll_interval",
|
|
41
42
|
"lease_seconds",
|
|
43
|
+
"listener_queue_capacity",
|
|
42
44
|
"manage_schema",
|
|
43
45
|
"migrations_path",
|
|
44
46
|
"poll_interval",
|
|
@@ -115,6 +117,7 @@ class BaseEventQueueStore(ABC, Generic[ConfigT]):
|
|
|
115
117
|
keys = ", ".join(repr(key) for key in unsupported)
|
|
116
118
|
msg = f"Unsupported events configuration key(s) for {adapter}: {keys}"
|
|
117
119
|
raise ImproperConfigurationError(msg)
|
|
120
|
+
validate_queue_capacity(self._extension_settings.get("listener_queue_capacity"), name="listener_queue_capacity")
|
|
118
121
|
|
|
119
122
|
def _schema_management_flags(self) -> "tuple[bool, bool]":
|
|
120
123
|
"""Return automatic-management and missing-table creation flags."""
|
|
@@ -8,6 +8,7 @@ from typing import TYPE_CHECKING, Any
|
|
|
8
8
|
|
|
9
9
|
from litestar.channels.backends.base import ChannelsBackend
|
|
10
10
|
|
|
11
|
+
from sqlspec.extensions.events._buffer import enqueue_with_capacity, validate_queue_capacity
|
|
11
12
|
from sqlspec.utils.logging import get_logger
|
|
12
13
|
|
|
13
14
|
if TYPE_CHECKING:
|
|
@@ -29,7 +30,12 @@ class SQLSpecChannelsBackend(ChannelsBackend):
|
|
|
29
30
|
"""
|
|
30
31
|
|
|
31
32
|
def __init__(
|
|
32
|
-
self,
|
|
33
|
+
self,
|
|
34
|
+
event_channel: "AsyncEventChannel",
|
|
35
|
+
*,
|
|
36
|
+
channel_prefix: str = "litestar",
|
|
37
|
+
poll_interval: float = 0.2,
|
|
38
|
+
output_queue_capacity: int | None = None,
|
|
33
39
|
) -> None:
|
|
34
40
|
if not _IDENTIFIER_PATTERN.match(channel_prefix):
|
|
35
41
|
msg = f"channel_prefix must be a valid identifier, got: {channel_prefix!r}"
|
|
@@ -37,10 +43,14 @@ class SQLSpecChannelsBackend(ChannelsBackend):
|
|
|
37
43
|
if poll_interval <= 0:
|
|
38
44
|
msg = "poll_interval must be greater than zero"
|
|
39
45
|
raise ValueError(msg)
|
|
46
|
+
self._output_queue_capacity = validate_queue_capacity(
|
|
47
|
+
output_queue_capacity, name="output_queue_capacity", error_type=ValueError
|
|
48
|
+
)
|
|
40
49
|
self._event_channel = event_channel
|
|
41
50
|
self._channel_prefix = channel_prefix
|
|
42
51
|
self._poll_interval = poll_interval
|
|
43
52
|
self._output_queue: asyncio.Queue[tuple[str, bytes]] | None = None
|
|
53
|
+
self._dropped_message_count = 0
|
|
44
54
|
self._shutdown = asyncio.Event()
|
|
45
55
|
self._tasks: dict[str, asyncio.Task[None]] = {}
|
|
46
56
|
self._to_db_channel: dict[str, str] = {}
|
|
@@ -61,8 +71,19 @@ class SQLSpecChannelsBackend(ChannelsBackend):
|
|
|
61
71
|
await asyncio.gather(*tasks, return_exceptions=True)
|
|
62
72
|
self._to_db_channel.clear()
|
|
63
73
|
self._to_litestar_channel.clear()
|
|
74
|
+
self._output_queue = None
|
|
64
75
|
await self._event_channel.shutdown()
|
|
65
76
|
|
|
77
|
+
@property
|
|
78
|
+
def output_queue_depth(self) -> int:
|
|
79
|
+
"""Return the number of buffered channel messages."""
|
|
80
|
+
return self._output_queue.qsize() if self._output_queue is not None else 0
|
|
81
|
+
|
|
82
|
+
@property
|
|
83
|
+
def dropped_message_count(self) -> int:
|
|
84
|
+
"""Return the cumulative number of messages dropped due to overflow."""
|
|
85
|
+
return self._dropped_message_count
|
|
86
|
+
|
|
66
87
|
async def publish(self, data: bytes, channels: "Iterable[str]") -> None:
|
|
67
88
|
await self.publish_many((data,), channels)
|
|
68
89
|
|
|
@@ -152,7 +173,10 @@ class SQLSpecChannelsBackend(ChannelsBackend):
|
|
|
152
173
|
await self._event_channel.ack(message.event_id)
|
|
153
174
|
continue
|
|
154
175
|
assert self._output_queue is not None
|
|
155
|
-
|
|
176
|
+
if enqueue_with_capacity(
|
|
177
|
+
self._output_queue, (channel, decoded), self._output_queue_capacity, empty_error=asyncio.QueueEmpty
|
|
178
|
+
):
|
|
179
|
+
self._dropped_message_count += 1
|
|
156
180
|
await self._event_channel.ack(message.event_id)
|
|
157
181
|
except asyncio.CancelledError:
|
|
158
182
|
raise
|
{sqlspec-0.59.0 → sqlspec-0.60.0}/tests/integration/extensions/litestar/test_channels_backend.py
RENAMED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
import tempfile
|
|
3
|
+
from types import SimpleNamespace
|
|
3
4
|
from typing import Any, cast
|
|
4
5
|
|
|
5
6
|
import msgspec.json
|
|
7
|
+
import pytest
|
|
6
8
|
from litestar.channels.plugin import ChannelsPlugin
|
|
7
9
|
|
|
8
10
|
from sqlspec.adapters.aiosqlite.config import AiosqliteConfig
|
|
@@ -27,6 +29,24 @@ class _RecordingEventChannel:
|
|
|
27
29
|
return [f"event-{index}" for index in range(len(events))]
|
|
28
30
|
|
|
29
31
|
|
|
32
|
+
class _StreamingEventChannel:
|
|
33
|
+
def __init__(self, payloads: list[dict[str, str]]) -> None:
|
|
34
|
+
self.payloads = payloads
|
|
35
|
+
self.acked: list[str] = []
|
|
36
|
+
self.shutdown_calls = 0
|
|
37
|
+
|
|
38
|
+
async def iter_events(self, _channel: str, *, poll_interval: float) -> "Any":
|
|
39
|
+
_ = poll_interval
|
|
40
|
+
for index, payload in enumerate(self.payloads):
|
|
41
|
+
yield SimpleNamespace(event_id=str(index), payload=payload)
|
|
42
|
+
|
|
43
|
+
async def ack(self, event_id: str) -> None:
|
|
44
|
+
self.acked.append(event_id)
|
|
45
|
+
|
|
46
|
+
async def shutdown(self) -> None:
|
|
47
|
+
self.shutdown_calls += 1
|
|
48
|
+
|
|
49
|
+
|
|
30
50
|
async def test_litestar_channels_backend_database_roundtrip(tmp_path: "Any") -> None:
|
|
31
51
|
migrations = tmp_path / "migrations"
|
|
32
52
|
migrations.mkdir()
|
|
@@ -91,3 +111,45 @@ async def test_litestar_channels_backend_groups_multiple_payloads_and_channels()
|
|
|
91
111
|
(backend._db_channel_name("alpha"), "c2Vjb25k"),
|
|
92
112
|
(backend._db_channel_name("beta"), "c2Vjb25k"),
|
|
93
113
|
]
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
@pytest.mark.parametrize("capacity", [True, False, 0, -1, 1.5, "1"])
|
|
117
|
+
def test_litestar_channels_backend_rejects_invalid_output_capacity(capacity: object) -> None:
|
|
118
|
+
with pytest.raises(ValueError, match="output_queue_capacity must be a positive integer"):
|
|
119
|
+
SQLSpecChannelsBackend(cast("Any", _RecordingEventChannel()), output_queue_capacity=capacity) # type: ignore[arg-type]
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
async def test_litestar_channels_backend_drops_oldest_and_preserves_acknowledgements() -> None:
|
|
123
|
+
event_channel = _StreamingEventChannel([
|
|
124
|
+
{"data_b64": "Zmlyc3Q="},
|
|
125
|
+
{"data_b64": "c2Vjb25k"},
|
|
126
|
+
{"data_b64": "dGhpcmQ="},
|
|
127
|
+
])
|
|
128
|
+
backend = SQLSpecChannelsBackend(cast("Any", event_channel), output_queue_capacity=2)
|
|
129
|
+
await backend.on_startup()
|
|
130
|
+
|
|
131
|
+
await backend._stream_channel("alerts", backend._db_channel_name("alerts"))
|
|
132
|
+
|
|
133
|
+
assert backend.output_queue_depth == 2
|
|
134
|
+
assert backend.dropped_message_count == 1
|
|
135
|
+
assert event_channel.acked == ["0", "1", "2"]
|
|
136
|
+
stream = backend.stream_events()
|
|
137
|
+
assert await anext(stream) == ("alerts", b"second")
|
|
138
|
+
assert await anext(stream) == ("alerts", b"third")
|
|
139
|
+
assert backend.output_queue_depth == 0
|
|
140
|
+
|
|
141
|
+
await backend.on_shutdown()
|
|
142
|
+
assert backend.output_queue_depth == 0
|
|
143
|
+
assert backend.dropped_message_count == 1
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
async def test_litestar_channels_backend_malformed_payload_does_not_count_as_overflow() -> None:
|
|
147
|
+
event_channel = _StreamingEventChannel([{"invalid": "payload"}])
|
|
148
|
+
backend = SQLSpecChannelsBackend(cast("Any", event_channel), output_queue_capacity=1)
|
|
149
|
+
await backend.on_startup()
|
|
150
|
+
|
|
151
|
+
await backend._stream_channel("alerts", backend._db_channel_name("alerts"))
|
|
152
|
+
|
|
153
|
+
assert backend.output_queue_depth == 0
|
|
154
|
+
assert backend.dropped_message_count == 0
|
|
155
|
+
assert event_channel.acked == ["0"]
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
# pyright: reportPrivateUsage=false
|
|
2
2
|
"""Unit tests for adapter-specific event queue stores and DDL generation."""
|
|
3
3
|
|
|
4
|
+
import importlib
|
|
5
|
+
import inspect
|
|
6
|
+
from pathlib import Path
|
|
4
7
|
from typing import TYPE_CHECKING
|
|
5
8
|
|
|
6
9
|
import pytest
|
|
@@ -16,6 +19,25 @@ else:
|
|
|
16
19
|
BaseEventQueueStoreBase = BaseEventQueueStore
|
|
17
20
|
|
|
18
21
|
|
|
22
|
+
def test_all_adapter_event_stores_declare_listener_queue_capacity_behavior() -> None:
|
|
23
|
+
adapter_root = Path(__file__).parents[4] / "sqlspec" / "adapters"
|
|
24
|
+
store_paths = sorted(adapter_root.glob("*/events/store.py"))
|
|
25
|
+
discovered: set[str] = set()
|
|
26
|
+
|
|
27
|
+
for store_path in store_paths:
|
|
28
|
+
adapter_name = store_path.parents[1].name
|
|
29
|
+
module = importlib.import_module(f"sqlspec.adapters.{adapter_name}.events.store")
|
|
30
|
+
for _, store_type in inspect.getmembers(module, inspect.isclass):
|
|
31
|
+
if store_type is BaseEventQueueStore or not issubclass(store_type, BaseEventQueueStore):
|
|
32
|
+
continue
|
|
33
|
+
if store_type.__module__ != module.__name__:
|
|
34
|
+
continue
|
|
35
|
+
discovered.add(adapter_name)
|
|
36
|
+
assert "listener_queue_capacity" in store_type.extension_config_options
|
|
37
|
+
|
|
38
|
+
assert discovered == {path.parents[1].name for path in store_paths}
|
|
39
|
+
|
|
40
|
+
|
|
19
41
|
def test_asyncmy_store_column_types() -> None:
|
|
20
42
|
"""Asyncmy store uses MySQL-compatible column types."""
|
|
21
43
|
pytest.importorskip("asyncmy")
|
|
@@ -8,6 +8,8 @@ import pytest
|
|
|
8
8
|
|
|
9
9
|
from sqlspec.adapters.sqlite import SqliteConfig
|
|
10
10
|
from sqlspec.config import EventsConfig
|
|
11
|
+
from sqlspec.exceptions import ImproperConfigurationError
|
|
12
|
+
from sqlspec.extensions.events import SyncEventChannel
|
|
11
13
|
|
|
12
14
|
|
|
13
15
|
def test_events_backend_literal_uses_canonical_transport_names() -> None:
|
|
@@ -20,6 +22,28 @@ def test_events_backend_literal_uses_canonical_transport_names() -> None:
|
|
|
20
22
|
assert set(backend_values) == {"notify", "notify_queue", "poll_queue", "aq", "txeventq"}
|
|
21
23
|
|
|
22
24
|
|
|
25
|
+
@pytest.mark.parametrize("capacity", [True, False, 0, -1, 1.5, "1", []])
|
|
26
|
+
def test_listener_queue_capacity_rejects_non_positive_integers(tmp_path: Path, capacity: object) -> None:
|
|
27
|
+
config = SqliteConfig(
|
|
28
|
+
connection_config={"database": str(tmp_path / "events-capacity.db")},
|
|
29
|
+
extension_config={"events": {"listener_queue_capacity": capacity}}, # type: ignore[typeddict-item]
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
with pytest.raises(ImproperConfigurationError, match="listener_queue_capacity must be a positive integer"):
|
|
33
|
+
SyncEventChannel(config)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def test_listener_queue_capacity_is_accepted_by_poll_queue_store(tmp_path: Path) -> None:
|
|
37
|
+
from sqlspec.adapters.sqlite.events.store import SqliteEventQueueStore
|
|
38
|
+
|
|
39
|
+
config = SqliteConfig(
|
|
40
|
+
connection_config={"database": str(tmp_path / "events-capacity.db")},
|
|
41
|
+
extension_config={"events": {"listener_queue_capacity": 4}},
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
assert SqliteEventQueueStore(config).settings["listener_queue_capacity"] == 4
|
|
45
|
+
|
|
46
|
+
|
|
23
47
|
_POSTGRES_DRIVER_FEATURES = (
|
|
24
48
|
("sqlspec.adapters.asyncpg.config", "AsyncpgDriverFeatures"),
|
|
25
49
|
("sqlspec.adapters.psycopg.config", "PsycopgDriverFeatures"),
|