drizzle-orm 0.39.0-19ccabb → 0.39.0-6b6aca7

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 (726) hide show
  1. package/alias.cjs.map +1 -1
  2. package/alias.d.cts +9 -4
  3. package/alias.d.ts +9 -4
  4. package/alias.js.map +1 -1
  5. package/aws-data-api/pg/driver.cjs +5 -19
  6. package/aws-data-api/pg/driver.cjs.map +1 -1
  7. package/aws-data-api/pg/driver.d.cts +8 -9
  8. package/aws-data-api/pg/driver.d.ts +8 -9
  9. package/aws-data-api/pg/driver.js +8 -9
  10. package/aws-data-api/pg/driver.js.map +1 -1
  11. package/aws-data-api/pg/migrator.cjs.map +1 -1
  12. package/aws-data-api/pg/migrator.d.cts +1 -2
  13. package/aws-data-api/pg/migrator.d.ts +1 -2
  14. package/aws-data-api/pg/migrator.js.map +1 -1
  15. package/aws-data-api/pg/session.cjs +4 -67
  16. package/aws-data-api/pg/session.cjs.map +1 -1
  17. package/aws-data-api/pg/session.d.cts +8 -13
  18. package/aws-data-api/pg/session.d.ts +8 -13
  19. package/aws-data-api/pg/session.js +4 -67
  20. package/aws-data-api/pg/session.js.map +1 -1
  21. package/better-sqlite3/driver.cjs +5 -12
  22. package/better-sqlite3/driver.cjs.map +1 -1
  23. package/better-sqlite3/driver.d.cts +6 -7
  24. package/better-sqlite3/driver.d.ts +6 -7
  25. package/better-sqlite3/driver.js +8 -12
  26. package/better-sqlite3/driver.js.map +1 -1
  27. package/better-sqlite3/migrator.cjs.map +1 -1
  28. package/better-sqlite3/migrator.d.cts +1 -2
  29. package/better-sqlite3/migrator.d.ts +1 -2
  30. package/better-sqlite3/migrator.js.map +1 -1
  31. package/better-sqlite3/session.cjs +4 -49
  32. package/better-sqlite3/session.cjs.map +1 -1
  33. package/better-sqlite3/session.d.cts +8 -14
  34. package/better-sqlite3/session.d.ts +8 -14
  35. package/better-sqlite3/session.js +4 -49
  36. package/better-sqlite3/session.js.map +1 -1
  37. package/bun-sql/driver.cjs +96 -0
  38. package/bun-sql/driver.cjs.map +1 -0
  39. package/bun-sql/driver.d.cts +30 -0
  40. package/bun-sql/driver.d.ts +30 -0
  41. package/bun-sql/driver.js +74 -0
  42. package/bun-sql/driver.js.map +1 -0
  43. package/bun-sql/index.cjs +25 -0
  44. package/bun-sql/index.cjs.map +1 -0
  45. package/bun-sql/index.d.cts +2 -0
  46. package/bun-sql/index.d.ts +2 -0
  47. package/bun-sql/index.js +3 -0
  48. package/bun-sql/index.js.map +1 -0
  49. package/bun-sql/migrator.cjs +33 -0
  50. package/bun-sql/migrator.cjs.map +1 -0
  51. package/bun-sql/migrator.d.cts +3 -0
  52. package/bun-sql/migrator.d.ts +3 -0
  53. package/bun-sql/migrator.js +9 -0
  54. package/bun-sql/migrator.js.map +1 -0
  55. package/bun-sql/session.cjs +162 -0
  56. package/bun-sql/session.cjs.map +1 -0
  57. package/bun-sql/session.d.cts +50 -0
  58. package/bun-sql/session.d.ts +50 -0
  59. package/bun-sql/session.js +136 -0
  60. package/bun-sql/session.js.map +1 -0
  61. package/bun-sqlite/driver.cjs +5 -22
  62. package/bun-sqlite/driver.cjs.map +1 -1
  63. package/bun-sqlite/driver.d.cts +6 -7
  64. package/bun-sqlite/driver.d.ts +6 -7
  65. package/bun-sqlite/driver.js +8 -12
  66. package/bun-sqlite/driver.js.map +1 -1
  67. package/bun-sqlite/migrator.cjs.map +1 -1
  68. package/bun-sqlite/migrator.d.cts +1 -2
  69. package/bun-sqlite/migrator.d.ts +1 -2
  70. package/bun-sqlite/migrator.js.map +1 -1
  71. package/bun-sqlite/session.cjs +4 -49
  72. package/bun-sqlite/session.cjs.map +1 -1
  73. package/bun-sqlite/session.d.cts +9 -15
  74. package/bun-sqlite/session.d.ts +9 -15
  75. package/bun-sqlite/session.js +4 -49
  76. package/bun-sqlite/session.js.map +1 -1
  77. package/d1/driver.cjs +5 -22
  78. package/d1/driver.cjs.map +1 -1
  79. package/d1/driver.d.cts +2 -3
  80. package/d1/driver.d.ts +2 -3
  81. package/d1/driver.js +8 -12
  82. package/d1/driver.js.map +1 -1
  83. package/d1/migrator.cjs.map +1 -1
  84. package/d1/migrator.d.cts +1 -2
  85. package/d1/migrator.d.ts +1 -2
  86. package/d1/migrator.js.map +1 -1
  87. package/d1/session.cjs +6 -48
  88. package/d1/session.cjs.map +1 -1
  89. package/d1/session.d.cts +8 -15
  90. package/d1/session.d.ts +8 -15
  91. package/d1/session.js +6 -48
  92. package/d1/session.js.map +1 -1
  93. package/durable-sqlite/driver.cjs +5 -16
  94. package/durable-sqlite/driver.cjs.map +1 -1
  95. package/durable-sqlite/driver.d.cts +2 -3
  96. package/durable-sqlite/driver.d.ts +2 -3
  97. package/durable-sqlite/driver.js +8 -6
  98. package/durable-sqlite/driver.js.map +1 -1
  99. package/durable-sqlite/migrator.cjs.map +1 -1
  100. package/durable-sqlite/migrator.d.cts +1 -2
  101. package/durable-sqlite/migrator.d.ts +1 -2
  102. package/durable-sqlite/migrator.js.map +1 -1
  103. package/durable-sqlite/session.cjs +4 -46
  104. package/durable-sqlite/session.cjs.map +1 -1
  105. package/durable-sqlite/session.d.cts +8 -14
  106. package/durable-sqlite/session.d.ts +8 -14
  107. package/durable-sqlite/session.js +4 -46
  108. package/durable-sqlite/session.js.map +1 -1
  109. package/expo-sqlite/driver.cjs +5 -22
  110. package/expo-sqlite/driver.cjs.map +1 -1
  111. package/expo-sqlite/driver.d.cts +2 -3
  112. package/expo-sqlite/driver.d.ts +2 -3
  113. package/expo-sqlite/driver.js +8 -12
  114. package/expo-sqlite/driver.js.map +1 -1
  115. package/expo-sqlite/migrator.cjs.map +1 -1
  116. package/expo-sqlite/migrator.d.cts +2 -3
  117. package/expo-sqlite/migrator.d.ts +2 -3
  118. package/expo-sqlite/migrator.js.map +1 -1
  119. package/expo-sqlite/query.cjs +2 -13
  120. package/expo-sqlite/query.cjs.map +1 -1
  121. package/expo-sqlite/query.d.cts +1 -2
  122. package/expo-sqlite/query.d.ts +1 -2
  123. package/expo-sqlite/query.js +2 -3
  124. package/expo-sqlite/query.js.map +1 -1
  125. package/expo-sqlite/session.cjs +4 -47
  126. package/expo-sqlite/session.cjs.map +1 -1
  127. package/expo-sqlite/session.d.cts +8 -14
  128. package/expo-sqlite/session.d.ts +8 -14
  129. package/expo-sqlite/session.js +4 -47
  130. package/expo-sqlite/session.js.map +1 -1
  131. package/libsql/driver-core.cjs +5 -22
  132. package/libsql/driver-core.cjs.map +1 -1
  133. package/libsql/driver-core.d.cts +1 -2
  134. package/libsql/driver-core.d.ts +1 -2
  135. package/libsql/driver-core.js +8 -12
  136. package/libsql/driver-core.js.map +1 -1
  137. package/libsql/driver.cjs.map +1 -1
  138. package/libsql/driver.d.cts +5 -6
  139. package/libsql/driver.d.ts +5 -6
  140. package/libsql/driver.js.map +1 -1
  141. package/libsql/http/index.cjs.map +1 -1
  142. package/libsql/http/index.d.cts +5 -6
  143. package/libsql/http/index.d.ts +5 -6
  144. package/libsql/http/index.js.map +1 -1
  145. package/libsql/migrator.cjs.map +1 -1
  146. package/libsql/migrator.d.cts +1 -2
  147. package/libsql/migrator.d.ts +1 -2
  148. package/libsql/migrator.js.map +1 -1
  149. package/libsql/node/index.cjs.map +1 -1
  150. package/libsql/node/index.d.cts +5 -6
  151. package/libsql/node/index.d.ts +5 -6
  152. package/libsql/node/index.js.map +1 -1
  153. package/libsql/session.cjs +4 -56
  154. package/libsql/session.cjs.map +1 -1
  155. package/libsql/session.d.cts +9 -15
  156. package/libsql/session.d.ts +9 -15
  157. package/libsql/session.js +4 -56
  158. package/libsql/session.js.map +1 -1
  159. package/libsql/sqlite3/index.cjs.map +1 -1
  160. package/libsql/sqlite3/index.d.cts +5 -6
  161. package/libsql/sqlite3/index.d.ts +5 -6
  162. package/libsql/sqlite3/index.js.map +1 -1
  163. package/libsql/wasm/index.cjs.map +1 -1
  164. package/libsql/wasm/index.d.cts +5 -6
  165. package/libsql/wasm/index.d.ts +5 -6
  166. package/libsql/wasm/index.js.map +1 -1
  167. package/libsql/web/index.cjs.map +1 -1
  168. package/libsql/web/index.d.cts +5 -6
  169. package/libsql/web/index.d.ts +5 -6
  170. package/libsql/web/index.js.map +1 -1
  171. package/libsql/ws/index.cjs.map +1 -1
  172. package/libsql/ws/index.d.cts +5 -6
  173. package/libsql/ws/index.d.ts +5 -6
  174. package/libsql/ws/index.js.map +1 -1
  175. package/mysql-core/db.cjs +25 -40
  176. package/mysql-core/db.cjs.map +1 -1
  177. package/mysql-core/db.d.cts +12 -22
  178. package/mysql-core/db.d.ts +12 -22
  179. package/mysql-core/db.js +24 -39
  180. package/mysql-core/db.js.map +1 -1
  181. package/mysql-core/dialect.cjs +15 -194
  182. package/mysql-core/dialect.cjs.map +1 -1
  183. package/mysql-core/dialect.d.cts +13 -33
  184. package/mysql-core/dialect.d.ts +13 -33
  185. package/mysql-core/dialect.js +21 -191
  186. package/mysql-core/dialect.js.map +1 -1
  187. package/mysql-core/query-builders/count.cjs.map +1 -1
  188. package/mysql-core/query-builders/count.d.cts +1 -1
  189. package/mysql-core/query-builders/count.d.ts +1 -1
  190. package/mysql-core/query-builders/count.js.map +1 -1
  191. package/mysql-core/query-builders/query-builder.cjs +15 -11
  192. package/mysql-core/query-builders/query-builder.cjs.map +1 -1
  193. package/mysql-core/query-builders/query-builder.d.cts +2 -6
  194. package/mysql-core/query-builders/query-builder.d.ts +2 -6
  195. package/mysql-core/query-builders/query-builder.js +15 -11
  196. package/mysql-core/query-builders/query-builder.js.map +1 -1
  197. package/mysql-core/query-builders/query.cjs +31 -18
  198. package/mysql-core/query-builders/query.cjs.map +1 -1
  199. package/mysql-core/query-builders/query.d.cts +10 -8
  200. package/mysql-core/query-builders/query.d.ts +10 -8
  201. package/mysql-core/query-builders/query.js +31 -18
  202. package/mysql-core/query-builders/query.js.map +1 -1
  203. package/mysql-core/query-builders/select.types.cjs.map +1 -1
  204. package/mysql-core/query-builders/select.types.d.cts +1 -1
  205. package/mysql-core/query-builders/select.types.d.ts +1 -1
  206. package/mysql-core/session.cjs +2 -3
  207. package/mysql-core/session.cjs.map +1 -1
  208. package/mysql-core/session.d.cts +7 -10
  209. package/mysql-core/session.d.ts +7 -10
  210. package/mysql-core/session.js +2 -3
  211. package/mysql-core/session.js.map +1 -1
  212. package/mysql-core/subquery.cjs.map +1 -1
  213. package/mysql-core/subquery.d.cts +15 -2
  214. package/mysql-core/subquery.d.ts +15 -2
  215. package/mysql-proxy/driver.cjs +5 -22
  216. package/mysql-proxy/driver.cjs.map +1 -1
  217. package/mysql-proxy/driver.d.cts +2 -3
  218. package/mysql-proxy/driver.d.ts +2 -3
  219. package/mysql-proxy/driver.js +8 -12
  220. package/mysql-proxy/driver.js.map +1 -1
  221. package/mysql-proxy/migrator.cjs.map +1 -1
  222. package/mysql-proxy/migrator.d.cts +1 -2
  223. package/mysql-proxy/migrator.d.ts +1 -2
  224. package/mysql-proxy/migrator.js.map +1 -1
  225. package/mysql-proxy/session.cjs +2 -27
  226. package/mysql-proxy/session.cjs.map +1 -1
  227. package/mysql-proxy/session.d.cts +8 -13
  228. package/mysql-proxy/session.d.ts +8 -13
  229. package/mysql-proxy/session.js +2 -27
  230. package/mysql-proxy/session.js.map +1 -1
  231. package/mysql2/driver.cjs +7 -24
  232. package/mysql2/driver.cjs.map +1 -1
  233. package/mysql2/driver.d.cts +9 -10
  234. package/mysql2/driver.d.ts +9 -10
  235. package/mysql2/driver.js +10 -14
  236. package/mysql2/driver.js.map +1 -1
  237. package/mysql2/migrator.cjs.map +1 -1
  238. package/mysql2/migrator.d.cts +1 -2
  239. package/mysql2/migrator.d.ts +1 -2
  240. package/mysql2/migrator.js.map +1 -1
  241. package/mysql2/session.cjs +2 -30
  242. package/mysql2/session.cjs.map +1 -1
  243. package/mysql2/session.d.cts +8 -13
  244. package/mysql2/session.d.ts +8 -13
  245. package/mysql2/session.js +2 -30
  246. package/mysql2/session.js.map +1 -1
  247. package/neon/index.cjs +2 -0
  248. package/neon/index.cjs.map +1 -1
  249. package/neon/index.d.cts +1 -0
  250. package/neon/index.d.ts +1 -0
  251. package/neon/index.js +1 -0
  252. package/neon/index.js.map +1 -1
  253. package/neon/neon-identity.cjs +38 -0
  254. package/neon/neon-identity.cjs.map +1 -0
  255. package/neon/neon-identity.d.cts +116 -0
  256. package/neon/neon-identity.d.ts +116 -0
  257. package/neon/neon-identity.js +14 -0
  258. package/neon/neon-identity.js.map +1 -0
  259. package/neon-http/driver.cjs +7 -21
  260. package/neon-http/driver.cjs.map +1 -1
  261. package/neon-http/driver.d.cts +9 -10
  262. package/neon-http/driver.d.ts +9 -10
  263. package/neon-http/driver.js +7 -11
  264. package/neon-http/driver.js.map +1 -1
  265. package/neon-http/migrator.cjs.map +1 -1
  266. package/neon-http/migrator.d.cts +1 -2
  267. package/neon-http/migrator.d.ts +1 -2
  268. package/neon-http/migrator.js.map +1 -1
  269. package/neon-http/session.cjs +2 -32
  270. package/neon-http/session.cjs.map +1 -1
  271. package/neon-http/session.d.cts +8 -13
  272. package/neon-http/session.d.ts +8 -13
  273. package/neon-http/session.js +2 -32
  274. package/neon-http/session.js.map +1 -1
  275. package/neon-serverless/driver.cjs +7 -18
  276. package/neon-serverless/driver.cjs.map +1 -1
  277. package/neon-serverless/driver.d.cts +8 -9
  278. package/neon-serverless/driver.d.ts +8 -9
  279. package/neon-serverless/driver.js +10 -8
  280. package/neon-serverless/driver.js.map +1 -1
  281. package/neon-serverless/migrator.cjs.map +1 -1
  282. package/neon-serverless/migrator.d.cts +1 -2
  283. package/neon-serverless/migrator.d.ts +1 -2
  284. package/neon-serverless/migrator.js.map +1 -1
  285. package/neon-serverless/session.cjs +5 -40
  286. package/neon-serverless/session.cjs.map +1 -1
  287. package/neon-serverless/session.d.cts +8 -13
  288. package/neon-serverless/session.d.ts +8 -13
  289. package/neon-serverless/session.js +5 -40
  290. package/neon-serverless/session.js.map +1 -1
  291. package/node-postgres/driver.cjs +7 -13
  292. package/node-postgres/driver.cjs.map +1 -1
  293. package/node-postgres/driver.d.cts +8 -9
  294. package/node-postgres/driver.d.ts +8 -9
  295. package/node-postgres/driver.js +10 -13
  296. package/node-postgres/driver.js.map +1 -1
  297. package/node-postgres/migrator.cjs.map +1 -1
  298. package/node-postgres/migrator.d.cts +1 -2
  299. package/node-postgres/migrator.d.ts +1 -2
  300. package/node-postgres/migrator.js.map +1 -1
  301. package/node-postgres/session.cjs +4 -45
  302. package/node-postgres/session.cjs.map +1 -1
  303. package/node-postgres/session.d.cts +8 -13
  304. package/node-postgres/session.d.ts +8 -13
  305. package/node-postgres/session.js +4 -45
  306. package/node-postgres/session.js.map +1 -1
  307. package/op-sqlite/driver.cjs +5 -22
  308. package/op-sqlite/driver.cjs.map +1 -1
  309. package/op-sqlite/driver.d.cts +2 -3
  310. package/op-sqlite/driver.d.ts +2 -3
  311. package/op-sqlite/driver.js +8 -12
  312. package/op-sqlite/driver.js.map +1 -1
  313. package/op-sqlite/migrator.cjs.map +1 -1
  314. package/op-sqlite/migrator.d.cts +2 -3
  315. package/op-sqlite/migrator.d.ts +2 -3
  316. package/op-sqlite/migrator.js.map +1 -1
  317. package/op-sqlite/session.cjs +4 -47
  318. package/op-sqlite/session.cjs.map +1 -1
  319. package/op-sqlite/session.d.cts +8 -14
  320. package/op-sqlite/session.d.ts +8 -14
  321. package/op-sqlite/session.js +4 -47
  322. package/op-sqlite/session.js.map +1 -1
  323. package/package.json +64 -52
  324. package/pg-core/db.cjs +24 -42
  325. package/pg-core/db.cjs.map +1 -1
  326. package/pg-core/db.d.cts +13 -23
  327. package/pg-core/db.d.ts +13 -23
  328. package/pg-core/db.js +23 -41
  329. package/pg-core/db.js.map +1 -1
  330. package/pg-core/dialect.cjs +488 -161
  331. package/pg-core/dialect.cjs.map +1 -1
  332. package/pg-core/dialect.d.cts +7 -24
  333. package/pg-core/dialect.d.ts +7 -24
  334. package/pg-core/dialect.js +494 -158
  335. package/pg-core/dialect.js.map +1 -1
  336. package/pg-core/query-builders/count.cjs.map +1 -1
  337. package/pg-core/query-builders/count.d.cts +1 -1
  338. package/pg-core/query-builders/count.d.ts +1 -1
  339. package/pg-core/query-builders/count.js.map +1 -1
  340. package/pg-core/query-builders/delete.cjs +13 -0
  341. package/pg-core/query-builders/delete.cjs.map +1 -1
  342. package/pg-core/query-builders/delete.d.cts +13 -10
  343. package/pg-core/query-builders/delete.d.ts +13 -10
  344. package/pg-core/query-builders/delete.js +14 -1
  345. package/pg-core/query-builders/delete.js.map +1 -1
  346. package/pg-core/query-builders/insert.cjs +13 -0
  347. package/pg-core/query-builders/insert.cjs.map +1 -1
  348. package/pg-core/query-builders/insert.d.cts +10 -8
  349. package/pg-core/query-builders/insert.d.ts +10 -8
  350. package/pg-core/query-builders/insert.js +14 -1
  351. package/pg-core/query-builders/insert.js.map +1 -1
  352. package/pg-core/query-builders/query-builder.cjs +15 -11
  353. package/pg-core/query-builders/query-builder.cjs.map +1 -1
  354. package/pg-core/query-builders/query-builder.d.cts +3 -6
  355. package/pg-core/query-builders/query-builder.d.ts +3 -6
  356. package/pg-core/query-builders/query-builder.js +15 -11
  357. package/pg-core/query-builders/query-builder.js.map +1 -1
  358. package/pg-core/query-builders/query.cjs +18 -15
  359. package/pg-core/query-builders/query.cjs.map +1 -1
  360. package/pg-core/query-builders/query.d.cts +6 -6
  361. package/pg-core/query-builders/query.d.ts +6 -6
  362. package/pg-core/query-builders/query.js +18 -15
  363. package/pg-core/query-builders/query.js.map +1 -1
  364. package/pg-core/query-builders/select.cjs +8 -7
  365. package/pg-core/query-builders/select.cjs.map +1 -1
  366. package/pg-core/query-builders/select.d.cts +3 -3
  367. package/pg-core/query-builders/select.d.ts +3 -3
  368. package/pg-core/query-builders/select.js +8 -7
  369. package/pg-core/query-builders/select.js.map +1 -1
  370. package/pg-core/query-builders/select.types.cjs.map +1 -1
  371. package/pg-core/query-builders/select.types.d.cts +4 -3
  372. package/pg-core/query-builders/select.types.d.ts +4 -3
  373. package/pg-core/query-builders/update.cjs +15 -2
  374. package/pg-core/query-builders/update.cjs.map +1 -1
  375. package/pg-core/query-builders/update.d.cts +18 -13
  376. package/pg-core/query-builders/update.d.ts +18 -13
  377. package/pg-core/query-builders/update.js +16 -3
  378. package/pg-core/query-builders/update.js.map +1 -1
  379. package/pg-core/session.cjs +2 -3
  380. package/pg-core/session.cjs.map +1 -1
  381. package/pg-core/session.d.cts +6 -9
  382. package/pg-core/session.d.ts +6 -9
  383. package/pg-core/session.js +2 -3
  384. package/pg-core/session.js.map +1 -1
  385. package/pg-core/subquery.cjs.map +1 -1
  386. package/pg-core/subquery.d.cts +15 -2
  387. package/pg-core/subquery.d.ts +15 -2
  388. package/pg-proxy/driver.cjs +5 -21
  389. package/pg-proxy/driver.cjs.map +1 -1
  390. package/pg-proxy/driver.d.cts +2 -3
  391. package/pg-proxy/driver.d.ts +2 -3
  392. package/pg-proxy/driver.js +8 -11
  393. package/pg-proxy/driver.js.map +1 -1
  394. package/pg-proxy/migrator.cjs.map +1 -1
  395. package/pg-proxy/migrator.d.cts +1 -2
  396. package/pg-proxy/migrator.d.ts +1 -2
  397. package/pg-proxy/migrator.js.map +1 -1
  398. package/pg-proxy/session.cjs +2 -37
  399. package/pg-proxy/session.cjs.map +1 -1
  400. package/pg-proxy/session.d.cts +8 -13
  401. package/pg-proxy/session.d.ts +8 -13
  402. package/pg-proxy/session.js +2 -37
  403. package/pg-proxy/session.js.map +1 -1
  404. package/pglite/driver.cjs +7 -23
  405. package/pglite/driver.cjs.map +1 -1
  406. package/pglite/driver.d.cts +8 -9
  407. package/pglite/driver.d.ts +8 -9
  408. package/pglite/driver.js +10 -13
  409. package/pglite/driver.js.map +1 -1
  410. package/pglite/migrator.cjs.map +1 -1
  411. package/pglite/migrator.d.cts +1 -2
  412. package/pglite/migrator.d.ts +1 -2
  413. package/pglite/migrator.js.map +1 -1
  414. package/pglite/session.cjs +3 -34
  415. package/pglite/session.cjs.map +1 -1
  416. package/pglite/session.d.cts +8 -13
  417. package/pglite/session.d.ts +8 -13
  418. package/pglite/session.js +3 -34
  419. package/pglite/session.js.map +1 -1
  420. package/planetscale-serverless/driver.cjs +5 -22
  421. package/planetscale-serverless/driver.cjs.map +1 -1
  422. package/planetscale-serverless/driver.d.cts +6 -7
  423. package/planetscale-serverless/driver.d.ts +6 -7
  424. package/planetscale-serverless/driver.js +8 -12
  425. package/planetscale-serverless/driver.js.map +1 -1
  426. package/planetscale-serverless/migrator.cjs.map +1 -1
  427. package/planetscale-serverless/migrator.d.cts +1 -2
  428. package/planetscale-serverless/migrator.d.ts +1 -2
  429. package/planetscale-serverless/migrator.js.map +1 -1
  430. package/planetscale-serverless/session.cjs +5 -45
  431. package/planetscale-serverless/session.cjs.map +1 -1
  432. package/planetscale-serverless/session.d.cts +9 -14
  433. package/planetscale-serverless/session.d.ts +9 -14
  434. package/planetscale-serverless/session.js +5 -45
  435. package/planetscale-serverless/session.js.map +1 -1
  436. package/postgres-js/driver.cjs +5 -6
  437. package/postgres-js/driver.cjs.map +1 -1
  438. package/postgres-js/driver.d.cts +6 -7
  439. package/postgres-js/driver.d.ts +6 -7
  440. package/postgres-js/driver.js +8 -6
  441. package/postgres-js/driver.js.map +1 -1
  442. package/postgres-js/migrator.cjs.map +1 -1
  443. package/postgres-js/migrator.d.cts +1 -2
  444. package/postgres-js/migrator.d.ts +1 -2
  445. package/postgres-js/migrator.js.map +1 -1
  446. package/postgres-js/session.cjs +6 -51
  447. package/postgres-js/session.cjs.map +1 -1
  448. package/postgres-js/session.d.cts +9 -15
  449. package/postgres-js/session.d.ts +9 -15
  450. package/postgres-js/session.js +6 -51
  451. package/postgres-js/session.js.map +1 -1
  452. package/prisma/mysql/driver.cjs +1 -1
  453. package/prisma/mysql/driver.cjs.map +1 -1
  454. package/prisma/mysql/driver.js +1 -1
  455. package/prisma/mysql/driver.js.map +1 -1
  456. package/prisma/mysql/session.cjs +0 -3
  457. package/prisma/mysql/session.cjs.map +1 -1
  458. package/prisma/mysql/session.d.cts +1 -3
  459. package/prisma/mysql/session.d.ts +1 -3
  460. package/prisma/mysql/session.js +0 -3
  461. package/prisma/mysql/session.js.map +1 -1
  462. package/prisma/pg/driver.cjs +1 -1
  463. package/prisma/pg/driver.cjs.map +1 -1
  464. package/prisma/pg/driver.js +1 -1
  465. package/prisma/pg/driver.js.map +1 -1
  466. package/prisma/pg/session.cjs +0 -3
  467. package/prisma/pg/session.cjs.map +1 -1
  468. package/prisma/pg/session.d.cts +1 -3
  469. package/prisma/pg/session.d.ts +1 -3
  470. package/prisma/pg/session.js +0 -3
  471. package/prisma/pg/session.js.map +1 -1
  472. package/prisma/sqlite/driver.cjs +1 -1
  473. package/prisma/sqlite/driver.cjs.map +1 -1
  474. package/prisma/sqlite/driver.js +1 -1
  475. package/prisma/sqlite/driver.js.map +1 -1
  476. package/prisma/sqlite/session.cjs +0 -3
  477. package/prisma/sqlite/session.cjs.map +1 -1
  478. package/prisma/sqlite/session.d.cts +2 -4
  479. package/prisma/sqlite/session.d.ts +2 -4
  480. package/prisma/sqlite/session.js +0 -3
  481. package/prisma/sqlite/session.js.map +1 -1
  482. package/query-builders/select.types.cjs.map +1 -1
  483. package/query-builders/select.types.d.cts +1 -1
  484. package/query-builders/select.types.d.ts +1 -1
  485. package/relations.cjs +245 -595
  486. package/relations.cjs.map +1 -1
  487. package/relations.d.cts +131 -276
  488. package/relations.d.ts +131 -276
  489. package/relations.js +239 -589
  490. package/relations.js.map +1 -1
  491. package/singlestore/driver.cjs +1 -1
  492. package/singlestore/driver.cjs.map +1 -1
  493. package/singlestore/driver.d.cts +1 -1
  494. package/singlestore/driver.d.ts +1 -1
  495. package/singlestore/driver.js +3 -3
  496. package/singlestore/driver.js.map +1 -1
  497. package/singlestore/session.cjs.map +1 -1
  498. package/singlestore/session.d.cts +4 -4
  499. package/singlestore/session.d.ts +4 -4
  500. package/singlestore/session.js.map +1 -1
  501. package/singlestore-core/db.cjs +17 -11
  502. package/singlestore-core/db.cjs.map +1 -1
  503. package/singlestore-core/db.d.cts +7 -10
  504. package/singlestore-core/db.d.ts +7 -10
  505. package/singlestore-core/db.js +17 -11
  506. package/singlestore-core/db.js.map +1 -1
  507. package/singlestore-core/dialect.cjs +6 -16
  508. package/singlestore-core/dialect.cjs.map +1 -1
  509. package/singlestore-core/dialect.d.cts +6 -6
  510. package/singlestore-core/dialect.d.ts +6 -6
  511. package/singlestore-core/dialect.js +12 -6
  512. package/singlestore-core/dialect.js.map +1 -1
  513. package/singlestore-core/query-builders/query-builder.cjs +15 -11
  514. package/singlestore-core/query-builders/query-builder.cjs.map +1 -1
  515. package/singlestore-core/query-builders/query-builder.d.cts +2 -6
  516. package/singlestore-core/query-builders/query-builder.d.ts +2 -6
  517. package/singlestore-core/query-builders/query-builder.js +15 -11
  518. package/singlestore-core/query-builders/query-builder.js.map +1 -1
  519. package/singlestore-core/query-builders/query.cjs +2 -12
  520. package/singlestore-core/query-builders/query.cjs.map +1 -1
  521. package/singlestore-core/query-builders/query.d.cts +6 -6
  522. package/singlestore-core/query-builders/query.d.ts +6 -6
  523. package/singlestore-core/query-builders/query.js +4 -2
  524. package/singlestore-core/query-builders/query.js.map +1 -1
  525. package/singlestore-core/session.cjs.map +1 -1
  526. package/singlestore-core/session.d.cts +5 -5
  527. package/singlestore-core/session.d.ts +5 -5
  528. package/singlestore-core/session.js.map +1 -1
  529. package/singlestore-core/subquery.cjs.map +1 -1
  530. package/singlestore-core/subquery.d.cts +15 -2
  531. package/singlestore-core/subquery.d.ts +15 -2
  532. package/singlestore-core/table.cjs.map +1 -1
  533. package/singlestore-core/table.d.cts +12 -12
  534. package/singlestore-core/table.d.ts +12 -12
  535. package/singlestore-core/table.js.map +1 -1
  536. package/singlestore-proxy/driver.cjs +1 -1
  537. package/singlestore-proxy/driver.cjs.map +1 -1
  538. package/singlestore-proxy/driver.js +3 -3
  539. package/singlestore-proxy/driver.js.map +1 -1
  540. package/singlestore-proxy/session.cjs.map +1 -1
  541. package/singlestore-proxy/session.d.cts +4 -4
  542. package/singlestore-proxy/session.d.ts +4 -4
  543. package/singlestore-proxy/session.js.map +1 -1
  544. package/sql/sql.cjs +7 -2
  545. package/sql/sql.cjs.map +1 -1
  546. package/sql/sql.d.cts +9 -8
  547. package/sql/sql.d.ts +9 -8
  548. package/sql/sql.js +6 -2
  549. package/sql/sql.js.map +1 -1
  550. package/sql-js/driver.cjs +5 -16
  551. package/sql-js/driver.cjs.map +1 -1
  552. package/sql-js/driver.d.cts +2 -3
  553. package/sql-js/driver.d.ts +2 -3
  554. package/sql-js/driver.js +8 -6
  555. package/sql-js/driver.js.map +1 -1
  556. package/sql-js/migrator.cjs.map +1 -1
  557. package/sql-js/migrator.d.cts +1 -2
  558. package/sql-js/migrator.d.ts +1 -2
  559. package/sql-js/migrator.js.map +1 -1
  560. package/sql-js/session.cjs +36 -71
  561. package/sql-js/session.cjs.map +1 -1
  562. package/sql-js/session.d.cts +13 -16
  563. package/sql-js/session.d.ts +13 -16
  564. package/sql-js/session.js +36 -71
  565. package/sql-js/session.js.map +1 -1
  566. package/sqlite-core/db.cjs +31 -49
  567. package/sqlite-core/db.cjs.map +1 -1
  568. package/sqlite-core/db.d.cts +12 -23
  569. package/sqlite-core/db.d.ts +12 -23
  570. package/sqlite-core/db.js +30 -48
  571. package/sqlite-core/db.js.map +1 -1
  572. package/sqlite-core/dialect.cjs +8 -184
  573. package/sqlite-core/dialect.cjs.map +1 -1
  574. package/sqlite-core/dialect.d.cts +9 -28
  575. package/sqlite-core/dialect.d.ts +9 -28
  576. package/sqlite-core/dialect.js +14 -181
  577. package/sqlite-core/dialect.js.map +1 -1
  578. package/sqlite-core/query-builders/count.cjs.map +1 -1
  579. package/sqlite-core/query-builders/count.d.cts +1 -1
  580. package/sqlite-core/query-builders/count.d.ts +1 -1
  581. package/sqlite-core/query-builders/count.js.map +1 -1
  582. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  583. package/sqlite-core/query-builders/delete.d.cts +1 -1
  584. package/sqlite-core/query-builders/delete.d.ts +1 -1
  585. package/sqlite-core/query-builders/delete.js.map +1 -1
  586. package/sqlite-core/query-builders/insert.cjs +9 -3
  587. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  588. package/sqlite-core/query-builders/insert.d.cts +4 -4
  589. package/sqlite-core/query-builders/insert.d.ts +4 -4
  590. package/sqlite-core/query-builders/insert.js +9 -3
  591. package/sqlite-core/query-builders/insert.js.map +1 -1
  592. package/sqlite-core/query-builders/query-builder.cjs +15 -11
  593. package/sqlite-core/query-builders/query-builder.cjs.map +1 -1
  594. package/sqlite-core/query-builders/query-builder.d.cts +2 -6
  595. package/sqlite-core/query-builders/query-builder.d.ts +2 -6
  596. package/sqlite-core/query-builders/query-builder.js +15 -11
  597. package/sqlite-core/query-builders/query-builder.js.map +1 -1
  598. package/sqlite-core/query-builders/query.cjs +35 -56
  599. package/sqlite-core/query-builders/query.cjs.map +1 -1
  600. package/sqlite-core/query-builders/query.d.cts +17 -18
  601. package/sqlite-core/query-builders/query.d.ts +17 -18
  602. package/sqlite-core/query-builders/query.js +35 -56
  603. package/sqlite-core/query-builders/query.js.map +1 -1
  604. package/sqlite-core/query-builders/select.cjs.map +1 -1
  605. package/sqlite-core/query-builders/select.d.cts +3 -3
  606. package/sqlite-core/query-builders/select.d.ts +3 -3
  607. package/sqlite-core/query-builders/select.js.map +1 -1
  608. package/sqlite-core/query-builders/update.cjs.map +1 -1
  609. package/sqlite-core/query-builders/update.d.cts +3 -3
  610. package/sqlite-core/query-builders/update.d.ts +3 -3
  611. package/sqlite-core/query-builders/update.js.map +1 -1
  612. package/sqlite-core/session.cjs +2 -6
  613. package/sqlite-core/session.cjs.map +1 -1
  614. package/sqlite-core/session.d.cts +7 -15
  615. package/sqlite-core/session.d.ts +7 -15
  616. package/sqlite-core/session.js +2 -6
  617. package/sqlite-core/session.js.map +1 -1
  618. package/sqlite-core/subquery.cjs.map +1 -1
  619. package/sqlite-core/subquery.d.cts +15 -2
  620. package/sqlite-core/subquery.d.ts +15 -2
  621. package/sqlite-proxy/driver.cjs +5 -23
  622. package/sqlite-proxy/driver.cjs.map +1 -1
  623. package/sqlite-proxy/driver.d.cts +3 -4
  624. package/sqlite-proxy/driver.d.ts +3 -4
  625. package/sqlite-proxy/driver.js +5 -13
  626. package/sqlite-proxy/driver.js.map +1 -1
  627. package/sqlite-proxy/migrator.cjs.map +1 -1
  628. package/sqlite-proxy/migrator.d.cts +1 -2
  629. package/sqlite-proxy/migrator.d.ts +1 -2
  630. package/sqlite-proxy/migrator.js.map +1 -1
  631. package/sqlite-proxy/session.cjs +6 -50
  632. package/sqlite-proxy/session.cjs.map +1 -1
  633. package/sqlite-proxy/session.d.cts +8 -14
  634. package/sqlite-proxy/session.d.ts +8 -14
  635. package/sqlite-proxy/session.js +6 -50
  636. package/sqlite-proxy/session.js.map +1 -1
  637. package/subquery.cjs.map +1 -1
  638. package/subquery.d.cts +1 -0
  639. package/subquery.d.ts +1 -0
  640. package/subquery.js.map +1 -1
  641. package/table.cjs.map +1 -1
  642. package/table.d.cts +1 -1
  643. package/table.d.ts +1 -1
  644. package/table.js.map +1 -1
  645. package/tidb-serverless/driver.cjs +5 -22
  646. package/tidb-serverless/driver.cjs.map +1 -1
  647. package/tidb-serverless/driver.d.cts +6 -7
  648. package/tidb-serverless/driver.d.ts +6 -7
  649. package/tidb-serverless/driver.js +8 -12
  650. package/tidb-serverless/driver.js.map +1 -1
  651. package/tidb-serverless/migrator.cjs.map +1 -1
  652. package/tidb-serverless/migrator.d.cts +1 -2
  653. package/tidb-serverless/migrator.d.ts +1 -2
  654. package/tidb-serverless/migrator.js.map +1 -1
  655. package/tidb-serverless/session.cjs +5 -62
  656. package/tidb-serverless/session.cjs.map +1 -1
  657. package/tidb-serverless/session.d.cts +9 -14
  658. package/tidb-serverless/session.d.ts +9 -14
  659. package/tidb-serverless/session.js +5 -62
  660. package/tidb-serverless/session.js.map +1 -1
  661. package/utils.cjs +2 -2
  662. package/utils.cjs.map +1 -1
  663. package/utils.d.cts +1 -3
  664. package/utils.d.ts +1 -3
  665. package/utils.js +2 -2
  666. package/utils.js.map +1 -1
  667. package/vercel-postgres/driver.cjs +7 -23
  668. package/vercel-postgres/driver.cjs.map +1 -1
  669. package/vercel-postgres/driver.d.cts +8 -9
  670. package/vercel-postgres/driver.d.ts +8 -9
  671. package/vercel-postgres/driver.js +10 -13
  672. package/vercel-postgres/driver.js.map +1 -1
  673. package/vercel-postgres/migrator.cjs.map +1 -1
  674. package/vercel-postgres/migrator.d.cts +1 -2
  675. package/vercel-postgres/migrator.d.ts +1 -2
  676. package/vercel-postgres/migrator.js.map +1 -1
  677. package/vercel-postgres/session.cjs +8 -34
  678. package/vercel-postgres/session.cjs.map +1 -1
  679. package/vercel-postgres/session.d.cts +10 -14
  680. package/vercel-postgres/session.d.ts +10 -14
  681. package/vercel-postgres/session.js +8 -34
  682. package/vercel-postgres/session.js.map +1 -1
  683. package/version.cjs +1 -1
  684. package/version.d.cts +1 -1
  685. package/version.d.ts +1 -1
  686. package/version.js +1 -1
  687. package/xata-http/driver.cjs +5 -17
  688. package/xata-http/driver.cjs.map +1 -1
  689. package/xata-http/driver.d.cts +4 -5
  690. package/xata-http/driver.d.ts +4 -5
  691. package/xata-http/driver.js +5 -7
  692. package/xata-http/driver.js.map +1 -1
  693. package/xata-http/migrator.cjs.map +1 -1
  694. package/xata-http/migrator.d.cts +1 -2
  695. package/xata-http/migrator.d.ts +1 -2
  696. package/xata-http/migrator.js.map +1 -1
  697. package/xata-http/session.cjs +2 -30
  698. package/xata-http/session.cjs.map +1 -1
  699. package/xata-http/session.d.cts +8 -13
  700. package/xata-http/session.d.ts +8 -13
  701. package/xata-http/session.js +2 -30
  702. package/xata-http/session.js.map +1 -1
  703. package/_relations.cjs +0 -328
  704. package/_relations.cjs.map +0 -1
  705. package/_relations.d.cts +0 -215
  706. package/_relations.d.ts +0 -215
  707. package/_relations.js +0 -316
  708. package/_relations.js.map +0 -1
  709. package/mysql-core/query-builders/_query.cjs +0 -149
  710. package/mysql-core/query-builders/_query.cjs.map +0 -1
  711. package/mysql-core/query-builders/_query.d.cts +0 -44
  712. package/mysql-core/query-builders/_query.d.ts +0 -44
  713. package/mysql-core/query-builders/_query.js +0 -114
  714. package/mysql-core/query-builders/_query.js.map +0 -1
  715. package/pg-core/query-builders/_query.cjs +0 -155
  716. package/pg-core/query-builders/_query.cjs.map +0 -1
  717. package/pg-core/query-builders/_query.d.cts +0 -47
  718. package/pg-core/query-builders/_query.d.ts +0 -47
  719. package/pg-core/query-builders/_query.js +0 -120
  720. package/pg-core/query-builders/_query.js.map +0 -1
  721. package/sqlite-core/query-builders/_query.cjs +0 -187
  722. package/sqlite-core/query-builders/_query.cjs.map +0 -1
  723. package/sqlite-core/query-builders/_query.d.cts +0 -55
  724. package/sqlite-core/query-builders/_query.d.ts +0 -55
  725. package/sqlite-core/query-builders/_query.js +0 -151
  726. package/sqlite-core/query-builders/_query.js.map +0 -1
