sqlspec 0.30.2__tar.gz → 0.31.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.
Files changed (712) hide show
  1. {sqlspec-0.30.2 → sqlspec-0.31.0}/.gemini/bootstrap.md +101 -19
  2. {sqlspec-0.30.2 → sqlspec-0.31.0}/.pre-commit-config.yaml +2 -2
  3. sqlspec-0.31.0/AGENTS.md +253 -0
  4. {sqlspec-0.30.2 → sqlspec-0.31.0}/PKG-INFO +1 -1
  5. {sqlspec-0.30.2 → sqlspec-0.31.0}/pyproject.toml +6 -3
  6. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/__init__.py +2 -0
  7. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/_typing.py +5 -3
  8. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/adbc/data_dictionary.py +176 -1
  9. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/adbc/driver.py +3 -1
  10. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/aiosqlite/data_dictionary.py +112 -1
  11. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncmy/data_dictionary.py +108 -28
  12. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncpg/_type_handlers.py +7 -2
  13. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncpg/data_dictionary.py +142 -1
  14. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/bigquery/data_dictionary.py +108 -1
  15. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/bigquery/driver.py +8 -7
  16. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/duckdb/data_dictionary.py +102 -1
  17. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/duckdb/driver.py +3 -1
  18. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/oracledb/data_dictionary.py +155 -0
  19. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/oracledb/driver.py +3 -1
  20. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psycopg/_type_handlers.py +15 -7
  21. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psycopg/config.py +0 -4
  22. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psycopg/data_dictionary.py +285 -0
  23. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/sqlite/data_dictionary.py +108 -1
  24. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/_base.py +178 -11
  25. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/_ddl.py +20 -12
  26. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/_delete.py +6 -4
  27. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/_dml.py +13 -20
  28. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/_insert.py +3 -3
  29. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/_join.py +1 -1
  30. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/_merge.py +76 -28
  31. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/_parsing_utils.py +8 -0
  32. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/_select.py +41 -41
  33. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/_update.py +1 -1
  34. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/compiler.py +7 -1
  35. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/parameters/_converter.py +24 -4
  36. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/parameters/_processor.py +37 -0
  37. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/driver/__init__.py +8 -0
  38. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/driver/_async.py +17 -0
  39. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/driver/_common.py +225 -4
  40. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/driver/_sync.py +17 -0
  41. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/aiosql/adapter.py +20 -17
  42. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/protocols.py +25 -2
  43. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/logging.py +19 -10
  44. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/sync_tools.py +3 -12
  45. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_adbc_arrow_features.py +3 -2
  46. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_parameter_styles.py +3 -1
  47. sqlspec-0.31.0/tests/integration/test_adapters/test_aiosqlite/test_data_dictionary.py +73 -0
  48. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/conftest.py +29 -10
  49. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_arrow.py +10 -10
  50. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_asyncmy_features.py +3 -2
  51. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_driver.py +2 -2
  52. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_data_dictionary.py +60 -0
  53. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_storage_bridge.py +2 -2
  54. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_bigquery/test_driver.py +9 -1
  55. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_storage_bridge.py +1 -1
  56. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_storage_bridge.py +2 -2
  57. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/conftest.py +8 -18
  58. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_connection.py +4 -26
  59. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_migrations.py +5 -55
  60. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_storage_bridge.py +3 -3
  61. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_storage/test_storage_integration.py +6 -2
  62. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/test_merge.py +27 -0
  63. sqlspec-0.31.0/tests/unit/test_builder/test_static_expression_cache.py +55 -0
  64. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_core/test_parameters.py +35 -0
  65. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_core/test_statement.py +21 -0
  66. sqlspec-0.31.0/tests/unit/test_driver/test_force_select.py +80 -0
  67. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/test_portal.py +2 -0
  68. {sqlspec-0.30.2 → sqlspec-0.31.0}/uv.lock +399 -352
  69. sqlspec-0.30.2/AGENTS.md +0 -3643
  70. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/AGENTS.md +0 -0
  71. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/README.md +0 -0
  72. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/agents/docs-vision.md +0 -0
  73. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/agents/expert.md +0 -0
  74. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/agents/prd.md +0 -0
  75. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/agents/testing.md +0 -0
  76. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/bootstrap.md +0 -0
  77. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/commands/implement.md +0 -0
  78. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/commands/prd.md +0 -0
  79. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/commands/review.md +0 -0
  80. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/commands/test.md +0 -0
  81. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/README.md +0 -0
  82. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_adapters/README.md +0 -0
  83. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_adapters/asyncpg.md +0 -0
  84. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/__init__.py +0 -0
  85. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/examples/__init__.py +0 -0
  86. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/examples/fastapi_integration.py +0 -0
  87. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/examples/litestar_integration.py +0 -0
  88. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/examples/migration-workflow.sh +0 -0
  89. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/examples/multi_database.py +0 -0
  90. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/examples/testing_patterns.py +0 -0
  91. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/patterns/configuration.md +0 -0
  92. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/patterns/frameworks.md +0 -0
  93. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/patterns/migrations.md +0 -0
  94. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/patterns/performance.md +0 -0
  95. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/patterns/queries.md +0 -0
  96. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/patterns/testing.md +0 -0
  97. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/patterns/troubleshooting.md +0 -0
  98. {sqlspec-0.30.2 → sqlspec-0.31.0}/.claude/skills/sqlspec_usage/skill.md +0 -0
  99. {sqlspec-0.30.2 → sqlspec-0.31.0}/.gemini/GEMINI.md +0 -0
  100. {sqlspec-0.30.2 → sqlspec-0.31.0}/.gemini/commands/implement.toml +0 -0
  101. {sqlspec-0.30.2 → sqlspec-0.31.0}/.gemini/commands/prd.toml +0 -0
  102. {sqlspec-0.30.2 → sqlspec-0.31.0}/.gemini/commands/review.toml +0 -0
  103. {sqlspec-0.30.2 → sqlspec-0.31.0}/.gemini/commands/sync-guides.toml +0 -0
  104. {sqlspec-0.30.2 → sqlspec-0.31.0}/.gemini/commands/test.toml +0 -0
  105. {sqlspec-0.30.2 → sqlspec-0.31.0}/.gitignore +0 -0
  106. {sqlspec-0.30.2 → sqlspec-0.31.0}/CLAUDE.md +0 -0
  107. {sqlspec-0.30.2 → sqlspec-0.31.0}/CONTRIBUTING.rst +0 -0
  108. {sqlspec-0.30.2 → sqlspec-0.31.0}/GEMINI.md +0 -0
  109. {sqlspec-0.30.2 → sqlspec-0.31.0}/LICENSE +0 -0
  110. {sqlspec-0.30.2 → sqlspec-0.31.0}/Makefile +0 -0
  111. {sqlspec-0.30.2 → sqlspec-0.31.0}/README.md +0 -0
  112. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/AGENTS.md +0 -0
  113. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/README.md +0 -0
  114. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/active/.gitkeep +0 -0
  115. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/agents/expert.md +0 -0
  116. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/agents/guides.md +0 -0
  117. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/agents/prd.md +0 -0
  118. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/agents/review.md +0 -0
  119. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/agents/testing.md +0 -0
  120. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/archive/.gitkeep +0 -0
  121. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/guides/docs_examples_alignment.md +0 -0
  122. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/guides/query-stack.md +0 -0
  123. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/template-spec/README.md +0 -0
  124. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/template-spec/prd.md +0 -0
  125. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/template-spec/recovery.md +0 -0
  126. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/template-spec/research/.gitkeep +0 -0
  127. {sqlspec-0.30.2 → sqlspec-0.31.0}/specs/template-spec/tasks.md +0 -0
  128. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/__main__.py +0 -0
  129. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/__metadata__.py +0 -0
  130. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/_serialization.py +0 -0
  131. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/__init__.py +0 -0
  132. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/adbc/__init__.py +0 -0
  133. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/adbc/_types.py +0 -0
  134. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/adbc/adk/__init__.py +0 -0
  135. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/adbc/adk/store.py +0 -0
  136. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/adbc/config.py +0 -0
  137. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/adbc/litestar/__init__.py +0 -0
  138. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/adbc/litestar/store.py +0 -0
  139. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/adbc/type_converter.py +0 -0
  140. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/aiosqlite/__init__.py +0 -0
  141. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/aiosqlite/_types.py +0 -0
  142. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/aiosqlite/adk/__init__.py +0 -0
  143. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/aiosqlite/adk/store.py +0 -0
  144. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/aiosqlite/config.py +0 -0
  145. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/aiosqlite/driver.py +0 -0
  146. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/aiosqlite/litestar/__init__.py +0 -0
  147. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/aiosqlite/litestar/store.py +0 -0
  148. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/aiosqlite/pool.py +0 -0
  149. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncmy/__init__.py +0 -0
  150. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncmy/_types.py +0 -0
  151. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncmy/adk/__init__.py +0 -0
  152. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncmy/adk/store.py +0 -0
  153. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncmy/config.py +0 -0
  154. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncmy/driver.py +0 -0
  155. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncmy/litestar/__init__.py +0 -0
  156. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncmy/litestar/store.py +0 -0
  157. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncpg/__init__.py +0 -0
  158. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncpg/_types.py +0 -0
  159. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncpg/adk/__init__.py +0 -0
  160. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncpg/adk/store.py +0 -0
  161. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncpg/config.py +0 -0
  162. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncpg/driver.py +0 -0
  163. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncpg/litestar/__init__.py +0 -0
  164. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/asyncpg/litestar/store.py +0 -0
  165. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/bigquery/__init__.py +0 -0
  166. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/bigquery/_types.py +0 -0
  167. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/bigquery/adk/__init__.py +0 -0
  168. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/bigquery/adk/store.py +0 -0
  169. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/bigquery/config.py +0 -0
  170. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/bigquery/litestar/__init__.py +0 -0
  171. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/bigquery/litestar/store.py +0 -0
  172. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/bigquery/type_converter.py +0 -0
  173. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/duckdb/__init__.py +0 -0
  174. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/duckdb/_types.py +0 -0
  175. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/duckdb/adk/__init__.py +0 -0
  176. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/duckdb/adk/store.py +0 -0
  177. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/duckdb/config.py +0 -0
  178. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/duckdb/litestar/__init__.py +0 -0
  179. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/duckdb/litestar/store.py +0 -0
  180. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/duckdb/pool.py +0 -0
  181. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/duckdb/type_converter.py +0 -0
  182. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/oracledb/__init__.py +0 -0
  183. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/oracledb/_numpy_handlers.py +0 -0
  184. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/oracledb/_types.py +0 -0
  185. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/oracledb/_uuid_handlers.py +0 -0
  186. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/oracledb/adk/__init__.py +0 -0
  187. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/oracledb/adk/store.py +0 -0
  188. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/oracledb/config.py +0 -0
  189. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/oracledb/litestar/__init__.py +0 -0
  190. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/oracledb/litestar/store.py +0 -0
  191. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/oracledb/migrations.py +0 -0
  192. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/oracledb/type_converter.py +0 -0
  193. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psqlpy/__init__.py +0 -0
  194. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psqlpy/_type_handlers.py +0 -0
  195. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psqlpy/_types.py +0 -0
  196. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psqlpy/adk/__init__.py +0 -0
  197. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psqlpy/adk/store.py +0 -0
  198. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psqlpy/config.py +0 -0
  199. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psqlpy/data_dictionary.py +0 -0
  200. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psqlpy/driver.py +0 -0
  201. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psqlpy/litestar/__init__.py +0 -0
  202. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psqlpy/litestar/store.py +0 -0
  203. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psqlpy/type_converter.py +0 -0
  204. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psycopg/__init__.py +0 -0
  205. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psycopg/_types.py +0 -0
  206. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psycopg/adk/__init__.py +0 -0
  207. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psycopg/adk/store.py +0 -0
  208. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psycopg/driver.py +0 -0
  209. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psycopg/litestar/__init__.py +0 -0
  210. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/psycopg/litestar/store.py +0 -0
  211. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/sqlite/__init__.py +0 -0
  212. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/sqlite/_type_handlers.py +0 -0
  213. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/sqlite/_types.py +0 -0
  214. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/sqlite/adk/__init__.py +0 -0
  215. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/sqlite/adk/store.py +0 -0
  216. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/sqlite/config.py +0 -0
  217. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/sqlite/driver.py +0 -0
  218. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/sqlite/litestar/__init__.py +0 -0
  219. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/sqlite/litestar/store.py +0 -0
  220. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/adapters/sqlite/pool.py +0 -0
  221. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/base.py +0 -0
  222. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/__init__.py +0 -0
  223. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/_column.py +0 -0
  224. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/_expression_wrappers.py +0 -0
  225. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/builder/_factory.py +0 -0
  226. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/cli.py +0 -0
  227. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/config.py +0 -0
  228. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/__init__.py +0 -0
  229. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/cache.py +0 -0
  230. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/filters.py +0 -0
  231. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/hashing.py +0 -0
  232. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/metrics.py +0 -0
  233. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/parameters/__init__.py +0 -0
  234. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/parameters/_alignment.py +0 -0
  235. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/parameters/_registry.py +0 -0
  236. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/parameters/_transformers.py +0 -0
  237. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/parameters/_types.py +0 -0
  238. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/parameters/_validator.py +0 -0
  239. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/pipeline.py +0 -0
  240. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/result.py +0 -0
  241. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/splitter.py +0 -0
  242. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/stack.py +0 -0
  243. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/statement.py +0 -0
  244. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/core/type_conversion.py +0 -0
  245. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/driver/mixins/__init__.py +0 -0
  246. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/driver/mixins/_result_tools.py +0 -0
  247. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/driver/mixins/_sql_translator.py +0 -0
  248. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/driver/mixins/_storage.py +0 -0
  249. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/exceptions.py +0 -0
  250. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/__init__.py +0 -0
  251. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/adk/__init__.py +0 -0
  252. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/adk/_types.py +0 -0
  253. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/adk/converters.py +0 -0
  254. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/adk/migrations/0001_create_adk_tables.py +0 -0
  255. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/adk/migrations/__init__.py +0 -0
  256. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/adk/service.py +0 -0
  257. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/adk/store.py +0 -0
  258. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/aiosql/__init__.py +0 -0
  259. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/fastapi/__init__.py +0 -0
  260. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/fastapi/extension.py +0 -0
  261. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/fastapi/providers.py +0 -0
  262. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/flask/__init__.py +0 -0
  263. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/flask/_state.py +0 -0
  264. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/flask/_utils.py +0 -0
  265. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/flask/extension.py +0 -0
  266. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/litestar/__init__.py +0 -0
  267. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/litestar/_utils.py +0 -0
  268. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/litestar/cli.py +0 -0
  269. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/litestar/config.py +0 -0
  270. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/litestar/handlers.py +0 -0
  271. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/litestar/migrations/0001_create_session_table.py +0 -0
  272. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/litestar/migrations/__init__.py +0 -0
  273. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/litestar/plugin.py +0 -0
  274. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/litestar/providers.py +0 -0
  275. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/litestar/store.py +0 -0
  276. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/otel/__init__.py +0 -0
  277. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/prometheus/__init__.py +0 -0
  278. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/starlette/__init__.py +0 -0
  279. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/starlette/_state.py +0 -0
  280. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/starlette/_utils.py +0 -0
  281. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/starlette/extension.py +0 -0
  282. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/extensions/starlette/middleware.py +0 -0
  283. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/loader.py +0 -0
  284. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/migrations/__init__.py +0 -0
  285. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/migrations/base.py +0 -0
  286. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/migrations/commands.py +0 -0
  287. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/migrations/context.py +0 -0
  288. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/migrations/fix.py +0 -0
  289. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/migrations/loaders.py +0 -0
  290. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/migrations/runner.py +0 -0
  291. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/migrations/templates.py +0 -0
  292. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/migrations/tracker.py +0 -0
  293. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/migrations/utils.py +0 -0
  294. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/migrations/validation.py +0 -0
  295. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/observability/__init__.py +0 -0
  296. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/observability/_config.py +0 -0
  297. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/observability/_diagnostics.py +0 -0
  298. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/observability/_dispatcher.py +0 -0
  299. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/observability/_observer.py +0 -0
  300. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/observability/_runtime.py +0 -0
  301. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/observability/_spans.py +0 -0
  302. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/py.typed +0 -0
  303. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/storage/__init__.py +0 -0
  304. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/storage/_utils.py +0 -0
  305. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/storage/backends/__init__.py +0 -0
  306. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/storage/backends/base.py +0 -0
  307. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/storage/backends/fsspec.py +0 -0
  308. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/storage/backends/local.py +0 -0
  309. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/storage/backends/obstore.py +0 -0
  310. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/storage/errors.py +0 -0
  311. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/storage/pipeline.py +0 -0
  312. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/storage/registry.py +0 -0
  313. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/typing.py +0 -0
  314. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/__init__.py +0 -0
  315. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/arrow_helpers.py +0 -0
  316. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/config_resolver.py +0 -0
  317. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/correlation.py +0 -0
  318. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/data_transformation.py +0 -0
  319. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/dependencies.py +0 -0
  320. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/deprecation.py +0 -0
  321. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/fixtures.py +0 -0
  322. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/module_loader.py +0 -0
  323. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/portal.py +0 -0
  324. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/schema.py +0 -0
  325. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/serializers.py +0 -0
  326. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/singleton.py +0 -0
  327. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/text.py +0 -0
  328. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/type_converters.py +0 -0
  329. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/type_guards.py +0 -0
  330. {sqlspec-0.30.2 → sqlspec-0.31.0}/sqlspec/utils/version.py +0 -0
  331. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/__init__.py +0 -0
  332. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/conftest.py +0 -0
  333. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/__init__.py +0 -0
  334. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/asset_maintenance.sql +0 -0
  335. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/ddls-mysql-collection.sql +0 -0
  336. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/ddls-postgres-collection.sql +0 -0
  337. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/example_usage.py +0 -0
  338. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/init.sql +0 -0
  339. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/mysql/collection-config.sql +0 -0
  340. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/mysql/collection-data_types.sql +0 -0
  341. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/mysql/collection-database_details.sql +0 -0
  342. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/mysql/collection-engines.sql +0 -0
  343. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/mysql/collection-hostname.sql +0 -0
  344. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/mysql/collection-plugins.sql +0 -0
  345. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/mysql/collection-process_list.sql +0 -0
  346. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/mysql/collection-resource-groups.sql +0 -0
  347. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/mysql/collection-schema_objects.sql +0 -0
  348. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/mysql/collection-table_details.sql +0 -0
  349. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/mysql/collection-users.sql +0 -0
  350. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/mysql/init.sql +0 -0
  351. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/oracle.ddl.sql +0 -0
  352. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-applications.sql +0 -0
  353. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-aws_extension_dependency.sql +0 -0
  354. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-aws_oracle_exists.sql +0 -0
  355. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-bg_writer_stats.sql +0 -0
  356. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-calculated_metrics.sql +0 -0
  357. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-data_types.sql +0 -0
  358. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-database_details.sql +0 -0
  359. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-extensions.sql +0 -0
  360. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-index_details.sql +0 -0
  361. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-pglogical-details.sql +0 -0
  362. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-privileges.sql +0 -0
  363. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-replication_slots.sql +0 -0
  364. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-replication_stats.sql +0 -0
  365. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-schema_details.sql +0 -0
  366. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-schema_objects.sql +0 -0
  367. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-settings.sql +0 -0
  368. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-source_details.sql +0 -0
  369. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/collection-table_details.sql +0 -0
  370. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/extended-collection-all-databases.sql +0 -0
  371. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/postgres/init.sql +0 -0
  372. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/readiness-check.sql +0 -0
  373. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/fixtures/sql_utils.py +0 -0
  374. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/__init__.py +0 -0
  375. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/conftest.py +0 -0
  376. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/__init__.py +0 -0
  377. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/_storage_bridge_helpers.py +0 -0
  378. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/__init__.py +0 -0
  379. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/conftest.py +0 -0
  380. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_adbc_backends.py +0 -0
  381. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_adbc_connection.py +0 -0
  382. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_adbc_driver.py +0 -0
  383. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_adbc_edge_cases.py +0 -0
  384. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_adbc_results.py +0 -0
  385. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_arrow_duckdb.py +0 -0
  386. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_data_dictionary.py +0 -0
  387. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_exceptions.py +0 -0
  388. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_extensions/__init__.py +0 -0
  389. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/__init__.py +0 -0
  390. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_dialect_integration.py +0 -0
  391. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_dialect_support.py +0 -0
  392. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_edge_cases.py +0 -0
  393. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_event_operations.py +0 -0
  394. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_owner_id_column.py +0 -0
  395. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_session_operations.py +0 -0
  396. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_litestar/__init__.py +0 -0
  397. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_extensions/test_litestar/test_store.py +0 -0
  398. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_migrations.py +0 -0
  399. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_adbc/test_storage_bridge.py +0 -0
  400. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/__init__.py +0 -0
  401. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/conftest.py +0 -0
  402. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/test_arrow.py +0 -0
  403. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/test_connection.py +0 -0
  404. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/test_driver.py +0 -0
  405. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/test_exceptions.py +0 -0
  406. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/test_extensions/__init__.py +0 -0
  407. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/test_extensions/test_litestar/__init__.py +0 -0
  408. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/test_extensions/test_litestar/test_numpy_serialization.py +0 -0
  409. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/test_extensions/test_litestar/test_store.py +0 -0
  410. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/test_migrations.py +0 -0
  411. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/test_parameter_styles.py +0 -0
  412. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/test_pooling.py +0 -0
  413. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_aiosqlite/test_storage_bridge.py +0 -0
  414. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/__init__.py +0 -0
  415. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_config.py +0 -0
  416. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_exceptions.py +0 -0
  417. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/__init__.py +0 -0
  418. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_adk/__init__.py +0 -0
  419. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_adk/conftest.py +0 -0
  420. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_adk/test_store.py +0 -0
  421. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_litestar/__init__.py +0 -0
  422. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_litestar/test_store.py +0 -0
  423. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_migrations.py +0 -0
  424. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_parameter_styles.py +0 -0
  425. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncmy/test_storage_bridge.py +0 -0
  426. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/__init__.py +0 -0
  427. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/conftest.py +0 -0
  428. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_arrow.py +0 -0
  429. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_cloud_connectors_integration.py +0 -0
  430. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_connection.py +0 -0
  431. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_driver.py +0 -0
  432. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_exceptions.py +0 -0
  433. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_execute_many.py +0 -0
  434. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/__init__.py +0 -0
  435. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/__init__.py +0 -0
  436. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/conftest.py +0 -0
  437. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/test_owner_id_column.py +0 -0
  438. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/test_session_operations.py +0 -0
  439. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_litestar/__init__.py +0 -0
  440. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_litestar/test_store.py +0 -0
  441. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_merge.py +0 -0
  442. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_merge_bulk.py +0 -0
  443. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_migrations.py +0 -0
  444. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_parameter_styles.py +0 -0
  445. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_asyncpg/test_schema_migration.py +0 -0
  446. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_bigquery/__init__.py +0 -0
  447. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_bigquery/conftest.py +0 -0
  448. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_bigquery/test_arrow_bigquery.py +0 -0
  449. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_bigquery/test_bigquery_features.py +0 -0
  450. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_bigquery/test_config.py +0 -0
  451. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_bigquery/test_connection.py +0 -0
  452. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_bigquery/test_exceptions.py +0 -0
  453. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/__init__.py +0 -0
  454. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/conftest.py +0 -0
  455. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_arrow.py +0 -0
  456. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_connection.py +0 -0
  457. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_driver.py +0 -0
  458. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_driver_features.py +0 -0
  459. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_exceptions.py +0 -0
  460. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_execute_many.py +0 -0
  461. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_extensions/__init__.py +0 -0
  462. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_extensions/test_adk/__init__.py +0 -0
  463. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_extensions/test_adk/test_store.py +0 -0
  464. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_extensions/test_litestar/__init__.py +0 -0
  465. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_extensions/test_litestar/test_store.py +0 -0
  466. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_migrations.py +0 -0
  467. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_mixed_parameter_styles.py +0 -0
  468. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_parameter_styles.py +0 -0
  469. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/test_pooling.py +0 -0
  470. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_duckdb/utils.py +0 -0
  471. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/__init__.py +0 -0
  472. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/conftest.py +0 -0
  473. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_arrow.py +0 -0
  474. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_connection.py +0 -0
  475. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_driver_async.py +0 -0
  476. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_driver_sync.py +0 -0
  477. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_exceptions.py +0 -0
  478. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_execute_many.py +0 -0
  479. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_extensions/__init__.py +0 -0
  480. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_adk/__init__.py +0 -0
  481. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_adk/test_inmemory.py +0 -0
  482. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_adk/test_oracle_specific.py +0 -0
  483. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/__init__.py +0 -0
  484. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/test_inmemory.py +0 -0
  485. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/test_store_async.py +0 -0
  486. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/test_store_sync.py +0 -0
  487. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_merge.py +0 -0
  488. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_merge_bulk.py +0 -0
  489. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_migrations.py +0 -0
  490. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_msgspec_clob.py +0 -0
  491. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_numpy_vectors.py +0 -0
  492. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_oracle_features.py +0 -0
  493. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_parameter_styles.py +0 -0
  494. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_stack.py +0 -0
  495. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_oracledb/test_uuid_binary.py +0 -0
  496. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/__init__.py +0 -0
  497. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/conftest.py +0 -0
  498. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_arrow.py +0 -0
  499. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_connection.py +0 -0
  500. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_driver.py +0 -0
  501. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_exceptions.py +0 -0
  502. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/__init__.py +0 -0
  503. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_adk/__init__.py +0 -0
  504. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_adk/test_owner_id_column.py +0 -0
  505. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_litestar/__init__.py +0 -0
  506. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_litestar/test_store.py +0 -0
  507. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_merge_bulk.py +0 -0
  508. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_migrations.py +0 -0
  509. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_parameter_styles.py +0 -0
  510. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psqlpy/test_psqlpy_features.py +0 -0
  511. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/__init__.py +0 -0
  512. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_arrow.py +0 -0
  513. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_async_copy.py +0 -0
  514. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_driver.py +0 -0
  515. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_exceptions.py +0 -0
  516. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_execute_many.py +0 -0
  517. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_extensions/__init__.py +0 -0
  518. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_adk/__init__.py +0 -0
  519. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_adk/test_owner_id_column.py +0 -0
  520. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_litestar/__init__.py +0 -0
  521. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_litestar/test_store_async.py +0 -0
  522. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_extensions/test_litestar/test_store_sync.py +0 -0
  523. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_merge_bulk.py +0 -0
  524. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_psycopg/test_parameter_styles.py +0 -0
  525. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/__init__.py +0 -0
  526. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/conftest.py +0 -0
  527. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_arrow.py +0 -0
  528. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_data_dictionary.py +0 -0
  529. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_driver.py +0 -0
  530. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_driver_features.py +0 -0
  531. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_exceptions.py +0 -0
  532. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_extensions/__init__.py +0 -0
  533. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_extensions/test_adk/__init__.py +0 -0
  534. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_extensions/test_adk/test_owner_id_column.py +0 -0
  535. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_extensions/test_litestar/__init__.py +0 -0
  536. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_extensions/test_litestar/test_store.py +0 -0
  537. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_migrations.py +0 -0
  538. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_parameter_styles.py +0 -0
  539. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_pooling.py +0 -0
  540. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_query_mixin.py +0 -0
  541. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_adapters/test_sqlite/test_storage_bridge.py +0 -0
  542. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_async_migrations.py +0 -0
  543. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_dishka/__init__.py +0 -0
  544. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_dishka/conftest.py +0 -0
  545. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_dishka/test_dishka_integration.py +0 -0
  546. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_extensions/__init__.py +0 -0
  547. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_extensions/test_fastapi/test_fastapi_filters_integration.py +0 -0
  548. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_extensions/test_fastapi/test_fastapi_integration.py +0 -0
  549. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_extensions/test_flask/test_flask_disable_di.py +0 -0
  550. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_extensions/test_flask/test_flask_integration.py +0 -0
  551. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_extensions/test_litestar/test_correlation_middleware.py +0 -0
  552. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_extensions/test_litestar/test_litestar_disable_di.py +0 -0
  553. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_extensions/test_starlette/test_starlette_disable_di.py +0 -0
  554. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_extensions/test_starlette/test_starlette_integration.py +0 -0
  555. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_loader/__init__.py +0 -0
  556. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_loader/test_file_system_loading.py +0 -0
  557. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_migrations/__init__.py +0 -0
  558. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_migrations/test_auto_sync.py +0 -0
  559. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_migrations/test_fix_checksum_stability.py +0 -0
  560. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_migrations/test_fix_file_operations.py +0 -0
  561. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_migrations/test_fix_idempotency_workflow.py +0 -0
  562. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_migrations/test_schema_migration.py +0 -0
  563. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_migrations/test_upgrade_downgrade_versions.py +0 -0
  564. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_stack_edge_cases.py +0 -0
  565. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/integration/test_storage/__init__.py +0 -0
  566. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/conftest.py +0 -0
  567. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/__init__.py +0 -0
  568. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/conftest.py +0 -0
  569. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_adapter_implementations.py +0 -0
  570. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_adbc/test_adbc_serialization.py +0 -0
  571. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_async_adapters.py +0 -0
  572. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_asyncmy/__init__.py +0 -0
  573. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_asyncmy/test_config.py +0 -0
  574. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_asyncpg/__init__.py +0 -0
  575. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_asyncpg/test_cloud_connectors.py +0 -0
  576. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_asyncpg/test_config.py +0 -0
  577. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_asyncpg/test_type_handlers.py +0 -0
  578. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_bigquery/__init__.py +0 -0
  579. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_bigquery/test_config.py +0 -0
  580. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_bigquery/test_parameters.py +0 -0
  581. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_duckdb/__init__.py +0 -0
  582. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_duckdb/test_config.py +0 -0
  583. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_duckdb/test_extension_flags.py +0 -0
  584. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_duckdb/test_type_converter.py +0 -0
  585. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_extension_config.py +0 -0
  586. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_oracledb/test_adk_store.py +0 -0
  587. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_oracledb/test_data_dictionary.py +0 -0
  588. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_oracledb/test_numpy_handlers.py +0 -0
  589. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_oracledb/test_pipeline_helpers.py +0 -0
  590. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_oracledb/test_type_converter_vectors.py +0 -0
  591. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_oracledb/test_uuid_handlers.py +0 -0
  592. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_psqlpy/__init__.py +0 -0
  593. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_psqlpy/test_config.py +0 -0
  594. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_psycopg/test_config.py +0 -0
  595. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_psycopg/test_type_handlers.py +0 -0
  596. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_sqlite/__init__.py +0 -0
  597. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_sqlite/test_type_handlers.py +0 -0
  598. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_adapters/test_sync_adapters.py +0 -0
  599. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_arrow_helpers.py +0 -0
  600. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_arrow_result.py +0 -0
  601. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_base/__init__.py +0 -0
  602. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_base/test_sql_integration.py +0 -0
  603. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_base/test_sqlspec_class.py +0 -0
  604. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/__init__.py +0 -0
  605. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/test_copy_helpers.py +0 -0
  606. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/test_dialect_override.py +0 -0
  607. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/test_insert_builder.py +0 -0
  608. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/test_lateral_joins.py +0 -0
  609. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/test_merge_dialect_validation.py +0 -0
  610. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/test_merge_property_shorthand.py +0 -0
  611. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/test_parameter_naming.py +0 -0
  612. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/test_select_locking.py +0 -0
  613. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/test_to_sql.py +0 -0
  614. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/test_to_sql_edge_cases.py +0 -0
  615. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/test_upsert_factory.py +0 -0
  616. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder/test_upsert_factory_edge_cases.py +0 -0
  617. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_builder_parameter_naming.py +0 -0
  618. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_cli/__init__.py +0 -0
  619. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_cli/test_config_loading.py +0 -0
  620. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_cli/test_migration_commands.py +0 -0
  621. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_cli/test_shell_completion.py +0 -0
  622. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_config/test_migration_methods.py +0 -0
  623. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_config/test_observability_extensions.py +0 -0
  624. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_config/test_storage_capabilities.py +0 -0
  625. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_config_resolver.py +0 -0
  626. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_core/test_cache.py +0 -0
  627. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_core/test_compiler.py +0 -0
  628. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_core/test_filters.py +0 -0
  629. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_core/test_hashing.py +0 -0
  630. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_core/test_parameter_regex_performance.py +0 -0
  631. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_core/test_result.py +0 -0
  632. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_core/test_stack.py +0 -0
  633. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_core/test_stack_metrics.py +0 -0
  634. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_cte_parameter_collisions.py +0 -0
  635. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_driver/__init__.py +0 -0
  636. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_driver/test_count_query_edge_cases.py +0 -0
  637. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_driver/test_data_dictionary.py +0 -0
  638. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_driver/test_result_tools.py +0 -0
  639. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_driver/test_stack_base.py +0 -0
  640. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_exceptions.py +0 -0
  641. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/__init__.py +0 -0
  642. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/test_fastapi/__init__.py +0 -0
  643. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/test_fastapi/test_extension.py +0 -0
  644. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/test_fastapi/test_providers.py +0 -0
  645. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/test_flask/__init__.py +0 -0
  646. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/test_flask/test_extension.py +0 -0
  647. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/test_flask/test_state.py +0 -0
  648. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/test_litestar/__init__.py +0 -0
  649. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/test_litestar/test_handlers.py +0 -0
  650. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/test_observability_integrations.py +0 -0
  651. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/test_starlette/__init__.py +0 -0
  652. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/test_starlette/test_config_state.py +0 -0
  653. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/test_starlette/test_extension.py +0 -0
  654. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_extensions/test_starlette/test_utils.py +0 -0
  655. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_loader/__init__.py +0 -0
  656. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_loader/test_cache_integration.py +0 -0
  657. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_loader/test_fixtures_directory_loading.py +0 -0
  658. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_loader/test_loading_patterns.py +0 -0
  659. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_loader/test_sql_file_loader.py +0 -0
  660. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migration_context.py +0 -0
  661. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/__init__.py +0 -0
  662. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_checksum_canonicalization.py +0 -0
  663. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_extension_discovery.py +0 -0
  664. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_fix_regex_precision.py +0 -0
  665. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_migration.py +0 -0
  666. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_migration_commands.py +0 -0
  667. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_migration_context.py +0 -0
  668. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_migration_execution.py +0 -0
  669. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_migration_runner.py +0 -0
  670. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_null_handling_fixes.py +0 -0
  671. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_tracker_idempotency.py +0 -0
  672. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_utils.py +0 -0
  673. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_validation.py +0 -0
  674. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_version.py +0 -0
  675. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_version_conversion.py +0 -0
  676. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_migrations/test_version_parsing_edge_cases.py +0 -0
  677. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_observability.py +0 -0
  678. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_parsing_utils.py +0 -0
  679. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_serialization.py +0 -0
  680. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_sql_factory.py +0 -0
  681. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_storage/__init__.py +0 -0
  682. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_storage/test_errors.py +0 -0
  683. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_storage/test_fsspec_backend.py +0 -0
  684. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_storage/test_local_store.py +0 -0
  685. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_storage/test_obstore_backend.py +0 -0
  686. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_storage/test_storage_registry.py +0 -0
  687. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_storage/test_storage_utils.py +0 -0
  688. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_storage_bridge.py +0 -0
  689. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_type_conversion.py +0 -0
  690. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/__init__.py +0 -0
  691. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/test_correlation.py +0 -0
  692. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/test_data_transformation.py +0 -0
  693. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/test_dependencies.py +0 -0
  694. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/test_deprecation.py +0 -0
  695. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/test_fixtures.py +0 -0
  696. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/test_logging.py +0 -0
  697. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/test_module_loader.py +0 -0
  698. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/test_serializers.py +0 -0
  699. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/test_singleton.py +0 -0
  700. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/test_sync_tools.py +0 -0
  701. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/test_text.py +0 -0
  702. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_utils/test_type_guards.py +0 -0
  703. {sqlspec-0.30.2 → sqlspec-0.31.0}/tests/unit/test_where_or_operations.py +0 -0
  704. {sqlspec-0.30.2 → sqlspec-0.31.0}/tools/__init__.py +0 -0
  705. {sqlspec-0.30.2 → sqlspec-0.31.0}/tools/build_docs.py +0 -0
  706. {sqlspec-0.30.2 → sqlspec-0.31.0}/tools/fix_documentation.py +0 -0
  707. {sqlspec-0.30.2 → sqlspec-0.31.0}/tools/local-infra.sh +0 -0
  708. {sqlspec-0.30.2 → sqlspec-0.31.0}/tools/pypi_readme.py +0 -0
  709. {sqlspec-0.30.2 → sqlspec-0.31.0}/tools/run_pre_commit.py +0 -0
  710. {sqlspec-0.30.2 → sqlspec-0.31.0}/tools/sphinx_ext/__init__.py +0 -0
  711. {sqlspec-0.30.2 → sqlspec-0.31.0}/tools/sphinx_ext/changelog.py +0 -0
  712. {sqlspec-0.30.2 → sqlspec-0.31.0}/tools/sphinx_ext/missing_references.py +0 -0
