sqlspec 0.36.0__cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. ac8f31065839703b4e70__mypyc.cpython-310-aarch64-linux-gnu.so +0 -0
  2. sqlspec/__init__.py +140 -0
  3. sqlspec/__main__.py +12 -0
  4. sqlspec/__metadata__.py +14 -0
  5. sqlspec/_serialization.py +315 -0
  6. sqlspec/_typing.py +700 -0
  7. sqlspec/adapters/__init__.py +0 -0
  8. sqlspec/adapters/adbc/__init__.py +5 -0
  9. sqlspec/adapters/adbc/_typing.py +82 -0
  10. sqlspec/adapters/adbc/adk/__init__.py +5 -0
  11. sqlspec/adapters/adbc/adk/store.py +1273 -0
  12. sqlspec/adapters/adbc/config.py +295 -0
  13. sqlspec/adapters/adbc/core.cpython-310-aarch64-linux-gnu.so +0 -0
  14. sqlspec/adapters/adbc/core.py +735 -0
  15. sqlspec/adapters/adbc/data_dictionary.py +334 -0
  16. sqlspec/adapters/adbc/driver.py +529 -0
  17. sqlspec/adapters/adbc/events/__init__.py +5 -0
  18. sqlspec/adapters/adbc/events/store.py +285 -0
  19. sqlspec/adapters/adbc/litestar/__init__.py +5 -0
  20. sqlspec/adapters/adbc/litestar/store.py +502 -0
  21. sqlspec/adapters/adbc/type_converter.cpython-310-aarch64-linux-gnu.so +0 -0
  22. sqlspec/adapters/adbc/type_converter.py +140 -0
  23. sqlspec/adapters/aiosqlite/__init__.py +25 -0
  24. sqlspec/adapters/aiosqlite/_typing.py +82 -0
  25. sqlspec/adapters/aiosqlite/adk/__init__.py +5 -0
  26. sqlspec/adapters/aiosqlite/adk/store.py +818 -0
  27. sqlspec/adapters/aiosqlite/config.py +334 -0
  28. sqlspec/adapters/aiosqlite/core.cpython-310-aarch64-linux-gnu.so +0 -0
  29. sqlspec/adapters/aiosqlite/core.py +315 -0
  30. sqlspec/adapters/aiosqlite/data_dictionary.py +208 -0
  31. sqlspec/adapters/aiosqlite/driver.py +313 -0
  32. sqlspec/adapters/aiosqlite/events/__init__.py +5 -0
  33. sqlspec/adapters/aiosqlite/events/store.py +20 -0
  34. sqlspec/adapters/aiosqlite/litestar/__init__.py +5 -0
  35. sqlspec/adapters/aiosqlite/litestar/store.py +279 -0
  36. sqlspec/adapters/aiosqlite/pool.py +533 -0
  37. sqlspec/adapters/asyncmy/__init__.py +21 -0
  38. sqlspec/adapters/asyncmy/_typing.py +87 -0
  39. sqlspec/adapters/asyncmy/adk/__init__.py +5 -0
  40. sqlspec/adapters/asyncmy/adk/store.py +703 -0
  41. sqlspec/adapters/asyncmy/config.py +302 -0
  42. sqlspec/adapters/asyncmy/core.cpython-310-aarch64-linux-gnu.so +0 -0
  43. sqlspec/adapters/asyncmy/core.py +360 -0
  44. sqlspec/adapters/asyncmy/data_dictionary.py +124 -0
  45. sqlspec/adapters/asyncmy/driver.py +383 -0
  46. sqlspec/adapters/asyncmy/events/__init__.py +5 -0
  47. sqlspec/adapters/asyncmy/events/store.py +104 -0
  48. sqlspec/adapters/asyncmy/litestar/__init__.py +5 -0
  49. sqlspec/adapters/asyncmy/litestar/store.py +296 -0
  50. sqlspec/adapters/asyncpg/__init__.py +19 -0
  51. sqlspec/adapters/asyncpg/_typing.py +88 -0
  52. sqlspec/adapters/asyncpg/adk/__init__.py +5 -0
  53. sqlspec/adapters/asyncpg/adk/store.py +748 -0
  54. sqlspec/adapters/asyncpg/config.py +569 -0
  55. sqlspec/adapters/asyncpg/core.cpython-310-aarch64-linux-gnu.so +0 -0
  56. sqlspec/adapters/asyncpg/core.py +367 -0
  57. sqlspec/adapters/asyncpg/data_dictionary.py +162 -0
  58. sqlspec/adapters/asyncpg/driver.py +487 -0
  59. sqlspec/adapters/asyncpg/events/__init__.py +6 -0
  60. sqlspec/adapters/asyncpg/events/backend.py +286 -0
  61. sqlspec/adapters/asyncpg/events/store.py +40 -0
  62. sqlspec/adapters/asyncpg/litestar/__init__.py +5 -0
  63. sqlspec/adapters/asyncpg/litestar/store.py +251 -0
  64. sqlspec/adapters/bigquery/__init__.py +14 -0
  65. sqlspec/adapters/bigquery/_typing.py +86 -0
  66. sqlspec/adapters/bigquery/adk/__init__.py +5 -0
  67. sqlspec/adapters/bigquery/adk/store.py +827 -0
  68. sqlspec/adapters/bigquery/config.py +353 -0
  69. sqlspec/adapters/bigquery/core.cpython-310-aarch64-linux-gnu.so +0 -0
  70. sqlspec/adapters/bigquery/core.py +715 -0
  71. sqlspec/adapters/bigquery/data_dictionary.py +128 -0
  72. sqlspec/adapters/bigquery/driver.py +548 -0
  73. sqlspec/adapters/bigquery/events/__init__.py +5 -0
  74. sqlspec/adapters/bigquery/events/store.py +139 -0
  75. sqlspec/adapters/bigquery/litestar/__init__.py +5 -0
  76. sqlspec/adapters/bigquery/litestar/store.py +325 -0
  77. sqlspec/adapters/bigquery/type_converter.cpython-310-aarch64-linux-gnu.so +0 -0
  78. sqlspec/adapters/bigquery/type_converter.py +107 -0
  79. sqlspec/adapters/cockroach_asyncpg/__init__.py +24 -0
  80. sqlspec/adapters/cockroach_asyncpg/_typing.py +72 -0
  81. sqlspec/adapters/cockroach_asyncpg/adk/__init__.py +3 -0
  82. sqlspec/adapters/cockroach_asyncpg/adk/store.py +410 -0
  83. sqlspec/adapters/cockroach_asyncpg/config.py +238 -0
  84. sqlspec/adapters/cockroach_asyncpg/core.cpython-310-aarch64-linux-gnu.so +0 -0
  85. sqlspec/adapters/cockroach_asyncpg/core.py +55 -0
  86. sqlspec/adapters/cockroach_asyncpg/data_dictionary.py +107 -0
  87. sqlspec/adapters/cockroach_asyncpg/driver.py +144 -0
  88. sqlspec/adapters/cockroach_asyncpg/events/__init__.py +3 -0
  89. sqlspec/adapters/cockroach_asyncpg/events/store.py +20 -0
  90. sqlspec/adapters/cockroach_asyncpg/litestar/__init__.py +3 -0
  91. sqlspec/adapters/cockroach_asyncpg/litestar/store.py +142 -0
  92. sqlspec/adapters/cockroach_psycopg/__init__.py +38 -0
  93. sqlspec/adapters/cockroach_psycopg/_typing.py +129 -0
  94. sqlspec/adapters/cockroach_psycopg/adk/__init__.py +13 -0
  95. sqlspec/adapters/cockroach_psycopg/adk/store.py +868 -0
  96. sqlspec/adapters/cockroach_psycopg/config.py +484 -0
  97. sqlspec/adapters/cockroach_psycopg/core.cpython-310-aarch64-linux-gnu.so +0 -0
  98. sqlspec/adapters/cockroach_psycopg/core.py +63 -0
  99. sqlspec/adapters/cockroach_psycopg/data_dictionary.py +215 -0
  100. sqlspec/adapters/cockroach_psycopg/driver.py +284 -0
  101. sqlspec/adapters/cockroach_psycopg/events/__init__.py +6 -0
  102. sqlspec/adapters/cockroach_psycopg/events/store.py +34 -0
  103. sqlspec/adapters/cockroach_psycopg/litestar/__init__.py +3 -0
  104. sqlspec/adapters/cockroach_psycopg/litestar/store.py +325 -0
  105. sqlspec/adapters/duckdb/__init__.py +25 -0
  106. sqlspec/adapters/duckdb/_typing.py +81 -0
  107. sqlspec/adapters/duckdb/adk/__init__.py +14 -0
  108. sqlspec/adapters/duckdb/adk/store.py +850 -0
  109. sqlspec/adapters/duckdb/config.py +463 -0
  110. sqlspec/adapters/duckdb/core.cpython-310-aarch64-linux-gnu.so +0 -0
  111. sqlspec/adapters/duckdb/core.py +257 -0
  112. sqlspec/adapters/duckdb/data_dictionary.py +140 -0
  113. sqlspec/adapters/duckdb/driver.py +430 -0
  114. sqlspec/adapters/duckdb/events/__init__.py +5 -0
  115. sqlspec/adapters/duckdb/events/store.py +57 -0
  116. sqlspec/adapters/duckdb/litestar/__init__.py +5 -0
  117. sqlspec/adapters/duckdb/litestar/store.py +330 -0
  118. sqlspec/adapters/duckdb/pool.py +293 -0
  119. sqlspec/adapters/duckdb/type_converter.cpython-310-aarch64-linux-gnu.so +0 -0
  120. sqlspec/adapters/duckdb/type_converter.py +118 -0
  121. sqlspec/adapters/mock/__init__.py +72 -0
  122. sqlspec/adapters/mock/_typing.py +147 -0
  123. sqlspec/adapters/mock/config.py +483 -0
  124. sqlspec/adapters/mock/core.py +319 -0
  125. sqlspec/adapters/mock/data_dictionary.py +366 -0
  126. sqlspec/adapters/mock/driver.py +721 -0
  127. sqlspec/adapters/mysqlconnector/__init__.py +36 -0
  128. sqlspec/adapters/mysqlconnector/_typing.py +141 -0
  129. sqlspec/adapters/mysqlconnector/adk/__init__.py +15 -0
  130. sqlspec/adapters/mysqlconnector/adk/store.py +1060 -0
  131. sqlspec/adapters/mysqlconnector/config.py +394 -0
  132. sqlspec/adapters/mysqlconnector/core.cpython-310-aarch64-linux-gnu.so +0 -0
  133. sqlspec/adapters/mysqlconnector/core.py +303 -0
  134. sqlspec/adapters/mysqlconnector/data_dictionary.py +235 -0
  135. sqlspec/adapters/mysqlconnector/driver.py +483 -0
  136. sqlspec/adapters/mysqlconnector/events/__init__.py +8 -0
  137. sqlspec/adapters/mysqlconnector/events/store.py +98 -0
  138. sqlspec/adapters/mysqlconnector/litestar/__init__.py +5 -0
  139. sqlspec/adapters/mysqlconnector/litestar/store.py +426 -0
  140. sqlspec/adapters/oracledb/__init__.py +60 -0
  141. sqlspec/adapters/oracledb/_numpy_handlers.py +141 -0
  142. sqlspec/adapters/oracledb/_typing.py +182 -0
  143. sqlspec/adapters/oracledb/_uuid_handlers.py +166 -0
  144. sqlspec/adapters/oracledb/adk/__init__.py +10 -0
  145. sqlspec/adapters/oracledb/adk/store.py +2369 -0
  146. sqlspec/adapters/oracledb/config.py +550 -0
  147. sqlspec/adapters/oracledb/core.cpython-310-aarch64-linux-gnu.so +0 -0
  148. sqlspec/adapters/oracledb/core.py +543 -0
  149. sqlspec/adapters/oracledb/data_dictionary.py +536 -0
  150. sqlspec/adapters/oracledb/driver.py +1229 -0
  151. sqlspec/adapters/oracledb/events/__init__.py +16 -0
  152. sqlspec/adapters/oracledb/events/backend.py +347 -0
  153. sqlspec/adapters/oracledb/events/store.py +420 -0
  154. sqlspec/adapters/oracledb/litestar/__init__.py +5 -0
  155. sqlspec/adapters/oracledb/litestar/store.py +781 -0
  156. sqlspec/adapters/oracledb/migrations.py +535 -0
  157. sqlspec/adapters/oracledb/type_converter.cpython-310-aarch64-linux-gnu.so +0 -0
  158. sqlspec/adapters/oracledb/type_converter.py +211 -0
  159. sqlspec/adapters/psqlpy/__init__.py +17 -0
  160. sqlspec/adapters/psqlpy/_typing.py +79 -0
  161. sqlspec/adapters/psqlpy/adk/__init__.py +5 -0
  162. sqlspec/adapters/psqlpy/adk/store.py +766 -0
  163. sqlspec/adapters/psqlpy/config.py +304 -0
  164. sqlspec/adapters/psqlpy/core.cpython-310-aarch64-linux-gnu.so +0 -0
  165. sqlspec/adapters/psqlpy/core.py +480 -0
  166. sqlspec/adapters/psqlpy/data_dictionary.py +126 -0
  167. sqlspec/adapters/psqlpy/driver.py +438 -0
  168. sqlspec/adapters/psqlpy/events/__init__.py +6 -0
  169. sqlspec/adapters/psqlpy/events/backend.py +310 -0
  170. sqlspec/adapters/psqlpy/events/store.py +20 -0
  171. sqlspec/adapters/psqlpy/litestar/__init__.py +5 -0
  172. sqlspec/adapters/psqlpy/litestar/store.py +270 -0
  173. sqlspec/adapters/psqlpy/type_converter.cpython-310-aarch64-linux-gnu.so +0 -0
  174. sqlspec/adapters/psqlpy/type_converter.py +113 -0
  175. sqlspec/adapters/psycopg/__init__.py +32 -0
  176. sqlspec/adapters/psycopg/_typing.py +164 -0
  177. sqlspec/adapters/psycopg/adk/__init__.py +10 -0
  178. sqlspec/adapters/psycopg/adk/store.py +1387 -0
  179. sqlspec/adapters/psycopg/config.py +576 -0
  180. sqlspec/adapters/psycopg/core.cpython-310-aarch64-linux-gnu.so +0 -0
  181. sqlspec/adapters/psycopg/core.py +450 -0
  182. sqlspec/adapters/psycopg/data_dictionary.py +289 -0
  183. sqlspec/adapters/psycopg/driver.py +975 -0
  184. sqlspec/adapters/psycopg/events/__init__.py +20 -0
  185. sqlspec/adapters/psycopg/events/backend.py +458 -0
  186. sqlspec/adapters/psycopg/events/store.py +42 -0
  187. sqlspec/adapters/psycopg/litestar/__init__.py +5 -0
  188. sqlspec/adapters/psycopg/litestar/store.py +552 -0
  189. sqlspec/adapters/psycopg/type_converter.cpython-310-aarch64-linux-gnu.so +0 -0
  190. sqlspec/adapters/psycopg/type_converter.py +93 -0
  191. sqlspec/adapters/pymysql/__init__.py +21 -0
  192. sqlspec/adapters/pymysql/_typing.py +71 -0
  193. sqlspec/adapters/pymysql/adk/__init__.py +5 -0
  194. sqlspec/adapters/pymysql/adk/store.py +540 -0
  195. sqlspec/adapters/pymysql/config.py +195 -0
  196. sqlspec/adapters/pymysql/core.cpython-310-aarch64-linux-gnu.so +0 -0
  197. sqlspec/adapters/pymysql/core.py +299 -0
  198. sqlspec/adapters/pymysql/data_dictionary.py +122 -0
  199. sqlspec/adapters/pymysql/driver.py +259 -0
  200. sqlspec/adapters/pymysql/events/__init__.py +5 -0
  201. sqlspec/adapters/pymysql/events/store.py +50 -0
  202. sqlspec/adapters/pymysql/litestar/__init__.py +5 -0
  203. sqlspec/adapters/pymysql/litestar/store.py +232 -0
  204. sqlspec/adapters/pymysql/pool.py +137 -0
  205. sqlspec/adapters/spanner/__init__.py +40 -0
  206. sqlspec/adapters/spanner/_typing.py +86 -0
  207. sqlspec/adapters/spanner/adk/__init__.py +5 -0
  208. sqlspec/adapters/spanner/adk/store.py +732 -0
  209. sqlspec/adapters/spanner/config.py +352 -0
  210. sqlspec/adapters/spanner/core.cpython-310-aarch64-linux-gnu.so +0 -0
  211. sqlspec/adapters/spanner/core.py +188 -0
  212. sqlspec/adapters/spanner/data_dictionary.py +120 -0
  213. sqlspec/adapters/spanner/dialect/__init__.py +6 -0
  214. sqlspec/adapters/spanner/dialect/_spangres.py +57 -0
  215. sqlspec/adapters/spanner/dialect/_spanner.py +130 -0
  216. sqlspec/adapters/spanner/driver.py +373 -0
  217. sqlspec/adapters/spanner/events/__init__.py +5 -0
  218. sqlspec/adapters/spanner/events/store.py +187 -0
  219. sqlspec/adapters/spanner/litestar/__init__.py +5 -0
  220. sqlspec/adapters/spanner/litestar/store.py +291 -0
  221. sqlspec/adapters/spanner/type_converter.cpython-310-aarch64-linux-gnu.so +0 -0
  222. sqlspec/adapters/spanner/type_converter.py +331 -0
  223. sqlspec/adapters/sqlite/__init__.py +19 -0
  224. sqlspec/adapters/sqlite/_typing.py +80 -0
  225. sqlspec/adapters/sqlite/adk/__init__.py +5 -0
  226. sqlspec/adapters/sqlite/adk/store.py +958 -0
  227. sqlspec/adapters/sqlite/config.py +280 -0
  228. sqlspec/adapters/sqlite/core.cpython-310-aarch64-linux-gnu.so +0 -0
  229. sqlspec/adapters/sqlite/core.py +312 -0
  230. sqlspec/adapters/sqlite/data_dictionary.py +202 -0
  231. sqlspec/adapters/sqlite/driver.py +359 -0
  232. sqlspec/adapters/sqlite/events/__init__.py +5 -0
  233. sqlspec/adapters/sqlite/events/store.py +20 -0
  234. sqlspec/adapters/sqlite/litestar/__init__.py +5 -0
  235. sqlspec/adapters/sqlite/litestar/store.py +316 -0
  236. sqlspec/adapters/sqlite/pool.py +198 -0
  237. sqlspec/adapters/sqlite/type_converter.cpython-310-aarch64-linux-gnu.so +0 -0
  238. sqlspec/adapters/sqlite/type_converter.py +114 -0
  239. sqlspec/base.py +747 -0
  240. sqlspec/builder/__init__.py +179 -0
  241. sqlspec/builder/_base.cpython-310-aarch64-linux-gnu.so +0 -0
  242. sqlspec/builder/_base.py +1022 -0
  243. sqlspec/builder/_column.cpython-310-aarch64-linux-gnu.so +0 -0
  244. sqlspec/builder/_column.py +521 -0
  245. sqlspec/builder/_ddl.cpython-310-aarch64-linux-gnu.so +0 -0
  246. sqlspec/builder/_ddl.py +1642 -0
  247. sqlspec/builder/_delete.cpython-310-aarch64-linux-gnu.so +0 -0
  248. sqlspec/builder/_delete.py +95 -0
  249. sqlspec/builder/_dml.cpython-310-aarch64-linux-gnu.so +0 -0
  250. sqlspec/builder/_dml.py +365 -0
  251. sqlspec/builder/_explain.cpython-310-aarch64-linux-gnu.so +0 -0
  252. sqlspec/builder/_explain.py +579 -0
  253. sqlspec/builder/_expression_wrappers.cpython-310-aarch64-linux-gnu.so +0 -0
  254. sqlspec/builder/_expression_wrappers.py +46 -0
  255. sqlspec/builder/_factory.cpython-310-aarch64-linux-gnu.so +0 -0
  256. sqlspec/builder/_factory.py +1697 -0
  257. sqlspec/builder/_insert.cpython-310-aarch64-linux-gnu.so +0 -0
  258. sqlspec/builder/_insert.py +328 -0
  259. sqlspec/builder/_join.cpython-310-aarch64-linux-gnu.so +0 -0
  260. sqlspec/builder/_join.py +499 -0
  261. sqlspec/builder/_merge.cpython-310-aarch64-linux-gnu.so +0 -0
  262. sqlspec/builder/_merge.py +821 -0
  263. sqlspec/builder/_parsing_utils.cpython-310-aarch64-linux-gnu.so +0 -0
  264. sqlspec/builder/_parsing_utils.py +297 -0
  265. sqlspec/builder/_select.cpython-310-aarch64-linux-gnu.so +0 -0
  266. sqlspec/builder/_select.py +1660 -0
  267. sqlspec/builder/_temporal.cpython-310-aarch64-linux-gnu.so +0 -0
  268. sqlspec/builder/_temporal.py +139 -0
  269. sqlspec/builder/_update.cpython-310-aarch64-linux-gnu.so +0 -0
  270. sqlspec/builder/_update.py +173 -0
  271. sqlspec/builder/_vector_expressions.py +267 -0
  272. sqlspec/cli.py +911 -0
  273. sqlspec/config.py +1755 -0
  274. sqlspec/core/__init__.py +374 -0
  275. sqlspec/core/_correlation.cpython-310-aarch64-linux-gnu.so +0 -0
  276. sqlspec/core/_correlation.py +176 -0
  277. sqlspec/core/cache.cpython-310-aarch64-linux-gnu.so +0 -0
  278. sqlspec/core/cache.py +1069 -0
  279. sqlspec/core/compiler.cpython-310-aarch64-linux-gnu.so +0 -0
  280. sqlspec/core/compiler.py +954 -0
  281. sqlspec/core/explain.cpython-310-aarch64-linux-gnu.so +0 -0
  282. sqlspec/core/explain.py +275 -0
  283. sqlspec/core/filters.cpython-310-aarch64-linux-gnu.so +0 -0
  284. sqlspec/core/filters.py +952 -0
  285. sqlspec/core/hashing.cpython-310-aarch64-linux-gnu.so +0 -0
  286. sqlspec/core/hashing.py +262 -0
  287. sqlspec/core/metrics.cpython-310-aarch64-linux-gnu.so +0 -0
  288. sqlspec/core/metrics.py +83 -0
  289. sqlspec/core/parameters/__init__.py +71 -0
  290. sqlspec/core/parameters/_alignment.cpython-310-aarch64-linux-gnu.so +0 -0
  291. sqlspec/core/parameters/_alignment.py +270 -0
  292. sqlspec/core/parameters/_converter.cpython-310-aarch64-linux-gnu.so +0 -0
  293. sqlspec/core/parameters/_converter.py +543 -0
  294. sqlspec/core/parameters/_processor.cpython-310-aarch64-linux-gnu.so +0 -0
  295. sqlspec/core/parameters/_processor.py +505 -0
  296. sqlspec/core/parameters/_registry.cpython-310-aarch64-linux-gnu.so +0 -0
  297. sqlspec/core/parameters/_registry.py +206 -0
  298. sqlspec/core/parameters/_transformers.cpython-310-aarch64-linux-gnu.so +0 -0
  299. sqlspec/core/parameters/_transformers.py +292 -0
  300. sqlspec/core/parameters/_types.cpython-310-aarch64-linux-gnu.so +0 -0
  301. sqlspec/core/parameters/_types.py +499 -0
  302. sqlspec/core/parameters/_validator.cpython-310-aarch64-linux-gnu.so +0 -0
  303. sqlspec/core/parameters/_validator.py +180 -0
  304. sqlspec/core/pipeline.cpython-310-aarch64-linux-gnu.so +0 -0
  305. sqlspec/core/pipeline.py +319 -0
  306. sqlspec/core/query_modifiers.cpython-310-aarch64-linux-gnu.so +0 -0
  307. sqlspec/core/query_modifiers.py +437 -0
  308. sqlspec/core/result/__init__.py +23 -0
  309. sqlspec/core/result/_base.cpython-310-aarch64-linux-gnu.so +0 -0
  310. sqlspec/core/result/_base.py +1121 -0
  311. sqlspec/core/result/_io.cpython-310-aarch64-linux-gnu.so +0 -0
  312. sqlspec/core/result/_io.py +28 -0
  313. sqlspec/core/splitter.cpython-310-aarch64-linux-gnu.so +0 -0
  314. sqlspec/core/splitter.py +966 -0
  315. sqlspec/core/stack.cpython-310-aarch64-linux-gnu.so +0 -0
  316. sqlspec/core/stack.py +163 -0
  317. sqlspec/core/statement.cpython-310-aarch64-linux-gnu.so +0 -0
  318. sqlspec/core/statement.py +1503 -0
  319. sqlspec/core/type_converter.cpython-310-aarch64-linux-gnu.so +0 -0
  320. sqlspec/core/type_converter.py +339 -0
  321. sqlspec/data_dictionary/__init__.py +22 -0
  322. sqlspec/data_dictionary/_loader.py +123 -0
  323. sqlspec/data_dictionary/_registry.cpython-310-aarch64-linux-gnu.so +0 -0
  324. sqlspec/data_dictionary/_registry.py +74 -0
  325. sqlspec/data_dictionary/_types.cpython-310-aarch64-linux-gnu.so +0 -0
  326. sqlspec/data_dictionary/_types.py +121 -0
  327. sqlspec/data_dictionary/dialects/__init__.py +21 -0
  328. sqlspec/data_dictionary/dialects/bigquery.cpython-310-aarch64-linux-gnu.so +0 -0
  329. sqlspec/data_dictionary/dialects/bigquery.py +49 -0
  330. sqlspec/data_dictionary/dialects/cockroachdb.cpython-310-aarch64-linux-gnu.so +0 -0
  331. sqlspec/data_dictionary/dialects/cockroachdb.py +43 -0
  332. sqlspec/data_dictionary/dialects/duckdb.cpython-310-aarch64-linux-gnu.so +0 -0
  333. sqlspec/data_dictionary/dialects/duckdb.py +47 -0
  334. sqlspec/data_dictionary/dialects/mysql.cpython-310-aarch64-linux-gnu.so +0 -0
  335. sqlspec/data_dictionary/dialects/mysql.py +42 -0
  336. sqlspec/data_dictionary/dialects/oracle.cpython-310-aarch64-linux-gnu.so +0 -0
  337. sqlspec/data_dictionary/dialects/oracle.py +34 -0
  338. sqlspec/data_dictionary/dialects/postgres.cpython-310-aarch64-linux-gnu.so +0 -0
  339. sqlspec/data_dictionary/dialects/postgres.py +46 -0
  340. sqlspec/data_dictionary/dialects/spanner.cpython-310-aarch64-linux-gnu.so +0 -0
  341. sqlspec/data_dictionary/dialects/spanner.py +37 -0
  342. sqlspec/data_dictionary/dialects/sqlite.cpython-310-aarch64-linux-gnu.so +0 -0
  343. sqlspec/data_dictionary/dialects/sqlite.py +42 -0
  344. sqlspec/data_dictionary/sql/.gitkeep +0 -0
  345. sqlspec/data_dictionary/sql/bigquery/columns.sql +23 -0
  346. sqlspec/data_dictionary/sql/bigquery/foreign_keys.sql +34 -0
  347. sqlspec/data_dictionary/sql/bigquery/indexes.sql +19 -0
  348. sqlspec/data_dictionary/sql/bigquery/tables.sql +33 -0
  349. sqlspec/data_dictionary/sql/bigquery/version.sql +3 -0
  350. sqlspec/data_dictionary/sql/cockroachdb/columns.sql +34 -0
  351. sqlspec/data_dictionary/sql/cockroachdb/foreign_keys.sql +40 -0
  352. sqlspec/data_dictionary/sql/cockroachdb/indexes.sql +32 -0
  353. sqlspec/data_dictionary/sql/cockroachdb/tables.sql +44 -0
  354. sqlspec/data_dictionary/sql/cockroachdb/version.sql +3 -0
  355. sqlspec/data_dictionary/sql/duckdb/columns.sql +23 -0
  356. sqlspec/data_dictionary/sql/duckdb/foreign_keys.sql +36 -0
  357. sqlspec/data_dictionary/sql/duckdb/indexes.sql +19 -0
  358. sqlspec/data_dictionary/sql/duckdb/tables.sql +38 -0
  359. sqlspec/data_dictionary/sql/duckdb/version.sql +3 -0
  360. sqlspec/data_dictionary/sql/mysql/columns.sql +23 -0
  361. sqlspec/data_dictionary/sql/mysql/foreign_keys.sql +28 -0
  362. sqlspec/data_dictionary/sql/mysql/indexes.sql +26 -0
  363. sqlspec/data_dictionary/sql/mysql/tables.sql +33 -0
  364. sqlspec/data_dictionary/sql/mysql/version.sql +3 -0
  365. sqlspec/data_dictionary/sql/oracle/columns.sql +23 -0
  366. sqlspec/data_dictionary/sql/oracle/foreign_keys.sql +48 -0
  367. sqlspec/data_dictionary/sql/oracle/indexes.sql +44 -0
  368. sqlspec/data_dictionary/sql/oracle/tables.sql +25 -0
  369. sqlspec/data_dictionary/sql/oracle/version.sql +20 -0
  370. sqlspec/data_dictionary/sql/postgres/columns.sql +34 -0
  371. sqlspec/data_dictionary/sql/postgres/foreign_keys.sql +40 -0
  372. sqlspec/data_dictionary/sql/postgres/indexes.sql +56 -0
  373. sqlspec/data_dictionary/sql/postgres/tables.sql +44 -0
  374. sqlspec/data_dictionary/sql/postgres/version.sql +3 -0
  375. sqlspec/data_dictionary/sql/spanner/columns.sql +23 -0
  376. sqlspec/data_dictionary/sql/spanner/foreign_keys.sql +70 -0
  377. sqlspec/data_dictionary/sql/spanner/indexes.sql +30 -0
  378. sqlspec/data_dictionary/sql/spanner/tables.sql +9 -0
  379. sqlspec/data_dictionary/sql/spanner/version.sql +3 -0
  380. sqlspec/data_dictionary/sql/sqlite/columns.sql +23 -0
  381. sqlspec/data_dictionary/sql/sqlite/foreign_keys.sql +22 -0
  382. sqlspec/data_dictionary/sql/sqlite/indexes.sql +7 -0
  383. sqlspec/data_dictionary/sql/sqlite/tables.sql +28 -0
  384. sqlspec/data_dictionary/sql/sqlite/version.sql +3 -0
  385. sqlspec/driver/__init__.py +32 -0
  386. sqlspec/driver/_async.cpython-310-aarch64-linux-gnu.so +0 -0
  387. sqlspec/driver/_async.py +1737 -0
  388. sqlspec/driver/_common.cpython-310-aarch64-linux-gnu.so +0 -0
  389. sqlspec/driver/_common.py +1478 -0
  390. sqlspec/driver/_sql_helpers.cpython-310-aarch64-linux-gnu.so +0 -0
  391. sqlspec/driver/_sql_helpers.py +148 -0
  392. sqlspec/driver/_storage_helpers.cpython-310-aarch64-linux-gnu.so +0 -0
  393. sqlspec/driver/_storage_helpers.py +144 -0
  394. sqlspec/driver/_sync.cpython-310-aarch64-linux-gnu.so +0 -0
  395. sqlspec/driver/_sync.py +1710 -0
  396. sqlspec/exceptions.py +338 -0
  397. sqlspec/extensions/__init__.py +0 -0
  398. sqlspec/extensions/adk/__init__.py +70 -0
  399. sqlspec/extensions/adk/_types.py +51 -0
  400. sqlspec/extensions/adk/converters.py +172 -0
  401. sqlspec/extensions/adk/memory/__init__.py +69 -0
  402. sqlspec/extensions/adk/memory/_types.py +30 -0
  403. sqlspec/extensions/adk/memory/converters.py +149 -0
  404. sqlspec/extensions/adk/memory/service.py +217 -0
  405. sqlspec/extensions/adk/memory/store.py +569 -0
  406. sqlspec/extensions/adk/migrations/0001_create_adk_tables.py +246 -0
  407. sqlspec/extensions/adk/migrations/__init__.py +0 -0
  408. sqlspec/extensions/adk/service.py +225 -0
  409. sqlspec/extensions/adk/store.py +567 -0
  410. sqlspec/extensions/events/__init__.py +51 -0
  411. sqlspec/extensions/events/_channel.py +703 -0
  412. sqlspec/extensions/events/_hints.py +45 -0
  413. sqlspec/extensions/events/_models.py +23 -0
  414. sqlspec/extensions/events/_payload.py +69 -0
  415. sqlspec/extensions/events/_protocols.py +134 -0
  416. sqlspec/extensions/events/_queue.py +461 -0
  417. sqlspec/extensions/events/_store.py +209 -0
  418. sqlspec/extensions/events/migrations/0001_create_event_queue.py +59 -0
  419. sqlspec/extensions/events/migrations/__init__.py +3 -0
  420. sqlspec/extensions/fastapi/__init__.py +19 -0
  421. sqlspec/extensions/fastapi/extension.py +351 -0
  422. sqlspec/extensions/fastapi/providers.py +607 -0
  423. sqlspec/extensions/flask/__init__.py +37 -0
  424. sqlspec/extensions/flask/_state.py +76 -0
  425. sqlspec/extensions/flask/_utils.py +71 -0
  426. sqlspec/extensions/flask/extension.py +519 -0
  427. sqlspec/extensions/litestar/__init__.py +28 -0
  428. sqlspec/extensions/litestar/_utils.py +52 -0
  429. sqlspec/extensions/litestar/channels.py +165 -0
  430. sqlspec/extensions/litestar/cli.py +102 -0
  431. sqlspec/extensions/litestar/config.py +90 -0
  432. sqlspec/extensions/litestar/handlers.py +316 -0
  433. sqlspec/extensions/litestar/migrations/0001_create_session_table.py +137 -0
  434. sqlspec/extensions/litestar/migrations/__init__.py +3 -0
  435. sqlspec/extensions/litestar/plugin.py +671 -0
  436. sqlspec/extensions/litestar/providers.py +526 -0
  437. sqlspec/extensions/litestar/store.py +296 -0
  438. sqlspec/extensions/otel/__init__.py +58 -0
  439. sqlspec/extensions/prometheus/__init__.py +113 -0
  440. sqlspec/extensions/starlette/__init__.py +19 -0
  441. sqlspec/extensions/starlette/_state.py +30 -0
  442. sqlspec/extensions/starlette/_utils.py +96 -0
  443. sqlspec/extensions/starlette/extension.py +346 -0
  444. sqlspec/extensions/starlette/middleware.py +235 -0
  445. sqlspec/loader.cpython-310-aarch64-linux-gnu.so +0 -0
  446. sqlspec/loader.py +702 -0
  447. sqlspec/migrations/__init__.py +36 -0
  448. sqlspec/migrations/base.py +731 -0
  449. sqlspec/migrations/commands.py +1232 -0
  450. sqlspec/migrations/context.py +157 -0
  451. sqlspec/migrations/fix.py +204 -0
  452. sqlspec/migrations/loaders.py +443 -0
  453. sqlspec/migrations/runner.py +1172 -0
  454. sqlspec/migrations/templates.py +234 -0
  455. sqlspec/migrations/tracker.py +611 -0
  456. sqlspec/migrations/utils.py +256 -0
  457. sqlspec/migrations/validation.py +207 -0
  458. sqlspec/migrations/version.py +446 -0
  459. sqlspec/observability/__init__.py +55 -0
  460. sqlspec/observability/_common.cpython-310-aarch64-linux-gnu.so +0 -0
  461. sqlspec/observability/_common.py +77 -0
  462. sqlspec/observability/_config.cpython-310-aarch64-linux-gnu.so +0 -0
  463. sqlspec/observability/_config.py +348 -0
  464. sqlspec/observability/_diagnostics.cpython-310-aarch64-linux-gnu.so +0 -0
  465. sqlspec/observability/_diagnostics.py +74 -0
  466. sqlspec/observability/_dispatcher.cpython-310-aarch64-linux-gnu.so +0 -0
  467. sqlspec/observability/_dispatcher.py +152 -0
  468. sqlspec/observability/_formatters/__init__.py +13 -0
  469. sqlspec/observability/_formatters/_aws.cpython-310-aarch64-linux-gnu.so +0 -0
  470. sqlspec/observability/_formatters/_aws.py +102 -0
  471. sqlspec/observability/_formatters/_azure.cpython-310-aarch64-linux-gnu.so +0 -0
  472. sqlspec/observability/_formatters/_azure.py +96 -0
  473. sqlspec/observability/_formatters/_base.cpython-310-aarch64-linux-gnu.so +0 -0
  474. sqlspec/observability/_formatters/_base.py +57 -0
  475. sqlspec/observability/_formatters/_gcp.cpython-310-aarch64-linux-gnu.so +0 -0
  476. sqlspec/observability/_formatters/_gcp.py +131 -0
  477. sqlspec/observability/_formatting.py +58 -0
  478. sqlspec/observability/_observer.cpython-310-aarch64-linux-gnu.so +0 -0
  479. sqlspec/observability/_observer.py +357 -0
  480. sqlspec/observability/_runtime.cpython-310-aarch64-linux-gnu.so +0 -0
  481. sqlspec/observability/_runtime.py +420 -0
  482. sqlspec/observability/_sampling.cpython-310-aarch64-linux-gnu.so +0 -0
  483. sqlspec/observability/_sampling.py +188 -0
  484. sqlspec/observability/_spans.cpython-310-aarch64-linux-gnu.so +0 -0
  485. sqlspec/observability/_spans.py +161 -0
  486. sqlspec/protocols.py +916 -0
  487. sqlspec/py.typed +0 -0
  488. sqlspec/storage/__init__.py +48 -0
  489. sqlspec/storage/_utils.py +104 -0
  490. sqlspec/storage/backends/__init__.py +1 -0
  491. sqlspec/storage/backends/base.py +253 -0
  492. sqlspec/storage/backends/fsspec.py +529 -0
  493. sqlspec/storage/backends/local.py +441 -0
  494. sqlspec/storage/backends/obstore.py +916 -0
  495. sqlspec/storage/errors.py +104 -0
  496. sqlspec/storage/pipeline.py +582 -0
  497. sqlspec/storage/registry.py +301 -0
  498. sqlspec/typing.py +395 -0
  499. sqlspec/utils/__init__.py +7 -0
  500. sqlspec/utils/arrow_helpers.py +318 -0
  501. sqlspec/utils/config_tools.py +332 -0
  502. sqlspec/utils/correlation.cpython-310-aarch64-linux-gnu.so +0 -0
  503. sqlspec/utils/correlation.py +134 -0
  504. sqlspec/utils/deprecation.py +190 -0
  505. sqlspec/utils/fixtures.cpython-310-aarch64-linux-gnu.so +0 -0
  506. sqlspec/utils/fixtures.py +258 -0
  507. sqlspec/utils/logging.py +222 -0
  508. sqlspec/utils/module_loader.py +306 -0
  509. sqlspec/utils/portal.cpython-310-aarch64-linux-gnu.so +0 -0
  510. sqlspec/utils/portal.py +375 -0
  511. sqlspec/utils/schema.cpython-310-aarch64-linux-gnu.so +0 -0
  512. sqlspec/utils/schema.py +485 -0
  513. sqlspec/utils/serializers.cpython-310-aarch64-linux-gnu.so +0 -0
  514. sqlspec/utils/serializers.py +408 -0
  515. sqlspec/utils/singleton.cpython-310-aarch64-linux-gnu.so +0 -0
  516. sqlspec/utils/singleton.py +41 -0
  517. sqlspec/utils/sync_tools.cpython-310-aarch64-linux-gnu.so +0 -0
  518. sqlspec/utils/sync_tools.py +311 -0
  519. sqlspec/utils/text.cpython-310-aarch64-linux-gnu.so +0 -0
  520. sqlspec/utils/text.py +108 -0
  521. sqlspec/utils/type_converters.cpython-310-aarch64-linux-gnu.so +0 -0
  522. sqlspec/utils/type_converters.py +128 -0
  523. sqlspec/utils/type_guards.cpython-310-aarch64-linux-gnu.so +0 -0
  524. sqlspec/utils/type_guards.py +1360 -0
  525. sqlspec/utils/uuids.cpython-310-aarch64-linux-gnu.so +0 -0
  526. sqlspec/utils/uuids.py +225 -0
  527. sqlspec-0.36.0.dist-info/METADATA +205 -0
  528. sqlspec-0.36.0.dist-info/RECORD +531 -0
  529. sqlspec-0.36.0.dist-info/WHEEL +7 -0
  530. sqlspec-0.36.0.dist-info/entry_points.txt +2 -0
  531. sqlspec-0.36.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,23 @@
