sqlspec 0.47.0__cp314-cp314-win_amd64.whl
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.
- f68e0789eb443ecb1c2c__mypyc.cp314-win_amd64.pyd +0 -0
- sqlspec/__init__.py +167 -0
- sqlspec/__main__.py +12 -0
- sqlspec/__metadata__.py +14 -0
- sqlspec/_typing.py +714 -0
- sqlspec/adapters/__init__.py +0 -0
- sqlspec/adapters/adbc/__init__.py +13 -0
- sqlspec/adapters/adbc/_typing.py +106 -0
- sqlspec/adapters/adbc/adk/__init__.py +5 -0
- sqlspec/adapters/adbc/adk/store.py +1280 -0
- sqlspec/adapters/adbc/config.py +378 -0
- sqlspec/adapters/adbc/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/adbc/core.py +922 -0
- sqlspec/adapters/adbc/data_dictionary.py +339 -0
- sqlspec/adapters/adbc/driver.py +534 -0
- sqlspec/adapters/adbc/events/__init__.py +5 -0
- sqlspec/adapters/adbc/events/store.py +285 -0
- sqlspec/adapters/adbc/litestar/__init__.py +5 -0
- sqlspec/adapters/adbc/litestar/store.py +534 -0
- sqlspec/adapters/adbc/type_converter.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/adbc/type_converter.py +142 -0
- sqlspec/adapters/aiomysql/__init__.py +21 -0
- sqlspec/adapters/aiomysql/_typing.py +137 -0
- sqlspec/adapters/aiomysql/adk/__init__.py +5 -0
- sqlspec/adapters/aiomysql/adk/store.py +678 -0
- sqlspec/adapters/aiomysql/config.py +305 -0
- sqlspec/adapters/aiomysql/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/aiomysql/core.py +536 -0
- sqlspec/adapters/aiomysql/data_dictionary.py +121 -0
- sqlspec/adapters/aiomysql/driver.py +386 -0
- sqlspec/adapters/aiomysql/events/__init__.py +5 -0
- sqlspec/adapters/aiomysql/events/store.py +104 -0
- sqlspec/adapters/aiomysql/litestar/__init__.py +5 -0
- sqlspec/adapters/aiomysql/litestar/store.py +314 -0
- sqlspec/adapters/aiosqlite/__init__.py +26 -0
- sqlspec/adapters/aiosqlite/_typing.py +109 -0
- sqlspec/adapters/aiosqlite/adk/__init__.py +5 -0
- sqlspec/adapters/aiosqlite/adk/store.py +829 -0
- sqlspec/adapters/aiosqlite/config.py +315 -0
- sqlspec/adapters/aiosqlite/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/aiosqlite/core.py +315 -0
- sqlspec/adapters/aiosqlite/data_dictionary.py +202 -0
- sqlspec/adapters/aiosqlite/driver.py +311 -0
- sqlspec/adapters/aiosqlite/events/__init__.py +5 -0
- sqlspec/adapters/aiosqlite/events/store.py +20 -0
- sqlspec/adapters/aiosqlite/litestar/__init__.py +5 -0
- sqlspec/adapters/aiosqlite/litestar/store.py +279 -0
- sqlspec/adapters/aiosqlite/pool.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/aiosqlite/pool.py +734 -0
- sqlspec/adapters/asyncmy/__init__.py +21 -0
- sqlspec/adapters/asyncmy/_typing.py +113 -0
- sqlspec/adapters/asyncmy/adk/__init__.py +5 -0
- sqlspec/adapters/asyncmy/adk/store.py +644 -0
- sqlspec/adapters/asyncmy/config.py +307 -0
- sqlspec/adapters/asyncmy/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/asyncmy/core.py +538 -0
- sqlspec/adapters/asyncmy/data_dictionary.py +122 -0
- sqlspec/adapters/asyncmy/driver.py +391 -0
- sqlspec/adapters/asyncmy/events/__init__.py +5 -0
- sqlspec/adapters/asyncmy/events/store.py +104 -0
- sqlspec/adapters/asyncmy/litestar/__init__.py +5 -0
- sqlspec/adapters/asyncmy/litestar/store.py +296 -0
- sqlspec/adapters/asyncpg/__init__.py +26 -0
- sqlspec/adapters/asyncpg/_typing.py +103 -0
- sqlspec/adapters/asyncpg/adk/__init__.py +5 -0
- sqlspec/adapters/asyncpg/adk/store.py +483 -0
- sqlspec/adapters/asyncpg/config.py +575 -0
- sqlspec/adapters/asyncpg/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/asyncpg/core.py +480 -0
- sqlspec/adapters/asyncpg/data_dictionary.py +157 -0
- sqlspec/adapters/asyncpg/driver.py +487 -0
- sqlspec/adapters/asyncpg/events/__init__.py +6 -0
- sqlspec/adapters/asyncpg/events/_hub.py +181 -0
- sqlspec/adapters/asyncpg/events/backend.py +210 -0
- sqlspec/adapters/asyncpg/events/store.py +40 -0
- sqlspec/adapters/asyncpg/litestar/__init__.py +5 -0
- sqlspec/adapters/asyncpg/litestar/store.py +251 -0
- sqlspec/adapters/bigquery/__init__.py +15 -0
- sqlspec/adapters/bigquery/_typing.py +108 -0
- sqlspec/adapters/bigquery/config.py +362 -0
- sqlspec/adapters/bigquery/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/bigquery/core.py +768 -0
- sqlspec/adapters/bigquery/data_dictionary.py +120 -0
- sqlspec/adapters/bigquery/driver.py +542 -0
- sqlspec/adapters/bigquery/events/__init__.py +5 -0
- sqlspec/adapters/bigquery/events/store.py +139 -0
- sqlspec/adapters/bigquery/litestar/__init__.py +5 -0
- sqlspec/adapters/bigquery/litestar/store.py +325 -0
- sqlspec/adapters/bigquery/type_converter.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/bigquery/type_converter.py +107 -0
- sqlspec/adapters/cockroach_asyncpg/__init__.py +26 -0
- sqlspec/adapters/cockroach_asyncpg/_typing.py +73 -0
- sqlspec/adapters/cockroach_asyncpg/adk/__init__.py +3 -0
- sqlspec/adapters/cockroach_asyncpg/adk/store.py +465 -0
- sqlspec/adapters/cockroach_asyncpg/config.py +248 -0
- sqlspec/adapters/cockroach_asyncpg/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/cockroach_asyncpg/core.py +55 -0
- sqlspec/adapters/cockroach_asyncpg/data_dictionary.py +110 -0
- sqlspec/adapters/cockroach_asyncpg/driver.py +142 -0
- sqlspec/adapters/cockroach_asyncpg/events/__init__.py +3 -0
- sqlspec/adapters/cockroach_asyncpg/events/store.py +20 -0
- sqlspec/adapters/cockroach_asyncpg/litestar/__init__.py +3 -0
- sqlspec/adapters/cockroach_asyncpg/litestar/store.py +142 -0
- sqlspec/adapters/cockroach_psycopg/__init__.py +39 -0
- sqlspec/adapters/cockroach_psycopg/_typing.py +137 -0
- sqlspec/adapters/cockroach_psycopg/adk/__init__.py +13 -0
- sqlspec/adapters/cockroach_psycopg/adk/store.py +1039 -0
- sqlspec/adapters/cockroach_psycopg/config.py +511 -0
- sqlspec/adapters/cockroach_psycopg/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/cockroach_psycopg/core.py +63 -0
- sqlspec/adapters/cockroach_psycopg/data_dictionary.py +220 -0
- sqlspec/adapters/cockroach_psycopg/driver.py +273 -0
- sqlspec/adapters/cockroach_psycopg/events/__init__.py +6 -0
- sqlspec/adapters/cockroach_psycopg/events/store.py +34 -0
- sqlspec/adapters/cockroach_psycopg/litestar/__init__.py +3 -0
- sqlspec/adapters/cockroach_psycopg/litestar/store.py +327 -0
- sqlspec/adapters/duckdb/__init__.py +29 -0
- sqlspec/adapters/duckdb/_typing.py +104 -0
- sqlspec/adapters/duckdb/adk/__init__.py +14 -0
- sqlspec/adapters/duckdb/adk/store.py +935 -0
- sqlspec/adapters/duckdb/config.py +386 -0
- sqlspec/adapters/duckdb/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/duckdb/core.py +332 -0
- sqlspec/adapters/duckdb/data_dictionary.py +140 -0
- sqlspec/adapters/duckdb/driver.py +426 -0
- sqlspec/adapters/duckdb/events/__init__.py +5 -0
- sqlspec/adapters/duckdb/events/store.py +57 -0
- sqlspec/adapters/duckdb/litestar/__init__.py +5 -0
- sqlspec/adapters/duckdb/litestar/store.py +330 -0
- sqlspec/adapters/duckdb/pool.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/duckdb/pool.py +350 -0
- sqlspec/adapters/duckdb/type_converter.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/duckdb/type_converter.py +118 -0
- sqlspec/adapters/mysqlconnector/__init__.py +39 -0
- sqlspec/adapters/mysqlconnector/_typing.py +186 -0
- sqlspec/adapters/mysqlconnector/adk/__init__.py +15 -0
- sqlspec/adapters/mysqlconnector/adk/store.py +1183 -0
- sqlspec/adapters/mysqlconnector/config.py +421 -0
- sqlspec/adapters/mysqlconnector/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/mysqlconnector/core.py +472 -0
- sqlspec/adapters/mysqlconnector/data_dictionary.py +230 -0
- sqlspec/adapters/mysqlconnector/driver.py +516 -0
- sqlspec/adapters/mysqlconnector/events/__init__.py +8 -0
- sqlspec/adapters/mysqlconnector/events/store.py +98 -0
- sqlspec/adapters/mysqlconnector/litestar/__init__.py +5 -0
- sqlspec/adapters/mysqlconnector/litestar/store.py +426 -0
- sqlspec/adapters/oracledb/__init__.py +39 -0
- sqlspec/adapters/oracledb/_json_handlers.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/oracledb/_json_handlers.py +196 -0
- sqlspec/adapters/oracledb/_param_types.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/oracledb/_param_types.py +46 -0
- sqlspec/adapters/oracledb/_typing.py +258 -0
- sqlspec/adapters/oracledb/_uuid_handlers.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/oracledb/_uuid_handlers.py +163 -0
- sqlspec/adapters/oracledb/_vector_handlers.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/oracledb/_vector_handlers.py +228 -0
- sqlspec/adapters/oracledb/adk/__init__.py +21 -0
- sqlspec/adapters/oracledb/adk/store.py +2453 -0
- sqlspec/adapters/oracledb/config.py +575 -0
- sqlspec/adapters/oracledb/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/oracledb/core.py +820 -0
- sqlspec/adapters/oracledb/data_dictionary.py +404 -0
- sqlspec/adapters/oracledb/driver.py +1277 -0
- sqlspec/adapters/oracledb/events/__init__.py +16 -0
- sqlspec/adapters/oracledb/events/_hub.py +345 -0
- sqlspec/adapters/oracledb/events/backend.py +300 -0
- sqlspec/adapters/oracledb/events/store.py +420 -0
- sqlspec/adapters/oracledb/litestar/__init__.py +5 -0
- sqlspec/adapters/oracledb/litestar/store.py +781 -0
- sqlspec/adapters/oracledb/migrations.py +539 -0
- sqlspec/adapters/oracledb/type_converter.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/oracledb/type_converter.py +211 -0
- sqlspec/adapters/psqlpy/__init__.py +18 -0
- sqlspec/adapters/psqlpy/_typing.py +121 -0
- sqlspec/adapters/psqlpy/adk/__init__.py +5 -0
- sqlspec/adapters/psqlpy/adk/store.py +591 -0
- sqlspec/adapters/psqlpy/config.py +376 -0
- sqlspec/adapters/psqlpy/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/psqlpy/core.py +694 -0
- sqlspec/adapters/psqlpy/data_dictionary.py +121 -0
- sqlspec/adapters/psqlpy/driver.py +411 -0
- sqlspec/adapters/psqlpy/events/__init__.py +6 -0
- sqlspec/adapters/psqlpy/events/_hub.py +204 -0
- sqlspec/adapters/psqlpy/events/backend.py +210 -0
- sqlspec/adapters/psqlpy/events/store.py +20 -0
- sqlspec/adapters/psqlpy/litestar/__init__.py +5 -0
- sqlspec/adapters/psqlpy/litestar/store.py +270 -0
- sqlspec/adapters/psqlpy/type_converter.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/psqlpy/type_converter.py +113 -0
- sqlspec/adapters/psycopg/__init__.py +38 -0
- sqlspec/adapters/psycopg/_typing.py +218 -0
- sqlspec/adapters/psycopg/adk/__init__.py +10 -0
- sqlspec/adapters/psycopg/adk/store.py +1106 -0
- sqlspec/adapters/psycopg/config.py +695 -0
- sqlspec/adapters/psycopg/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/psycopg/core.py +520 -0
- sqlspec/adapters/psycopg/data_dictionary.py +278 -0
- sqlspec/adapters/psycopg/driver.py +1033 -0
- sqlspec/adapters/psycopg/events/__init__.py +20 -0
- sqlspec/adapters/psycopg/events/_hub.py +388 -0
- sqlspec/adapters/psycopg/events/backend.py +398 -0
- sqlspec/adapters/psycopg/events/store.py +42 -0
- sqlspec/adapters/psycopg/litestar/__init__.py +5 -0
- sqlspec/adapters/psycopg/litestar/store.py +554 -0
- sqlspec/adapters/psycopg/type_converter.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/psycopg/type_converter.py +93 -0
- sqlspec/adapters/pymysql/__init__.py +21 -0
- sqlspec/adapters/pymysql/_typing.py +92 -0
- sqlspec/adapters/pymysql/adk/__init__.py +5 -0
- sqlspec/adapters/pymysql/adk/store.py +657 -0
- sqlspec/adapters/pymysql/config.py +176 -0
- sqlspec/adapters/pymysql/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/pymysql/core.py +469 -0
- sqlspec/adapters/pymysql/data_dictionary.py +120 -0
- sqlspec/adapters/pymysql/driver.py +271 -0
- sqlspec/adapters/pymysql/events/__init__.py +5 -0
- sqlspec/adapters/pymysql/events/store.py +50 -0
- sqlspec/adapters/pymysql/litestar/__init__.py +5 -0
- sqlspec/adapters/pymysql/litestar/store.py +232 -0
- sqlspec/adapters/pymysql/pool.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/pymysql/pool.py +184 -0
- sqlspec/adapters/spanner/__init__.py +33 -0
- sqlspec/adapters/spanner/_typing.py +102 -0
- sqlspec/adapters/spanner/adk/__init__.py +5 -0
- sqlspec/adapters/spanner/adk/store.py +758 -0
- sqlspec/adapters/spanner/config.py +355 -0
- sqlspec/adapters/spanner/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/spanner/core.py +263 -0
- sqlspec/adapters/spanner/data_dictionary.py +120 -0
- sqlspec/adapters/spanner/driver.py +407 -0
- sqlspec/adapters/spanner/events/__init__.py +5 -0
- sqlspec/adapters/spanner/events/store.py +187 -0
- sqlspec/adapters/spanner/litestar/__init__.py +5 -0
- sqlspec/adapters/spanner/litestar/store.py +291 -0
- sqlspec/adapters/spanner/type_converter.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/spanner/type_converter.py +342 -0
- sqlspec/adapters/sqlite/__init__.py +19 -0
- sqlspec/adapters/sqlite/_typing.py +123 -0
- sqlspec/adapters/sqlite/adk/__init__.py +5 -0
- sqlspec/adapters/sqlite/adk/store.py +992 -0
- sqlspec/adapters/sqlite/config.py +240 -0
- sqlspec/adapters/sqlite/core.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/sqlite/core.py +357 -0
- sqlspec/adapters/sqlite/data_dictionary.py +198 -0
- sqlspec/adapters/sqlite/driver.py +527 -0
- sqlspec/adapters/sqlite/events/__init__.py +5 -0
- sqlspec/adapters/sqlite/events/store.py +20 -0
- sqlspec/adapters/sqlite/litestar/__init__.py +5 -0
- sqlspec/adapters/sqlite/litestar/store.py +316 -0
- sqlspec/adapters/sqlite/pool.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/sqlite/pool.py +237 -0
- sqlspec/adapters/sqlite/type_converter.cp314-win_amd64.pyd +0 -0
- sqlspec/adapters/sqlite/type_converter.py +114 -0
- sqlspec/base.py +832 -0
- sqlspec/builder/__init__.py +181 -0
- sqlspec/builder/_base.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_base.py +1071 -0
- sqlspec/builder/_column.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_column.py +521 -0
- sqlspec/builder/_ddl.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_ddl.py +1691 -0
- sqlspec/builder/_delete.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_delete.py +95 -0
- sqlspec/builder/_dml.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_dml.py +386 -0
- sqlspec/builder/_explain.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_explain.py +579 -0
- sqlspec/builder/_expression_wrappers.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_expression_wrappers.py +46 -0
- sqlspec/builder/_factory.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_factory.py +1884 -0
- sqlspec/builder/_insert.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_insert.py +405 -0
- sqlspec/builder/_join.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_join.py +489 -0
- sqlspec/builder/_merge.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_merge.py +823 -0
- sqlspec/builder/_parsing_utils.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_parsing_utils.py +295 -0
- sqlspec/builder/_select.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_select.py +1666 -0
- sqlspec/builder/_temporal.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_temporal.py +167 -0
- sqlspec/builder/_update.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_update.py +173 -0
- sqlspec/builder/_vector_distance.cp314-win_amd64.pyd +0 -0
- sqlspec/builder/_vector_distance.py +330 -0
- sqlspec/cli.py +1095 -0
- sqlspec/config.py +2383 -0
- sqlspec/core/__init__.py +372 -0
- sqlspec/core/_correlation.cp314-win_amd64.pyd +0 -0
- sqlspec/core/_correlation.py +176 -0
- sqlspec/core/_pagination.py +42 -0
- sqlspec/core/_pool.cp314-win_amd64.pyd +0 -0
- sqlspec/core/_pool.py +76 -0
- sqlspec/core/cache.cp314-win_amd64.pyd +0 -0
- sqlspec/core/cache.py +1085 -0
- sqlspec/core/compiler.cp314-win_amd64.pyd +0 -0
- sqlspec/core/compiler.py +1090 -0
- sqlspec/core/config_runtime.cp314-win_amd64.pyd +0 -0
- sqlspec/core/config_runtime.py +174 -0
- sqlspec/core/explain.cp314-win_amd64.pyd +0 -0
- sqlspec/core/explain.py +275 -0
- sqlspec/core/filters.cp314-win_amd64.pyd +0 -0
- sqlspec/core/filters.py +969 -0
- sqlspec/core/hashing.cp314-win_amd64.pyd +0 -0
- sqlspec/core/hashing.py +266 -0
- sqlspec/core/metrics.cp314-win_amd64.pyd +0 -0
- sqlspec/core/metrics.py +83 -0
- sqlspec/core/parameters/__init__.py +72 -0
- sqlspec/core/parameters/_alignment.cp314-win_amd64.pyd +0 -0
- sqlspec/core/parameters/_alignment.py +283 -0
- sqlspec/core/parameters/_converter.cp314-win_amd64.pyd +0 -0
- sqlspec/core/parameters/_converter.py +554 -0
- sqlspec/core/parameters/_processor.cp314-win_amd64.pyd +0 -0
- sqlspec/core/parameters/_processor.py +1182 -0
- sqlspec/core/parameters/_registry.cp314-win_amd64.pyd +0 -0
- sqlspec/core/parameters/_registry.py +206 -0
- sqlspec/core/parameters/_transformers.cp314-win_amd64.pyd +0 -0
- sqlspec/core/parameters/_transformers.py +324 -0
- sqlspec/core/parameters/_types.cp314-win_amd64.pyd +0 -0
- sqlspec/core/parameters/_types.py +536 -0
- sqlspec/core/parameters/_validator.cp314-win_amd64.pyd +0 -0
- sqlspec/core/parameters/_validator.py +171 -0
- sqlspec/core/pipeline.cp314-win_amd64.pyd +0 -0
- sqlspec/core/pipeline.py +333 -0
- sqlspec/core/query_modifiers.cp314-win_amd64.pyd +0 -0
- sqlspec/core/query_modifiers.py +508 -0
- sqlspec/core/result/__init__.py +25 -0
- sqlspec/core/result/_base.cp314-win_amd64.pyd +0 -0
- sqlspec/core/result/_base.py +1232 -0
- sqlspec/core/result/_io.cp314-win_amd64.pyd +0 -0
- sqlspec/core/result/_io.py +28 -0
- sqlspec/core/splitter.cp314-win_amd64.pyd +0 -0
- sqlspec/core/splitter.py +1021 -0
- sqlspec/core/sqlcommenter.cp314-win_amd64.pyd +0 -0
- sqlspec/core/sqlcommenter.py +249 -0
- sqlspec/core/stack.cp314-win_amd64.pyd +0 -0
- sqlspec/core/stack.py +163 -0
- sqlspec/core/statement.cp314-win_amd64.pyd +0 -0
- sqlspec/core/statement.py +1865 -0
- sqlspec/core/type_converter.cp314-win_amd64.pyd +0 -0
- sqlspec/core/type_converter.py +340 -0
- sqlspec/data_dictionary/__init__.py +22 -0
- sqlspec/data_dictionary/_loader.cp314-win_amd64.pyd +0 -0
- sqlspec/data_dictionary/_loader.py +138 -0
- sqlspec/data_dictionary/_registry.cp314-win_amd64.pyd +0 -0
- sqlspec/data_dictionary/_registry.py +74 -0
- sqlspec/data_dictionary/_types.cp314-win_amd64.pyd +0 -0
- sqlspec/data_dictionary/_types.py +121 -0
- sqlspec/data_dictionary/dialects/__init__.py +21 -0
- sqlspec/data_dictionary/dialects/bigquery.cp314-win_amd64.pyd +0 -0
- sqlspec/data_dictionary/dialects/bigquery.py +81 -0
- sqlspec/data_dictionary/dialects/cockroachdb.cp314-win_amd64.pyd +0 -0
- sqlspec/data_dictionary/dialects/cockroachdb.py +54 -0
- sqlspec/data_dictionary/dialects/duckdb.cp314-win_amd64.pyd +0 -0
- sqlspec/data_dictionary/dialects/duckdb.py +47 -0
- sqlspec/data_dictionary/dialects/mysql.cp314-win_amd64.pyd +0 -0
- sqlspec/data_dictionary/dialects/mysql.py +53 -0
- sqlspec/data_dictionary/dialects/oracle.cp314-win_amd64.pyd +0 -0
- sqlspec/data_dictionary/dialects/oracle.py +197 -0
- sqlspec/data_dictionary/dialects/postgres.cp314-win_amd64.pyd +0 -0
- sqlspec/data_dictionary/dialects/postgres.py +69 -0
- sqlspec/data_dictionary/dialects/spanner.cp314-win_amd64.pyd +0 -0
- sqlspec/data_dictionary/dialects/spanner.py +37 -0
- sqlspec/data_dictionary/dialects/sqlite.cp314-win_amd64.pyd +0 -0
- sqlspec/data_dictionary/dialects/sqlite.py +59 -0
- sqlspec/data_dictionary/sql/.gitkeep +0 -0
- sqlspec/data_dictionary/sql/bigquery/columns.sql +23 -0
- sqlspec/data_dictionary/sql/bigquery/foreign_keys.sql +34 -0
- sqlspec/data_dictionary/sql/bigquery/indexes.sql +19 -0
- sqlspec/data_dictionary/sql/bigquery/tables.sql +33 -0
- sqlspec/data_dictionary/sql/bigquery/version.sql +3 -0
- sqlspec/data_dictionary/sql/cockroachdb/columns.sql +34 -0
- sqlspec/data_dictionary/sql/cockroachdb/foreign_keys.sql +40 -0
- sqlspec/data_dictionary/sql/cockroachdb/indexes.sql +32 -0
- sqlspec/data_dictionary/sql/cockroachdb/tables.sql +44 -0
- sqlspec/data_dictionary/sql/cockroachdb/version.sql +3 -0
- sqlspec/data_dictionary/sql/duckdb/columns.sql +23 -0
- sqlspec/data_dictionary/sql/duckdb/foreign_keys.sql +36 -0
- sqlspec/data_dictionary/sql/duckdb/indexes.sql +19 -0
- sqlspec/data_dictionary/sql/duckdb/tables.sql +38 -0
- sqlspec/data_dictionary/sql/duckdb/version.sql +3 -0
- sqlspec/data_dictionary/sql/mysql/columns.sql +23 -0
- sqlspec/data_dictionary/sql/mysql/foreign_keys.sql +28 -0
- sqlspec/data_dictionary/sql/mysql/indexes.sql +26 -0
- sqlspec/data_dictionary/sql/mysql/tables.sql +33 -0
- sqlspec/data_dictionary/sql/mysql/version.sql +3 -0
- sqlspec/data_dictionary/sql/oracle/columns.sql +23 -0
- sqlspec/data_dictionary/sql/oracle/foreign_keys.sql +48 -0
- sqlspec/data_dictionary/sql/oracle/indexes.sql +44 -0
- sqlspec/data_dictionary/sql/oracle/tables.sql +25 -0
- sqlspec/data_dictionary/sql/oracle/version.sql +20 -0
- sqlspec/data_dictionary/sql/postgres/columns.sql +34 -0
- sqlspec/data_dictionary/sql/postgres/foreign_keys.sql +40 -0
- sqlspec/data_dictionary/sql/postgres/indexes.sql +56 -0
- sqlspec/data_dictionary/sql/postgres/tables.sql +44 -0
- sqlspec/data_dictionary/sql/postgres/version.sql +3 -0
- sqlspec/data_dictionary/sql/spanner/columns.sql +23 -0
- sqlspec/data_dictionary/sql/spanner/foreign_keys.sql +70 -0
- sqlspec/data_dictionary/sql/spanner/indexes.sql +30 -0
- sqlspec/data_dictionary/sql/spanner/tables.sql +9 -0
- sqlspec/data_dictionary/sql/spanner/version.sql +3 -0
- sqlspec/data_dictionary/sql/sqlite/columns.sql +23 -0
- sqlspec/data_dictionary/sql/sqlite/foreign_keys.sql +22 -0
- sqlspec/data_dictionary/sql/sqlite/indexes.sql +7 -0
- sqlspec/data_dictionary/sql/sqlite/tables.sql +28 -0
- sqlspec/data_dictionary/sql/sqlite/version.sql +3 -0
- sqlspec/dialects/__init__.py +22 -0
- sqlspec/dialects/_compat.cp314-win_amd64.pyd +0 -0
- sqlspec/dialects/_compat.py +14 -0
- sqlspec/dialects/postgres/__init__.py +9 -0
- sqlspec/dialects/postgres/_generators.cp314-win_amd64.pyd +0 -0
- sqlspec/dialects/postgres/_generators.py +57 -0
- sqlspec/dialects/postgres/_operators.cp314-win_amd64.pyd +0 -0
- sqlspec/dialects/postgres/_operators.py +81 -0
- sqlspec/dialects/postgres/_paradedb.py +50 -0
- sqlspec/dialects/postgres/_pgvector.py +36 -0
- sqlspec/dialects/spanner/__init__.py +6 -0
- sqlspec/dialects/spanner/_generators.cp314-win_amd64.pyd +0 -0
- sqlspec/dialects/spanner/_generators.py +206 -0
- sqlspec/dialects/spanner/_spangres.py +77 -0
- sqlspec/dialects/spanner/_spanner.py +179 -0
- sqlspec/driver/__init__.py +49 -0
- sqlspec/driver/_async.cp314-win_amd64.pyd +0 -0
- sqlspec/driver/_async.py +1830 -0
- sqlspec/driver/_common.cp314-win_amd64.pyd +0 -0
- sqlspec/driver/_common.py +2292 -0
- sqlspec/driver/_exception_handler.cp314-win_amd64.pyd +0 -0
- sqlspec/driver/_exception_handler.py +108 -0
- sqlspec/driver/_query_cache.cp314-win_amd64.pyd +0 -0
- sqlspec/driver/_query_cache.py +96 -0
- sqlspec/driver/_sql_helpers.cp314-win_amd64.pyd +0 -0
- sqlspec/driver/_sql_helpers.py +139 -0
- sqlspec/driver/_storage_helpers.cp314-win_amd64.pyd +0 -0
- sqlspec/driver/_storage_helpers.py +153 -0
- sqlspec/driver/_sync.cp314-win_amd64.pyd +0 -0
- sqlspec/driver/_sync.py +1817 -0
- sqlspec/exceptions.cp314-win_amd64.pyd +0 -0
- sqlspec/exceptions.py +480 -0
- sqlspec/extensions/__init__.py +0 -0
- sqlspec/extensions/adk/__init__.py +84 -0
- sqlspec/extensions/adk/_config_utils.py +199 -0
- sqlspec/extensions/adk/_types.cp314-win_amd64.pyd +0 -0
- sqlspec/extensions/adk/_types.py +41 -0
- sqlspec/extensions/adk/artifact/__init__.py +57 -0
- sqlspec/extensions/adk/artifact/_types.cp314-win_amd64.pyd +0 -0
- sqlspec/extensions/adk/artifact/_types.py +32 -0
- sqlspec/extensions/adk/artifact/service.py +508 -0
- sqlspec/extensions/adk/artifact/store.py +361 -0
- sqlspec/extensions/adk/converters.py +212 -0
- sqlspec/extensions/adk/memory/__init__.py +69 -0
- sqlspec/extensions/adk/memory/_types.cp314-win_amd64.pyd +0 -0
- sqlspec/extensions/adk/memory/_types.py +30 -0
- sqlspec/extensions/adk/memory/converters.py +225 -0
- sqlspec/extensions/adk/memory/service.py +316 -0
- sqlspec/extensions/adk/memory/store.py +525 -0
- sqlspec/extensions/adk/migrations/0001_create_adk_tables.py +184 -0
- sqlspec/extensions/adk/migrations/__init__.py +0 -0
- sqlspec/extensions/adk/service.py +279 -0
- sqlspec/extensions/adk/store.py +590 -0
- sqlspec/extensions/events/__init__.py +51 -0
- sqlspec/extensions/events/_channel.py +703 -0
- sqlspec/extensions/events/_hints.cp314-win_amd64.pyd +0 -0
- sqlspec/extensions/events/_hints.py +45 -0
- sqlspec/extensions/events/_models.py +23 -0
- sqlspec/extensions/events/_payload.cp314-win_amd64.pyd +0 -0
- sqlspec/extensions/events/_payload.py +69 -0
- sqlspec/extensions/events/_protocols.py +134 -0
- sqlspec/extensions/events/_queue.py +462 -0
- sqlspec/extensions/events/_store.py +209 -0
- sqlspec/extensions/events/migrations/0001_create_event_queue.py +59 -0
- sqlspec/extensions/events/migrations/__init__.py +3 -0
- sqlspec/extensions/fastapi/__init__.py +22 -0
- sqlspec/extensions/fastapi/extension.py +391 -0
- sqlspec/extensions/fastapi/providers.cp314-win_amd64.pyd +0 -0
- sqlspec/extensions/fastapi/providers.py +712 -0
- sqlspec/extensions/flask/__init__.py +38 -0
- sqlspec/extensions/flask/_state.py +87 -0
- sqlspec/extensions/flask/_utils.py +71 -0
- sqlspec/extensions/flask/extension.py +539 -0
- sqlspec/extensions/litestar/__init__.py +31 -0
- sqlspec/extensions/litestar/_utils.py +52 -0
- sqlspec/extensions/litestar/channels.py +165 -0
- sqlspec/extensions/litestar/cli.py +102 -0
- sqlspec/extensions/litestar/config.py +90 -0
- sqlspec/extensions/litestar/handlers.py +316 -0
- sqlspec/extensions/litestar/migrations/0001_create_session_table.py +137 -0
- sqlspec/extensions/litestar/migrations/__init__.py +3 -0
- sqlspec/extensions/litestar/plugin.py +1066 -0
- sqlspec/extensions/litestar/providers.cp314-win_amd64.pyd +0 -0
- sqlspec/extensions/litestar/providers.py +784 -0
- sqlspec/extensions/litestar/store.py +298 -0
- sqlspec/extensions/otel/__init__.py +58 -0
- sqlspec/extensions/prometheus/__init__.py +113 -0
- sqlspec/extensions/sanic/__init__.py +19 -0
- sqlspec/extensions/sanic/_state.py +43 -0
- sqlspec/extensions/sanic/_utils.py +127 -0
- sqlspec/extensions/sanic/extension.py +647 -0
- sqlspec/extensions/starlette/__init__.py +22 -0
- sqlspec/extensions/starlette/_state.py +42 -0
- sqlspec/extensions/starlette/_utils.py +96 -0
- sqlspec/extensions/starlette/extension.py +374 -0
- sqlspec/extensions/starlette/middleware.py +281 -0
- sqlspec/loader.cp314-win_amd64.pyd +0 -0
- sqlspec/loader.py +727 -0
- sqlspec/migrations/__init__.py +39 -0
- sqlspec/migrations/base.cp314-win_amd64.pyd +0 -0
- sqlspec/migrations/base.py +862 -0
- sqlspec/migrations/commands.py +2151 -0
- sqlspec/migrations/context.cp314-win_amd64.pyd +0 -0
- sqlspec/migrations/context.py +157 -0
- sqlspec/migrations/fix.cp314-win_amd64.pyd +0 -0
- sqlspec/migrations/fix.py +204 -0
- sqlspec/migrations/loaders.cp314-win_amd64.pyd +0 -0
- sqlspec/migrations/loaders.py +443 -0
- sqlspec/migrations/runner.cp314-win_amd64.pyd +0 -0
- sqlspec/migrations/runner.py +1195 -0
- sqlspec/migrations/squash.cp314-win_amd64.pyd +0 -0
- sqlspec/migrations/squash.py +490 -0
- sqlspec/migrations/templates.cp314-win_amd64.pyd +0 -0
- sqlspec/migrations/templates.py +234 -0
- sqlspec/migrations/tracker.cp314-win_amd64.pyd +0 -0
- sqlspec/migrations/tracker.py +792 -0
- sqlspec/migrations/utils.cp314-win_amd64.pyd +0 -0
- sqlspec/migrations/utils.py +256 -0
- sqlspec/migrations/validation.cp314-win_amd64.pyd +0 -0
- sqlspec/migrations/validation.py +359 -0
- sqlspec/migrations/version.cp314-win_amd64.pyd +0 -0
- sqlspec/migrations/version.py +446 -0
- sqlspec/observability/__init__.py +57 -0
- sqlspec/observability/_common.cp314-win_amd64.pyd +0 -0
- sqlspec/observability/_common.py +77 -0
- sqlspec/observability/_config.cp314-win_amd64.pyd +0 -0
- sqlspec/observability/_config.py +364 -0
- sqlspec/observability/_diagnostics.cp314-win_amd64.pyd +0 -0
- sqlspec/observability/_diagnostics.py +74 -0
- sqlspec/observability/_dispatcher.cp314-win_amd64.pyd +0 -0
- sqlspec/observability/_dispatcher.py +200 -0
- sqlspec/observability/_formatters/__init__.py +13 -0
- sqlspec/observability/_formatters/_aws.cp314-win_amd64.pyd +0 -0
- sqlspec/observability/_formatters/_aws.py +102 -0
- sqlspec/observability/_formatters/_azure.cp314-win_amd64.pyd +0 -0
- sqlspec/observability/_formatters/_azure.py +96 -0
- sqlspec/observability/_formatters/_base.cp314-win_amd64.pyd +0 -0
- sqlspec/observability/_formatters/_base.py +57 -0
- sqlspec/observability/_formatters/_gcp.cp314-win_amd64.pyd +0 -0
- sqlspec/observability/_formatters/_gcp.py +131 -0
- sqlspec/observability/_formatting.py +58 -0
- sqlspec/observability/_observer.cp314-win_amd64.pyd +0 -0
- sqlspec/observability/_observer.py +361 -0
- sqlspec/observability/_runtime.cp314-win_amd64.pyd +0 -0
- sqlspec/observability/_runtime.py +461 -0
- sqlspec/observability/_sampling.cp314-win_amd64.pyd +0 -0
- sqlspec/observability/_sampling.py +188 -0
- sqlspec/observability/_spans.cp314-win_amd64.pyd +0 -0
- sqlspec/observability/_spans.py +161 -0
- sqlspec/protocols.py +955 -0
- sqlspec/py.typed +0 -0
- sqlspec/service.py +433 -0
- sqlspec/storage/__init__.py +48 -0
- sqlspec/storage/_arrow_payload.py +68 -0
- sqlspec/storage/_paths.cp314-win_amd64.pyd +0 -0
- sqlspec/storage/_paths.py +58 -0
- sqlspec/storage/_utils.py +46 -0
- sqlspec/storage/backends/__init__.py +1 -0
- sqlspec/storage/backends/base.cp314-win_amd64.pyd +0 -0
- sqlspec/storage/backends/base.py +374 -0
- sqlspec/storage/backends/fsspec.py +574 -0
- sqlspec/storage/backends/local.py +468 -0
- sqlspec/storage/backends/obstore.py +956 -0
- sqlspec/storage/errors.cp314-win_amd64.pyd +0 -0
- sqlspec/storage/errors.py +102 -0
- sqlspec/storage/pipeline.cp314-win_amd64.pyd +0 -0
- sqlspec/storage/pipeline.py +628 -0
- sqlspec/storage/registry.cp314-win_amd64.pyd +0 -0
- sqlspec/storage/registry.py +329 -0
- sqlspec/typing.py +405 -0
- sqlspec/utils/__init__.py +7 -0
- sqlspec/utils/arrow_helpers.py +384 -0
- sqlspec/utils/config_tools.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/config_tools.py +314 -0
- sqlspec/utils/correlation.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/correlation.py +134 -0
- sqlspec/utils/deprecation.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/deprecation.py +157 -0
- sqlspec/utils/dispatch.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/dispatch.py +101 -0
- sqlspec/utils/fixtures.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/fixtures.py +260 -0
- sqlspec/utils/logging.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/logging.py +251 -0
- sqlspec/utils/module_loader.py +306 -0
- sqlspec/utils/portal.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/portal.py +377 -0
- sqlspec/utils/schema.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/schema.py +1040 -0
- sqlspec/utils/serializers/__init__.py +30 -0
- sqlspec/utils/serializers/_json.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/serializers/_json.py +415 -0
- sqlspec/utils/serializers/_numpy.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/serializers/_numpy.py +65 -0
- sqlspec/utils/serializers/_schema.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/serializers/_schema.py +285 -0
- sqlspec/utils/singleton.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/singleton.py +41 -0
- sqlspec/utils/sync_tools.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/sync_tools.py +316 -0
- sqlspec/utils/text.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/text.py +109 -0
- sqlspec/utils/type_converters.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/type_converters.py +216 -0
- sqlspec/utils/type_guards.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/type_guards.py +1508 -0
- sqlspec/utils/uuids.cp314-win_amd64.pyd +0 -0
- sqlspec/utils/uuids.py +241 -0
- sqlspec-0.47.0.dist-info/METADATA +202 -0
- sqlspec-0.47.0.dist-info/RECORD +621 -0
- sqlspec-0.47.0.dist-info/WHEEL +4 -0
- sqlspec-0.47.0.dist-info/entry_points.txt +6 -0
- sqlspec-0.47.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
-- name: foreign_keys_by_table
|
|
2
|
+
-- dialect: bigquery
|
|
3
|
+
SELECT
|
|
4
|
+
kcu.table_name,
|
|
5
|
+
kcu.column_name,
|
|
6
|
+
pk_kcu.table_name AS referenced_table_name,
|
|
7
|
+
pk_kcu.column_name AS referenced_column_name,
|
|
8
|
+
kcu.constraint_name,
|
|
9
|
+
kcu.table_schema,
|
|
10
|
+
pk_kcu.table_schema AS referenced_table_schema
|
|
11
|
+
FROM {kcu_table} kcu
|
|
12
|
+
JOIN {rc_table} rc ON kcu.constraint_name = rc.constraint_name
|
|
13
|
+
JOIN {kcu_table} pk_kcu
|
|
14
|
+
ON rc.unique_constraint_name = pk_kcu.constraint_name
|
|
15
|
+
AND kcu.ordinal_position = pk_kcu.ordinal_position
|
|
16
|
+
WHERE kcu.table_name = :table_name
|
|
17
|
+
AND (:schema_name IS NULL OR kcu.table_schema = :schema_name);
|
|
18
|
+
|
|
19
|
+
-- name: foreign_keys_by_schema
|
|
20
|
+
-- dialect: bigquery
|
|
21
|
+
SELECT
|
|
22
|
+
kcu.table_name,
|
|
23
|
+
kcu.column_name,
|
|
24
|
+
pk_kcu.table_name AS referenced_table_name,
|
|
25
|
+
pk_kcu.column_name AS referenced_column_name,
|
|
26
|
+
kcu.constraint_name,
|
|
27
|
+
kcu.table_schema,
|
|
28
|
+
pk_kcu.table_schema AS referenced_table_schema
|
|
29
|
+
FROM {kcu_table} kcu
|
|
30
|
+
JOIN {rc_table} rc ON kcu.constraint_name = rc.constraint_name
|
|
31
|
+
JOIN {kcu_table} pk_kcu
|
|
32
|
+
ON rc.unique_constraint_name = pk_kcu.constraint_name
|
|
33
|
+
AND kcu.ordinal_position = pk_kcu.ordinal_position
|
|
34
|
+
WHERE (:schema_name IS NULL OR kcu.table_schema = :schema_name);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
-- name: indexes_by_table
|
|
2
|
+
-- dialect: bigquery
|
|
3
|
+
SELECT
|
|
4
|
+
NULL AS index_name,
|
|
5
|
+
NULL AS table_name,
|
|
6
|
+
NULL AS is_unique,
|
|
7
|
+
NULL AS is_primary,
|
|
8
|
+
NULL AS columns
|
|
9
|
+
WHERE FALSE;
|
|
10
|
+
|
|
11
|
+
-- name: indexes_by_schema
|
|
12
|
+
-- dialect: bigquery
|
|
13
|
+
SELECT
|
|
14
|
+
NULL AS index_name,
|
|
15
|
+
NULL AS table_name,
|
|
16
|
+
NULL AS is_unique,
|
|
17
|
+
NULL AS is_primary,
|
|
18
|
+
NULL AS columns
|
|
19
|
+
WHERE FALSE;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
-- name: tables_by_schema
|
|
2
|
+
-- dialect: bigquery
|
|
3
|
+
WITH RECURSIVE dependency_tree AS (
|
|
4
|
+
SELECT
|
|
5
|
+
t.table_name,
|
|
6
|
+
0 AS level,
|
|
7
|
+
[t.table_name] AS path
|
|
8
|
+
FROM {tables_table} t
|
|
9
|
+
WHERE t.table_type = 'BASE TABLE'
|
|
10
|
+
AND NOT EXISTS (
|
|
11
|
+
SELECT 1
|
|
12
|
+
FROM {kcu_table} kcu
|
|
13
|
+
JOIN {rc_table} rc ON kcu.constraint_name = rc.constraint_name
|
|
14
|
+
WHERE kcu.table_name = t.table_name
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
UNION ALL
|
|
18
|
+
|
|
19
|
+
SELECT
|
|
20
|
+
kcu.table_name,
|
|
21
|
+
dt.level + 1,
|
|
22
|
+
ARRAY_CONCAT(dt.path, [kcu.table_name])
|
|
23
|
+
FROM {kcu_table} kcu
|
|
24
|
+
JOIN {rc_table} rc ON kcu.constraint_name = rc.constraint_name
|
|
25
|
+
JOIN {kcu_table} pk_kcu
|
|
26
|
+
ON rc.unique_constraint_name = pk_kcu.constraint_name
|
|
27
|
+
AND kcu.ordinal_position = pk_kcu.ordinal_position
|
|
28
|
+
JOIN dependency_tree dt ON pk_kcu.table_name = dt.table_name
|
|
29
|
+
WHERE kcu.table_name NOT IN UNNEST(dt.path)
|
|
30
|
+
)
|
|
31
|
+
SELECT DISTINCT table_name
|
|
32
|
+
FROM dependency_tree
|
|
33
|
+
ORDER BY level, table_name;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
-- name: columns_by_table
|
|
2
|
+
-- dialect: cockroachdb
|
|
3
|
+
SELECT
|
|
4
|
+
a.attname::text AS column_name,
|
|
5
|
+
pg_catalog.format_type(a.atttypid, a.atttypmod) AS data_type,
|
|
6
|
+
CASE WHEN a.attnotnull THEN 'NO' ELSE 'YES' END AS is_nullable,
|
|
7
|
+
pg_catalog.pg_get_expr(d.adbin, d.adrelid)::text AS column_default
|
|
8
|
+
FROM pg_catalog.pg_attribute a
|
|
9
|
+
JOIN pg_catalog.pg_class c ON a.attrelid = c.oid
|
|
10
|
+
JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid
|
|
11
|
+
LEFT JOIN pg_catalog.pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
|
|
12
|
+
WHERE c.relname = :table_name
|
|
13
|
+
AND n.nspname = :schema_name
|
|
14
|
+
AND a.attnum > 0
|
|
15
|
+
AND NOT a.attisdropped
|
|
16
|
+
ORDER BY a.attnum;
|
|
17
|
+
|
|
18
|
+
-- name: columns_by_schema
|
|
19
|
+
-- dialect: cockroachdb
|
|
20
|
+
SELECT
|
|
21
|
+
n.nspname::text AS schema_name,
|
|
22
|
+
c.relname::text AS table_name,
|
|
23
|
+
a.attname::text AS column_name,
|
|
24
|
+
pg_catalog.format_type(a.atttypid, a.atttypmod) AS data_type,
|
|
25
|
+
CASE WHEN a.attnotnull THEN 'NO' ELSE 'YES' END AS is_nullable,
|
|
26
|
+
pg_catalog.pg_get_expr(d.adbin, d.adrelid)::text AS column_default
|
|
27
|
+
FROM pg_catalog.pg_attribute a
|
|
28
|
+
JOIN pg_catalog.pg_class c ON a.attrelid = c.oid
|
|
29
|
+
JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid
|
|
30
|
+
LEFT JOIN pg_catalog.pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
|
|
31
|
+
WHERE n.nspname = :schema_name
|
|
32
|
+
AND a.attnum > 0
|
|
33
|
+
AND NOT a.attisdropped
|
|
34
|
+
ORDER BY c.relname, a.attnum;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
-- name: foreign_keys_by_table
|
|
2
|
+
-- dialect: cockroachdb
|
|
3
|
+
SELECT
|
|
4
|
+
tc.constraint_name::text AS constraint_name,
|
|
5
|
+
kcu.column_name::text AS column_name,
|
|
6
|
+
ccu.table_name::text AS referenced_table,
|
|
7
|
+
ccu.column_name::text AS referenced_column,
|
|
8
|
+
tc.table_name::text AS table_name,
|
|
9
|
+
tc.table_schema::text AS table_schema
|
|
10
|
+
FROM information_schema.table_constraints tc
|
|
11
|
+
JOIN information_schema.key_column_usage kcu
|
|
12
|
+
ON tc.constraint_name = kcu.constraint_name
|
|
13
|
+
AND tc.table_schema = kcu.table_schema
|
|
14
|
+
JOIN information_schema.constraint_column_usage ccu
|
|
15
|
+
ON ccu.constraint_name = tc.constraint_name
|
|
16
|
+
AND ccu.table_schema = tc.table_schema
|
|
17
|
+
WHERE tc.constraint_type = 'FOREIGN KEY'
|
|
18
|
+
AND tc.table_schema = :schema_name
|
|
19
|
+
AND tc.table_name = :table_name
|
|
20
|
+
ORDER BY tc.constraint_name, kcu.column_name;
|
|
21
|
+
|
|
22
|
+
-- name: foreign_keys_by_schema
|
|
23
|
+
-- dialect: cockroachdb
|
|
24
|
+
SELECT
|
|
25
|
+
tc.constraint_name::text AS constraint_name,
|
|
26
|
+
kcu.column_name::text AS column_name,
|
|
27
|
+
ccu.table_name::text AS referenced_table,
|
|
28
|
+
ccu.column_name::text AS referenced_column,
|
|
29
|
+
tc.table_name::text AS table_name,
|
|
30
|
+
tc.table_schema::text AS table_schema
|
|
31
|
+
FROM information_schema.table_constraints tc
|
|
32
|
+
JOIN information_schema.key_column_usage kcu
|
|
33
|
+
ON tc.constraint_name = kcu.constraint_name
|
|
34
|
+
AND tc.table_schema = kcu.table_schema
|
|
35
|
+
JOIN information_schema.constraint_column_usage ccu
|
|
36
|
+
ON ccu.constraint_name = tc.constraint_name
|
|
37
|
+
AND ccu.table_schema = tc.table_schema
|
|
38
|
+
WHERE tc.constraint_type = 'FOREIGN KEY'
|
|
39
|
+
AND tc.table_schema = :schema_name
|
|
40
|
+
ORDER BY tc.table_name, tc.constraint_name, kcu.column_name;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
-- name: indexes_by_table
|
|
2
|
+
-- dialect: cockroachdb
|
|
3
|
+
SELECT
|
|
4
|
+
i.relname::text AS index_name,
|
|
5
|
+
a.attname::text AS column_name,
|
|
6
|
+
ix.indisunique AS is_unique,
|
|
7
|
+
ix.indisprimary AS is_primary
|
|
8
|
+
FROM pg_catalog.pg_class t
|
|
9
|
+
JOIN pg_catalog.pg_namespace n ON t.relnamespace = n.oid
|
|
10
|
+
JOIN pg_catalog.pg_index ix ON t.oid = ix.indrelid
|
|
11
|
+
JOIN pg_catalog.pg_class i ON i.oid = ix.indexrelid
|
|
12
|
+
JOIN pg_catalog.pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(ix.indkey)
|
|
13
|
+
WHERE t.relname = :table_name
|
|
14
|
+
AND n.nspname = :schema_name
|
|
15
|
+
ORDER BY i.relname, a.attnum;
|
|
16
|
+
|
|
17
|
+
-- name: indexes_by_schema
|
|
18
|
+
-- dialect: cockroachdb
|
|
19
|
+
SELECT
|
|
20
|
+
n.nspname::text AS schema_name,
|
|
21
|
+
t.relname::text AS table_name,
|
|
22
|
+
i.relname::text AS index_name,
|
|
23
|
+
a.attname::text AS column_name,
|
|
24
|
+
ix.indisunique AS is_unique,
|
|
25
|
+
ix.indisprimary AS is_primary
|
|
26
|
+
FROM pg_catalog.pg_class t
|
|
27
|
+
JOIN pg_catalog.pg_namespace n ON t.relnamespace = n.oid
|
|
28
|
+
JOIN pg_catalog.pg_index ix ON t.oid = ix.indrelid
|
|
29
|
+
JOIN pg_catalog.pg_class i ON i.oid = ix.indexrelid
|
|
30
|
+
JOIN pg_catalog.pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(ix.indkey)
|
|
31
|
+
WHERE n.nspname = :schema_name
|
|
32
|
+
ORDER BY t.relname, i.relname, a.attnum;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
-- name: tables_by_schema
|
|
2
|
+
-- dialect: cockroachdb
|
|
3
|
+
WITH RECURSIVE dependency_tree AS (
|
|
4
|
+
SELECT
|
|
5
|
+
t.table_name::text,
|
|
6
|
+
0 AS level,
|
|
7
|
+
ARRAY[t.table_name::text] AS path
|
|
8
|
+
FROM information_schema.tables t
|
|
9
|
+
WHERE t.table_type = 'BASE TABLE'
|
|
10
|
+
AND t.table_schema = :schema_name
|
|
11
|
+
AND NOT EXISTS (
|
|
12
|
+
SELECT 1
|
|
13
|
+
FROM information_schema.table_constraints tc
|
|
14
|
+
JOIN information_schema.key_column_usage kcu
|
|
15
|
+
ON tc.constraint_name = kcu.constraint_name
|
|
16
|
+
AND tc.table_schema = kcu.table_schema
|
|
17
|
+
WHERE tc.constraint_type = 'FOREIGN KEY'
|
|
18
|
+
AND tc.table_name = t.table_name
|
|
19
|
+
AND tc.table_schema = t.table_schema
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
UNION ALL
|
|
23
|
+
|
|
24
|
+
SELECT
|
|
25
|
+
tc.table_name::text,
|
|
26
|
+
dt.level + 1,
|
|
27
|
+
dt.path || tc.table_name::text
|
|
28
|
+
FROM information_schema.table_constraints tc
|
|
29
|
+
JOIN information_schema.key_column_usage kcu
|
|
30
|
+
ON tc.constraint_name = kcu.constraint_name
|
|
31
|
+
AND tc.table_schema = kcu.table_schema
|
|
32
|
+
JOIN information_schema.constraint_column_usage ccu
|
|
33
|
+
ON ccu.constraint_name = tc.constraint_name
|
|
34
|
+
AND ccu.table_schema = tc.table_schema
|
|
35
|
+
JOIN dependency_tree dt
|
|
36
|
+
ON ccu.table_name = dt.table_name
|
|
37
|
+
WHERE tc.constraint_type = 'FOREIGN KEY'
|
|
38
|
+
AND tc.table_schema = :schema_name
|
|
39
|
+
AND ccu.table_schema = :schema_name
|
|
40
|
+
AND NOT (tc.table_name = ANY(dt.path))
|
|
41
|
+
)
|
|
42
|
+
SELECT DISTINCT table_name, level
|
|
43
|
+
FROM dependency_tree
|
|
44
|
+
ORDER BY level, table_name;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
-- name: columns_by_table
|
|
2
|
+
-- dialect: duckdb
|
|
3
|
+
SELECT
|
|
4
|
+
column_name,
|
|
5
|
+
data_type,
|
|
6
|
+
is_nullable,
|
|
7
|
+
column_default
|
|
8
|
+
FROM information_schema.columns
|
|
9
|
+
WHERE table_name = :table_name
|
|
10
|
+
AND table_schema = COALESCE(:schema_name, current_schema())
|
|
11
|
+
ORDER BY ordinal_position;
|
|
12
|
+
|
|
13
|
+
-- name: columns_by_schema
|
|
14
|
+
-- dialect: duckdb
|
|
15
|
+
SELECT
|
|
16
|
+
table_name,
|
|
17
|
+
column_name,
|
|
18
|
+
data_type,
|
|
19
|
+
is_nullable,
|
|
20
|
+
column_default
|
|
21
|
+
FROM information_schema.columns
|
|
22
|
+
WHERE table_schema = COALESCE(:schema_name, current_schema())
|
|
23
|
+
ORDER BY table_name, ordinal_position;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
-- name: foreign_keys_by_table
|
|
2
|
+
-- dialect: duckdb
|
|
3
|
+
SELECT
|
|
4
|
+
kcu.table_name,
|
|
5
|
+
kcu.column_name,
|
|
6
|
+
pk_kcu.table_name AS referenced_table_name,
|
|
7
|
+
pk_kcu.column_name AS referenced_column_name,
|
|
8
|
+
kcu.constraint_name,
|
|
9
|
+
kcu.table_schema,
|
|
10
|
+
pk_kcu.table_schema AS referenced_table_schema
|
|
11
|
+
FROM information_schema.key_column_usage kcu
|
|
12
|
+
JOIN information_schema.referential_constraints rc
|
|
13
|
+
ON kcu.constraint_name = rc.constraint_name
|
|
14
|
+
JOIN information_schema.key_column_usage pk_kcu
|
|
15
|
+
ON rc.unique_constraint_name = pk_kcu.constraint_name
|
|
16
|
+
AND kcu.ordinal_position = pk_kcu.ordinal_position
|
|
17
|
+
WHERE kcu.table_schema = COALESCE(:schema_name, current_schema())
|
|
18
|
+
AND kcu.table_name = :table_name;
|
|
19
|
+
|
|
20
|
+
-- name: foreign_keys_by_schema
|
|
21
|
+
-- dialect: duckdb
|
|
22
|
+
SELECT
|
|
23
|
+
kcu.table_name,
|
|
24
|
+
kcu.column_name,
|
|
25
|
+
pk_kcu.table_name AS referenced_table_name,
|
|
26
|
+
pk_kcu.column_name AS referenced_column_name,
|
|
27
|
+
kcu.constraint_name,
|
|
28
|
+
kcu.table_schema,
|
|
29
|
+
pk_kcu.table_schema AS referenced_table_schema
|
|
30
|
+
FROM information_schema.key_column_usage kcu
|
|
31
|
+
JOIN information_schema.referential_constraints rc
|
|
32
|
+
ON kcu.constraint_name = rc.constraint_name
|
|
33
|
+
JOIN information_schema.key_column_usage pk_kcu
|
|
34
|
+
ON rc.unique_constraint_name = pk_kcu.constraint_name
|
|
35
|
+
AND kcu.ordinal_position = pk_kcu.ordinal_position
|
|
36
|
+
WHERE kcu.table_schema = COALESCE(:schema_name, current_schema());
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
-- name: indexes_by_table
|
|
2
|
+
-- dialect: duckdb
|
|
3
|
+
SELECT
|
|
4
|
+
NULL AS index_name,
|
|
5
|
+
NULL AS table_name,
|
|
6
|
+
NULL AS is_unique,
|
|
7
|
+
NULL AS is_primary,
|
|
8
|
+
NULL AS columns
|
|
9
|
+
WHERE FALSE;
|
|
10
|
+
|
|
11
|
+
-- name: indexes_by_schema
|
|
12
|
+
-- dialect: duckdb
|
|
13
|
+
SELECT
|
|
14
|
+
NULL AS index_name,
|
|
15
|
+
NULL AS table_name,
|
|
16
|
+
NULL AS is_unique,
|
|
17
|
+
NULL AS is_primary,
|
|
18
|
+
NULL AS columns
|
|
19
|
+
WHERE FALSE;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
-- name: tables_by_schema
|
|
2
|
+
-- dialect: duckdb
|
|
3
|
+
WITH RECURSIVE dependency_tree AS (
|
|
4
|
+
SELECT
|
|
5
|
+
table_name,
|
|
6
|
+
0 AS level,
|
|
7
|
+
[table_name] AS path
|
|
8
|
+
FROM information_schema.tables t
|
|
9
|
+
WHERE t.table_type = 'BASE TABLE'
|
|
10
|
+
AND t.table_schema = COALESCE(:schema_name, current_schema())
|
|
11
|
+
AND NOT EXISTS (
|
|
12
|
+
SELECT 1
|
|
13
|
+
FROM information_schema.key_column_usage kcu
|
|
14
|
+
WHERE kcu.table_name = t.table_name
|
|
15
|
+
AND kcu.table_schema = t.table_schema
|
|
16
|
+
AND kcu.constraint_name IN (
|
|
17
|
+
SELECT constraint_name FROM information_schema.referential_constraints
|
|
18
|
+
)
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
UNION ALL
|
|
22
|
+
|
|
23
|
+
SELECT
|
|
24
|
+
kcu.table_name,
|
|
25
|
+
dt.level + 1,
|
|
26
|
+
list_append(dt.path, kcu.table_name)
|
|
27
|
+
FROM information_schema.key_column_usage kcu
|
|
28
|
+
JOIN information_schema.referential_constraints rc ON kcu.constraint_name = rc.constraint_name
|
|
29
|
+
JOIN information_schema.key_column_usage pk_kcu
|
|
30
|
+
ON rc.unique_constraint_name = pk_kcu.constraint_name
|
|
31
|
+
AND rc.unique_constraint_schema = pk_kcu.constraint_schema
|
|
32
|
+
JOIN dependency_tree dt ON dt.table_name = pk_kcu.table_name
|
|
33
|
+
WHERE kcu.table_schema = COALESCE(:schema_name, current_schema())
|
|
34
|
+
AND NOT list_contains(dt.path, kcu.table_name)
|
|
35
|
+
)
|
|
36
|
+
SELECT DISTINCT table_name, level
|
|
37
|
+
FROM dependency_tree
|
|
38
|
+
ORDER BY level, table_name;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
-- name: columns_by_table
|
|
2
|
+
-- dialect: mysql
|
|
3
|
+
SELECT
|
|
4
|
+
column_name,
|
|
5
|
+
data_type,
|
|
6
|
+
is_nullable,
|
|
7
|
+
column_default
|
|
8
|
+
FROM information_schema.columns
|
|
9
|
+
WHERE table_name = :table_name
|
|
10
|
+
AND table_schema = COALESCE(:schema_name, DATABASE())
|
|
11
|
+
ORDER BY ordinal_position;
|
|
12
|
+
|
|
13
|
+
-- name: columns_by_schema
|
|
14
|
+
-- dialect: mysql
|
|
15
|
+
SELECT
|
|
16
|
+
table_name,
|
|
17
|
+
column_name,
|
|
18
|
+
data_type,
|
|
19
|
+
is_nullable,
|
|
20
|
+
column_default
|
|
21
|
+
FROM information_schema.columns
|
|
22
|
+
WHERE table_schema = COALESCE(:schema_name, DATABASE())
|
|
23
|
+
ORDER BY table_name, ordinal_position;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
-- name: foreign_keys_by_table
|
|
2
|
+
-- dialect: mysql
|
|
3
|
+
SELECT
|
|
4
|
+
table_name,
|
|
5
|
+
column_name,
|
|
6
|
+
referenced_table_name,
|
|
7
|
+
referenced_column_name,
|
|
8
|
+
constraint_name,
|
|
9
|
+
table_schema,
|
|
10
|
+
referenced_table_schema
|
|
11
|
+
FROM information_schema.key_column_usage
|
|
12
|
+
WHERE referenced_table_name IS NOT NULL
|
|
13
|
+
AND table_name = :table_name
|
|
14
|
+
AND table_schema = COALESCE(:schema_name, DATABASE());
|
|
15
|
+
|
|
16
|
+
-- name: foreign_keys_by_schema
|
|
17
|
+
-- dialect: mysql
|
|
18
|
+
SELECT
|
|
19
|
+
table_name,
|
|
20
|
+
column_name,
|
|
21
|
+
referenced_table_name,
|
|
22
|
+
referenced_column_name,
|
|
23
|
+
constraint_name,
|
|
24
|
+
table_schema,
|
|
25
|
+
referenced_table_schema
|
|
26
|
+
FROM information_schema.key_column_usage
|
|
27
|
+
WHERE referenced_table_name IS NOT NULL
|
|
28
|
+
AND table_schema = COALESCE(:schema_name, DATABASE());
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
-- name: indexes_by_table
|
|
2
|
+
-- dialect: mysql
|
|
3
|
+
SELECT
|
|
4
|
+
s.index_name AS index_name,
|
|
5
|
+
s.table_name AS table_name,
|
|
6
|
+
CASE WHEN s.non_unique = 0 THEN 1 ELSE 0 END AS is_unique,
|
|
7
|
+
CASE WHEN s.index_name = 'PRIMARY' THEN 1 ELSE 0 END AS is_primary,
|
|
8
|
+
GROUP_CONCAT(s.column_name ORDER BY s.seq_in_index) AS columns
|
|
9
|
+
FROM information_schema.statistics s
|
|
10
|
+
WHERE s.table_schema = COALESCE(:schema_name, DATABASE())
|
|
11
|
+
AND s.table_name = :table_name
|
|
12
|
+
GROUP BY s.index_name, s.table_name, s.non_unique
|
|
13
|
+
ORDER BY s.index_name;
|
|
14
|
+
|
|
15
|
+
-- name: indexes_by_schema
|
|
16
|
+
-- dialect: mysql
|
|
17
|
+
SELECT
|
|
18
|
+
s.index_name AS index_name,
|
|
19
|
+
s.table_name AS table_name,
|
|
20
|
+
CASE WHEN s.non_unique = 0 THEN 1 ELSE 0 END AS is_unique,
|
|
21
|
+
CASE WHEN s.index_name = 'PRIMARY' THEN 1 ELSE 0 END AS is_primary,
|
|
22
|
+
GROUP_CONCAT(s.column_name ORDER BY s.seq_in_index) AS columns
|
|
23
|
+
FROM information_schema.statistics s
|
|
24
|
+
WHERE s.table_schema = COALESCE(:schema_name, DATABASE())
|
|
25
|
+
GROUP BY s.index_name, s.table_name, s.non_unique
|
|
26
|
+
ORDER BY s.table_name, s.index_name;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
-- name: tables_by_schema
|
|
2
|
+
-- dialect: mysql
|
|
3
|
+
WITH RECURSIVE dependency_tree AS (
|
|
4
|
+
SELECT
|
|
5
|
+
table_name,
|
|
6
|
+
0 AS level,
|
|
7
|
+
CAST(table_name AS CHAR(4000)) AS path
|
|
8
|
+
FROM information_schema.tables t
|
|
9
|
+
WHERE t.table_type = 'BASE TABLE'
|
|
10
|
+
AND t.table_schema = COALESCE(:schema_name, DATABASE())
|
|
11
|
+
AND NOT EXISTS (
|
|
12
|
+
SELECT 1
|
|
13
|
+
FROM information_schema.key_column_usage kcu
|
|
14
|
+
WHERE kcu.table_name = t.table_name
|
|
15
|
+
AND kcu.table_schema = t.table_schema
|
|
16
|
+
AND kcu.referenced_table_name IS NOT NULL
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
UNION ALL
|
|
20
|
+
|
|
21
|
+
SELECT
|
|
22
|
+
kcu.table_name,
|
|
23
|
+
dt.level + 1,
|
|
24
|
+
CONCAT(dt.path, ',', kcu.table_name)
|
|
25
|
+
FROM information_schema.key_column_usage kcu
|
|
26
|
+
JOIN dependency_tree dt ON kcu.referenced_table_name = dt.table_name
|
|
27
|
+
WHERE kcu.table_schema = COALESCE(:schema_name, DATABASE())
|
|
28
|
+
AND kcu.referenced_table_name IS NOT NULL
|
|
29
|
+
AND NOT FIND_IN_SET(kcu.table_name, dt.path)
|
|
30
|
+
)
|
|
31
|
+
SELECT DISTINCT table_name
|
|
32
|
+
FROM dependency_tree
|
|
33
|
+
ORDER BY level, table_name;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
-- name: columns_by_table
|
|
2
|
+
-- dialect: oracle
|
|
3
|
+
SELECT
|
|
4
|
+
column_name AS column_name,
|
|
5
|
+
data_type AS data_type,
|
|
6
|
+
nullable AS is_nullable,
|
|
7
|
+
data_default AS column_default
|
|
8
|
+
FROM all_tab_columns
|
|
9
|
+
WHERE owner = COALESCE(:schema_name, USER)
|
|
10
|
+
AND table_name = UPPER(:table_name)
|
|
11
|
+
ORDER BY column_id;
|
|
12
|
+
|
|
13
|
+
-- name: columns_by_schema
|
|
14
|
+
-- dialect: oracle
|
|
15
|
+
SELECT
|
|
16
|
+
table_name,
|
|
17
|
+
column_name AS column_name,
|
|
18
|
+
data_type AS data_type,
|
|
19
|
+
nullable AS is_nullable,
|
|
20
|
+
data_default AS column_default
|
|
21
|
+
FROM all_tab_columns
|
|
22
|
+
WHERE owner = COALESCE(:schema_name, USER)
|
|
23
|
+
ORDER BY table_name, column_id;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
-- name: foreign_keys_by_table
|
|
2
|
+
-- dialect: oracle
|
|
3
|
+
SELECT
|
|
4
|
+
c.table_name,
|
|
5
|
+
cc.column_name,
|
|
6
|
+
r.table_name AS referenced_table_name,
|
|
7
|
+
rcc.column_name AS referenced_column_name,
|
|
8
|
+
c.constraint_name,
|
|
9
|
+
c.owner AS table_schema,
|
|
10
|
+
r.owner AS referenced_table_schema
|
|
11
|
+
FROM all_constraints c
|
|
12
|
+
JOIN all_cons_columns cc
|
|
13
|
+
ON c.owner = cc.owner
|
|
14
|
+
AND c.constraint_name = cc.constraint_name
|
|
15
|
+
JOIN all_constraints r
|
|
16
|
+
ON c.r_owner = r.owner
|
|
17
|
+
AND c.r_constraint_name = r.constraint_name
|
|
18
|
+
JOIN all_cons_columns rcc
|
|
19
|
+
ON r.owner = rcc.owner
|
|
20
|
+
AND r.constraint_name = rcc.constraint_name
|
|
21
|
+
AND cc.position = rcc.position
|
|
22
|
+
WHERE c.constraint_type = 'R'
|
|
23
|
+
AND c.owner = COALESCE(:schema_name, USER)
|
|
24
|
+
AND (:table_name IS NULL OR c.table_name = UPPER(:table_name));
|
|
25
|
+
|
|
26
|
+
-- name: foreign_keys_by_schema
|
|
27
|
+
-- dialect: oracle
|
|
28
|
+
SELECT
|
|
29
|
+
c.table_name,
|
|
30
|
+
cc.column_name,
|
|
31
|
+
r.table_name AS referenced_table_name,
|
|
32
|
+
rcc.column_name AS referenced_column_name,
|
|
33
|
+
c.constraint_name,
|
|
34
|
+
c.owner AS table_schema,
|
|
35
|
+
r.owner AS referenced_table_schema
|
|
36
|
+
FROM all_constraints c
|
|
37
|
+
JOIN all_cons_columns cc
|
|
38
|
+
ON c.owner = cc.owner
|
|
39
|
+
AND c.constraint_name = cc.constraint_name
|
|
40
|
+
JOIN all_constraints r
|
|
41
|
+
ON c.r_owner = r.owner
|
|
42
|
+
AND c.r_constraint_name = r.constraint_name
|
|
43
|
+
JOIN all_cons_columns rcc
|
|
44
|
+
ON r.owner = rcc.owner
|
|
45
|
+
AND r.constraint_name = rcc.constraint_name
|
|
46
|
+
AND cc.position = rcc.position
|
|
47
|
+
WHERE c.constraint_type = 'R'
|
|
48
|
+
AND c.owner = COALESCE(:schema_name, USER);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
-- name: indexes_by_table
|
|
2
|
+
-- dialect: oracle
|
|
3
|
+
SELECT
|
|
4
|
+
i.index_name,
|
|
5
|
+
i.table_name AS table_name,
|
|
6
|
+
CASE WHEN i.uniqueness = 'UNIQUE' THEN 1 ELSE 0 END AS is_unique,
|
|
7
|
+
CASE
|
|
8
|
+
WHEN MAX(CASE WHEN c.constraint_type = 'P' THEN 1 ELSE 0 END) = 1 THEN 1
|
|
9
|
+
ELSE 0
|
|
10
|
+
END AS is_primary,
|
|
11
|
+
LISTAGG(ic.column_name, ',') WITHIN GROUP (ORDER BY ic.column_position) AS columns
|
|
12
|
+
FROM all_indexes i
|
|
13
|
+
JOIN all_ind_columns ic
|
|
14
|
+
ON i.owner = ic.index_owner
|
|
15
|
+
AND i.index_name = ic.index_name
|
|
16
|
+
LEFT JOIN all_constraints c
|
|
17
|
+
ON c.owner = i.owner
|
|
18
|
+
AND c.index_name = i.index_name
|
|
19
|
+
AND c.constraint_type = 'P'
|
|
20
|
+
WHERE i.table_name = UPPER(:table_name)
|
|
21
|
+
AND i.owner = COALESCE(:schema_name, USER)
|
|
22
|
+
GROUP BY i.index_name, i.table_name, i.uniqueness;
|
|
23
|
+
|
|
24
|
+
-- name: indexes_by_schema
|
|
25
|
+
-- dialect: oracle
|
|
26
|
+
SELECT
|
|
27
|
+
i.index_name,
|
|
28
|
+
i.table_name AS table_name,
|
|
29
|
+
CASE WHEN i.uniqueness = 'UNIQUE' THEN 1 ELSE 0 END AS is_unique,
|
|
30
|
+
CASE
|
|
31
|
+
WHEN MAX(CASE WHEN c.constraint_type = 'P' THEN 1 ELSE 0 END) = 1 THEN 1
|
|
32
|
+
ELSE 0
|
|
33
|
+
END AS is_primary,
|
|
34
|
+
LISTAGG(ic.column_name, ',') WITHIN GROUP (ORDER BY ic.column_position) AS columns
|
|
35
|
+
FROM all_indexes i
|
|
36
|
+
JOIN all_ind_columns ic
|
|
37
|
+
ON i.owner = ic.index_owner
|
|
38
|
+
AND i.index_name = ic.index_name
|
|
39
|
+
LEFT JOIN all_constraints c
|
|
40
|
+
ON c.owner = i.owner
|
|
41
|
+
AND c.index_name = i.index_name
|
|
42
|
+
AND c.constraint_type = 'P'
|
|
43
|
+
WHERE i.owner = COALESCE(:schema_name, USER)
|
|
44
|
+
GROUP BY i.index_name, i.table_name, i.uniqueness;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
-- name: tables_by_schema
|
|
2
|
+
-- dialect: oracle
|
|
3
|
+
SELECT
|
|
4
|
+
table_name,
|
|
5
|
+
MAX(level) AS level
|
|
6
|
+
FROM all_constraints
|
|
7
|
+
WHERE owner = COALESCE(:schema_name, USER)
|
|
8
|
+
START WITH table_name NOT IN (
|
|
9
|
+
SELECT table_name
|
|
10
|
+
FROM all_constraints
|
|
11
|
+
WHERE constraint_type = 'R'
|
|
12
|
+
AND owner = COALESCE(:schema_name, USER)
|
|
13
|
+
)
|
|
14
|
+
CONNECT BY NOCYCLE PRIOR constraint_name = r_constraint_name
|
|
15
|
+
AND PRIOR owner = owner
|
|
16
|
+
GROUP BY table_name
|
|
17
|
+
ORDER BY level, table_name;
|
|
18
|
+
|
|
19
|
+
-- name: all_tables_by_schema
|
|
20
|
+
-- dialect: oracle
|
|
21
|
+
SELECT
|
|
22
|
+
table_name
|
|
23
|
+
FROM all_tables
|
|
24
|
+
WHERE owner = COALESCE(:schema_name, USER)
|
|
25
|
+
ORDER BY table_name;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-- name: version
|
|
2
|
+
-- dialect: oracle
|
|
3
|
+
SELECT
|
|
4
|
+
product AS "product",
|
|
5
|
+
version AS "version",
|
|
6
|
+
status AS "status"
|
|
7
|
+
FROM product_component_version
|
|
8
|
+
WHERE product LIKE 'Oracle%'
|
|
9
|
+
ORDER BY TO_NUMBER(REGEXP_SUBSTR(version, '^[0-9]+')) DESC, version DESC
|
|
10
|
+
FETCH FIRST 1 ROWS ONLY;
|
|
11
|
+
|
|
12
|
+
-- name: autonomous_service
|
|
13
|
+
-- dialect: oracle
|
|
14
|
+
SELECT sys_context('USERENV', 'CLOUD_SERVICE') AS "service" FROM dual;
|
|
15
|
+
|
|
16
|
+
-- name: compatible
|
|
17
|
+
-- dialect: oracle
|
|
18
|
+
SELECT value AS compatible
|
|
19
|
+
FROM v$parameter
|
|
20
|
+
WHERE name = 'compatible';
|