@@ -591,8 +591,8 @@ Before starting checkpoints, activate intelligence mode:
591
591
  4. **INTELLIGENT TOOL USE** - Check `.gemini/mcp-strategy.md` for tool selection
592
592
  5. **PATTERN LEARNING** - Identify 3-5 similar features and learn from them
593
593
  6. **ADAPTIVE DEPTH** - Simple features: 6 checkpoints, Medium: 8, Complex: 10+
594
- 7. **RESEARCH GROUNDED** - Minimum 500+ words of research
595
- 8. **COMPREHENSIVE PRD** - Minimum 800+ words PRD with specific acceptance criteria
594
+ 7. **RESEARCH GROUNDED** - Minimum 2000+ words of research
595
+ 8. **COMPREHENSIVE PRD** - Minimum 3200+ words PRD with specific acceptance criteria
596
596
  9. **GIT VERIFICATION** - Verify git status shows no src/ changes at end
597
597
 
598
598
  **VERIFICATION**: After EACH checkpoint, explicitly state "✓ Checkpoint N complete" before proceeding.
@@ -792,7 +792,7 @@ mcp__crash__crash(
792
792
 
793
793
  ### Checkpoint 4: Research Best Practices with Pattern Library
794
794
 
795
- **⚠️ CRITICAL**: Research MUST produce minimum 500+ words of documented findings.
795
+ **⚠️ CRITICAL**: Research MUST produce minimum 2000+ words of documented findings.
796
796
 
797
797
  **Research priority order:**
798
798
 
@@ -864,7 +864,7 @@ WebSearch(query="Python async database pooling best practices 2025")
864
864
 
865
865
  {What web search revealed - 50+ words}
866
866
 
867
- **Total**: {count} words (minimum 500 required)
867
+ **Total**: {count} words (minimum 2000 required)
868
868
  ```
869
869
 
870
870
  **Verify word count:**
@@ -873,15 +873,15 @@ WebSearch(query="Python async database pooling best practices 2025")
873
873
  wc -w specs/active/{{slug}}/research/plan.md
874
874
  ```
875
875
 
876
- **⚠️ STOP IF**: Research document is <500 words → Add more research.
876
+ **⚠️ STOP IF**: Research document is <2000 words → Add more research.
877
877
 
878
- **Output**: "✓ Checkpoint 4 complete - Research finished (500+ words documented)"
878
+ **Output**: "✓ Checkpoint 4 complete - Research finished (2000+ words documented)"
879
879
 
880
880
  ---
881
881
 
882
882
  ### Checkpoint 5: Write Comprehensive PRD with Pattern References
883
883
 
884
- **⚠️ CRITICAL**: PRD MUST be minimum 800+ words with specific, measurable acceptance criteria.
884
+ **⚠️ CRITICAL**: PRD MUST be minimum 3200+ words with specific, measurable acceptance criteria.
885
885
 
886
886
  **Use template from `specs/template-spec/prd.md` if it exists.**
887
887
 
@@ -1030,9 +1030,9 @@ class NewAdapter(AsyncDatabaseConfig): # Pattern: inherit from base
1030
1030
  wc -w specs/active/{{slug}}/prd.md
1031
1031
  ```
1032
1032
 
1033
- **⚠️ STOP IF**: PRD is <800 words → Add more detail.
1033
+ **⚠️ STOP IF**: PRD is <3200 words → Add more detail.
1034
1034
 
1035
- **Output**: "✓ Checkpoint 5 complete - PRD written (800+ words) with pattern references"
1035
+ **Output**: "✓ Checkpoint 5 complete - PRD written (3200+ words) with pattern references"
1036
1036
 
1037
1037
  ---
1038
1038
 
@@ -1055,7 +1055,7 @@ wc -w specs/active/{{slug}}/prd.md
1055
1055
  ## Phase 1: Planning & Research ✓
1056
1056
 
1057
1057
  - [x] PRD created
1058
- - [x] Research documented (500+ words)
1058
+ - [x] Research documented (2000+ words)
1059
1059
  - [x] Patterns identified (3-5 similar features)
1060
1060
  - [x] Workspace setup
1061
1061
  - [x] Deep analysis completed
@@ -1137,8 +1137,8 @@ Checkpoints completed:
1137
1137
  - ✓ Checkpoint 1: Requirements analyzed, patterns identified
1138
1138
  - ✓ Checkpoint 2: Workspace created
1139
1139
  - ✓ Checkpoint 3: Intelligent analysis completed
1140
- - ✓ Checkpoint 4: Research completed (500+ words)
1141
- - ✓ Checkpoint 5: PRD written (800+ words)
1140
+ - ✓ Checkpoint 4: Research completed (2000+ words)
1141
+ - ✓ Checkpoint 5: PRD written (3200+ words)
1142
1142
  - ✓ Checkpoint 6: Tasks broken down
1143
1143
  - ✓ Checkpoint 7: Recovery guide created
1144
1144
 
@@ -1239,8 +1239,8 @@ Intelligence Enhancements:
1239
1239
  Deliverables:
1240
1240
  - ✓ Workspace created
1241
1241
  - ✓ Intelligent analysis completed
1242
- - ✓ Research completed (500+ words)
1243
- - ✓ PRD written (800+ words) with pattern references
1242
+ - ✓ Research completed (2000+ words)
1243
+ - ✓ PRD written (3200+ words) with pattern references
1244
1244
  - ✓ Tasks broken down (adapted to complexity)
1245
1245
  - ✓ Recovery guide created
1246
1246
  - ✓ NO source code modified
@@ -1261,8 +1261,8 @@ Next step: Run `/implement {{slug}}`
1261
1261
  - [ ] **Requirements Analyzed**: Clear understanding with pattern alignment
1262
1262
  - [ ] **Workspace Created**: specs/active/{{slug}}/ with intelligence artifacts
1263
1263
  - [ ] **Intelligent Analysis**: Appropriate tool used based on complexity
1264
- - [ ] **Research Complete**: 500+ words with pattern library insights
1265
- - [ ] **PRD Written**: 800+ words with specific acceptance criteria and pattern references
1264
+ - [ ] **Research Complete**: 2000+ words with pattern library insights
1265
+ - [ ] **PRD Written**: 3200+ words with specific acceptance criteria and pattern references
1266
1266
  - [ ] **Tasks Broken Down**: Testable chunks adapted to complexity
1267
1267
  - [ ] **Recovery Guide Created**: Clear resumption instructions with intelligence context
1268
1268
  - [ ] **Git Clean**: NO source code modifications
@@ -1277,8 +1277,8 @@ Next step: Run `/implement {{slug}}`
1277
1277
  ❌ **Modifying source code** - PRD is planning only
1278
1278
  ❌ **Vague acceptance criteria** - Must be specific and measurable
1279
1279
  ❌ **Skipping pattern library** - Must consult `specs/guides/patterns/`
1280
- ❌ **Insufficient research** - Minimum 500 words required
1281
- ❌ **Short PRD** - Minimum 800 words required
1280
+ ❌ **Insufficient research** - Minimum 2000 words required
1281
+ ❌ **Short PRD** - Minimum 3200 words required
1282
1282
 
1283
1283
  ---
1284
1284
 
@@ -1928,7 +1928,7 @@ TOML_EOF
1928
1928
 
1929
1929
  ```bash
1930
1930
  ls -la .gemini/commands/implement.toml
1931
- wc -l .gemini/commands/implement.toml # Should be ~800+ lines
1931
+ wc -l .gemini/commands/implement.toml # Should be ~3200+ lines
1932
1932
  ```
1933
1933
 
1934
1934
  ---
@@ -1984,6 +1984,7 @@ ls -la tmp/
1984
1984
  - **Complex Feature**: Architecture change, multi-component → 9+ test checkpoints (unit + integration + edge cases + performance)
1985
1985
 
1986
1986
  3. **Identify similar test files:**
1987
+
1987
1988
  ```bash
1988
1989
  # Find tests for similar features
1989
1990
  find tests/ -type f -name "test_*" | grep -i "{feature_keyword}"
@@ -1994,6 +1995,7 @@ cat tests/integration/test_adapters/test_asyncpg/test_similar_feature2.py | head
1994
1995
  ```
1995
1996
 
1996
1997
  4. **Create test analysis:**
1998
+
1997
1999
  ```markdown
1998
2000
  # specs/active/{{slug}}/tmp/test-analysis.md
1999
2001
 
@@ -2032,6 +2034,7 @@ Based on similar features:
2032
2034
  ```
2033
2035
 
2034
2036
  5. **Update tasks:**
2037
+
2035
2038
  ```markdown
2036
2039
  # specs/active/{{slug}}/tasks.md
2037
2040
 
@@ -2044,6 +2047,7 @@ Based on similar features:
2044
2047
  ```
2045
2048
 
2046
2049
  **Output:**
2050
+
2047
2051
  ```
2048
2052
  ✓ Checkpoint 0 complete - Test intelligence bootstrapped
2049
2053
  Test complexity assessed: [simple|medium|complex]
@@ -2059,12 +2063,14 @@ Key test patterns documented in tmp/test-analysis.md
2059
2063
  **Actions:**
2060
2064
 
2061
2065
  1. **Review feature implementation:**
2066
+
2062
2067
  ```bash
2063
2068
  # Find files created/modified in implementation
2064
2069
  git diff --name-only main...HEAD | grep "sqlspec/"
2065
2070
  ```
2066
2071
 
2067
2072
  2. **Follow test patterns from analysis:**
2073
+
2068
2074
  ```markdown
2069
2075
  Read `specs/active/{{slug}}/tmp/test-analysis.md` for patterns.
2070
2076
 
@@ -2075,6 +2081,7 @@ For each new file/class created:
2075
2081
  ```
2076
2082
 
2077
2083
  3. **Create unit tests:**
2084
+
2078
2085
  ```python
2079
2086
  # tests/unit/test_{feature_name}.py
2080
2087
 
@@ -2139,11 +2146,13 @@ class TestFeatureClass:
2139
2146
  ```
2140
2147
 
2141
2148
  4. **Run unit tests:**
2149
+
2142
2150
  ```bash
2143
2151
  uv run pytest tests/unit/test_{feature_name}.py -v
2144
2152
  ```
2145
2153
 
2146
2154
  5. **Update tasks:**
2155
+
2147
2156
  ```markdown
2148
2157
  ## Testing Phase
2149
2158
  - [x] Checkpoint 1: Unit tests created
@@ -2153,6 +2162,7 @@ uv run pytest tests/unit/test_{feature_name}.py -v
2153
2162
  ```
2154
2163
 
2155
2164
  **Output:**
2165
+
2156
2166
  ```
2157
2167
  ✓ Checkpoint 1 complete - Unit tests created and passing
2158
2168
  Unit test file: tests/unit/test_{feature_name}.py
@@ -2167,6 +2177,7 @@ Pattern compliance verified
2167
2177
  **Actions:**
2168
2178
 
2169
2179
  1. **Determine adapter coverage:**
2180
+
2170
2181
  ```markdown
2171
2182
  Based on feature implementation, determine which adapters need testing:
2172
2183
 
@@ -2181,6 +2192,7 @@ Based on feature implementation, determine which adapters need testing:
2181
2192
  ```
2182
2193
 
2183
2194
  2. **Review integration test patterns:**
2195
+
2184
2196
  ```bash
2185
2197
  # Read integration tests for similar features
2186
2198
  cat tests/integration/test_adapters/test_asyncpg/test_similar_feature.py | head -150
@@ -2188,6 +2200,7 @@ cat tests/integration/test_similar_cross_adapter.py | head -150
2188
2200
  ```
2189
2201
 
2190
2202
  3. **Create integration test structure:**
2203
+
2191
2204
  ```bash
2192
2205
  # If adapter-specific:
2193
2206
  touch tests/integration/test_adapters/test_{adapter}/test_{feature_name}.py
@@ -2197,6 +2210,7 @@ touch tests/integration/test_{feature_name}.py
2197
2210
  ```
2198
2211
 
2199
2212
  4. **Update tasks:**
2213
+
2200
2214
  ```markdown
2201
2215
  ## Testing Phase
2202
2216
  - [x] Checkpoint 2: Integration test structure created
@@ -2205,6 +2219,7 @@ touch tests/integration/test_{feature_name}.py
2205
2219
  ```
2206
2220
 
2207
2221
  **Output:**
2222
+
2208
2223
  ```
2209
2224
  ✓ Checkpoint 2 complete - Integration test structure ready
2210
2225
  Adapter coverage: [list]
@@ -2218,6 +2233,7 @@ Test files created: [list]
2218
2233
  **Actions:**
2219
2234
 
2220
2235
  1. **Create AsyncPG tests:**
2236
+
2221
2237
  ```python
2222
2238
  # tests/integration/test_adapters/test_asyncpg/test_{feature_name}.py
2223
2239
 
@@ -2267,11 +2283,13 @@ async def test_{feature}_edge_case(asyncpg_dsn):
2267
2283
  ```
2268
2284
 
2269
2285
  2. **Run AsyncPG tests:**
2286
+
2270
2287
  ```bash
2271
2288
  uv run pytest tests/integration/test_adapters/test_asyncpg/test_{feature_name}.py -v
2272
2289
  ```
2273
2290
 
2274
2291
  3. **Update tasks:**
2292
+
2275
2293
  ```markdown
2276
2294
  ## Testing Phase
2277
2295
  - [x] Checkpoint 3: AsyncPG integration tests complete
@@ -2280,6 +2298,7 @@ uv run pytest tests/integration/test_adapters/test_asyncpg/test_{feature_name}.p
2280
2298
  ```
2281
2299
 
2282
2300
  **Output:**
2301
+
2283
2302
  ```
2284
2303
  ✓ Checkpoint 3 complete - AsyncPG integration tests passing
2285
2304
  Test count: {X}
@@ -2292,6 +2311,7 @@ Test count: {X}
2292
2311
  **Actions:**
2293
2312
 
2294
2313
  1. **For each additional adapter, create tests:**
2314
+
2295
2315
  ```python
2296
2316
  # tests/integration/test_adapters/test_{adapter}/test_{feature_name}.py
2297
2317
 
@@ -2306,6 +2326,7 @@ Following patterns from:
2306
2326
  ```
2307
2327
 
2308
2328
  2. **Run each adapter test:**
2329
+
2309
2330
  ```bash
2310
2331
  uv run pytest tests/integration/test_adapters/test_psycopg/test_{feature_name}.py -v
2311
2332
  uv run pytest tests/integration/test_adapters/test_sqlite/test_{feature_name}.py -v
@@ -2313,6 +2334,7 @@ uv run pytest tests/integration/test_adapters/test_sqlite/test_{feature_name}.py
2313
2334
  ```
2314
2335
 
2315
2336
  3. **Update tasks:**
2337
+
2316
2338
  ```markdown
2317
2339
  ## Testing Phase
2318
2340
  - [x] Checkpoint 4: Additional adapter tests complete
@@ -2322,6 +2344,7 @@ uv run pytest tests/integration/test_adapters/test_sqlite/test_{feature_name}.py
2322
2344
  ```
2323
2345
 
2324
2346
  **Output:**
2347
+
2325
2348
  ```
2326
2349
  ✓ Checkpoint 4 complete - All adapter integration tests passing
2327
2350
  Adapters tested: [list]
@@ -2335,11 +2358,13 @@ Total integration tests: {X}
2335
2358
  **Actions:**
2336
2359
 
2337
2360
  1. **Review edge cases from analysis:**
2361
+
2338
2362
  ```bash
2339
2363
  cat specs/active/{{slug}}/tmp/test-analysis.md | grep -A10 "Edge Cases"
2340
2364
  ```
2341
2365
 
2342
2366
  2. **Create edge case tests:**
2367
+
2343
2368
  ```python
2344
2369
  # Add to existing test files
2345
2370
 
@@ -2367,11 +2392,13 @@ async def test_{feature}_edge_cases(edge_input, expected_behavior, session):
2367
2392
  ```
2368
2393
 
2369
2394
  3. **Run edge case tests:**
2395
+
2370
2396
  ```bash
2371
2397
  uv run pytest -k "edge_case" -v
2372
2398
  ```
2373
2399
 
2374
2400
  4. **Update tasks:**
2401
+
2375
2402
  ```markdown
2376
2403
  ## Testing Phase
2377
2404
  - [x] Checkpoint 5: Edge case testing complete
@@ -2380,6 +2407,7 @@ uv run pytest -k "edge_case" -v
2380
2407
  ```
2381
2408
 
2382
2409
  **Output:**
2410
+
2383
2411
  ```
2384
2412
  ✓ Checkpoint 5 complete - Edge cases covered
2385
2413
  Edge case tests: {X}
@@ -2392,11 +2420,13 @@ Edge case tests: {X}
2392
2420
  **Actions:**
2393
2421
 
2394
2422
  1. **Run coverage report:**
2423
+
2395
2424
  ```bash
2396
2425
  uv run pytest --cov=sqlspec.{module} --cov-report=term-missing tests/
2397
2426
  ```
2398
2427
 
2399
2428
  2. **Verify coverage thresholds:**
2429
+
2400
2430
  ```markdown
2401
2431
  Based on similar features, verify:
2402
2432
 
@@ -2411,6 +2441,7 @@ If below thresholds:
2411
2441
  ```
2412
2442
 
2413
2443
  3. **Document coverage:**
2444
+
2414
2445
  ```markdown
2415
2446
  # specs/active/{{slug}}/tmp/test-coverage.md
2416
2447
 
@@ -2437,6 +2468,7 @@ If below thresholds:
2437
2468
  ```
2438
2469
 
2439
2470
  4. **Update tasks:**
2471
+
2440
2472
  ```markdown
2441
2473
  ## Testing Phase
2442
2474
  - [x] Checkpoint 6: Coverage verification complete
@@ -2447,6 +2479,7 @@ If below thresholds:
2447
2479
  ```
2448
2480
 
2449
2481
  **Output:**
2482
+
2450
2483
  ```
2451
2484
  ✓ Checkpoint 6 complete - Coverage thresholds met
2452
2485
  Overall coverage: {X}%
@@ -2460,6 +2493,7 @@ Unit: {X}% | Integration: {X}% | Edge cases: {X}
2460
2493
  **Actions:**
2461
2494
 
2462
2495
  1. **Determine if performance testing needed:**
2496
+
2463
2497
  ```markdown
2464
2498
  Performance testing required if:
2465
2499
  - Feature affects query execution time
@@ -2469,6 +2503,7 @@ Performance testing required if:
2469
2503
  ```
2470
2504
 
2471
2505
  2. **Create performance benchmarks:**
2506
+
2472
2507
  ```python
2473
2508
  # tests/integration/test_{feature_name}_performance.py
2474
2509
 
@@ -2502,11 +2537,13 @@ async def test_{feature}_performance_baseline(session):
2502
2537
  ```
2503
2538
 
2504
2539
  3. **Run performance tests:**
2540
+
2505
2541
  ```bash
2506
2542
  uv run pytest -k "performance" -v
2507
2543
  ```
2508
2544
 
2509
2545
  4. **Update tasks:**
2546
+
2510
2547
  ```markdown
2511
2548
  ## Testing Phase
2512
2549
  - [x] Checkpoint 7: Performance testing complete
@@ -2516,6 +2553,7 @@ uv run pytest -k "performance" -v
2516
2553
  ```
2517
2554
 
2518
2555
  **Output:**
2556
+
2519
2557
  ```
2520
2558
  ✓ Checkpoint 7 complete - Performance benchmarks established
2521
2559
  Average execution time: {X}ms
@@ -2529,6 +2567,7 @@ Threshold met: ✓
2529
2567
  **Actions:**
2530
2568
 
2531
2569
  1. **Run complete test suite:**
2570
+
2532
2571
  ```bash
2533
2572
  # Run all tests for feature
2534
2573
  uv run pytest -k "{feature_name}" -v
@@ -2538,6 +2577,7 @@ uv run pytest -n 2 --dist=loadgroup tests/
2538
2577
  ```
2539
2578
 
2540
2579
  2. **Verify all tests pass:**
2580
+
2541
2581
  ```markdown
2542
2582
  Expected results:
2543
2583
  - All new tests: PASSED
@@ -2546,6 +2586,7 @@ Expected results:
2546
2586
  ```
2547
2587
 
2548
2588
  3. **Create test summary:**
2589
+
2549
2590
  ```markdown
2550
2591
  # specs/active/{{slug}}/tmp/test-summary.md
2551
2592
 
@@ -2583,6 +2624,7 @@ Expected results:
2583
2624
  ```
2584
2625
 
2585
2626
  4. **Update tasks:**
2627
+
2586
2628
  ```markdown
2587
2629
  ## Testing Phase
2588
2630
  - [x] Checkpoint 8: Final test suite execution complete
@@ -2593,6 +2635,7 @@ Expected results:
2593
2635
  ```
2594
2636
 
2595
2637
  5. **Update recovery.md:**
2638
+
2596
2639
  ```markdown
2597
2640
  # specs/active/{{slug}}/recovery.md
2598
2641
 
@@ -2610,6 +2653,7 @@ Testing phase finished. Ready for documentation and review.
2610
2653
  ```
2611
2654
 
2612
2655
  **Output:**
2656
+
2613
2657
  ```
2614
2658
  ✓ Checkpoint 8 complete - Testing phase finished
2615
2659
 
@@ -2654,6 +2698,7 @@ Run: /review
2654
2698
 
2655
2699
  Execute `/review` command to begin documentation and review phase.
2656
2700
  """
2701
+
2657
2702
  ```
2658
2703
 
2659
2704
  **Save:**
@@ -2719,6 +2764,7 @@ ls -la tmp/
2719
2764
  ```
2720
2765
 
2721
2766
  2. **Review implementation artifacts:**
2767
+
2722
2768
  ```bash
2723
2769
  # Find files modified
2724
2770
  git diff --name-only main...HEAD
@@ -2731,6 +2777,7 @@ cat tmp/test-summary.md
2731
2777
  ```
2732
2778
 
2733
2779
  3. **Identify new patterns to extract:**
2780
+
2734
2781
  ```markdown
2735
2782
  # specs/active/{{slug}}/tmp/pattern-extraction-plan.md
2736
2783
 
@@ -2773,6 +2820,7 @@ For each pattern identified:
2773
2820
  ```
2774
2821
 
2775
2822
  4. **Update tasks:**
2823
+
2776
2824
  ```markdown
2777
2825
  # specs/active/{{slug}}/tasks.md
2778
2826
 
@@ -2784,6 +2832,7 @@ For each pattern identified:
2784
2832
  ```
2785
2833
 
2786
2834
  **Output:**
2835
+
2787
2836
  ```
2788
2837
  ✓ Checkpoint 0 complete - Review intelligence bootstrapped
2789
2838
  Files modified: [list]
@@ -2800,6 +2849,7 @@ Ready for documentation phase
2800
2849
  **Actions:**
2801
2850
 
2802
2851
  1. **Determine documentation scope:**
2852
+
2803
2853
  ```bash
2804
2854
  # If adapter feature:
2805
2855
  DOCS_FILE="docs/guides/adapters/{adapter}.md"
@@ -2812,11 +2862,13 @@ DOCS_FILE="docs/guides/extensions/{extension}.md"
2812
2862
  ```
2813
2863
 
2814
2864
  2. **Read existing documentation:**
2865
+
2815
2866
  ```bash
2816
2867
  cat $DOCS_FILE | head -200
2817
2868
  ```
2818
2869
 
2819
2870
  3. **Update documentation following patterns:**
2871
+
2820
2872
  ```markdown
2821
2873
  # Add to appropriate section in docs file
2822
2874
 
@@ -2877,6 +2929,7 @@ async with sql.provide_session(config) as session:
2877
2929
  ```
2878
2930
 
2879
2931
  4. **Update tasks:**
2932
+
2880
2933
  ```markdown
2881
2934
  ## Review & Documentation Phase
2882
2935
  - [x] Checkpoint 1: Feature documentation updated
@@ -2885,6 +2938,7 @@ async with sql.provide_session(config) as session:
2885
2938
  ```
2886
2939
 
2887
2940
  **Output:**
2941
+
2888
2942
  ```
2889
2943
  ✓ Checkpoint 1 complete - Feature documentation updated
2890
2944
  Documentation file: {docs_file}
@@ -2898,11 +2952,13 @@ Sections updated: [list]
2898
2952
  **Actions:**
2899
2953
 
2900
2954
  1. **Review pattern extraction plan:**
2955
+
2901
2956
  ```bash
2902
2957
  cat specs/active/{{slug}}/tmp/pattern-extraction-plan.md
2903
2958
  ```
2904
2959
 
2905
2960
  2. **Update AGENTS.md with new patterns:**
2961
+
2906
2962
  ```markdown
2907
2963
  # Find appropriate section in AGENTS.md based on pattern type
2908
2964
 
@@ -2984,6 +3040,7 @@ driver_features={"enable_{feature}": True}
2984
3040
  ```
2985
3041
 
2986
3042
  3. **Update tasks:**
3043
+
2987
3044
  ```markdown
2988
3045
  ## Review & Documentation Phase
2989
3046
  - [x] Checkpoint 2: AGENTS.md updated with new patterns
@@ -2992,6 +3049,7 @@ driver_features={"enable_{feature}": True}
2992
3049
  ```
2993
3050
 
2994
3051
  **Output:**
3052
+
2995
3053
  ```
2996
3054
  ✓ Checkpoint 2 complete - AGENTS.md updated
2997
3055
  New patterns documented: [count]
@@ -3007,27 +3065,32 @@ Sections updated: [list]
3007
3065
  **Actions:**
3008
3066
 
3009
3067
  1. **Run linting checks:**
3068
+
3010
3069
  ```bash
3011
3070
  uv run ruff check sqlspec/
3012
3071
  uv run ruff format --check sqlspec/
3013
3072
  ```
3014
3073
 
3015
3074
  2. **Run type checking:**
3075
+
3016
3076
  ```bash
3017
3077
  uv run mypy sqlspec/
3018
3078
  ```
3019
3079
 
3020
3080
  3. **Run full test suite:**
3081
+
3021
3082
  ```bash
3022
3083
  uv run pytest -n 2 --dist=loadgroup tests/
3023
3084
  ```
3024
3085
 
3025
3086
  4. **Build documentation:**
3087
+
3026
3088
  ```bash
3027
3089
  make docs
3028
3090
  ```
3029
3091
 
3030
3092
  5. **Verify quality gates:**
3093
+
3031
3094
  ```markdown
3032
3095
  # specs/active/{{slug}}/tmp/quality-gate-report.md
3033
3096
 
@@ -3061,6 +3124,7 @@ make docs
3061
3124
  ```
3062
3125
 
3063
3126
  6. **Fix any issues found:**
3127
+
3064
3128
  ```bash
3065
3129
  # If ruff issues:
3066
3130
  uv run ruff check --fix sqlspec/
@@ -3076,6 +3140,7 @@ uv run ruff check --fix sqlspec/
3076
3140
  ```
3077
3141
 
3078
3142
  7. **Update tasks:**
3143
+
3079
3144
  ```markdown
3080
3145
  ## Review & Documentation Phase
3081
3146
  - [x] Checkpoint 3: Quality gates validated
@@ -3087,6 +3152,7 @@ uv run ruff check --fix sqlspec/
3087
3152
  ```
3088
3153
 
3089
3154
  **Output:**
3155
+
3090
3156
  ```
3091
3157
  ✓ Checkpoint 3 complete - Quality gates passed
3092
3158
  Linting: ✓ | Type checking: ✓ | Tests: ✓ | Docs: ✓
@@ -3178,6 +3244,7 @@ EOF
3178
3244
  ```
3179
3245
 
3180
3246
  2. **Update pattern library index:**
3247
+
3181
3248
  ```bash
3182
3249
  # Add to specs/guides/patterns/README.md
3183
3250
 
@@ -3194,6 +3261,7 @@ EOF
3194
3261
  ```
3195
3262
 
3196
3263
  3. **Update tasks:**
3264
+
3197
3265
  ```markdown
3198
3266
  ## Review & Documentation Phase
3199
3267
  - [x] Checkpoint 4: Patterns extracted to library
@@ -3202,6 +3270,7 @@ EOF
3202
3270
  ```
3203
3271
 
3204
3272
  **Output:**
3273
+
3205
3274
  ```
3206
3275
  ✓ Checkpoint 4 complete - Patterns captured in library
3207
3276
  Patterns extracted: [count]
@@ -3218,16 +3287,19 @@ Pattern library updated
3218
3287
  **Actions:**
3219
3288
 
3220
3289
  1. **Re-run tests:**
3290
+
3221
3291
  ```bash
3222
3292
  uv run pytest -n 2 --dist=loadgroup tests/
3223
3293
  ```
3224
3294
 
3225
3295
  2. **Re-build documentation:**
3296
+
3226
3297
  ```bash
3227
3298
  make docs
3228
3299
  ```
3229
3300
 
3230
3301
  3. **Verify no new issues:**
3302
+
3231
3303
  ```markdown
3232
3304
  # specs/active/{{slug}}/tmp/revalidation-report.md
3233
3305
 
@@ -3250,11 +3322,13 @@ make docs
3250
3322
  ```
3251
3323
 
3252
3324
  4. **Fix any issues:**
3325
+
3253
3326
  ```bash
3254
3327
  # If new issues found, fix them before proceeding
3255
3328
  ```
3256
3329
 
3257
3330
  5. **Update tasks:**
3331
+
3258
3332
  ```markdown
3259
3333
  ## Review & Documentation Phase
3260
3334
  - [x] Checkpoint 5: Re-validation complete
@@ -3264,6 +3338,7 @@ make docs
3264
3338
  ```
3265
3339
 
3266
3340
  **Output:**
3341
+
3267
3342
  ```
3268
3343
  ✓ Checkpoint 5 complete - Re-validation passed
3269
3344
  Tests: ✓ | Docs: ✓
@@ -3279,6 +3354,7 @@ Ready for workspace cleanup and archival
3279
3354
  **Actions:**
3280
3355
 
3281
3356
  1. **Clean tmp/ directory:**
3357
+
3282
3358
  ```bash
3283
3359
  cd specs/active/{{slug}}
3284
3360
 
@@ -3297,6 +3373,7 @@ mkdir tmp/
3297
3373
  ```
3298
3374
 
3299
3375
  2. **Create completion summary:**
3376
+
3300
3377
  ```markdown
3301
3378
  # specs/active/{{slug}}/COMPLETION-SUMMARY.md
3302
3379
 
@@ -3389,6 +3466,7 @@ This workspace will be moved to: `specs/archive/{{slug}}/`
3389
3466
  ```
3390
3467
 
3391
3468
  3. **Move to archive:**
3469
+
3392
3470
  ```bash
3393
3471
  # Move entire workspace to archive
3394
3472
  mv specs/active/{{slug}} specs/archive/{{slug}}
@@ -3398,6 +3476,7 @@ ls -la specs/archive/{{slug}}/
3398
3476
  ```
3399
3477
 
3400
3478
  4. **Update tasks (in archive):**
3479
+
3401
3480
  ```markdown
3402
3481
  # specs/archive/{{slug}}/tasks.md
3403
3482
 
@@ -3415,6 +3494,7 @@ All phases finished. Workspace archived.
3415
3494
  ```
3416
3495
 
3417
3496
  5. **Final output:**
3497
+
3418
3498
  ```markdown
3419
3499
  # specs/archive/{{slug}}/recovery.md
3420
3500
 
@@ -3439,6 +3519,7 @@ See COMPLETION-SUMMARY.md for full details.
3439
3519
  ```
3440
3520
 
3441
3521
  **Output:**
3522
+
3442
3523
  ```
3443
3524
  ✅ Checkpoint 6 complete - Workspace archived
3444
3525
 
@@ -3492,6 +3573,7 @@ Feature {Feature Name} is fully implemented, tested, documented, and archived.
3492
3573
  **Next Feature:**
3493
3574
  Run `/prd` to start planning the next feature.
3494
3575
  """
3576
+
3495
3577
  ```
3496
3578
 
3497
3579
  **Save:**