1
+ -- name: columns_by_table
2
+ -- dialect: duckdb
3
+ SELECT
4
+ column_name,
5
+ data_type,
6
+ is_nullable,
7
+ column_default
8
+ FROM information_schema.columns
9
+ WHERE table_name = :table_name
10
+ AND table_schema = COALESCE(:schema_name, current_schema())
11
+ ORDER BY ordinal_position;
12
+
13
+ -- name: columns_by_schema
14
+ -- dialect: duckdb
15
+ SELECT
16
+ table_name,
17
+ column_name,
18
+ data_type,
19
+ is_nullable,
20
+ column_default
21
+ FROM information_schema.columns
22
+ WHERE table_schema = COALESCE(:schema_name, current_schema())
23
+ ORDER BY table_name, ordinal_position;
@@ -0,0 +1,36 @@
1
+ -- name: foreign_keys_by_table
2
+ -- dialect: duckdb
3
+ SELECT
4
+ kcu.table_name,
5
+ kcu.column_name,
6
+ pk_kcu.table_name AS referenced_table_name,
7
+ pk_kcu.column_name AS referenced_column_name,
8
+ kcu.constraint_name,
9
+ kcu.table_schema,
10
+ pk_kcu.table_schema AS referenced_table_schema
11
+ FROM information_schema.key_column_usage kcu
12
+ JOIN information_schema.referential_constraints rc
13
+ ON kcu.constraint_name = rc.constraint_name
14
+ JOIN information_schema.key_column_usage pk_kcu
15
+ ON rc.unique_constraint_name = pk_kcu.constraint_name
16
+ AND kcu.ordinal_position = pk_kcu.ordinal_position
17
+ WHERE kcu.table_schema = COALESCE(:schema_name, current_schema())
18
+ AND kcu.table_name = :table_name;
19
+
20
+ -- name: foreign_keys_by_schema
21
+ -- dialect: duckdb
22
+ SELECT
23
+ kcu.table_name,
24
+ kcu.column_name,
25
+ pk_kcu.table_name AS referenced_table_name,
26
+ pk_kcu.column_name AS referenced_column_name,
27
+ kcu.constraint_name,
28
+ kcu.table_schema,
29
+ pk_kcu.table_schema AS referenced_table_schema
30
+ FROM information_schema.key_column_usage kcu
31
+ JOIN information_schema.referential_constraints rc
32
+ ON kcu.constraint_name = rc.constraint_name
33
+ JOIN information_schema.key_column_usage pk_kcu
34
+ ON rc.unique_constraint_name = pk_kcu.constraint_name
35
+ AND kcu.ordinal_position = pk_kcu.ordinal_position
36
+ WHERE kcu.table_schema = COALESCE(:schema_name, current_schema());
@@ -0,0 +1,19 @@
1
+ -- name: indexes_by_table
2
+ -- dialect: duckdb
3
+ SELECT
4
+ NULL AS index_name,
5
+ NULL AS table_name,
6
+ NULL AS is_unique,
7
+ NULL AS is_primary,
8
+ NULL AS columns
9
+ WHERE FALSE;
10
+
11
+ -- name: indexes_by_schema
12
+ -- dialect: duckdb
13
+ SELECT
14
+ NULL AS index_name,
15
+ NULL AS table_name,
16
+ NULL AS is_unique,
17
+ NULL AS is_primary,
18
+ NULL AS columns
19
+ WHERE FALSE;
@@ -0,0 +1,38 @@
1
+ -- name: tables_by_schema
2
+ -- dialect: duckdb
3
+ WITH RECURSIVE dependency_tree AS (
4
+ SELECT
5
+ table_name,
6
+ 0 AS level,
7
+ [table_name] AS path
8
+ FROM information_schema.tables t
9
+ WHERE t.table_type = 'BASE TABLE'
10
+ AND t.table_schema = COALESCE(:schema_name, current_schema())
11
+ AND NOT EXISTS (
12
+ SELECT 1
13
+ FROM information_schema.key_column_usage kcu
14
+ WHERE kcu.table_name = t.table_name
15
+ AND kcu.table_schema = t.table_schema
16
+ AND kcu.constraint_name IN (
17
+ SELECT constraint_name FROM information_schema.referential_constraints
18
+ )
19
+ )
20
+
21
+ UNION ALL
22
+
23
+ SELECT
24
+ kcu.table_name,
25
+ dt.level + 1,
26
+ list_append(dt.path, kcu.table_name)
27
+ FROM information_schema.key_column_usage kcu
28
+ JOIN information_schema.referential_constraints rc ON kcu.constraint_name = rc.constraint_name
29
+ JOIN information_schema.key_column_usage pk_kcu
30
+ ON rc.unique_constraint_name = pk_kcu.constraint_name
31
+ AND rc.unique_constraint_schema = pk_kcu.constraint_schema
32
+ JOIN dependency_tree dt ON dt.table_name = pk_kcu.table_name
33
+ WHERE kcu.table_schema = COALESCE(:schema_name, current_schema())
34
+ AND NOT list_contains(dt.path, kcu.table_name)
35
+ )
36
+ SELECT DISTINCT table_name, level
37
+ FROM dependency_tree
38
+ ORDER BY level, table_name;
@@ -0,0 +1,3 @@
1
+ -- name: version
2
+ -- dialect: duckdb
3
+ SELECT version() AS version;
@@ -0,0 +1,23 @@
1
+ -- name: columns_by_table
2
+ -- dialect: mysql
3
+ SELECT
4
+ column_name,
5
+ data_type,
6
+ is_nullable,
7
+ column_default
8
+ FROM information_schema.columns
9
+ WHERE table_name = :table_name
10
+ AND table_schema = COALESCE(:schema_name, DATABASE())
11
+ ORDER BY ordinal_position;
12
+
13
+ -- name: columns_by_schema
14
+ -- dialect: mysql
15
+ SELECT
16
+ table_name,
17
+ column_name,
18
+ data_type,
19
+ is_nullable,
20
+ column_default
21
+ FROM information_schema.columns
22
+ WHERE table_schema = COALESCE(:schema_name, DATABASE())
23
+ ORDER BY table_name, ordinal_position;
@@ -0,0 +1,28 @@
1
+ -- name: foreign_keys_by_table
2
+ -- dialect: mysql
3
+ SELECT
4
+ table_name,
5
+ column_name,
6
+ referenced_table_name,
7
+ referenced_column_name,
8
+ constraint_name,
9
+ table_schema,
10
+ referenced_table_schema
11
+ FROM information_schema.key_column_usage
12
+ WHERE referenced_table_name IS NOT NULL
13
+ AND table_name = :table_name
14
+ AND table_schema = COALESCE(:schema_name, DATABASE());
15
+
16
+ -- name: foreign_keys_by_schema
17
+ -- dialect: mysql
18
+ SELECT
19
+ table_name,
20
+ column_name,
21
+ referenced_table_name,
22
+ referenced_column_name,
23
+ constraint_name,
24
+ table_schema,
25
+ referenced_table_schema
26
+ FROM information_schema.key_column_usage
27
+ WHERE referenced_table_name IS NOT NULL
28
+ AND table_schema = COALESCE(:schema_name, DATABASE());
@@ -0,0 +1,26 @@
1
+ -- name: indexes_by_table
2
+ -- dialect: mysql
3
+ SELECT
4
+ s.index_name AS index_name,
5
+ s.table_name AS table_name,
6
+ CASE WHEN s.non_unique = 0 THEN 1 ELSE 0 END AS is_unique,
7
+ CASE WHEN s.index_name = 'PRIMARY' THEN 1 ELSE 0 END AS is_primary,
8
+ GROUP_CONCAT(s.column_name ORDER BY s.seq_in_index) AS columns
9
+ FROM information_schema.statistics s
10
+ WHERE s.table_schema = COALESCE(:schema_name, DATABASE())
11
+ AND s.table_name = :table_name
12
+ GROUP BY s.index_name, s.table_name, s.non_unique
13
+ ORDER BY s.index_name;
14
+
15
+ -- name: indexes_by_schema
16
+ -- dialect: mysql
17
+ SELECT
18
+ s.index_name AS index_name,
19
+ s.table_name AS table_name,
20
+ CASE WHEN s.non_unique = 0 THEN 1 ELSE 0 END AS is_unique,
21
+ CASE WHEN s.index_name = 'PRIMARY' THEN 1 ELSE 0 END AS is_primary,
22
+ GROUP_CONCAT(s.column_name ORDER BY s.seq_in_index) AS columns
23
+ FROM information_schema.statistics s
24
+ WHERE s.table_schema = COALESCE(:schema_name, DATABASE())
25
+ GROUP BY s.index_name, s.table_name, s.non_unique
26
+ ORDER BY s.table_name, s.index_name;
@@ -0,0 +1,33 @@
1
+ -- name: tables_by_schema
2
+ -- dialect: mysql
3
+ WITH RECURSIVE dependency_tree AS (
4
+ SELECT
5
+ table_name,
6
+ 0 AS level,
7
+ CAST(table_name AS CHAR(4000)) AS path
8
+ FROM information_schema.tables t
9
+ WHERE t.table_type = 'BASE TABLE'
10
+ AND t.table_schema = COALESCE(:schema_name, DATABASE())
11
+ AND NOT EXISTS (
12
+ SELECT 1
13
+ FROM information_schema.key_column_usage kcu
14
+ WHERE kcu.table_name = t.table_name
15
+ AND kcu.table_schema = t.table_schema
16
+ AND kcu.referenced_table_name IS NOT NULL
17
+ )
18
+
19
+ UNION ALL
20
+
21
+ SELECT
22
+ kcu.table_name,
23
+ dt.level + 1,
24
+ CONCAT(dt.path, ',', kcu.table_name)
25
+ FROM information_schema.key_column_usage kcu
26
+ JOIN dependency_tree dt ON kcu.referenced_table_name = dt.table_name
27
+ WHERE kcu.table_schema = COALESCE(:schema_name, DATABASE())
28
+ AND kcu.referenced_table_name IS NOT NULL
29
+ AND NOT FIND_IN_SET(kcu.table_name, dt.path)
30
+ )
31
+ SELECT DISTINCT table_name
32
+ FROM dependency_tree
33
+ ORDER BY level, table_name;
@@ -0,0 +1,3 @@
1
+ -- name: version
2
+ -- dialect: mysql
3
+ SELECT VERSION() AS version;
@@ -0,0 +1,23 @@
1
+ -- name: columns_by_table
2
+ -- dialect: oracle
3
+ SELECT
4
+ column_name AS column_name,
5
+ data_type AS data_type,
6
+ nullable AS is_nullable,
7
+ data_default AS column_default
8
+ FROM all_tab_columns
9
+ WHERE owner = COALESCE(:schema_name, USER)
10
+ AND table_name = UPPER(:table_name)
11
+ ORDER BY column_id;
12
+
13
+ -- name: columns_by_schema
14
+ -- dialect: oracle
15
+ SELECT
16
+ table_name,
17
+ column_name AS column_name,
18
+ data_type AS data_type,
19
+ nullable AS is_nullable,
20
+ data_default AS column_default
21
+ FROM all_tab_columns
22
+ WHERE owner = COALESCE(:schema_name, USER)
23
+ ORDER BY table_name, column_id;
@@ -0,0 +1,48 @@
1
+ -- name: foreign_keys_by_table
2
+ -- dialect: oracle
3
+ SELECT
4
+ c.table_name,
5
+ cc.column_name,
6
+ r.table_name AS referenced_table_name,
7
+ rcc.column_name AS referenced_column_name,
8
+ c.constraint_name,
9
+ c.owner AS table_schema,
10
+ r.owner AS referenced_table_schema
11
+ FROM all_constraints c
12
+ JOIN all_cons_columns cc
13
+ ON c.owner = cc.owner
14
+ AND c.constraint_name = cc.constraint_name
15
+ JOIN all_constraints r
16
+ ON c.r_owner = r.owner
17
+ AND c.r_constraint_name = r.constraint_name
18
+ JOIN all_cons_columns rcc
19
+ ON r.owner = rcc.owner
20
+ AND r.constraint_name = rcc.constraint_name
21
+ AND cc.position = rcc.position
22
+ WHERE c.constraint_type = 'R'
23
+ AND c.owner = COALESCE(:schema_name, USER)
24
+ AND (:table_name IS NULL OR c.table_name = UPPER(:table_name));
25
+
26
+ -- name: foreign_keys_by_schema
27
+ -- dialect: oracle
28
+ SELECT
29
+ c.table_name,
30
+ cc.column_name,
31
+ r.table_name AS referenced_table_name,
32
+ rcc.column_name AS referenced_column_name,
33
+ c.constraint_name,
34
+ c.owner AS table_schema,
35
+ r.owner AS referenced_table_schema
36
+ FROM all_constraints c
37
+ JOIN all_cons_columns cc
38
+ ON c.owner = cc.owner
39
+ AND c.constraint_name = cc.constraint_name
40
+ JOIN all_constraints r
41
+ ON c.r_owner = r.owner
42
+ AND c.r_constraint_name = r.constraint_name
43
+ JOIN all_cons_columns rcc
44
+ ON r.owner = rcc.owner
45
+ AND r.constraint_name = rcc.constraint_name
46
+ AND cc.position = rcc.position
47
+ WHERE c.constraint_type = 'R'
48
+ AND c.owner = COALESCE(:schema_name, USER);
@@ -0,0 +1,44 @@
1
+ -- name: indexes_by_table
2
+ -- dialect: oracle
3
+ SELECT
4
+ i.index_name,
5
+ i.table_name AS table_name,
6
+ CASE WHEN i.uniqueness = 'UNIQUE' THEN 1 ELSE 0 END AS is_unique,
7
+ CASE
8
+ WHEN MAX(CASE WHEN c.constraint_type = 'P' THEN 1 ELSE 0 END) = 1 THEN 1
9
+ ELSE 0
10
+ END AS is_primary,
11
+ LISTAGG(ic.column_name, ',') WITHIN GROUP (ORDER BY ic.column_position) AS columns
12
+ FROM all_indexes i
13
+ JOIN all_ind_columns ic
14
+ ON i.owner = ic.index_owner
15
+ AND i.index_name = ic.index_name
16
+ LEFT JOIN all_constraints c
17
+ ON c.owner = i.owner
18
+ AND c.index_name = i.index_name
19
+ AND c.constraint_type = 'P'
20
+ WHERE i.table_name = UPPER(:table_name)
21
+ AND i.owner = COALESCE(:schema_name, USER)
22
+ GROUP BY i.index_name, i.table_name, i.uniqueness;
23
+
24
+ -- name: indexes_by_schema
25
+ -- dialect: oracle
26
+ SELECT
27
+ i.index_name,
28
+ i.table_name AS table_name,
29
+ CASE WHEN i.uniqueness = 'UNIQUE' THEN 1 ELSE 0 END AS is_unique,
30
+ CASE
31
+ WHEN MAX(CASE WHEN c.constraint_type = 'P' THEN 1 ELSE 0 END) = 1 THEN 1
32
+ ELSE 0
33
+ END AS is_primary,
34
+ LISTAGG(ic.column_name, ',') WITHIN GROUP (ORDER BY ic.column_position) AS columns
35
+ FROM all_indexes i
36
+ JOIN all_ind_columns ic
37
+ ON i.owner = ic.index_owner
38
+ AND i.index_name = ic.index_name
39
+ LEFT JOIN all_constraints c
40
+ ON c.owner = i.owner
41
+ AND c.index_name = i.index_name
42
+ AND c.constraint_type = 'P'
43
+ WHERE i.owner = COALESCE(:schema_name, USER)
44
+ GROUP BY i.index_name, i.table_name, i.uniqueness;
@@ -0,0 +1,25 @@
1
+ -- name: tables_by_schema
2
+ -- dialect: oracle
3
+ SELECT
4
+ table_name,
5
+ MAX(level) AS level
6
+ FROM all_constraints
7
+ WHERE owner = COALESCE(:schema_name, USER)
8
+ START WITH table_name NOT IN (
9
+ SELECT table_name
10
+ FROM all_constraints
11
+ WHERE constraint_type = 'R'
12
+ AND owner = COALESCE(:schema_name, USER)
13
+ )
14
+ CONNECT BY NOCYCLE PRIOR constraint_name = r_constraint_name
15
+ AND PRIOR owner = owner
16
+ GROUP BY table_name
17
+ ORDER BY level, table_name;
18
+
19
+ -- name: all_tables_by_schema
20
+ -- dialect: oracle
21
+ SELECT
22
+ table_name
23
+ FROM all_tables
24
+ WHERE owner = COALESCE(:schema_name, USER)
25
+ ORDER BY table_name;
@@ -0,0 +1,20 @@
1
+ -- name: version
2
+ -- dialect: oracle
3
+ SELECT
4
+ product AS "product",
5
+ version AS "version",
6
+ status AS "status"
7
+ FROM product_component_version
8
+ WHERE product LIKE 'Oracle%'
9
+ ORDER BY TO_NUMBER(REGEXP_SUBSTR(version, '^[0-9]+')) DESC, version DESC
10
+ FETCH FIRST 1 ROWS ONLY;
11
+
12
+ -- name: autonomous_service
13
+ -- dialect: oracle
14
+ SELECT sys_context('USERENV', 'CLOUD_SERVICE') AS "service" FROM dual;
15
+
16
+ -- name: compatible
17
+ -- dialect: oracle
18
+ SELECT value AS compatible
19
+ FROM v$parameter
20
+ WHERE name = 'compatible';
@@ -0,0 +1,34 @@
1
+ -- name: columns_by_table
2
+ -- dialect: postgres
3
+ SELECT
4
+ a.attname::text AS column_name,
5
+ pg_catalog.format_type(a.atttypid, a.atttypmod) AS data_type,
6
+ CASE WHEN a.attnotnull THEN 'NO' ELSE 'YES' END AS is_nullable,
7
+ pg_catalog.pg_get_expr(d.adbin, d.adrelid)::text AS column_default
8
+ FROM pg_catalog.pg_attribute a
9
+ JOIN pg_catalog.pg_class c ON a.attrelid = c.oid
10
+ JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid
11
+ LEFT JOIN pg_catalog.pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
12
+ WHERE c.relname = :table_name
13
+ AND n.nspname = :schema_name
14
+ AND a.attnum > 0
15
+ AND NOT a.attisdropped
16
+ ORDER BY a.attnum;
17
+
18
+ -- name: columns_by_schema
19
+ -- dialect: postgres
20
+ SELECT
21
+ n.nspname::text AS schema_name,
22
+ c.relname::text AS table_name,
23
+ a.attname::text AS column_name,
24
+ pg_catalog.format_type(a.atttypid, a.atttypmod) AS data_type,
25
+ CASE WHEN a.attnotnull THEN 'NO' ELSE 'YES' END AS is_nullable,
26
+ pg_catalog.pg_get_expr(d.adbin, d.adrelid)::text AS column_default
27
+ FROM pg_catalog.pg_attribute a
28
+ JOIN pg_catalog.pg_class c ON a.attrelid = c.oid
29
+ JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid
30
+ LEFT JOIN pg_catalog.pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
31
+ WHERE n.nspname = :schema_name
32
+ AND a.attnum > 0
33
+ AND NOT a.attisdropped
34
+ ORDER BY c.relname, a.attnum;
@@ -0,0 +1,40 @@
1
+ -- name: foreign_keys_by_table
2
+ -- dialect: postgres
3
+ SELECT
4
+ kcu.table_name,
5
+ kcu.column_name,
6
+ ccu.table_name AS referenced_table_name,
7
+ ccu.column_name AS referenced_column_name,
8
+ tc.constraint_name,
9
+ tc.table_schema,
10
+ ccu.table_schema AS referenced_table_schema
11
+ FROM information_schema.table_constraints AS tc
12
+ JOIN information_schema.key_column_usage AS kcu
13
+ ON tc.constraint_name = kcu.constraint_name
14
+ AND tc.table_schema = kcu.table_schema
15
+ JOIN information_schema.constraint_column_usage AS ccu
16
+ ON ccu.constraint_name = tc.constraint_name
17
+ AND ccu.table_schema = tc.table_schema
18
+ WHERE tc.constraint_type = 'FOREIGN KEY'
19
+ AND (:schema_name::text IS NULL OR tc.table_schema = :schema_name)
20
+ AND (:table_name::text IS NULL OR tc.table_name = :table_name);
21
+
22
+ -- name: foreign_keys_by_schema
23
+ -- dialect: postgres
24
+ SELECT
25
+ kcu.table_name,
26
+ kcu.column_name,
27
+ ccu.table_name AS referenced_table_name,
28
+ ccu.column_name AS referenced_column_name,
29
+ tc.constraint_name,
30
+ tc.table_schema,
31
+ ccu.table_schema AS referenced_table_schema
32
+ FROM information_schema.table_constraints AS tc
33
+ JOIN information_schema.key_column_usage AS kcu
34
+ ON tc.constraint_name = kcu.constraint_name
35
+ AND tc.table_schema = kcu.table_schema
36
+ JOIN information_schema.constraint_column_usage AS ccu
37
+ ON ccu.constraint_name = tc.constraint_name
38
+ AND ccu.table_schema = tc.table_schema
39
+ WHERE tc.constraint_type = 'FOREIGN KEY'
40
+ AND (:schema_name::text IS NULL OR tc.table_schema = :schema_name);
@@ -0,0 +1,56 @@
1
+ -- name: indexes_by_table
2
+ -- dialect: postgres
3
+ SELECT
4
+ i.relname as index_name,
5
+ t.relname as table_name,
6
+ ix.indisunique as is_unique,
7
+ ix.indisprimary as is_primary,
8
+ array_agg(a.attname ORDER BY array_position(ix.indkey, a.attnum)) as columns
9
+ FROM
10
+ pg_class t,
11
+ pg_class i,
12
+ pg_index ix,
13
+ pg_attribute a,
14
+ pg_namespace n
15
+ WHERE
16
+ t.oid = ix.indrelid
17
+ AND i.oid = ix.indexrelid
18
+ AND a.attrelid = t.oid
19
+ AND a.attnum = ANY(ix.indkey)
20
+ AND t.relkind = 'r'
21
+ AND t.relnamespace = n.oid
22
+ AND n.nspname = :schema_name
23
+ AND t.relname = :table_name
24
+ GROUP BY
25
+ t.relname,
26
+ i.relname,
27
+ ix.indisunique,
28
+ ix.indisprimary;
29
+
30
+ -- name: indexes_by_schema
31
+ -- dialect: postgres
32
+ SELECT
33
+ i.relname as index_name,
34
+ t.relname as table_name,
35
+ ix.indisunique as is_unique,
36
+ ix.indisprimary as is_primary,
37
+ array_agg(a.attname ORDER BY array_position(ix.indkey, a.attnum)) as columns
38
+ FROM
39
+ pg_class t,
40
+ pg_class i,
41
+ pg_index ix,
42
+ pg_attribute a,
43
+ pg_namespace n
44
+ WHERE
45
+ t.oid = ix.indrelid
46
+ AND i.oid = ix.indexrelid
47
+ AND a.attrelid = t.oid
48
+ AND a.attnum = ANY(ix.indkey)
49
+ AND t.relkind = 'r'
50
+ AND t.relnamespace = n.oid
51
+ AND n.nspname = :schema_name
52
+ GROUP BY
53
+ t.relname,
54
+ i.relname,
55
+ ix.indisunique,
56
+ ix.indisprimary;
@@ -0,0 +1,44 @@
1
+ -- name: tables_by_schema
2
+ -- dialect: postgres
3
+ WITH RECURSIVE dependency_tree AS (
4
+ SELECT
5
+ t.table_name::text,
6
+ 0 AS level,
7
+ ARRAY[t.table_name::text] AS path
8
+ FROM information_schema.tables t
9
+ WHERE t.table_type = 'BASE TABLE'
10
+ AND t.table_schema = :schema_name
11
+ AND NOT EXISTS (
12
+ SELECT 1
13
+ FROM information_schema.table_constraints tc
14
+ JOIN information_schema.key_column_usage kcu
15
+ ON tc.constraint_name = kcu.constraint_name
16
+ AND tc.table_schema = kcu.table_schema
17
+ WHERE tc.constraint_type = 'FOREIGN KEY'
18
+ AND tc.table_name = t.table_name
19
+ AND tc.table_schema = t.table_schema
20
+ )
21
+
22
+ UNION ALL
23
+
24
+ SELECT
25
+ tc.table_name::text,
26
+ dt.level + 1,
27
+ dt.path || tc.table_name::text
28
+ FROM information_schema.table_constraints tc
29
+ JOIN information_schema.key_column_usage kcu
30
+ ON tc.constraint_name = kcu.constraint_name
31
+ AND tc.table_schema = kcu.table_schema
32
+ JOIN information_schema.constraint_column_usage ccu
33
+ ON ccu.constraint_name = tc.constraint_name
34
+ AND ccu.table_schema = tc.table_schema
35
+ JOIN dependency_tree dt
36
+ ON ccu.table_name = dt.table_name
37
+ WHERE tc.constraint_type = 'FOREIGN KEY'
38
+ AND tc.table_schema = :schema_name
39
+ AND ccu.table_schema = :schema_name
40
+ AND NOT (tc.table_name = ANY(dt.path))
41
+ )
42
+ SELECT DISTINCT table_name, level
43
+ FROM dependency_tree
44
+ ORDER BY level, table_name;
@@ -0,0 +1,3 @@
1
+ -- name: version
2
+ -- dialect: postgres
3
+ SELECT version();
@@ -0,0 +1,23 @@
1
+ -- name: columns_by_table
2
+ -- dialect: spanner
3
+ SELECT
4
+ column_name,
5
+ spanner_type AS data_type,
6
+ is_nullable,
7
+ column_default
8
+ FROM information_schema.columns
9
+ WHERE table_name = :table_name
10
+ AND (:schema_name IS NULL OR table_schema = :schema_name)
11
+ ORDER BY ordinal_position;
12
+
13
+ -- name: columns_by_schema
14
+ -- dialect: spanner
15
+ SELECT
16
+ table_name,
17
+ column_name,
18
+ spanner_type AS data_type,
19
+ is_nullable,
20
+ column_default
21
+ FROM information_schema.columns
22
+ WHERE (:schema_name IS NULL OR table_schema = :schema_name)
23
+ ORDER BY table_name, ordinal_position;
@@ -0,0 +1,70 @@
1
+ -- name: foreign_keys_by_table
2
+ -- dialect: spanner
3
+ WITH fk_constraints AS (
4
+ SELECT
5
+ constraint_name,
6
+ unique_constraint_name
7
+ FROM information_schema.referential_constraints
8
+ WHERE (:schema_name IS NULL OR constraint_schema = :schema_name)
9
+ ),
10
+ fk_columns AS (
11
+ SELECT
12
+ constraint_name,
13
+ table_name,
14
+ column_name,
15
+ ordinal_position,
16
+ table_schema
17
+ FROM information_schema.key_column_usage
18
+ WHERE (:schema_name IS NULL OR constraint_schema = :schema_name)
19
+ )
20
+ SELECT
21
+ fk.table_name,
22
+ fk.column_name,
23
+ pk.table_name AS referenced_table_name,
24
+ pk.column_name AS referenced_column_name,
25
+ fk.constraint_name,
26
+ fk.table_schema AS table_schema,
27
+ pk.table_schema AS referenced_table_schema
28
+ FROM fk_columns fk
29
+ JOIN fk_constraints rc
30
+ ON fk.constraint_name = rc.constraint_name
31
+ JOIN fk_columns pk
32
+ ON pk.constraint_name = rc.unique_constraint_name
33
+ AND pk.ordinal_position = fk.ordinal_position
34
+ WHERE (:table_name IS NULL OR fk.table_name = :table_name)
35
+ ORDER BY fk.table_name, fk.ordinal_position;
36
+
37
+ -- name: foreign_keys_by_schema
38
+ -- dialect: spanner
39
+ WITH fk_constraints AS (
40
+ SELECT
41
+ constraint_name,
42
+ unique_constraint_name
43
+ FROM information_schema.referential_constraints
44
+ WHERE (:schema_name IS NULL OR constraint_schema = :schema_name)
45
+ ),
46
+ fk_columns AS (
47
+ SELECT
48
+ constraint_name,
49
+ table_name,
50
+ column_name,
51
+ ordinal_position,
52
+ table_schema
53
+ FROM information_schema.key_column_usage
54
+ WHERE (:schema_name IS NULL OR constraint_schema = :schema_name)
55
+ )
56
+ SELECT
57
+ fk.table_name,
58
+ fk.column_name,
59
+ pk.table_name AS referenced_table_name,
60
+ pk.column_name AS referenced_column_name,
61
+ fk.constraint_name,
62
+ fk.table_schema AS table_schema,
63
+ pk.table_schema AS referenced_table_schema
64
+ FROM fk_columns fk
65
+ JOIN fk_constraints rc
66
+ ON fk.constraint_name = rc.constraint_name
67
+ JOIN fk_columns pk
68
+ ON pk.constraint_name = rc.unique_constraint_name
69
+ AND pk.ordinal_position = fk.ordinal_position
70
+ ORDER BY fk.table_name, fk.ordinal_position;