@@ -1,6 +1,5 @@
1
1
  import type { Client, PoolClient, QueryResult, QueryResultRow } from 'pg';
2
2
  import pg from 'pg';
3
- import type * as V1 from "../_relations.js";
4
3
  import { entityKind } from "../entity.js";
5
4
  import { type Logger } from "../logger.js";
6
5
  import type { PgDialect } from "../pg-core/dialect.js";
@@ -8,45 +7,41 @@ import { PgTransaction } from "../pg-core/index.js";
8
7
  import type { SelectedFieldsOrdered } from "../pg-core/query-builders/select.types.js";
9
8
  import type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from "../pg-core/session.js";
10
9
  import { PgPreparedQuery, PgSession } from "../pg-core/session.js";
11
- import type { AnyRelations, TablesRelationalConfig } from "../relations.js";
10
+ import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.js";
12
11
  import { type Query, type SQL } from "../sql/sql.js";
13
12
  import { type Assume } from "../utils.js";
14
13
  export type NodePgClient = pg.Pool | PoolClient | Client;
15
- export declare class NodePgPreparedQuery<T extends PreparedQueryConfig, TIsRqbV2 extends boolean = false> extends PgPreparedQuery<T> {
14
+ export declare class NodePgPreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {
16
15
  private client;
17
16
  private params;
18
17
  private logger;
19
18
  private fields;
20
19
  private _isResponseInArrayMode;
21
20
  private customResultMapper?;
22
- private isRqbV2Query?;
23
21
  static readonly [entityKind]: string;
24
22
  private rawQueryConfig;
25
23
  private queryConfig;
26
- constructor(client: NodePgClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => T["execute"]) | undefined, isRqbV2Query?: TIsRqbV2 | undefined);
24
+ constructor(client: NodePgClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
27
25
  execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
28
- private executeRqbV2;
29
26
  all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']>;
30
27
  }
31
28
  export interface NodePgSessionOptions {
32
29
  logger?: Logger;
33
30
  }
34
- export declare class NodePgSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends PgSession<NodePgQueryResultHKT, TFullSchema, TRelations, TTablesConfig, TSchema> {
31
+ export declare class NodePgSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends PgSession<NodePgQueryResultHKT, TFullSchema, TSchema> {
35
32
  private client;
36
- private relations;
37
33
  private schema;
38
34
  private options;
39
35
  static readonly [entityKind]: string;
40
36
  private logger;
41
- constructor(client: NodePgClient, dialect: PgDialect, relations: AnyRelations | undefined, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: NodePgSessionOptions);
37
+ constructor(client: NodePgClient, dialect: PgDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: NodePgSessionOptions);
42
38
  prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => T['execute']): PgPreparedQuery<T>;
43
- prepareRelationalQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, customResultMapper?: (rows: Record<string, unknown>[]) => T['execute']): PgPreparedQuery<T>;
44
- transaction<T>(transaction: (tx: NodePgTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>, config?: PgTransactionConfig | undefined): Promise<T>;
39
+ transaction<T>(transaction: (tx: NodePgTransaction<TFullSchema, TSchema>) => Promise<T>, config?: PgTransactionConfig | undefined): Promise<T>;
45
40
  count(sql: SQL): Promise<number>;
46
41
  }
47
- export declare class NodePgTransaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends PgTransaction<NodePgQueryResultHKT, TFullSchema, TRelations, TTablesConfig, TSchema> {
42
+ export declare class NodePgTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends PgTransaction<NodePgQueryResultHKT, TFullSchema, TSchema> {
48
43
  static readonly [entityKind]: string;
49
- transaction<T>(transaction: (tx: NodePgTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>): Promise<T>;
44
+ transaction<T>(transaction: (tx: NodePgTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;
50
45
  }
51
46
  export interface NodePgQueryResultHKT extends PgQueryResultHKT {
52
47
  type: QueryResult<Assume<this['row'], QueryResultRow>>;
@@ -8,7 +8,7 @@ import { tracer } from "../tracing.js";
8
8
  import { mapResultRow } from "../utils.js";
9
9
  const { Pool, types } = pg;
10
10
  class NodePgPreparedQuery extends PgPreparedQuery {
11
- constructor(client, queryString, params, logger, fields, name, _isResponseInArrayMode, customResultMapper, isRqbV2Query) {
11
+ constructor(client, queryString, params, logger, fields, name, _isResponseInArrayMode, customResultMapper) {
12
12
  super({ sql: queryString, params });
13
13
  this.client = client;
14
14
  this.params = params;
@@ -16,7 +16,6 @@ class NodePgPreparedQuery extends PgPreparedQuery {
16
16
  this.fields = fields;
17
17
  this._isResponseInArrayMode = _isResponseInArrayMode;
18
18
  this.customResultMapper = customResultMapper;
19
- this.isRqbV2Query = isRqbV2Query;
20
19
  this.rawQueryConfig = {
21
20
  name,
22
21
  text: queryString,
@@ -67,8 +66,6 @@ class NodePgPreparedQuery extends PgPreparedQuery {
67
66
  rawQueryConfig;
68
67
  queryConfig;
69
68
  async execute(placeholderValues = {}) {
70
- if (this.isRqbV2Query)
71
- return this.executeRqbV2(placeholderValues);
72
69
  return tracer.startActiveSpan("drizzle.execute", async () => {
73
70
  const params = fillPlaceholders(this.params, placeholderValues);
74
71
  this.logger.logQuery(this.rawQueryConfig.text, params);
@@ -96,24 +93,6 @@ class NodePgPreparedQuery extends PgPreparedQuery {
96
93
  });
97
94
  });
98
95
  }
99
- async executeRqbV2(placeholderValues = {}) {
100
- return tracer.startActiveSpan("drizzle.execute", async () => {
101
- const params = fillPlaceholders(this.params, placeholderValues);
102
- this.logger.logQuery(this.rawQueryConfig.text, params);
103
- const { rawQueryConfig: rawQuery, client, customResultMapper } = this;
104
- const result = await tracer.startActiveSpan("drizzle.driver.execute", (span) => {
105
- span?.setAttributes({
106
- "drizzle.query.name": rawQuery.name,
107
- "drizzle.query.text": rawQuery.text,
108
- "drizzle.query.params": JSON.stringify(params)
109
- });
110
- return client.query(rawQuery, params);
111
- });
112
- return tracer.startActiveSpan("drizzle.mapResponse", () => {
113
- return customResultMapper(result.rows);
114
- });
115
- });
116
- }
117
96
  all(placeholderValues = {}) {
118
97
  return tracer.startActiveSpan("drizzle.execute", () => {
119
98
  const params = fillPlaceholders(this.params, placeholderValues);
@@ -134,10 +113,9 @@ class NodePgPreparedQuery extends PgPreparedQuery {
134
113
  }
135
114
  }
136
115
  class NodePgSession extends PgSession {
137
- constructor(client, dialect, relations, schema, options = {}) {
116
+ constructor(client, dialect, schema, options = {}) {
138
117
  super(dialect);
139
118
  this.client = client;
140
- this.relations = relations;
141
119
  this.schema = schema;
142
120
  this.options = options;
143
121
  this.logger = options.logger ?? new NoopLogger();
@@ -156,27 +134,9 @@ class NodePgSession extends PgSession {
156
134
  customResultMapper
157
135
  );
158
136
  }
159
- prepareRelationalQuery(query, fields, name, customResultMapper) {
160
- return new NodePgPreparedQuery(
161
- this.client,
162
- query.sql,
163
- query.params,
164
- this.logger,
165
- fields,
166
- name,
167
- false,
168
- customResultMapper,
169
- true
170
- );
171
- }
172
137
  async transaction(transaction, config) {
173
- const session = this.client instanceof Pool ? new NodePgSession(await this.client.connect(), this.dialect, this.relations, this.schema, this.options) : this;
174
- const tx = new NodePgTransaction(
175
- this.dialect,
176
- session,
177
- this.relations,
178
- this.schema
179
- );
138
+ const session = this.client instanceof Pool ? new NodePgSession(await this.client.connect(), this.dialect, this.schema, this.options) : this;
139
+ const tx = new NodePgTransaction(this.dialect, session, this.schema);
180
140
  await tx.execute(sql`begin${config ? sql` ${tx.getTransactionConfigSQL(config)}` : void 0}`);
181
141
  try {
182
142
  const result = await transaction(tx);
@@ -205,7 +165,6 @@ class NodePgTransaction extends PgTransaction {
205
165
  const tx = new NodePgTransaction(
206
166
  this.dialect,
207
167
  this.session,
208
- this.relations,
209
168
  this.schema,
210
169
  this.nestedIndex + 1
211
170
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/node-postgres/session.ts"],"sourcesContent":["import type { Client, PoolClient, QueryArrayConfig, QueryConfig, QueryResult, QueryResultRow } from 'pg';\nimport pg from 'pg';\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgTransaction } from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport { PgPreparedQuery, PgSession } from '~/pg-core/session.ts';\nimport type { AnyRelations, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nconst { Pool, types } = pg;\n\nexport type NodePgClient = pg.Pool | PoolClient | Client;\n\nexport class NodePgPreparedQuery<T extends PreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends PgPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'NodePgPreparedQuery';\n\n\tprivate rawQueryConfig: QueryConfig;\n\tprivate queryConfig: QueryArrayConfig;\n\n\tconstructor(\n\t\tprivate client: NodePgClient,\n\t\tqueryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper({ sql: queryString, params });\n\t\tthis.rawQueryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t\tthis.queryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\trowMode: 'array',\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\treturn tracer.startActiveSpan('drizzle.execute', async () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\t\tthis.logger.logQuery(this.rawQueryConfig.text, params);\n\n\t\t\tconst { fields, rawQueryConfig: rawQuery, client, queryConfig: query, joinsNotNullableMap, customResultMapper } =\n\t\t\t\tthis;\n\t\t\tif (!fields && !customResultMapper) {\n\t\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', async (span) => {\n\t\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t\t'drizzle.query.name': rawQuery.name,\n\t\t\t\t\t\t'drizzle.query.text': rawQuery.text,\n\t\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t\t});\n\t\t\t\t\treturn client.query(rawQuery, params);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst result = await tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.name': query.name,\n\t\t\t\t\t'drizzle.query.text': query.text,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\t\t\t\treturn client.query(query, params);\n\t\t\t});\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn customResultMapper\n\t\t\t\t\t? (customResultMapper as (rows: unknown[][]) => T['execute'])(result.rows)\n\t\t\t\t\t: result.rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', async () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\t\tthis.logger.logQuery(this.rawQueryConfig.text, params);\n\n\t\t\tconst { rawQueryConfig: rawQuery, client, customResultMapper } = this;\n\n\t\t\tconst result = await tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.name': rawQuery.name,\n\t\t\t\t\t'drizzle.query.text': rawQuery.text,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\t\t\t\treturn client.query(rawQuery, params);\n\t\t\t});\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(result.rows);\n\t\t\t});\n\t\t});\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\t\tthis.logger.logQuery(this.rawQueryConfig.text, params);\n\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.name': this.rawQueryConfig.name,\n\t\t\t\t\t'drizzle.query.text': this.rawQueryConfig.text,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\t\t\t\treturn this.client.query(this.rawQueryConfig, params).then((result) => result.rows);\n\t\t\t});\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface NodePgSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class NodePgSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends PgSession<NodePgQueryResultHKT, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodePgSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: NodePgClient,\n\t\tdialect: PgDialect,\n\t\tprivate relations: AnyRelations | undefined,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: NodePgSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PgPreparedQuery<T> {\n\t\treturn new NodePgPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\tname,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tcustomResultMapper?: (rows: Record<string, unknown>[]) => T['execute'],\n\t): PgPreparedQuery<T> {\n\t\treturn new NodePgPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\tname,\n\t\t\tfalse,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: NodePgTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\tconst session = this.client instanceof Pool // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t? new NodePgSession(await this.client.connect(), this.dialect, this.relations, this.schema, this.options)\n\t\t\t: this;\n\t\tconst tx = new NodePgTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t);\n\t\tawait tx.execute(sql`begin${config ? sql` ${tx.getTransactionConfigSQL(config)}` : undefined}`);\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tif (this.client instanceof Pool) { // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\t(session.client as PoolClient).release();\n\t\t\t}\n\t\t}\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n}\n\nexport class NodePgTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends PgTransaction<NodePgQueryResultHKT, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodePgTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: NodePgTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new NodePgTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport interface NodePgQueryResultHKT extends PgQueryResultHKT {\n\ttype: QueryResult<Assume<this['row'], QueryResultRow>>;\n}\n"],"mappings":"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","names":["sql"]}
1
+ {"version":3,"sources":["../../src/node-postgres/session.ts"],"sourcesContent":["import type { Client, PoolClient, QueryArrayConfig, QueryConfig, QueryResult, QueryResultRow } from 'pg';\nimport pg from 'pg';\nimport { entityKind } from '~/entity.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgTransaction } from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport { PgPreparedQuery, PgSession } from '~/pg-core/session.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nconst { Pool, types } = pg;\n\nexport type NodePgClient = pg.Pool | PoolClient | Client;\n\nexport class NodePgPreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'NodePgPreparedQuery';\n\n\tprivate rawQueryConfig: QueryConfig;\n\tprivate queryConfig: QueryArrayConfig;\n\n\tconstructor(\n\t\tprivate client: NodePgClient,\n\t\tqueryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params });\n\t\tthis.rawQueryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t\tthis.queryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\trowMode: 'array',\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', async () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\t\tthis.logger.logQuery(this.rawQueryConfig.text, params);\n\n\t\t\tconst { fields, rawQueryConfig: rawQuery, client, queryConfig: query, joinsNotNullableMap, customResultMapper } =\n\t\t\t\tthis;\n\t\t\tif (!fields && !customResultMapper) {\n\t\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', async (span) => {\n\t\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t\t'drizzle.query.name': rawQuery.name,\n\t\t\t\t\t\t'drizzle.query.text': rawQuery.text,\n\t\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t\t});\n\t\t\t\t\treturn client.query(rawQuery, params);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst result = await tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.name': query.name,\n\t\t\t\t\t'drizzle.query.text': query.text,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\t\t\t\treturn client.query(query, params);\n\t\t\t});\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn customResultMapper\n\t\t\t\t\t? customResultMapper(result.rows)\n\t\t\t\t\t: result.rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t\t\t});\n\t\t});\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\t\tthis.logger.logQuery(this.rawQueryConfig.text, params);\n\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.name': this.rawQueryConfig.name,\n\t\t\t\t\t'drizzle.query.text': this.rawQueryConfig.text,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\t\t\t\treturn this.client.query(this.rawQueryConfig, params).then((result) => result.rows);\n\t\t\t});\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface NodePgSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class NodePgSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<NodePgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodePgSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: NodePgClient,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: NodePgSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PgPreparedQuery<T> {\n\t\treturn new NodePgPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\tname,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: NodePgTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\tconst session = this.client instanceof Pool // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t? new NodePgSession(await this.client.connect(), this.dialect, this.schema, this.options)\n\t\t\t: this;\n\t\tconst tx = new NodePgTransaction<TFullSchema, TSchema>(this.dialect, session, this.schema);\n\t\tawait tx.execute(sql`begin${config ? sql` ${tx.getTransactionConfigSQL(config)}` : undefined}`);\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tif (this.client instanceof Pool) { // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\t(session.client as PoolClient).release();\n\t\t\t}\n\t\t}\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n}\n\nexport class NodePgTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<NodePgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodePgTransaction';\n\n\toverride async transaction<T>(transaction: (tx: NodePgTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new NodePgTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport interface NodePgQueryResultHKT extends PgQueryResultHKT {\n\ttype: QueryResult<Assume<this['row'], QueryResultRow>>;\n}\n"],"mappings":"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","names":["sql"]}
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var driver_exports = {};
30
20
  __export(driver_exports, {
@@ -32,9 +22,9 @@ __export(driver_exports, {
32
22
  drizzle: () => drizzle
33
23
  });
34
24
  module.exports = __toCommonJS(driver_exports);
35
- var V1 = __toESM(require("../_relations.cjs"), 1);
36
25
  var import_entity = require("../entity.cjs");
37
26
  var import_logger = require("../logger.cjs");
27
+ var import_relations = require("../relations.cjs");
38
28
  var import_db = require("../sqlite-core/db.cjs");
39
29
  var import_dialect = require("../sqlite-core/dialect.cjs");
40
30
  var import_session = require("./session.cjs");
@@ -51,9 +41,9 @@ function drizzle(client, config = {}) {
51
41
  }
52
42
  let schema;
53
43
  if (config.schema) {
54
- const tablesConfig = V1.extractTablesRelationalConfig(
44
+ const tablesConfig = (0, import_relations.extractTablesRelationalConfig)(
55
45
  config.schema,
56
- V1.createTableRelationsHelpers
46
+ import_relations.createTableRelationsHelpers
57
47
  );
58
48
  schema = {
59
49
  fullSchema: config.schema,
@@ -61,15 +51,8 @@ function drizzle(client, config = {}) {
61
51
  tableNamesMap: tablesConfig.tableNamesMap
62
52
  };
63
53
  }
64
- const relations = config.relations;
65
- const session = new import_session.OPSQLiteSession(client, dialect, relations, schema, { logger });
66
- const db = new OPSQLiteDatabase(
67
- "async",
68
- dialect,
69
- session,
70
- relations,
71
- schema
72
- );
54
+ const session = new import_session.OPSQLiteSession(client, dialect, schema, { logger });
55
+ const db = new OPSQLiteDatabase("async", dialect, session, schema);
73
56
  db.$client = client;
74
57
  return db;
75
58
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/op-sqlite/driver.ts"],"sourcesContent":["import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { OPSQLiteSession } from './session.ts';\n\nexport class OPSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'async', QueryResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteDatabase';\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: OPSQLiteConnection,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): OPSQLiteDatabase<TSchema, TRelations> & {\n\t$client: OPSQLiteConnection;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations;\n\tconst session = new OPSQLiteSession(client, dialect, relations, schema, { logger });\n\tconst db = new OPSQLiteDatabase(\n\t\t'async',\n\t\tdialect,\n\t\tsession as OPSQLiteDatabase<Record<string, any>, AnyRelations>['session'],\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as OPSQLiteDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,SAAoB;AACpB,oBAA2B;AAC3B,oBAA8B;AAE9B,gBAAmC;AACnC,qBAAmC;AAEnC,qBAAgC;AAEzB,MAAM,yBAGH,6BAA8D;AAAA,EACvE,QAA0B,wBAAU,IAAY;AACjD;AAEO,SAAS,QAIf,QACA,SAA6C,CAAC,GAG7C;AACD,QAAM,UAAU,IAAI,kCAAmB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAChE,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO;AACzB,QAAM,UAAU,IAAI,+BAAgB,QAAQ,SAAS,WAAW,QAAQ,EAAE,OAAO,CAAC;AAClF,QAAM,KAAK,IAAI;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAIA,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
1
+ {"version":3,"sources":["../../src/op-sqlite/driver.ts"],"sourcesContent":["import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { OPSQLiteSession } from './session.ts';\n\nexport class OPSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', QueryResult, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteDatabase';\n}\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: OPSQLiteConnection,\n\tconfig: DrizzleConfig<TSchema> = {},\n): OPSQLiteDatabase<TSchema> & {\n\t$client: OPSQLiteConnection;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new OPSQLiteSession(client, dialect, schema, { logger });\n\tconst db = new OPSQLiteDatabase('async', dialect, session, schema) as OPSQLiteDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,oBAA8B;AAC9B,uBAKO;AACP,gBAAmC;AACnC,qBAAmC;AAEnC,qBAAgC;AAEzB,MAAM,yBAEH,6BAAkD;AAAA,EAC3D,QAA0B,wBAAU,IAAY;AACjD;AAEO,SAAS,QACf,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,kCAAmB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAChE,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,mBAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,+BAAgB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AACvE,QAAM,KAAK,IAAI,iBAAiB,SAAS,SAAS,SAAS,MAAM;AACjE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
@@ -1,11 +1,10 @@
1
1
  import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';
2
2
  import { entityKind } from "../entity.cjs";
3
- import type { AnyRelations, EmptyRelations } from "../relations.cjs";
4
3
  import { BaseSQLiteDatabase } from "../sqlite-core/db.cjs";
5
4
  import type { DrizzleConfig } from "../utils.cjs";
6
- export declare class OPSQLiteDatabase<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations> extends BaseSQLiteDatabase<'async', QueryResult, TSchema, TRelations> {
5
+ export declare class OPSQLiteDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'async', QueryResult, TSchema> {
7
6
  static readonly [entityKind]: string;
8
7
  }
9
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(client: OPSQLiteConnection, config?: DrizzleConfig<TSchema, TRelations>): OPSQLiteDatabase<TSchema, TRelations> & {
8
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: OPSQLiteConnection, config?: DrizzleConfig<TSchema>): OPSQLiteDatabase<TSchema> & {
10
9
  $client: OPSQLiteConnection;
11
10
  };
@@ -1,11 +1,10 @@
1
1
  import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';
2
2
  import { entityKind } from "../entity.js";
3
- import type { AnyRelations, EmptyRelations } from "../relations.js";
4
3
  import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
5
4
  import type { DrizzleConfig } from "../utils.js";
6
- export declare class OPSQLiteDatabase<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations> extends BaseSQLiteDatabase<'async', QueryResult, TSchema, TRelations> {
5
+ export declare class OPSQLiteDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'async', QueryResult, TSchema> {
7
6
  static readonly [entityKind]: string;
8
7
  }
9
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(client: OPSQLiteConnection, config?: DrizzleConfig<TSchema, TRelations>): OPSQLiteDatabase<TSchema, TRelations> & {
8
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: OPSQLiteConnection, config?: DrizzleConfig<TSchema>): OPSQLiteDatabase<TSchema> & {
10
9
  $client: OPSQLiteConnection;
11
10
  };
@@ -1,6 +1,9 @@
1
- import * as V1 from "../_relations.js";
2
1
  import { entityKind } from "../entity.js";
3
2
  import { DefaultLogger } from "../logger.js";
3
+ import {
4
+ createTableRelationsHelpers,
5
+ extractTablesRelationalConfig
6
+ } from "../relations.js";
4
7
  import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
5
8
  import { SQLiteAsyncDialect } from "../sqlite-core/dialect.js";
6
9
  import { OPSQLiteSession } from "./session.js";
@@ -17,9 +20,9 @@ function drizzle(client, config = {}) {
17
20
  }
18
21
  let schema;
19
22
  if (config.schema) {
20
- const tablesConfig = V1.extractTablesRelationalConfig(
23
+ const tablesConfig = extractTablesRelationalConfig(
21
24
  config.schema,
22
- V1.createTableRelationsHelpers
25
+ createTableRelationsHelpers
23
26
  );
24
27
  schema = {
25
28
  fullSchema: config.schema,
@@ -27,15 +30,8 @@ function drizzle(client, config = {}) {
27
30
  tableNamesMap: tablesConfig.tableNamesMap
28
31
  };
29
32
  }
30
- const relations = config.relations;
31
- const session = new OPSQLiteSession(client, dialect, relations, schema, { logger });
32
- const db = new OPSQLiteDatabase(
33
- "async",
34
- dialect,
35
- session,
36
- relations,
37
- schema
38
- );
33
+ const session = new OPSQLiteSession(client, dialect, schema, { logger });
34
+ const db = new OPSQLiteDatabase("async", dialect, session, schema);
39
35
  db.$client = client;
40
36
  return db;
41
37
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/op-sqlite/driver.ts"],"sourcesContent":["import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { OPSQLiteSession } from './session.ts';\n\nexport class OPSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'async', QueryResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteDatabase';\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: OPSQLiteConnection,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): OPSQLiteDatabase<TSchema, TRelations> & {\n\t$client: OPSQLiteConnection;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations;\n\tconst session = new OPSQLiteSession(client, dialect, relations, schema, { logger });\n\tconst db = new OPSQLiteDatabase(\n\t\t'async',\n\t\tdialect,\n\t\tsession as OPSQLiteDatabase<Record<string, any>, AnyRelations>['session'],\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as OPSQLiteDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":"AACA,YAAY,QAAQ;AACpB,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAE9B,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AAEnC,SAAS,uBAAuB;AAEzB,MAAM,yBAGH,mBAA8D;AAAA,EACvE,QAA0B,UAAU,IAAY;AACjD;AAEO,SAAS,QAIf,QACA,SAA6C,CAAC,GAG7C;AACD,QAAM,UAAU,IAAI,mBAAmB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAChE,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO;AACzB,QAAM,UAAU,IAAI,gBAAgB,QAAQ,SAAS,WAAW,QAAQ,EAAE,OAAO,CAAC;AAClF,QAAM,KAAK,IAAI;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAIA,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
1
+ {"version":3,"sources":["../../src/op-sqlite/driver.ts"],"sourcesContent":["import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { OPSQLiteSession } from './session.ts';\n\nexport class OPSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', QueryResult, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteDatabase';\n}\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: OPSQLiteConnection,\n\tconfig: DrizzleConfig<TSchema> = {},\n): OPSQLiteDatabase<TSchema> & {\n\t$client: OPSQLiteConnection;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new OPSQLiteSession(client, dialect, schema, { logger });\n\tconst db = new OPSQLiteDatabase('async', dialect, session, schema) as OPSQLiteDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AAEnC,SAAS,uBAAuB;AAEzB,MAAM,yBAEH,mBAAkD;AAAA,EAC3D,QAA0B,UAAU,IAAY;AACjD;AAEO,SAAS,QACf,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,mBAAmB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAChE,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,gBAAgB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AACvE,QAAM,KAAK,IAAI,iBAAiB,SAAS,SAAS,SAAS,MAAM;AACjE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/op-sqlite/migrator.ts"],"sourcesContent":["import { useEffect, useReducer } from 'react';\nimport type { MigrationMeta } from '~/migrator.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { OPSQLiteDatabase } from './driver.ts';\n\ninterface MigrationConfig {\n\tjournal: {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\tmigrations: Record<string, string>;\n}\n\nasync function readMigrationFiles({ journal, migrations }: MigrationConfig): Promise<MigrationMeta[]> {\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tfor await (const journalEntry of journal.entries) {\n\t\tconst query = migrations[`m${journalEntry.idx.toString().padStart(4, '0')}`];\n\n\t\tif (!query) {\n\t\t\tthrow new Error(`Missing migration: ${journalEntry.tag}`);\n\t\t}\n\n\t\ttry {\n\t\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\t\treturn it;\n\t\t\t});\n\n\t\t\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: journalEntry.breakpoints,\n\t\t\t\tfolderMillis: journalEntry.when,\n\t\t\t\thash: '',\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`Failed to parse migration: ${journalEntry.tag}`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: OPSQLiteDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = await readMigrationFiles(config);\n\treturn db.dialect.migrate(migrations, db.session);\n}\n\ninterface State {\n\tsuccess: boolean;\n\terror?: Error;\n}\n\ntype Action =\n\t| { type: 'migrating' }\n\t| { type: 'migrated'; payload: true }\n\t| { type: 'error'; payload: Error };\n\nexport const useMigrations = (db: OPSQLiteDatabase<any, any>, migrations: {\n\tjournal: {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\tmigrations: Record<string, string>;\n}): State => {\n\tconst initialState: State = {\n\t\tsuccess: false,\n\t\terror: undefined,\n\t};\n\n\tconst fetchReducer = (state: State, action: Action): State => {\n\t\tswitch (action.type) {\n\t\t\tcase 'migrating': {\n\t\t\t\treturn { ...initialState };\n\t\t\t}\n\t\t\tcase 'migrated': {\n\t\t\t\treturn { ...initialState, success: action.payload };\n\t\t\t}\n\t\t\tcase 'error': {\n\t\t\t\treturn { ...initialState, error: action.payload };\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst [state, dispatch] = useReducer(fetchReducer, initialState);\n\n\tuseEffect(() => {\n\t\tdispatch({ type: 'migrating' });\n\t\tmigrate(db, migrations).then(() => {\n\t\t\tdispatch({ type: 'migrated', payload: true });\n\t\t}).catch((error) => {\n\t\t\tdispatch({ type: 'error', payload: error as Error });\n\t\t});\n\t}, []);\n\n\treturn state;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsC;AAYtC,eAAe,mBAAmB,EAAE,SAAS,WAAW,GAA8C;AACrG,QAAM,mBAAoC,CAAC;AAE3C,mBAAiB,gBAAgB,QAAQ,SAAS;AACjD,UAAM,QAAQ,WAAW,IAAI,aAAa,IAAI,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE;AAE3E,QAAI,CAAC,OAAO;AACX,YAAM,IAAI,MAAM,sBAAsB,aAAa,GAAG,EAAE;AAAA,IACzD;AAEA,QAAI;AACH,YAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,eAAO;AAAA,MACR,CAAC;AAED,uBAAiB,KAAK;AAAA,QACrB,KAAK;AAAA,QACL,KAAK,aAAa;AAAA,QAClB,cAAc,aAAa;AAAA,QAC3B,MAAM;AAAA,MACP,CAAC;AAAA,IACF,QAAQ;AACP,YAAM,IAAI,MAAM,8BAA8B,aAAa,GAAG,EAAE;AAAA,IACjE;AAAA,EACD;AAEA,SAAO;AACR;AAEA,eAAsB,QACrB,IACA,QACC;AACD,QAAM,aAAa,MAAM,mBAAmB,MAAM;AAClD,SAAO,GAAG,QAAQ,QAAQ,YAAY,GAAG,OAAO;AACjD;AAYO,MAAM,gBAAgB,CAAC,IAAgC,eAKjD;AACZ,QAAM,eAAsB;AAAA,IAC3B,SAAS;AAAA,IACT,OAAO;AAAA,EACR;AAEA,QAAM,eAAe,CAACA,QAAc,WAA0B;AAC7D,YAAQ,OAAO,MAAM;AAAA,MACpB,KAAK,aAAa;AACjB,eAAO,EAAE,GAAG,aAAa;AAAA,MAC1B;AAAA,MACA,KAAK,YAAY;AAChB,eAAO,EAAE,GAAG,cAAc,SAAS,OAAO,QAAQ;AAAA,MACnD;AAAA,MACA,KAAK,SAAS;AACb,eAAO,EAAE,GAAG,cAAc,OAAO,OAAO,QAAQ;AAAA,MACjD;AAAA,MACA,SAAS;AACR,eAAOA;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAEA,QAAM,CAAC,OAAO,QAAQ,QAAI,yBAAW,cAAc,YAAY;AAE/D,8BAAU,MAAM;AACf,aAAS,EAAE,MAAM,YAAY,CAAC;AAC9B,YAAQ,IAAI,UAAU,EAAE,KAAK,MAAM;AAClC,eAAS,EAAE,MAAM,YAAY,SAAS,KAAK,CAAC;AAAA,IAC7C,CAAC,EAAE,MAAM,CAAC,UAAU;AACnB,eAAS,EAAE,MAAM,SAAS,SAAS,MAAe,CAAC;AAAA,IACpD,CAAC;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SAAO;AACR;","names":["state"]}
1
+ {"version":3,"sources":["../../src/op-sqlite/migrator.ts"],"sourcesContent":["import { useEffect, useReducer } from 'react';\nimport type { MigrationMeta } from '~/migrator.ts';\nimport type { OPSQLiteDatabase } from './driver.ts';\n\ninterface MigrationConfig {\n\tjournal: {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\tmigrations: Record<string, string>;\n}\n\nasync function readMigrationFiles({ journal, migrations }: MigrationConfig): Promise<MigrationMeta[]> {\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tfor await (const journalEntry of journal.entries) {\n\t\tconst query = migrations[`m${journalEntry.idx.toString().padStart(4, '0')}`];\n\n\t\tif (!query) {\n\t\t\tthrow new Error(`Missing migration: ${journalEntry.tag}`);\n\t\t}\n\n\t\ttry {\n\t\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\t\treturn it;\n\t\t\t});\n\n\t\t\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: journalEntry.breakpoints,\n\t\t\t\tfolderMillis: journalEntry.when,\n\t\t\t\thash: '',\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`Failed to parse migration: ${journalEntry.tag}`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n\nexport async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: OPSQLiteDatabase<TSchema>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = await readMigrationFiles(config);\n\treturn db.dialect.migrate(migrations, db.session);\n}\n\ninterface State {\n\tsuccess: boolean;\n\terror?: Error;\n}\n\ntype Action =\n\t| { type: 'migrating' }\n\t| { type: 'migrated'; payload: true }\n\t| { type: 'error'; payload: Error };\n\nexport const useMigrations = (db: OPSQLiteDatabase<any>, migrations: {\n\tjournal: {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\tmigrations: Record<string, string>;\n}): State => {\n\tconst initialState: State = {\n\t\tsuccess: false,\n\t\terror: undefined,\n\t};\n\n\tconst fetchReducer = (state: State, action: Action): State => {\n\t\tswitch (action.type) {\n\t\t\tcase 'migrating': {\n\t\t\t\treturn { ...initialState };\n\t\t\t}\n\t\t\tcase 'migrated': {\n\t\t\t\treturn { ...initialState, success: action.payload };\n\t\t\t}\n\t\t\tcase 'error': {\n\t\t\t\treturn { ...initialState, error: action.payload };\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst [state, dispatch] = useReducer(fetchReducer, initialState);\n\n\tuseEffect(() => {\n\t\tdispatch({ type: 'migrating' });\n\t\tmigrate(db, migrations).then(() => {\n\t\t\tdispatch({ type: 'migrated', payload: true });\n\t\t}).catch((error) => {\n\t\t\tdispatch({ type: 'error', payload: error as Error });\n\t\t});\n\t}, []);\n\n\treturn state;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsC;AAWtC,eAAe,mBAAmB,EAAE,SAAS,WAAW,GAA8C;AACrG,QAAM,mBAAoC,CAAC;AAE3C,mBAAiB,gBAAgB,QAAQ,SAAS;AACjD,UAAM,QAAQ,WAAW,IAAI,aAAa,IAAI,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE;AAE3E,QAAI,CAAC,OAAO;AACX,YAAM,IAAI,MAAM,sBAAsB,aAAa,GAAG,EAAE;AAAA,IACzD;AAEA,QAAI;AACH,YAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,eAAO;AAAA,MACR,CAAC;AAED,uBAAiB,KAAK;AAAA,QACrB,KAAK;AAAA,QACL,KAAK,aAAa;AAAA,QAClB,cAAc,aAAa;AAAA,QAC3B,MAAM;AAAA,MACP,CAAC;AAAA,IACF,QAAQ;AACP,YAAM,IAAI,MAAM,8BAA8B,aAAa,GAAG,EAAE;AAAA,IACjE;AAAA,EACD;AAEA,SAAO;AACR;AAEA,eAAsB,QACrB,IACA,QACC;AACD,QAAM,aAAa,MAAM,mBAAmB,MAAM;AAClD,SAAO,GAAG,QAAQ,QAAQ,YAAY,GAAG,OAAO;AACjD;AAYO,MAAM,gBAAgB,CAAC,IAA2B,eAK5C;AACZ,QAAM,eAAsB;AAAA,IAC3B,SAAS;AAAA,IACT,OAAO;AAAA,EACR;AAEA,QAAM,eAAe,CAACA,QAAc,WAA0B;AAC7D,YAAQ,OAAO,MAAM;AAAA,MACpB,KAAK,aAAa;AACjB,eAAO,EAAE,GAAG,aAAa;AAAA,MAC1B;AAAA,MACA,KAAK,YAAY;AAChB,eAAO,EAAE,GAAG,cAAc,SAAS,OAAO,QAAQ;AAAA,MACnD;AAAA,MACA,KAAK,SAAS;AACb,eAAO,EAAE,GAAG,cAAc,OAAO,OAAO,QAAQ;AAAA,MACjD;AAAA,MACA,SAAS;AACR,eAAOA;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAEA,QAAM,CAAC,OAAO,QAAQ,QAAI,yBAAW,cAAc,YAAY;AAE/D,8BAAU,MAAM;AACf,aAAS,EAAE,MAAM,YAAY,CAAC;AAC9B,YAAQ,IAAI,UAAU,EAAE,KAAK,MAAM;AAClC,eAAS,EAAE,MAAM,YAAY,SAAS,KAAK,CAAC;AAAA,IAC7C,CAAC,EAAE,MAAM,CAAC,UAAU;AACnB,eAAS,EAAE,MAAM,SAAS,SAAS,MAAe,CAAC;AAAA,IACpD,CAAC;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SAAO;AACR;","names":["state"]}
@@ -1,4 +1,3 @@
1
- import type { AnyRelations } from "../relations.cjs";
2
1
  import type { OPSQLiteDatabase } from "./driver.cjs";
3
2
  interface MigrationConfig {
4
3
  journal: {
@@ -11,12 +10,12 @@ interface MigrationConfig {
11
10
  };
12
11
  migrations: Record<string, string>;
13
12
  }
14
- export declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: OPSQLiteDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
13
+ export declare function migrate<TSchema extends Record<string, unknown>>(db: OPSQLiteDatabase<TSchema>, config: MigrationConfig): Promise<void>;
15
14
  interface State {
16
15
  success: boolean;
17
16
  error?: Error;
18
17
  }
19
- export declare const useMigrations: (db: OPSQLiteDatabase<any, any>, migrations: {
18
+ export declare const useMigrations: (db: OPSQLiteDatabase<any>, migrations: {
20
19
  journal: {
21
20
  entries: {
22
21
  idx: number;
@@ -1,4 +1,3 @@
1
- import type { AnyRelations } from "../relations.js";
2
1
  import type { OPSQLiteDatabase } from "./driver.js";
3
2
  interface MigrationConfig {
4
3
  journal: {
@@ -11,12 +10,12 @@ interface MigrationConfig {
11
10
  };
12
11
  migrations: Record<string, string>;
13
12
  }
14
- export declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: OPSQLiteDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
13
+ export declare function migrate<TSchema extends Record<string, unknown>>(db: OPSQLiteDatabase<TSchema>, config: MigrationConfig): Promise<void>;
15
14
  interface State {
16
15
  success: boolean;
17
16
  error?: Error;
18
17
  }
19
- export declare const useMigrations: (db: OPSQLiteDatabase<any, any>, migrations: {
18
+ export declare const useMigrations: (db: OPSQLiteDatabase<any>, migrations: {
20
19
  journal: {
21
20
  entries: {
22
21
  idx: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/op-sqlite/migrator.ts"],"sourcesContent":["import { useEffect, useReducer } from 'react';\nimport type { MigrationMeta } from '~/migrator.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { OPSQLiteDatabase } from './driver.ts';\n\ninterface MigrationConfig {\n\tjournal: {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\tmigrations: Record<string, string>;\n}\n\nasync function readMigrationFiles({ journal, migrations }: MigrationConfig): Promise<MigrationMeta[]> {\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tfor await (const journalEntry of journal.entries) {\n\t\tconst query = migrations[`m${journalEntry.idx.toString().padStart(4, '0')}`];\n\n\t\tif (!query) {\n\t\t\tthrow new Error(`Missing migration: ${journalEntry.tag}`);\n\t\t}\n\n\t\ttry {\n\t\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\t\treturn it;\n\t\t\t});\n\n\t\t\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: journalEntry.breakpoints,\n\t\t\t\tfolderMillis: journalEntry.when,\n\t\t\t\thash: '',\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`Failed to parse migration: ${journalEntry.tag}`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: OPSQLiteDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = await readMigrationFiles(config);\n\treturn db.dialect.migrate(migrations, db.session);\n}\n\ninterface State {\n\tsuccess: boolean;\n\terror?: Error;\n}\n\ntype Action =\n\t| { type: 'migrating' }\n\t| { type: 'migrated'; payload: true }\n\t| { type: 'error'; payload: Error };\n\nexport const useMigrations = (db: OPSQLiteDatabase<any, any>, migrations: {\n\tjournal: {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\tmigrations: Record<string, string>;\n}): State => {\n\tconst initialState: State = {\n\t\tsuccess: false,\n\t\terror: undefined,\n\t};\n\n\tconst fetchReducer = (state: State, action: Action): State => {\n\t\tswitch (action.type) {\n\t\t\tcase 'migrating': {\n\t\t\t\treturn { ...initialState };\n\t\t\t}\n\t\t\tcase 'migrated': {\n\t\t\t\treturn { ...initialState, success: action.payload };\n\t\t\t}\n\t\t\tcase 'error': {\n\t\t\t\treturn { ...initialState, error: action.payload };\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst [state, dispatch] = useReducer(fetchReducer, initialState);\n\n\tuseEffect(() => {\n\t\tdispatch({ type: 'migrating' });\n\t\tmigrate(db, migrations).then(() => {\n\t\t\tdispatch({ type: 'migrated', payload: true });\n\t\t}).catch((error) => {\n\t\t\tdispatch({ type: 'error', payload: error as Error });\n\t\t});\n\t}, []);\n\n\treturn state;\n};\n"],"mappings":"AAAA,SAAS,WAAW,kBAAkB;AAYtC,eAAe,mBAAmB,EAAE,SAAS,WAAW,GAA8C;AACrG,QAAM,mBAAoC,CAAC;AAE3C,mBAAiB,gBAAgB,QAAQ,SAAS;AACjD,UAAM,QAAQ,WAAW,IAAI,aAAa,IAAI,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE;AAE3E,QAAI,CAAC,OAAO;AACX,YAAM,IAAI,MAAM,sBAAsB,aAAa,GAAG,EAAE;AAAA,IACzD;AAEA,QAAI;AACH,YAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,eAAO;AAAA,MACR,CAAC;AAED,uBAAiB,KAAK;AAAA,QACrB,KAAK;AAAA,QACL,KAAK,aAAa;AAAA,QAClB,cAAc,aAAa;AAAA,QAC3B,MAAM;AAAA,MACP,CAAC;AAAA,IACF,QAAQ;AACP,YAAM,IAAI,MAAM,8BAA8B,aAAa,GAAG,EAAE;AAAA,IACjE;AAAA,EACD;AAEA,SAAO;AACR;AAEA,eAAsB,QACrB,IACA,QACC;AACD,QAAM,aAAa,MAAM,mBAAmB,MAAM;AAClD,SAAO,GAAG,QAAQ,QAAQ,YAAY,GAAG,OAAO;AACjD;AAYO,MAAM,gBAAgB,CAAC,IAAgC,eAKjD;AACZ,QAAM,eAAsB;AAAA,IAC3B,SAAS;AAAA,IACT,OAAO;AAAA,EACR;AAEA,QAAM,eAAe,CAACA,QAAc,WAA0B;AAC7D,YAAQ,OAAO,MAAM;AAAA,MACpB,KAAK,aAAa;AACjB,eAAO,EAAE,GAAG,aAAa;AAAA,MAC1B;AAAA,MACA,KAAK,YAAY;AAChB,eAAO,EAAE,GAAG,cAAc,SAAS,OAAO,QAAQ;AAAA,MACnD;AAAA,MACA,KAAK,SAAS;AACb,eAAO,EAAE,GAAG,cAAc,OAAO,OAAO,QAAQ;AAAA,MACjD;AAAA,MACA,SAAS;AACR,eAAOA;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAEA,QAAM,CAAC,OAAO,QAAQ,IAAI,WAAW,cAAc,YAAY;AAE/D,YAAU,MAAM;AACf,aAAS,EAAE,MAAM,YAAY,CAAC;AAC9B,YAAQ,IAAI,UAAU,EAAE,KAAK,MAAM;AAClC,eAAS,EAAE,MAAM,YAAY,SAAS,KAAK,CAAC;AAAA,IAC7C,CAAC,EAAE,MAAM,CAAC,UAAU;AACnB,eAAS,EAAE,MAAM,SAAS,SAAS,MAAe,CAAC;AAAA,IACpD,CAAC;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SAAO;AACR;","names":["state"]}
1
+ {"version":3,"sources":["../../src/op-sqlite/migrator.ts"],"sourcesContent":["import { useEffect, useReducer } from 'react';\nimport type { MigrationMeta } from '~/migrator.ts';\nimport type { OPSQLiteDatabase } from './driver.ts';\n\ninterface MigrationConfig {\n\tjournal: {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\tmigrations: Record<string, string>;\n}\n\nasync function readMigrationFiles({ journal, migrations }: MigrationConfig): Promise<MigrationMeta[]> {\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tfor await (const journalEntry of journal.entries) {\n\t\tconst query = migrations[`m${journalEntry.idx.toString().padStart(4, '0')}`];\n\n\t\tif (!query) {\n\t\t\tthrow new Error(`Missing migration: ${journalEntry.tag}`);\n\t\t}\n\n\t\ttry {\n\t\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\t\treturn it;\n\t\t\t});\n\n\t\t\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: journalEntry.breakpoints,\n\t\t\t\tfolderMillis: journalEntry.when,\n\t\t\t\thash: '',\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`Failed to parse migration: ${journalEntry.tag}`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n\nexport async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: OPSQLiteDatabase<TSchema>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = await readMigrationFiles(config);\n\treturn db.dialect.migrate(migrations, db.session);\n}\n\ninterface State {\n\tsuccess: boolean;\n\terror?: Error;\n}\n\ntype Action =\n\t| { type: 'migrating' }\n\t| { type: 'migrated'; payload: true }\n\t| { type: 'error'; payload: Error };\n\nexport const useMigrations = (db: OPSQLiteDatabase<any>, migrations: {\n\tjournal: {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\tmigrations: Record<string, string>;\n}): State => {\n\tconst initialState: State = {\n\t\tsuccess: false,\n\t\terror: undefined,\n\t};\n\n\tconst fetchReducer = (state: State, action: Action): State => {\n\t\tswitch (action.type) {\n\t\t\tcase 'migrating': {\n\t\t\t\treturn { ...initialState };\n\t\t\t}\n\t\t\tcase 'migrated': {\n\t\t\t\treturn { ...initialState, success: action.payload };\n\t\t\t}\n\t\t\tcase 'error': {\n\t\t\t\treturn { ...initialState, error: action.payload };\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst [state, dispatch] = useReducer(fetchReducer, initialState);\n\n\tuseEffect(() => {\n\t\tdispatch({ type: 'migrating' });\n\t\tmigrate(db, migrations).then(() => {\n\t\t\tdispatch({ type: 'migrated', payload: true });\n\t\t}).catch((error) => {\n\t\t\tdispatch({ type: 'error', payload: error as Error });\n\t\t});\n\t}, []);\n\n\treturn state;\n};\n"],"mappings":"AAAA,SAAS,WAAW,kBAAkB;AAWtC,eAAe,mBAAmB,EAAE,SAAS,WAAW,GAA8C;AACrG,QAAM,mBAAoC,CAAC;AAE3C,mBAAiB,gBAAgB,QAAQ,SAAS;AACjD,UAAM,QAAQ,WAAW,IAAI,aAAa,IAAI,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE;AAE3E,QAAI,CAAC,OAAO;AACX,YAAM,IAAI,MAAM,sBAAsB,aAAa,GAAG,EAAE;AAAA,IACzD;AAEA,QAAI;AACH,YAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,eAAO;AAAA,MACR,CAAC;AAED,uBAAiB,KAAK;AAAA,QACrB,KAAK;AAAA,QACL,KAAK,aAAa;AAAA,QAClB,cAAc,aAAa;AAAA,QAC3B,MAAM;AAAA,MACP,CAAC;AAAA,IACF,QAAQ;AACP,YAAM,IAAI,MAAM,8BAA8B,aAAa,GAAG,EAAE;AAAA,IACjE;AAAA,EACD;AAEA,SAAO;AACR;AAEA,eAAsB,QACrB,IACA,QACC;AACD,QAAM,aAAa,MAAM,mBAAmB,MAAM;AAClD,SAAO,GAAG,QAAQ,QAAQ,YAAY,GAAG,OAAO;AACjD;AAYO,MAAM,gBAAgB,CAAC,IAA2B,eAK5C;AACZ,QAAM,eAAsB;AAAA,IAC3B,SAAS;AAAA,IACT,OAAO;AAAA,EACR;AAEA,QAAM,eAAe,CAACA,QAAc,WAA0B;AAC7D,YAAQ,OAAO,MAAM;AAAA,MACpB,KAAK,aAAa;AACjB,eAAO,EAAE,GAAG,aAAa;AAAA,MAC1B;AAAA,MACA,KAAK,YAAY;AAChB,eAAO,EAAE,GAAG,cAAc,SAAS,OAAO,QAAQ;AAAA,MACnD;AAAA,MACA,KAAK,SAAS;AACb,eAAO,EAAE,GAAG,cAAc,OAAO,OAAO,QAAQ;AAAA,MACjD;AAAA,MACA,SAAS;AACR,eAAOA;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAEA,QAAM,CAAC,OAAO,QAAQ,IAAI,WAAW,cAAc,YAAY;AAE/D,YAAU,MAAM;AACf,aAAS,EAAE,MAAM,YAAY,CAAC;AAC9B,YAAQ,IAAI,UAAU,EAAE,KAAK,MAAM;AAClC,eAAS,EAAE,MAAM,YAAY,SAAS,KAAK,CAAC;AAAA,IAC7C,CAAC,EAAE,MAAM,CAAC,UAAU;AACnB,eAAS,EAAE,MAAM,SAAS,SAAS,MAAe,CAAC;AAAA,IACpD,CAAC;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SAAO;AACR;","names":["state"]}
@@ -30,10 +30,9 @@ var import_sqlite_core = require("../sqlite-core/index.cjs");
30
30
  var import_session = require("../sqlite-core/session.cjs");
31
31
  var import_utils = require("../utils.cjs");
32
32
  class OPSQLiteSession extends import_session.SQLiteSession {
33
- constructor(client, dialect, relations, schema, options = {}) {
33
+ constructor(client, dialect, schema, options = {}) {
34
34
  super(dialect);
35
35
  this.client = client;
36
- this.relations = relations;
37
36
  this.schema = schema;
38
37
  this.logger = options.logger ?? new import_logger.NoopLogger();
39
38
  }
@@ -50,20 +49,8 @@ class OPSQLiteSession extends import_session.SQLiteSession {
50
49
  customResultMapper
51
50
  );
52
51
  }
53
- prepareRelationalQuery(query, fields, executeMethod, customResultMapper) {
54
- return new OPSQLitePreparedQuery(
55
- this.client,
56
- query,
57
- this.logger,
58
- fields,
59
- executeMethod,
60
- false,
61
- customResultMapper,
62
- true
63
- );
64
- }
65
52
  transaction(transaction, config = {}) {
66
- const tx = new OPSQLiteTransaction("async", this.dialect, this, this.relations, this.schema);
53
+ const tx = new OPSQLiteTransaction("async", this.dialect, this, this.schema);
67
54
  this.run(import_sql.sql.raw(`begin${config?.behavior ? " " + config.behavior : ""}`));
68
55
  try {
69
56
  const result = transaction(tx);
@@ -79,14 +66,7 @@ class OPSQLiteTransaction extends import_sqlite_core.SQLiteTransaction {
79
66
  static [import_entity.entityKind] = "OPSQLiteTransaction";
80
67
  transaction(transaction) {
81
68
  const savepointName = `sp${this.nestedIndex}`;
82
- const tx = new OPSQLiteTransaction(
83
- "async",
84
- this.dialect,
85
- this.session,
86
- this.relations,
87
- this.schema,
88
- this.nestedIndex + 1
89
- );
69
+ const tx = new OPSQLiteTransaction("async", this.dialect, this.session, this.schema, this.nestedIndex + 1);
90
70
  this.session.run(import_sql.sql.raw(`savepoint ${savepointName}`));
91
71
  try {
92
72
  const result = transaction(tx);
@@ -99,14 +79,13 @@ class OPSQLiteTransaction extends import_sqlite_core.SQLiteTransaction {
99
79
  }
100
80
  }
101
81
  class OPSQLitePreparedQuery extends import_session.SQLitePreparedQuery {
102
- constructor(client, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper, isRqbV2Query) {
82
+ constructor(client, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper) {
103
83
  super("sync", executeMethod, query);
104
84
  this.client = client;
105
85
  this.logger = logger;
106
86
  this.fields = fields;
107
87
  this._isResponseInArrayMode = _isResponseInArrayMode;
108
88
  this.customResultMapper = customResultMapper;
109
- this.isRqbV2Query = isRqbV2Query;
110
89
  }
111
90
  static [import_entity.entityKind] = "OPSQLitePreparedQuery";
112
91
  run(placeholderValues) {
@@ -115,8 +94,6 @@ class OPSQLitePreparedQuery extends import_session.SQLitePreparedQuery {
115
94
  return this.client.executeAsync(this.query.sql, params);
116
95
  }
117
96
  async all(placeholderValues) {
118
- if (this.isRqbV2Query)
119
- return this.allRqbV2(placeholderValues);
120
97
  const { fields, joinsNotNullableMap, query, logger, customResultMapper, client } = this;
121
98
  if (!fields && !customResultMapper) {
122
99
  const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
@@ -129,16 +106,7 @@ class OPSQLitePreparedQuery extends import_session.SQLitePreparedQuery {
129
106
  }
130
107
  return rows.map((row) => (0, import_utils.mapResultRow)(fields, row, joinsNotNullableMap));
131
108
  }
132
- async allRqbV2(placeholderValues) {
133
- const { query, logger, customResultMapper, client } = this;
134
- const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
135
- logger.logQuery(query.sql, params);
136
- const rows = client.execute(query.sql, params).rows?._array || [];
137
- return customResultMapper(rows);
138
- }
139
109
  async get(placeholderValues) {
140
- if (this.isRqbV2Query)
141
- return this.getRqbV2(placeholderValues);
142
110
  const { fields, joinsNotNullableMap, customResultMapper, query, logger, client } = this;
143
111
  const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
144
112
  logger.logQuery(query.sql, params);
@@ -156,17 +124,6 @@ class OPSQLitePreparedQuery extends import_session.SQLitePreparedQuery {
156
124
  }
157
125
  return (0, import_utils.mapResultRow)(fields, row, joinsNotNullableMap);
158
126
  }
159
- async getRqbV2(placeholderValues) {
160
- const { customResultMapper, query, logger, client } = this;
161
- const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
162
- logger.logQuery(query.sql, params);
163
- const rows = client.execute(query.sql, params).rows?._array || [];
164
- const row = rows[0];
165
- if (!row) {
166
- return void 0;
167
- }
168
- return customResultMapper([row]);
169
- }
170
127
  values(placeholderValues) {
171
128
  const params = (0, import_sql.fillPlaceholders)(this.query.params, placeholderValues ?? {});
172
129
  this.logger.logQuery(this.query.sql, params);