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,21 @@
1
+ """Dialect configuration registrations."""
2
+
3
+ from sqlspec.data_dictionary.dialects.bigquery import BIGQUERY_CONFIG
4
+ from sqlspec.data_dictionary.dialects.cockroachdb import COCKROACHDB_CONFIG
5
+ from sqlspec.data_dictionary.dialects.duckdb import DUCKDB_CONFIG
6
+ from sqlspec.data_dictionary.dialects.mysql import MYSQL_CONFIG
7
+ from sqlspec.data_dictionary.dialects.oracle import ORACLE_CONFIG
8
+ from sqlspec.data_dictionary.dialects.postgres import POSTGRES_CONFIG
9
+ from sqlspec.data_dictionary.dialects.spanner import SPANNER_CONFIG
10
+ from sqlspec.data_dictionary.dialects.sqlite import SQLITE_CONFIG
11
+
12
+ __all__ = (
13
+ "BIGQUERY_CONFIG",
14
+ "COCKROACHDB_CONFIG",
15
+ "DUCKDB_CONFIG",
16
+ "MYSQL_CONFIG",
17
+ "ORACLE_CONFIG",
18
+ "POSTGRES_CONFIG",
19
+ "SPANNER_CONFIG",
20
+ "SQLITE_CONFIG",
21
+ )
@@ -0,0 +1,49 @@
1
+ import re
2
+
3
+ from sqlspec.data_dictionary import DialectConfig, FeatureFlags, FeatureVersions, register_dialect
4
+
5
+ BIGQUERY_VERSION_PATTERN = re.compile(r".*")
6
+
7
+ BIGQUERY_FEATURE_VERSIONS: "FeatureVersions" = {}
8
+
9
+ BIGQUERY_FEATURE_FLAGS: "FeatureFlags" = {
10
+ "supports_json": True,
11
+ "supports_arrays": True,
12
+ "supports_structs": True,
13
+ "supports_geography": True,
14
+ "supports_returning": False,
15
+ "supports_upsert": True,
16
+ "supports_window_functions": True,
17
+ "supports_cte": True,
18
+ "supports_transactions": True,
19
+ "supports_prepared_statements": True,
20
+ "supports_schemas": True,
21
+ "supports_partitioning": True,
22
+ "supports_clustering": True,
23
+ "supports_uuid": False,
24
+ }
25
+
26
+ BIGQUERY_TYPE_MAPPINGS: dict[str, str] = {
27
+ "json": "JSON",
28
+ "uuid": "STRING",
29
+ "boolean": "BOOL",
30
+ "timestamp": "TIMESTAMP",
31
+ "text": "STRING",
32
+ "blob": "BYTES",
33
+ "array": "ARRAY",
34
+ "struct": "STRUCT",
35
+ "geography": "GEOGRAPHY",
36
+ "numeric": "NUMERIC",
37
+ "bignumeric": "BIGNUMERIC",
38
+ }
39
+
40
+
41
+ BIGQUERY_CONFIG = DialectConfig(
42
+ name="bigquery",
43
+ feature_versions=BIGQUERY_FEATURE_VERSIONS,
44
+ feature_flags=BIGQUERY_FEATURE_FLAGS,
45
+ type_mappings=BIGQUERY_TYPE_MAPPINGS,
46
+ version_pattern=BIGQUERY_VERSION_PATTERN,
47
+ )
48
+
49
+ register_dialect(BIGQUERY_CONFIG)
@@ -0,0 +1,43 @@
1
+ import re
2
+
3
+ from sqlspec.data_dictionary import DialectConfig, FeatureFlags, FeatureVersions, register_dialect
4
+ from sqlspec.typing import VersionInfo
5
+
6
+ COCKROACHDB_VERSION_PATTERN = re.compile(r"CockroachDB (?:CCL )?v(\d+)\.(\d+)\.(\d+)")
7
+
8
+ COCKROACHDB_FEATURE_VERSIONS: "FeatureVersions" = {
9
+ "supports_json": VersionInfo(20, 1, 0),
10
+ "supports_returning": VersionInfo(20, 1, 0),
11
+ "supports_upsert": VersionInfo(19, 2, 0),
12
+ "supports_window_functions": VersionInfo(19, 1, 0),
13
+ "supports_cte": VersionInfo(19, 1, 0),
14
+ }
15
+
16
+ COCKROACHDB_FEATURE_FLAGS: "FeatureFlags" = {
17
+ "supports_uuid": True,
18
+ "supports_arrays": True,
19
+ "supports_transactions": True,
20
+ "supports_prepared_statements": True,
21
+ "supports_schemas": True,
22
+ }
23
+
24
+ COCKROACHDB_TYPE_MAPPINGS: dict[str, str] = {
25
+ "uuid": "UUID",
26
+ "boolean": "BOOL",
27
+ "timestamp": "TIMESTAMPTZ",
28
+ "text": "STRING",
29
+ "blob": "BYTES",
30
+ "array": "ARRAY",
31
+ "json": "JSONB",
32
+ }
33
+
34
+ COCKROACHDB_CONFIG = DialectConfig(
35
+ name="cockroachdb",
36
+ feature_versions=COCKROACHDB_FEATURE_VERSIONS,
37
+ feature_flags=COCKROACHDB_FEATURE_FLAGS,
38
+ type_mappings=COCKROACHDB_TYPE_MAPPINGS,
39
+ version_pattern=COCKROACHDB_VERSION_PATTERN,
40
+ default_schema="public",
41
+ )
42
+
43
+ register_dialect(COCKROACHDB_CONFIG)
@@ -0,0 +1,47 @@
1
+ import re
2
+
3
+ from sqlspec.data_dictionary import DialectConfig, FeatureFlags, FeatureVersions, register_dialect
4
+ from sqlspec.typing import VersionInfo
5
+
6
+ DUCKDB_VERSION_PATTERN = re.compile(r"v?(\d+)\.(\d+)\.(\d+)")
7
+
8
+ DUCKDB_FEATURE_VERSIONS: "FeatureVersions" = {
9
+ "supports_returning": VersionInfo(0, 8, 0),
10
+ "supports_upsert": VersionInfo(0, 8, 0),
11
+ }
12
+
13
+ DUCKDB_FEATURE_FLAGS: "FeatureFlags" = {
14
+ "supports_json": True,
15
+ "supports_arrays": True,
16
+ "supports_maps": True,
17
+ "supports_structs": True,
18
+ "supports_window_functions": True,
19
+ "supports_cte": True,
20
+ "supports_transactions": True,
21
+ "supports_prepared_statements": True,
22
+ "supports_schemas": True,
23
+ "supports_uuid": True,
24
+ }
25
+
26
+ DUCKDB_TYPE_MAPPINGS: dict[str, str] = {
27
+ "json": "JSON",
28
+ "uuid": "UUID",
29
+ "boolean": "BOOLEAN",
30
+ "timestamp": "TIMESTAMP",
31
+ "text": "TEXT",
32
+ "blob": "BLOB",
33
+ "array": "LIST",
34
+ "map": "MAP",
35
+ "struct": "STRUCT",
36
+ }
37
+
38
+
39
+ DUCKDB_CONFIG = DialectConfig(
40
+ name="duckdb",
41
+ feature_versions=DUCKDB_FEATURE_VERSIONS,
42
+ feature_flags=DUCKDB_FEATURE_FLAGS,
43
+ type_mappings=DUCKDB_TYPE_MAPPINGS,
44
+ version_pattern=DUCKDB_VERSION_PATTERN,
45
+ )
46
+
47
+ register_dialect(DUCKDB_CONFIG)
@@ -0,0 +1,42 @@
1
+ import re
2
+
3
+ from sqlspec.data_dictionary import DialectConfig, FeatureFlags, FeatureVersions, register_dialect
4
+ from sqlspec.typing import VersionInfo
5
+
6
+ MYSQL_VERSION_PATTERN = re.compile(r"(\d+)\.(\d+)\.(\d+)")
7
+
8
+ MYSQL_FEATURE_VERSIONS: "FeatureVersions" = {
9
+ "supports_json": VersionInfo(5, 7, 8),
10
+ "supports_cte": VersionInfo(8, 0, 1),
11
+ "supports_window_functions": VersionInfo(8, 0, 2),
12
+ }
13
+
14
+ MYSQL_FEATURE_FLAGS: "FeatureFlags" = {
15
+ "supports_returning": False,
16
+ "supports_upsert": True,
17
+ "supports_transactions": True,
18
+ "supports_prepared_statements": True,
19
+ "supports_schemas": True,
20
+ "supports_arrays": False,
21
+ "supports_uuid": False,
22
+ }
23
+
24
+ MYSQL_TYPE_MAPPINGS: dict[str, str] = {
25
+ "uuid": "VARCHAR(36)",
26
+ "boolean": "TINYINT(1)",
27
+ "timestamp": "TIMESTAMP",
28
+ "text": "TEXT",
29
+ "blob": "BLOB",
30
+ "json": "JSON",
31
+ }
32
+
33
+
34
+ MYSQL_CONFIG = DialectConfig(
35
+ name="mysql",
36
+ feature_versions=MYSQL_FEATURE_VERSIONS,
37
+ feature_flags=MYSQL_FEATURE_FLAGS,
38
+ type_mappings=MYSQL_TYPE_MAPPINGS,
39
+ version_pattern=MYSQL_VERSION_PATTERN,
40
+ )
41
+
42
+ register_dialect(MYSQL_CONFIG)
@@ -0,0 +1,34 @@
1
+ import re
2
+
3
+ from sqlspec.data_dictionary import DialectConfig, FeatureFlags, FeatureVersions, register_dialect
4
+
5
+ ORACLE_VERSION_PATTERN = re.compile(r"(\d+)")
6
+
7
+ ORACLE_FEATURE_VERSIONS: "FeatureVersions" = {}
8
+
9
+ ORACLE_FEATURE_FLAGS: "FeatureFlags" = {
10
+ "supports_transactions": True,
11
+ "supports_prepared_statements": True,
12
+ "supports_schemas": True,
13
+ "supports_in_memory": True,
14
+ }
15
+
16
+ ORACLE_TYPE_MAPPINGS: dict[str, str] = {
17
+ "uuid": "RAW(16)",
18
+ "boolean": "NUMBER(1)",
19
+ "timestamp": "TIMESTAMP",
20
+ "text": "CLOB",
21
+ "blob": "BLOB",
22
+ "json": "JSON",
23
+ }
24
+
25
+
26
+ ORACLE_CONFIG = DialectConfig(
27
+ name="oracle",
28
+ feature_versions=ORACLE_FEATURE_VERSIONS,
29
+ feature_flags=ORACLE_FEATURE_FLAGS,
30
+ type_mappings=ORACLE_TYPE_MAPPINGS,
31
+ version_pattern=ORACLE_VERSION_PATTERN,
32
+ )
33
+
34
+ register_dialect(ORACLE_CONFIG)
@@ -0,0 +1,46 @@
1
+ import re
2
+
3
+ from sqlspec.data_dictionary import DialectConfig, FeatureFlags, FeatureVersions, register_dialect
4
+ from sqlspec.typing import VersionInfo
5
+
6
+ POSTGRES_VERSION_PATTERN = re.compile(r"PostgreSQL (\d+)\.(\d+)(?:\.(\d+))?")
7
+
8
+ POSTGRES_FEATURE_VERSIONS: "FeatureVersions" = {
9
+ "supports_json": VersionInfo(9, 2, 0),
10
+ "supports_jsonb": VersionInfo(9, 4, 0),
11
+ "supports_returning": VersionInfo(8, 2, 0),
12
+ "supports_upsert": VersionInfo(9, 5, 0),
13
+ "supports_window_functions": VersionInfo(8, 4, 0),
14
+ "supports_cte": VersionInfo(8, 4, 0),
15
+ "supports_partitioning": VersionInfo(10, 0, 0),
16
+ }
17
+
18
+ POSTGRES_FEATURE_FLAGS: "FeatureFlags" = {
19
+ "supports_uuid": True,
20
+ "supports_arrays": True,
21
+ "supports_transactions": True,
22
+ "supports_prepared_statements": True,
23
+ "supports_schemas": True,
24
+ }
25
+
26
+ POSTGRES_TYPE_MAPPINGS: dict[str, str] = {
27
+ "uuid": "UUID",
28
+ "boolean": "BOOLEAN",
29
+ "timestamp": "TIMESTAMP WITH TIME ZONE",
30
+ "text": "TEXT",
31
+ "blob": "BYTEA",
32
+ "array": "ARRAY",
33
+ "json": "JSONB",
34
+ }
35
+
36
+
37
+ POSTGRES_CONFIG = DialectConfig(
38
+ name="postgres",
39
+ feature_versions=POSTGRES_FEATURE_VERSIONS,
40
+ feature_flags=POSTGRES_FEATURE_FLAGS,
41
+ type_mappings=POSTGRES_TYPE_MAPPINGS,
42
+ version_pattern=POSTGRES_VERSION_PATTERN,
43
+ default_schema="public",
44
+ )
45
+
46
+ register_dialect(POSTGRES_CONFIG)
@@ -0,0 +1,37 @@
1
+ import re
2
+
3
+ from sqlspec.data_dictionary import DialectConfig, FeatureFlags, FeatureVersions, register_dialect
4
+
5
+ SPANNER_VERSION_PATTERN = re.compile(r".*")
6
+
7
+ SPANNER_FEATURE_VERSIONS: "FeatureVersions" = {}
8
+
9
+ SPANNER_FEATURE_FLAGS: "FeatureFlags" = {
10
+ "supports_json": True,
11
+ "supports_generators": False,
12
+ "supports_index_clustering": True,
13
+ "supports_interleaved_tables": True,
14
+ }
15
+
16
+ SPANNER_TYPE_MAPPINGS: dict[str, str] = {
17
+ "json": "JSON",
18
+ "uuid": "BYTES(16)",
19
+ "boolean": "BOOL",
20
+ "timestamp": "TIMESTAMP",
21
+ "text": "STRING(MAX)",
22
+ "blob": "BYTES(MAX)",
23
+ "numeric": "NUMERIC",
24
+ "bignumeric": "NUMERIC",
25
+ "array": "ARRAY",
26
+ }
27
+
28
+
29
+ SPANNER_CONFIG = DialectConfig(
30
+ name="spanner",
31
+ feature_versions=SPANNER_FEATURE_VERSIONS,
32
+ feature_flags=SPANNER_FEATURE_FLAGS,
33
+ type_mappings=SPANNER_TYPE_MAPPINGS,
34
+ version_pattern=SPANNER_VERSION_PATTERN,
35
+ )
36
+
37
+ register_dialect(SPANNER_CONFIG)
@@ -0,0 +1,42 @@
1
+ import re
2
+
3
+ from sqlspec.data_dictionary import DialectConfig, FeatureFlags, FeatureVersions, register_dialect
4
+ from sqlspec.typing import VersionInfo
5
+
6
+ SQLITE_VERSION_PATTERN = re.compile(r"(\d+)\.(\d+)\.(\d+)")
7
+
8
+ SQLITE_FEATURE_VERSIONS: "FeatureVersions" = {
9
+ "supports_json": VersionInfo(3, 38, 0),
10
+ "supports_returning": VersionInfo(3, 35, 0),
11
+ "supports_upsert": VersionInfo(3, 24, 0),
12
+ "supports_window_functions": VersionInfo(3, 25, 0),
13
+ "supports_cte": VersionInfo(3, 8, 3),
14
+ }
15
+
16
+ SQLITE_FEATURE_FLAGS: "FeatureFlags" = {
17
+ "supports_transactions": True,
18
+ "supports_prepared_statements": True,
19
+ "supports_schemas": False,
20
+ "supports_arrays": False,
21
+ "supports_uuid": False,
22
+ }
23
+
24
+ SQLITE_TYPE_MAPPINGS: dict[str, str] = {
25
+ "uuid": "TEXT",
26
+ "boolean": "INTEGER",
27
+ "timestamp": "TIMESTAMP",
28
+ "text": "TEXT",
29
+ "blob": "BLOB",
30
+ "json": "JSON",
31
+ }
32
+
33
+
34
+ SQLITE_CONFIG = DialectConfig(
35
+ name="sqlite",
36
+ feature_versions=SQLITE_FEATURE_VERSIONS,
37
+ feature_flags=SQLITE_FEATURE_FLAGS,
38
+ type_mappings=SQLITE_TYPE_MAPPINGS,
39
+ version_pattern=SQLITE_VERSION_PATTERN,
40
+ )
41
+
42
+ register_dialect(SQLITE_CONFIG)
File without changes
@@ -0,0 +1,23 @@
1
+ -- name: columns_by_table
2
+ -- dialect: bigquery
3
+ SELECT
4
+ column_name,
5
+ data_type,
6
+ is_nullable,
7
+ column_default
8
+ FROM {schema_prefix}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: bigquery
15
+ SELECT
16
+ table_name,
17
+ column_name,
18
+ data_type,
19
+ is_nullable,
20
+ column_default
21
+ FROM {schema_prefix}INFORMATION_SCHEMA.COLUMNS
22
+ WHERE (:schema_name IS NULL OR table_schema = :schema_name)
23
+ ORDER BY table_name, ordinal_position;
@@ -0,0 +1,34 @@
1
+ -- name: foreign_keys_by_table
2
+ -- dialect: bigquery
3
+ SELECT
4
+ kcu.table_name,
5
+ kcu.column_name,
6
+ pk_kcu.table_name AS referenced_table_name,
7
+ pk_kcu.column_name AS referenced_column_name,
8
+ kcu.constraint_name,
9
+ kcu.table_schema,
10
+ pk_kcu.table_schema AS referenced_table_schema
11
+ FROM {kcu_table} kcu
12
+ JOIN {rc_table} rc ON kcu.constraint_name = rc.constraint_name
13
+ JOIN {kcu_table} pk_kcu
14
+ ON rc.unique_constraint_name = pk_kcu.constraint_name
15
+ AND kcu.ordinal_position = pk_kcu.ordinal_position
16
+ WHERE kcu.table_name = :table_name
17
+ AND (:schema_name IS NULL OR kcu.table_schema = :schema_name);
18
+
19
+ -- name: foreign_keys_by_schema
20
+ -- dialect: bigquery
21
+ SELECT
22
+ kcu.table_name,
23
+ kcu.column_name,
24
+ pk_kcu.table_name AS referenced_table_name,
25
+ pk_kcu.column_name AS referenced_column_name,
26
+ kcu.constraint_name,
27
+ kcu.table_schema,
28
+ pk_kcu.table_schema AS referenced_table_schema
29
+ FROM {kcu_table} kcu
30
+ JOIN {rc_table} rc ON kcu.constraint_name = rc.constraint_name
31
+ JOIN {kcu_table} pk_kcu
32
+ ON rc.unique_constraint_name = pk_kcu.constraint_name
33
+ AND kcu.ordinal_position = pk_kcu.ordinal_position
34
+ WHERE (:schema_name IS NULL OR kcu.table_schema = :schema_name);
@@ -0,0 +1,19 @@
1
+ -- name: indexes_by_table
2
+ -- dialect: bigquery
3
+ SELECT
4
+ NULL AS index_name,
5
+ NULL AS table_name,
6
+ NULL AS is_unique,
7
+ NULL AS is_primary,
8
+ NULL AS columns
9
+ WHERE FALSE;
10
+
11
+ -- name: indexes_by_schema
12
+ -- dialect: bigquery
13
+ SELECT
14
+ NULL AS index_name,
15
+ NULL AS table_name,
16
+ NULL AS is_unique,
17
+ NULL AS is_primary,
18
+ NULL AS columns
19
+ WHERE FALSE;
@@ -0,0 +1,33 @@
1
+ -- name: tables_by_schema
2
+ -- dialect: bigquery
3
+ WITH RECURSIVE dependency_tree AS (
4
+ SELECT
5
+ t.table_name,
6
+ 0 AS level,
7
+ [t.table_name] AS path
8
+ FROM {tables_table} t
9
+ WHERE t.table_type = 'BASE TABLE'
10
+ AND NOT EXISTS (
11
+ SELECT 1
12
+ FROM {kcu_table} kcu
13
+ JOIN {rc_table} rc ON kcu.constraint_name = rc.constraint_name
14
+ WHERE kcu.table_name = t.table_name
15
+ )
16
+
17
+ UNION ALL
18
+
19
+ SELECT
20
+ kcu.table_name,
21
+ dt.level + 1,
22
+ ARRAY_CONCAT(dt.path, [kcu.table_name])
23
+ FROM {kcu_table} kcu
24
+ JOIN {rc_table} rc ON kcu.constraint_name = rc.constraint_name
25
+ JOIN {kcu_table} pk_kcu
26
+ ON rc.unique_constraint_name = pk_kcu.constraint_name
27
+ AND kcu.ordinal_position = pk_kcu.ordinal_position
28
+ JOIN dependency_tree dt ON pk_kcu.table_name = dt.table_name
29
+ WHERE kcu.table_name NOT IN UNNEST(dt.path)
30
+ )
31
+ SELECT DISTINCT table_name
32
+ FROM dependency_tree
33
+ ORDER BY level, table_name;
@@ -0,0 +1,3 @@
1
+ -- name: version
2
+ -- dialect: bigquery
3
+ SELECT NULL AS version;
@@ -0,0 +1,34 @@
1
+ -- name: columns_by_table
2
+ -- dialect: cockroachdb
3
+ SELECT
4
+ a.attname::text AS column_name,
5
+ pg_catalog.format_type(a.atttypid, a.atttypmod) AS data_type,
6
+ CASE WHEN a.attnotnull THEN 'NO' ELSE 'YES' END AS is_nullable,
7
+ pg_catalog.pg_get_expr(d.adbin, d.adrelid)::text AS column_default
8
+ FROM pg_catalog.pg_attribute a
9
+ JOIN pg_catalog.pg_class c ON a.attrelid = c.oid
10
+ JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid
11
+ LEFT JOIN pg_catalog.pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
12
+ WHERE c.relname = :table_name
13
+ AND n.nspname = :schema_name
14
+ AND a.attnum > 0
15
+ AND NOT a.attisdropped
16
+ ORDER BY a.attnum;
17
+
18
+ -- name: columns_by_schema
19
+ -- dialect: cockroachdb
20
+ SELECT
21
+ n.nspname::text AS schema_name,
22
+ c.relname::text AS table_name,
23
+ a.attname::text AS column_name,
24
+ pg_catalog.format_type(a.atttypid, a.atttypmod) AS data_type,
25
+ CASE WHEN a.attnotnull THEN 'NO' ELSE 'YES' END AS is_nullable,
26
+ pg_catalog.pg_get_expr(d.adbin, d.adrelid)::text AS column_default
27
+ FROM pg_catalog.pg_attribute a
28
+ JOIN pg_catalog.pg_class c ON a.attrelid = c.oid
29
+ JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid
30
+ LEFT JOIN pg_catalog.pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
31
+ WHERE n.nspname = :schema_name
32
+ AND a.attnum > 0
33
+ AND NOT a.attisdropped
34
+ ORDER BY c.relname, a.attnum;
@@ -0,0 +1,40 @@
1
+ -- name: foreign_keys_by_table
2
+ -- dialect: cockroachdb
3
+ SELECT
4
+ tc.constraint_name::text AS constraint_name,
5
+ kcu.column_name::text AS column_name,
6
+ ccu.table_name::text AS referenced_table,
7
+ ccu.column_name::text AS referenced_column,
8
+ tc.table_name::text AS table_name,
9
+ tc.table_schema::text AS table_schema
10
+ FROM information_schema.table_constraints tc
11
+ JOIN information_schema.key_column_usage kcu
12
+ ON tc.constraint_name = kcu.constraint_name
13
+ AND tc.table_schema = kcu.table_schema
14
+ JOIN information_schema.constraint_column_usage ccu
15
+ ON ccu.constraint_name = tc.constraint_name
16
+ AND ccu.table_schema = tc.table_schema
17
+ WHERE tc.constraint_type = 'FOREIGN KEY'
18
+ AND tc.table_schema = :schema_name
19
+ AND tc.table_name = :table_name
20
+ ORDER BY tc.constraint_name, kcu.column_name;
21
+
22
+ -- name: foreign_keys_by_schema
23
+ -- dialect: cockroachdb
24
+ SELECT
25
+ tc.constraint_name::text AS constraint_name,
26
+ kcu.column_name::text AS column_name,
27
+ ccu.table_name::text AS referenced_table,
28
+ ccu.column_name::text AS referenced_column,
29
+ tc.table_name::text AS table_name,
30
+ tc.table_schema::text AS table_schema
31
+ FROM information_schema.table_constraints tc
32
+ JOIN information_schema.key_column_usage kcu
33
+ ON tc.constraint_name = kcu.constraint_name
34
+ AND tc.table_schema = kcu.table_schema
35
+ JOIN information_schema.constraint_column_usage ccu
36
+ ON ccu.constraint_name = tc.constraint_name
37
+ AND ccu.table_schema = tc.table_schema
38
+ WHERE tc.constraint_type = 'FOREIGN KEY'
39
+ AND tc.table_schema = :schema_name
40
+ ORDER BY tc.table_name, tc.constraint_name, kcu.column_name;
@@ -0,0 +1,32 @@
1
+ -- name: indexes_by_table
2
+ -- dialect: cockroachdb
3
+ SELECT
4
+ i.relname::text AS index_name,
5
+ a.attname::text AS column_name,
6
+ ix.indisunique AS is_unique,
7
+ ix.indisprimary AS is_primary
8
+ FROM pg_catalog.pg_class t
9
+ JOIN pg_catalog.pg_namespace n ON t.relnamespace = n.oid
10
+ JOIN pg_catalog.pg_index ix ON t.oid = ix.indrelid
11
+ JOIN pg_catalog.pg_class i ON i.oid = ix.indexrelid
12
+ JOIN pg_catalog.pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(ix.indkey)
13
+ WHERE t.relname = :table_name
14
+ AND n.nspname = :schema_name
15
+ ORDER BY i.relname, a.attnum;
16
+
17
+ -- name: indexes_by_schema
18
+ -- dialect: cockroachdb
19
+ SELECT
20
+ n.nspname::text AS schema_name,
21
+ t.relname::text AS table_name,
22
+ i.relname::text AS index_name,
23
+ a.attname::text AS column_name,
24
+ ix.indisunique AS is_unique,
25
+ ix.indisprimary AS is_primary
26
+ FROM pg_catalog.pg_class t
27
+ JOIN pg_catalog.pg_namespace n ON t.relnamespace = n.oid
28
+ JOIN pg_catalog.pg_index ix ON t.oid = ix.indrelid
29
+ JOIN pg_catalog.pg_class i ON i.oid = ix.indexrelid
30
+ JOIN pg_catalog.pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(ix.indkey)
31
+ WHERE n.nspname = :schema_name
32
+ ORDER BY t.relname, i.relname, a.attnum;
@@ -0,0 +1,44 @@
1
+ -- name: tables_by_schema
2
+ -- dialect: cockroachdb
3
+ WITH RECURSIVE dependency_tree AS (
4
+ SELECT
5
+ t.table_name::text,
6
+ 0 AS level,
7
+ ARRAY[t.table_name::text] AS path
8
+ FROM information_schema.tables t
9
+ WHERE t.table_type = 'BASE TABLE'
10
+ AND t.table_schema = :schema_name
11
+ AND NOT EXISTS (
12
+ SELECT 1
13
+ FROM information_schema.table_constraints tc
14
+ JOIN information_schema.key_column_usage kcu
15
+ ON tc.constraint_name = kcu.constraint_name
16
+ AND tc.table_schema = kcu.table_schema
17
+ WHERE tc.constraint_type = 'FOREIGN KEY'
18
+ AND tc.table_name = t.table_name
19
+ AND tc.table_schema = t.table_schema
20
+ )
21
+
22
+ UNION ALL
23
+
24
+ SELECT
25
+ tc.table_name::text,
26
+ dt.level + 1,
27
+ dt.path || tc.table_name::text
28
+ FROM information_schema.table_constraints tc
29
+ JOIN information_schema.key_column_usage kcu
30
+ ON tc.constraint_name = kcu.constraint_name
31
+ AND tc.table_schema = kcu.table_schema
32
+ JOIN information_schema.constraint_column_usage ccu
33
+ ON ccu.constraint_name = tc.constraint_name
34
+ AND ccu.table_schema = tc.table_schema
35
+ JOIN dependency_tree dt
36
+ ON ccu.table_name = dt.table_name
37
+ WHERE tc.constraint_type = 'FOREIGN KEY'
38
+ AND tc.table_schema = :schema_name
39
+ AND ccu.table_schema = :schema_name
40
+ AND NOT (tc.table_name = ANY(dt.path))
41
+ )
42
+ SELECT DISTINCT table_name, level
43
+ FROM dependency_tree
44
+ ORDER BY level, table_name;
@@ -0,0 +1,3 @@
1
+ -- name: version
2
+ -- dialect: cockroachdb
3
+ SELECT version();