drizzle-orm 0.43.1-8eb999a → 0.43.1-9811cd4

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 (834) hide show
  1. package/aws-data-api/pg/driver.cjs +1 -5
  2. package/aws-data-api/pg/driver.cjs.map +1 -1
  3. package/aws-data-api/pg/driver.d.cts +0 -1
  4. package/aws-data-api/pg/driver.d.ts +0 -1
  5. package/aws-data-api/pg/driver.js +1 -5
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/aws-data-api/pg/session.cjs +4 -15
  8. package/aws-data-api/pg/session.cjs.map +1 -1
  9. package/aws-data-api/pg/session.d.cts +2 -13
  10. package/aws-data-api/pg/session.d.ts +2 -13
  11. package/aws-data-api/pg/session.js +4 -15
  12. package/aws-data-api/pg/session.js.map +1 -1
  13. package/better-sqlite3/driver.cjs.map +1 -1
  14. package/better-sqlite3/driver.js.map +1 -1
  15. package/better-sqlite3/session.cjs +3 -9
  16. package/better-sqlite3/session.cjs.map +1 -1
  17. package/better-sqlite3/session.d.cts +2 -12
  18. package/better-sqlite3/session.d.ts +2 -12
  19. package/better-sqlite3/session.js +3 -9
  20. package/better-sqlite3/session.js.map +1 -1
  21. package/bun-sql/driver.cjs +1 -5
  22. package/bun-sql/driver.cjs.map +1 -1
  23. package/bun-sql/driver.js +1 -5
  24. package/bun-sql/driver.js.map +1 -1
  25. package/bun-sql/session.cjs +9 -21
  26. package/bun-sql/session.cjs.map +1 -1
  27. package/bun-sql/session.d.cts +2 -12
  28. package/bun-sql/session.d.ts +2 -12
  29. package/bun-sql/session.js +9 -21
  30. package/bun-sql/session.js.map +1 -1
  31. package/column-builder.cjs.map +1 -1
  32. package/column-builder.d.cts +6 -4
  33. package/column-builder.d.ts +6 -4
  34. package/column-builder.js.map +1 -1
  35. package/column.cjs +2 -0
  36. package/column.cjs.map +1 -1
  37. package/column.d.cts +1 -0
  38. package/column.d.ts +1 -0
  39. package/column.js +2 -0
  40. package/column.js.map +1 -1
  41. package/d1/driver.cjs +1 -5
  42. package/d1/driver.cjs.map +1 -1
  43. package/d1/driver.js +1 -5
  44. package/d1/driver.js.map +1 -1
  45. package/d1/session.cjs +9 -23
  46. package/d1/session.cjs.map +1 -1
  47. package/d1/session.d.cts +2 -12
  48. package/d1/session.d.ts +2 -12
  49. package/d1/session.js +9 -23
  50. package/d1/session.js.map +1 -1
  51. package/durable-sqlite/session.cjs +1 -1
  52. package/durable-sqlite/session.cjs.map +1 -1
  53. package/durable-sqlite/session.js +1 -1
  54. package/durable-sqlite/session.js.map +1 -1
  55. package/gel/driver.cjs +2 -9
  56. package/gel/driver.cjs.map +1 -1
  57. package/gel/driver.d.cts +0 -2
  58. package/gel/driver.d.ts +0 -2
  59. package/gel/driver.js +2 -9
  60. package/gel/driver.js.map +1 -1
  61. package/gel/session.cjs +10 -25
  62. package/gel/session.cjs.map +1 -1
  63. package/gel/session.d.cts +2 -12
  64. package/gel/session.d.ts +2 -12
  65. package/gel/session.js +10 -25
  66. package/gel/session.js.map +1 -1
  67. package/gel-core/db.cjs +0 -3
  68. package/gel-core/db.cjs.map +1 -1
  69. package/gel-core/db.d.cts +0 -4
  70. package/gel-core/db.d.ts +0 -4
  71. package/gel-core/db.js +0 -3
  72. package/gel-core/db.js.map +1 -1
  73. package/gel-core/query-builders/delete.cjs +1 -5
  74. package/gel-core/query-builders/delete.cjs.map +1 -1
  75. package/gel-core/query-builders/delete.js +1 -5
  76. package/gel-core/query-builders/delete.js.map +1 -1
  77. package/gel-core/query-builders/insert.cjs +1 -5
  78. package/gel-core/query-builders/insert.cjs.map +1 -1
  79. package/gel-core/query-builders/insert.js +1 -5
  80. package/gel-core/query-builders/insert.js.map +1 -1
  81. package/gel-core/query-builders/select.cjs +4 -29
  82. package/gel-core/query-builders/select.cjs.map +1 -1
  83. package/gel-core/query-builders/select.d.cts +0 -9
  84. package/gel-core/query-builders/select.d.ts +0 -9
  85. package/gel-core/query-builders/select.js +4 -29
  86. package/gel-core/query-builders/select.js.map +1 -1
  87. package/gel-core/query-builders/update.cjs +1 -5
  88. package/gel-core/query-builders/update.cjs.map +1 -1
  89. package/gel-core/query-builders/update.js +1 -5
  90. package/gel-core/query-builders/update.js.map +1 -1
  91. package/gel-core/session.cjs +1 -53
  92. package/gel-core/session.cjs.map +1 -1
  93. package/gel-core/session.d.cts +3 -14
  94. package/gel-core/session.d.ts +3 -14
  95. package/gel-core/session.js +2 -54
  96. package/gel-core/session.js.map +1 -1
  97. package/gel-core/utils.cjs +0 -16
  98. package/gel-core/utils.cjs.map +1 -1
  99. package/gel-core/utils.d.cts +4 -8
  100. package/gel-core/utils.d.ts +4 -8
  101. package/gel-core/utils.js +0 -15
  102. package/gel-core/utils.js.map +1 -1
  103. package/libsql/driver-core.cjs +1 -5
  104. package/libsql/driver-core.cjs.map +1 -1
  105. package/libsql/driver-core.js +1 -5
  106. package/libsql/driver-core.js.map +1 -1
  107. package/libsql/session.cjs +13 -27
  108. package/libsql/session.cjs.map +1 -1
  109. package/libsql/session.d.cts +2 -12
  110. package/libsql/session.d.ts +2 -12
  111. package/libsql/session.js +13 -27
  112. package/libsql/session.js.map +1 -1
  113. package/mssql-core/alias.cjs +32 -0
  114. package/mssql-core/alias.cjs.map +1 -0
  115. package/mssql-core/alias.d.cts +4 -0
  116. package/mssql-core/alias.d.ts +4 -0
  117. package/mssql-core/alias.js +8 -0
  118. package/mssql-core/alias.js.map +1 -0
  119. package/mssql-core/checks.cjs +58 -0
  120. package/mssql-core/checks.cjs.map +1 -0
  121. package/mssql-core/checks.d.cts +18 -0
  122. package/mssql-core/checks.d.ts +18 -0
  123. package/mssql-core/checks.js +32 -0
  124. package/mssql-core/checks.js.map +1 -0
  125. package/mssql-core/columns/all.cjs +72 -0
  126. package/mssql-core/columns/all.cjs.map +1 -0
  127. package/mssql-core/columns/all.d.cts +43 -0
  128. package/mssql-core/columns/all.d.ts +43 -0
  129. package/mssql-core/columns/all.js +48 -0
  130. package/mssql-core/columns/all.js.map +1 -0
  131. package/mssql-core/columns/bigint.cjs +67 -0
  132. package/mssql-core/columns/bigint.cjs.map +1 -0
  133. package/mssql-core/columns/bigint.d.cts +33 -0
  134. package/mssql-core/columns/bigint.d.ts +33 -0
  135. package/mssql-core/columns/bigint.js +41 -0
  136. package/mssql-core/columns/bigint.js.map +1 -0
  137. package/mssql-core/columns/binary.cjs +57 -0
  138. package/mssql-core/columns/binary.cjs.map +1 -0
  139. package/mssql-core/columns/binary.d.cts +28 -0
  140. package/mssql-core/columns/binary.d.ts +28 -0
  141. package/mssql-core/columns/binary.js +31 -0
  142. package/mssql-core/columns/binary.js.map +1 -0
  143. package/mssql-core/columns/bit.cjs +54 -0
  144. package/mssql-core/columns/bit.cjs.map +1 -0
  145. package/mssql-core/columns/bit.d.cts +24 -0
  146. package/mssql-core/columns/bit.d.ts +24 -0
  147. package/mssql-core/columns/bit.js +28 -0
  148. package/mssql-core/columns/bit.js.map +1 -0
  149. package/mssql-core/columns/char.cjs +74 -0
  150. package/mssql-core/columns/char.cjs.map +1 -0
  151. package/mssql-core/columns/char.d.cts +37 -0
  152. package/mssql-core/columns/char.d.ts +37 -0
  153. package/mssql-core/columns/char.js +47 -0
  154. package/mssql-core/columns/char.js.map +1 -0
  155. package/mssql-core/columns/common.cjs +110 -0
  156. package/mssql-core/columns/common.cjs.map +1 -0
  157. package/mssql-core/columns/common.d.cts +67 -0
  158. package/mssql-core/columns/common.d.ts +67 -0
  159. package/mssql-core/columns/common.js +83 -0
  160. package/mssql-core/columns/common.js.map +1 -0
  161. package/mssql-core/columns/custom.cjs +75 -0
  162. package/mssql-core/columns/custom.cjs.map +1 -0
  163. package/mssql-core/columns/custom.d.cts +149 -0
  164. package/mssql-core/columns/custom.d.ts +149 -0
  165. package/mssql-core/columns/custom.js +49 -0
  166. package/mssql-core/columns/custom.js.map +1 -0
  167. package/mssql-core/columns/date.cjs +94 -0
  168. package/mssql-core/columns/date.cjs.map +1 -0
  169. package/{cache/core/cache.cjs → mssql-core/columns/date.common.cjs} +12 -22
  170. package/mssql-core/columns/date.common.cjs.map +1 -0
  171. package/mssql-core/columns/date.common.d.cts +12 -0
  172. package/mssql-core/columns/date.common.d.ts +12 -0
  173. package/mssql-core/columns/date.common.js +13 -0
  174. package/mssql-core/columns/date.common.js.map +1 -0
  175. package/mssql-core/columns/date.d.cts +55 -0
  176. package/mssql-core/columns/date.d.ts +55 -0
  177. package/mssql-core/columns/date.js +66 -0
  178. package/mssql-core/columns/date.js.map +1 -0
  179. package/mssql-core/columns/datetime.cjs +94 -0
  180. package/mssql-core/columns/datetime.cjs.map +1 -0
  181. package/mssql-core/columns/datetime.d.cts +54 -0
  182. package/mssql-core/columns/datetime.d.ts +54 -0
  183. package/mssql-core/columns/datetime.js +66 -0
  184. package/mssql-core/columns/datetime.js.map +1 -0
  185. package/mssql-core/columns/datetime2.cjs +102 -0
  186. package/mssql-core/columns/datetime2.cjs.map +1 -0
  187. package/mssql-core/columns/datetime2.d.cts +54 -0
  188. package/mssql-core/columns/datetime2.d.ts +54 -0
  189. package/mssql-core/columns/datetime2.js +74 -0
  190. package/mssql-core/columns/datetime2.js.map +1 -0
  191. package/mssql-core/columns/datetimeoffset.cjs +102 -0
  192. package/mssql-core/columns/datetimeoffset.cjs.map +1 -0
  193. package/mssql-core/columns/datetimeoffset.d.cts +54 -0
  194. package/mssql-core/columns/datetimeoffset.d.ts +54 -0
  195. package/mssql-core/columns/datetimeoffset.js +74 -0
  196. package/mssql-core/columns/datetimeoffset.js.map +1 -0
  197. package/mssql-core/columns/decimal.cjs +68 -0
  198. package/mssql-core/columns/decimal.cjs.map +1 -0
  199. package/mssql-core/columns/decimal.d.cts +30 -0
  200. package/mssql-core/columns/decimal.d.ts +30 -0
  201. package/mssql-core/columns/decimal.js +42 -0
  202. package/mssql-core/columns/decimal.js.map +1 -0
  203. package/mssql-core/columns/float.cjs +58 -0
  204. package/mssql-core/columns/float.cjs.map +1 -0
  205. package/mssql-core/columns/float.d.cts +28 -0
  206. package/mssql-core/columns/float.d.ts +28 -0
  207. package/mssql-core/columns/float.js +32 -0
  208. package/mssql-core/columns/float.js.map +1 -0
  209. package/mssql-core/columns/index.cjs +63 -0
  210. package/mssql-core/columns/index.cjs.map +1 -0
  211. package/mssql-core/columns/index.d.cts +21 -0
  212. package/mssql-core/columns/index.d.ts +21 -0
  213. package/mssql-core/columns/index.js +22 -0
  214. package/mssql-core/columns/index.js.map +1 -0
  215. package/mssql-core/columns/int.cjs +53 -0
  216. package/mssql-core/columns/int.cjs.map +1 -0
  217. package/mssql-core/columns/int.d.cts +23 -0
  218. package/mssql-core/columns/int.d.ts +23 -0
  219. package/mssql-core/columns/int.js +27 -0
  220. package/mssql-core/columns/int.js.map +1 -0
  221. package/mssql-core/columns/numeric.cjs +68 -0
  222. package/mssql-core/columns/numeric.cjs.map +1 -0
  223. package/mssql-core/columns/numeric.d.cts +27 -0
  224. package/mssql-core/columns/numeric.d.ts +27 -0
  225. package/mssql-core/columns/numeric.js +42 -0
  226. package/mssql-core/columns/numeric.js.map +1 -0
  227. package/mssql-core/columns/real.cjs +53 -0
  228. package/mssql-core/columns/real.cjs.map +1 -0
  229. package/mssql-core/columns/real.d.cts +23 -0
  230. package/mssql-core/columns/real.d.ts +23 -0
  231. package/mssql-core/columns/real.js +27 -0
  232. package/mssql-core/columns/real.js.map +1 -0
  233. package/mssql-core/columns/smallint.cjs +62 -0
  234. package/mssql-core/columns/smallint.cjs.map +1 -0
  235. package/mssql-core/columns/smallint.d.cts +24 -0
  236. package/mssql-core/columns/smallint.d.ts +24 -0
  237. package/mssql-core/columns/smallint.js +36 -0
  238. package/mssql-core/columns/smallint.js.map +1 -0
  239. package/mssql-core/columns/text.cjs +68 -0
  240. package/mssql-core/columns/text.cjs.map +1 -0
  241. package/mssql-core/columns/text.d.cts +45 -0
  242. package/mssql-core/columns/text.d.ts +45 -0
  243. package/mssql-core/columns/text.js +41 -0
  244. package/mssql-core/columns/text.js.map +1 -0
  245. package/mssql-core/columns/time.cjs +90 -0
  246. package/mssql-core/columns/time.cjs.map +1 -0
  247. package/mssql-core/columns/time.d.cts +49 -0
  248. package/mssql-core/columns/time.d.ts +49 -0
  249. package/mssql-core/columns/time.js +62 -0
  250. package/mssql-core/columns/time.js.map +1 -0
  251. package/mssql-core/columns/tinyint.cjs +62 -0
  252. package/mssql-core/columns/tinyint.cjs.map +1 -0
  253. package/mssql-core/columns/tinyint.d.cts +24 -0
  254. package/mssql-core/columns/tinyint.d.ts +24 -0
  255. package/mssql-core/columns/tinyint.js +36 -0
  256. package/mssql-core/columns/tinyint.js.map +1 -0
  257. package/mssql-core/columns/varbinary.cjs +61 -0
  258. package/mssql-core/columns/varbinary.cjs.map +1 -0
  259. package/mssql-core/columns/varbinary.d.cts +27 -0
  260. package/mssql-core/columns/varbinary.d.ts +27 -0
  261. package/mssql-core/columns/varbinary.js +35 -0
  262. package/mssql-core/columns/varbinary.js.map +1 -0
  263. package/mssql-core/columns/varchar.cjs +117 -0
  264. package/mssql-core/columns/varchar.cjs.map +1 -0
  265. package/mssql-core/columns/varchar.d.cts +66 -0
  266. package/mssql-core/columns/varchar.d.ts +66 -0
  267. package/mssql-core/columns/varchar.js +88 -0
  268. package/mssql-core/columns/varchar.js.map +1 -0
  269. package/mssql-core/db.cjs +254 -0
  270. package/mssql-core/db.cjs.map +1 -0
  271. package/mssql-core/db.d.cts +228 -0
  272. package/mssql-core/db.d.ts +228 -0
  273. package/mssql-core/db.js +235 -0
  274. package/mssql-core/db.js.map +1 -0
  275. package/mssql-core/dialect.cjs +611 -0
  276. package/mssql-core/dialect.cjs.map +1 -0
  277. package/mssql-core/dialect.d.cts +58 -0
  278. package/mssql-core/dialect.d.ts +58 -0
  279. package/mssql-core/dialect.js +593 -0
  280. package/mssql-core/dialect.js.map +1 -0
  281. package/mssql-core/expressions.cjs +49 -0
  282. package/mssql-core/expressions.cjs.map +1 -0
  283. package/mssql-core/expressions.d.cts +8 -0
  284. package/mssql-core/expressions.d.ts +8 -0
  285. package/mssql-core/expressions.js +22 -0
  286. package/mssql-core/expressions.js.map +1 -0
  287. package/mssql-core/foreign-keys.cjs +91 -0
  288. package/mssql-core/foreign-keys.cjs.map +1 -0
  289. package/mssql-core/foreign-keys.d.cts +51 -0
  290. package/mssql-core/foreign-keys.d.ts +51 -0
  291. package/mssql-core/foreign-keys.js +65 -0
  292. package/mssql-core/foreign-keys.js.map +1 -0
  293. package/mssql-core/index.cjs +55 -0
  294. package/mssql-core/index.cjs.map +1 -0
  295. package/mssql-core/index.d.cts +17 -0
  296. package/mssql-core/index.d.ts +17 -0
  297. package/mssql-core/index.js +18 -0
  298. package/mssql-core/index.js.map +1 -0
  299. package/mssql-core/indexes.cjs +80 -0
  300. package/mssql-core/indexes.cjs.map +1 -0
  301. package/mssql-core/indexes.d.cts +49 -0
  302. package/mssql-core/indexes.d.ts +49 -0
  303. package/mssql-core/indexes.js +52 -0
  304. package/mssql-core/indexes.js.map +1 -0
  305. package/mssql-core/primary-keys.cjs +64 -0
  306. package/mssql-core/primary-keys.cjs.map +1 -0
  307. package/mssql-core/primary-keys.d.cts +23 -0
  308. package/mssql-core/primary-keys.d.ts +23 -0
  309. package/mssql-core/primary-keys.js +38 -0
  310. package/mssql-core/primary-keys.js.map +1 -0
  311. package/mssql-core/query-builders/delete.cjs +107 -0
  312. package/mssql-core/query-builders/delete.cjs.map +1 -0
  313. package/mssql-core/query-builders/delete.d.cts +98 -0
  314. package/mssql-core/query-builders/delete.d.ts +98 -0
  315. package/mssql-core/query-builders/delete.js +83 -0
  316. package/mssql-core/query-builders/delete.js.map +1 -0
  317. package/mssql-core/query-builders/index.cjs +33 -0
  318. package/mssql-core/query-builders/index.cjs.map +1 -0
  319. package/mssql-core/query-builders/index.d.cts +6 -0
  320. package/mssql-core/query-builders/index.d.ts +6 -0
  321. package/mssql-core/query-builders/index.js +7 -0
  322. package/mssql-core/query-builders/index.js.map +1 -0
  323. package/mssql-core/query-builders/insert.cjs +105 -0
  324. package/mssql-core/query-builders/insert.cjs.map +1 -0
  325. package/mssql-core/query-builders/insert.d.cts +78 -0
  326. package/mssql-core/query-builders/insert.d.ts +78 -0
  327. package/mssql-core/query-builders/insert.js +80 -0
  328. package/mssql-core/query-builders/insert.js.map +1 -0
  329. package/mssql-core/query-builders/query-builder.cjs +95 -0
  330. package/mssql-core/query-builders/query-builder.cjs.map +1 -0
  331. package/mssql-core/query-builders/query-builder.d.cts +32 -0
  332. package/mssql-core/query-builders/query-builder.d.ts +32 -0
  333. package/mssql-core/query-builders/query-builder.js +71 -0
  334. package/mssql-core/query-builders/query-builder.js.map +1 -0
  335. package/mssql-core/query-builders/query.cjs +126 -0
  336. package/mssql-core/query-builders/query.cjs.map +1 -0
  337. package/mssql-core/query-builders/query.d.cts +42 -0
  338. package/mssql-core/query-builders/query.d.ts +42 -0
  339. package/mssql-core/query-builders/query.js +103 -0
  340. package/mssql-core/query-builders/query.js.map +1 -0
  341. package/mssql-core/query-builders/select.cjs +679 -0
  342. package/mssql-core/query-builders/select.cjs.map +1 -0
  343. package/mssql-core/query-builders/select.d.cts +549 -0
  344. package/mssql-core/query-builders/select.d.ts +549 -0
  345. package/mssql-core/query-builders/select.js +649 -0
  346. package/mssql-core/query-builders/select.js.map +1 -0
  347. package/mssql-core/query-builders/select.types.cjs +17 -0
  348. package/mssql-core/query-builders/select.types.cjs.map +1 -0
  349. package/mssql-core/query-builders/select.types.d.cts +142 -0
  350. package/mssql-core/query-builders/select.types.d.ts +142 -0
  351. package/mssql-core/query-builders/select.types.js +1 -0
  352. package/mssql-core/query-builders/update.cjs +138 -0
  353. package/mssql-core/query-builders/update.cjs.map +1 -0
  354. package/mssql-core/query-builders/update.d.cts +141 -0
  355. package/mssql-core/query-builders/update.d.ts +141 -0
  356. package/mssql-core/query-builders/update.js +113 -0
  357. package/mssql-core/query-builders/update.js.map +1 -0
  358. package/mssql-core/schema.cjs +51 -0
  359. package/mssql-core/schema.cjs.map +1 -0
  360. package/mssql-core/schema.d.cts +22 -0
  361. package/mssql-core/schema.d.ts +22 -0
  362. package/mssql-core/schema.js +25 -0
  363. package/mssql-core/schema.js.map +1 -0
  364. package/mssql-core/session.cjs +74 -0
  365. package/mssql-core/session.cjs.map +1 -0
  366. package/mssql-core/session.d.cts +63 -0
  367. package/mssql-core/session.d.ts +63 -0
  368. package/mssql-core/session.js +48 -0
  369. package/mssql-core/session.js.map +1 -0
  370. package/{cache/core/types.cjs → mssql-core/subquery.cjs} +3 -3
  371. package/mssql-core/subquery.cjs.map +1 -0
  372. package/mssql-core/subquery.d.cts +18 -0
  373. package/mssql-core/subquery.d.ts +18 -0
  374. package/mssql-core/subquery.js +1 -0
  375. package/mssql-core/subquery.js.map +1 -0
  376. package/mssql-core/table.cjs +81 -0
  377. package/mssql-core/table.cjs.map +1 -0
  378. package/mssql-core/table.d.cts +43 -0
  379. package/mssql-core/table.d.ts +43 -0
  380. package/mssql-core/table.js +53 -0
  381. package/mssql-core/table.js.map +1 -0
  382. package/mssql-core/unique-constraint.cjs +76 -0
  383. package/mssql-core/unique-constraint.cjs.map +1 -0
  384. package/mssql-core/unique-constraint.d.cts +23 -0
  385. package/mssql-core/unique-constraint.d.ts +23 -0
  386. package/mssql-core/unique-constraint.js +49 -0
  387. package/mssql-core/unique-constraint.js.map +1 -0
  388. package/mssql-core/utils.cjs +85 -0
  389. package/mssql-core/utils.cjs.map +1 -0
  390. package/mssql-core/utils.d.cts +31 -0
  391. package/mssql-core/utils.d.ts +31 -0
  392. package/mssql-core/utils.js +60 -0
  393. package/mssql-core/utils.js.map +1 -0
  394. package/mssql-core/view-base.cjs +33 -0
  395. package/mssql-core/view-base.cjs.map +1 -0
  396. package/mssql-core/view-base.d.cts +9 -0
  397. package/mssql-core/view-base.d.ts +9 -0
  398. package/mssql-core/view-base.js +9 -0
  399. package/mssql-core/view-base.js.map +1 -0
  400. package/{cache/upstash/index.cjs → mssql-core/view-common.cjs} +12 -6
  401. package/mssql-core/view-common.cjs.map +1 -0
  402. package/mssql-core/view-common.d.cts +1 -0
  403. package/mssql-core/view-common.d.ts +1 -0
  404. package/mssql-core/view-common.js +5 -0
  405. package/mssql-core/view-common.js.map +1 -0
  406. package/mssql-core/view.cjs +154 -0
  407. package/mssql-core/view.cjs.map +1 -0
  408. package/mssql-core/view.d.cts +64 -0
  409. package/mssql-core/view.d.ts +64 -0
  410. package/mssql-core/view.js +125 -0
  411. package/mssql-core/view.js.map +1 -0
  412. package/mysql-core/db.cjs +0 -3
  413. package/mysql-core/db.cjs.map +1 -1
  414. package/mysql-core/db.d.cts +0 -4
  415. package/mysql-core/db.d.ts +0 -4
  416. package/mysql-core/db.js +0 -3
  417. package/mysql-core/db.js.map +1 -1
  418. package/mysql-core/query-builders/delete.cjs +1 -9
  419. package/mysql-core/query-builders/delete.cjs.map +1 -1
  420. package/mysql-core/query-builders/delete.js +1 -9
  421. package/mysql-core/query-builders/delete.js.map +1 -1
  422. package/mysql-core/query-builders/insert.cjs +1 -8
  423. package/mysql-core/query-builders/insert.cjs.map +1 -1
  424. package/mysql-core/query-builders/insert.d.cts +0 -2
  425. package/mysql-core/query-builders/insert.d.ts +0 -2
  426. package/mysql-core/query-builders/insert.js +1 -8
  427. package/mysql-core/query-builders/insert.js.map +1 -1
  428. package/mysql-core/query-builders/select.cjs +3 -27
  429. package/mysql-core/query-builders/select.cjs.map +1 -1
  430. package/mysql-core/query-builders/select.d.cts +0 -9
  431. package/mysql-core/query-builders/select.d.ts +0 -9
  432. package/mysql-core/query-builders/select.js +4 -28
  433. package/mysql-core/query-builders/select.js.map +1 -1
  434. package/mysql-core/query-builders/update.cjs +1 -11
  435. package/mysql-core/query-builders/update.cjs.map +1 -1
  436. package/mysql-core/query-builders/update.d.cts +0 -2
  437. package/mysql-core/query-builders/update.d.ts +0 -2
  438. package/mysql-core/query-builders/update.js +1 -11
  439. package/mysql-core/query-builders/update.js.map +1 -1
  440. package/mysql-core/session.cjs +0 -54
  441. package/mysql-core/session.cjs.map +1 -1
  442. package/mysql-core/session.d.cts +2 -15
  443. package/mysql-core/session.d.ts +2 -15
  444. package/mysql-core/session.js +1 -55
  445. package/mysql-core/session.js.map +1 -1
  446. package/mysql-core/utils.cjs +0 -16
  447. package/mysql-core/utils.cjs.map +1 -1
  448. package/mysql-core/utils.d.cts +2 -6
  449. package/mysql-core/utils.d.ts +2 -6
  450. package/mysql-core/utils.js +0 -15
  451. package/mysql-core/utils.js.map +1 -1
  452. package/mysql-proxy/session.cjs +5 -15
  453. package/mysql-proxy/session.cjs.map +1 -1
  454. package/mysql-proxy/session.d.cts +2 -12
  455. package/mysql-proxy/session.d.ts +2 -12
  456. package/mysql-proxy/session.js +5 -15
  457. package/mysql-proxy/session.js.map +1 -1
  458. package/mysql2/driver.cjs +2 -10
  459. package/mysql2/driver.cjs.map +1 -1
  460. package/mysql2/driver.d.cts +0 -2
  461. package/mysql2/driver.d.ts +0 -2
  462. package/mysql2/driver.js +2 -10
  463. package/mysql2/driver.js.map +1 -1
  464. package/mysql2/session.cjs +5 -15
  465. package/mysql2/session.cjs.map +1 -1
  466. package/mysql2/session.d.cts +2 -12
  467. package/mysql2/session.d.ts +2 -12
  468. package/mysql2/session.js +5 -15
  469. package/mysql2/session.js.map +1 -1
  470. package/neon-http/driver.cjs +2 -9
  471. package/neon-http/driver.cjs.map +1 -1
  472. package/neon-http/driver.d.cts +0 -2
  473. package/neon-http/driver.d.ts +0 -2
  474. package/neon-http/driver.js +2 -9
  475. package/neon-http/driver.js.map +1 -1
  476. package/neon-http/session.cjs +15 -25
  477. package/neon-http/session.cjs.map +1 -1
  478. package/neon-http/session.d.cts +2 -12
  479. package/neon-http/session.d.ts +2 -12
  480. package/neon-http/session.js +15 -25
  481. package/neon-http/session.js.map +1 -1
  482. package/neon-serverless/driver.cjs +2 -9
  483. package/neon-serverless/driver.cjs.map +1 -1
  484. package/neon-serverless/driver.d.cts +0 -2
  485. package/neon-serverless/driver.d.ts +0 -2
  486. package/neon-serverless/driver.js +2 -9
  487. package/neon-serverless/driver.js.map +1 -1
  488. package/neon-serverless/session.cjs +7 -21
  489. package/neon-serverless/session.cjs.map +1 -1
  490. package/neon-serverless/session.d.cts +2 -12
  491. package/neon-serverless/session.d.ts +2 -12
  492. package/neon-serverless/session.js +7 -21
  493. package/neon-serverless/session.js.map +1 -1
  494. package/node-mssql/driver.cjs +88 -0
  495. package/node-mssql/driver.cjs.map +1 -0
  496. package/node-mssql/driver.d.cts +34 -0
  497. package/node-mssql/driver.d.ts +34 -0
  498. package/node-mssql/driver.js +65 -0
  499. package/node-mssql/driver.js.map +1 -0
  500. package/{cache/core → node-mssql}/index.cjs +6 -4
  501. package/node-mssql/index.cjs.map +1 -0
  502. package/node-mssql/index.d.cts +2 -0
  503. package/node-mssql/index.d.ts +2 -0
  504. package/node-mssql/index.js +3 -0
  505. package/node-mssql/index.js.map +1 -0
  506. package/node-mssql/migrator.cjs +33 -0
  507. package/node-mssql/migrator.cjs.map +1 -0
  508. package/node-mssql/migrator.d.cts +3 -0
  509. package/node-mssql/migrator.d.ts +3 -0
  510. package/node-mssql/migrator.js +9 -0
  511. package/node-mssql/migrator.js.map +1 -0
  512. package/node-mssql/session.cjs +243 -0
  513. package/node-mssql/session.cjs.map +1 -0
  514. package/node-mssql/session.d.cts +47 -0
  515. package/node-mssql/session.d.ts +47 -0
  516. package/node-mssql/session.js +211 -0
  517. package/node-mssql/session.js.map +1 -0
  518. package/node-postgres/driver.cjs +2 -9
  519. package/node-postgres/driver.cjs.map +1 -1
  520. package/node-postgres/driver.d.cts +0 -2
  521. package/node-postgres/driver.d.ts +0 -2
  522. package/node-postgres/driver.js +2 -9
  523. package/node-postgres/driver.js.map +1 -1
  524. package/node-postgres/session.cjs +6 -19
  525. package/node-postgres/session.cjs.map +1 -1
  526. package/node-postgres/session.d.cts +2 -13
  527. package/node-postgres/session.d.ts +2 -13
  528. package/node-postgres/session.js +6 -19
  529. package/node-postgres/session.js.map +1 -1
  530. package/op-sqlite/driver.cjs +1 -5
  531. package/op-sqlite/driver.cjs.map +1 -1
  532. package/op-sqlite/driver.js +1 -5
  533. package/op-sqlite/driver.js.map +1 -1
  534. package/op-sqlite/session.cjs +9 -23
  535. package/op-sqlite/session.cjs.map +1 -1
  536. package/op-sqlite/session.d.cts +2 -12
  537. package/op-sqlite/session.d.ts +2 -12
  538. package/op-sqlite/session.js +9 -23
  539. package/op-sqlite/session.js.map +1 -1
  540. package/package.json +656 -69
  541. package/pg-core/columns/common.cjs +11 -10
  542. package/pg-core/columns/common.cjs.map +1 -1
  543. package/pg-core/columns/common.d.cts +3 -2
  544. package/pg-core/columns/common.d.ts +3 -2
  545. package/pg-core/columns/common.js +11 -10
  546. package/pg-core/columns/common.js.map +1 -1
  547. package/pg-core/db.cjs +0 -3
  548. package/pg-core/db.cjs.map +1 -1
  549. package/pg-core/db.d.cts +0 -4
  550. package/pg-core/db.d.ts +0 -4
  551. package/pg-core/db.js +0 -3
  552. package/pg-core/db.js.map +1 -1
  553. package/pg-core/query-builders/delete.cjs +1 -6
  554. package/pg-core/query-builders/delete.cjs.map +1 -1
  555. package/pg-core/query-builders/delete.d.cts +1 -3
  556. package/pg-core/query-builders/delete.d.ts +1 -3
  557. package/pg-core/query-builders/delete.js +1 -6
  558. package/pg-core/query-builders/delete.js.map +1 -1
  559. package/pg-core/query-builders/insert.cjs +1 -6
  560. package/pg-core/query-builders/insert.cjs.map +1 -1
  561. package/pg-core/query-builders/insert.d.cts +0 -2
  562. package/pg-core/query-builders/insert.d.ts +0 -2
  563. package/pg-core/query-builders/insert.js +1 -6
  564. package/pg-core/query-builders/insert.js.map +1 -1
  565. package/pg-core/query-builders/select.cjs +5 -31
  566. package/pg-core/query-builders/select.cjs.map +1 -1
  567. package/pg-core/query-builders/select.d.cts +6 -15
  568. package/pg-core/query-builders/select.d.ts +6 -15
  569. package/pg-core/query-builders/select.js +5 -31
  570. package/pg-core/query-builders/select.js.map +1 -1
  571. package/pg-core/query-builders/update.cjs +1 -6
  572. package/pg-core/query-builders/update.cjs.map +1 -1
  573. package/pg-core/query-builders/update.d.cts +2 -4
  574. package/pg-core/query-builders/update.d.ts +2 -4
  575. package/pg-core/query-builders/update.js +1 -6
  576. package/pg-core/query-builders/update.js.map +1 -1
  577. package/pg-core/session.cjs +1 -53
  578. package/pg-core/session.cjs.map +1 -1
  579. package/pg-core/session.d.cts +3 -14
  580. package/pg-core/session.d.ts +3 -14
  581. package/pg-core/session.js +2 -54
  582. package/pg-core/session.js.map +1 -1
  583. package/pg-core/unique-constraint.cjs +5 -1
  584. package/pg-core/unique-constraint.cjs.map +1 -1
  585. package/pg-core/unique-constraint.d.cts +2 -0
  586. package/pg-core/unique-constraint.d.ts +2 -0
  587. package/pg-core/unique-constraint.js +5 -1
  588. package/pg-core/unique-constraint.js.map +1 -1
  589. package/pg-core/utils.cjs +0 -16
  590. package/pg-core/utils.cjs.map +1 -1
  591. package/pg-core/utils.d.cts +4 -8
  592. package/pg-core/utils.d.ts +4 -8
  593. package/pg-core/utils.js +1 -16
  594. package/pg-core/utils.js.map +1 -1
  595. package/pg-proxy/driver.cjs +2 -7
  596. package/pg-proxy/driver.cjs.map +1 -1
  597. package/pg-proxy/driver.js +2 -7
  598. package/pg-proxy/driver.js.map +1 -1
  599. package/pg-proxy/session.cjs +5 -15
  600. package/pg-proxy/session.cjs.map +1 -1
  601. package/pg-proxy/session.d.cts +2 -12
  602. package/pg-proxy/session.d.ts +2 -12
  603. package/pg-proxy/session.js +5 -15
  604. package/pg-proxy/session.js.map +1 -1
  605. package/pglite/driver.cjs +2 -9
  606. package/pglite/driver.cjs.map +1 -1
  607. package/pglite/driver.d.cts +0 -2
  608. package/pglite/driver.d.ts +0 -2
  609. package/pglite/driver.js +2 -9
  610. package/pglite/driver.js.map +1 -1
  611. package/pglite/session.cjs +7 -19
  612. package/pglite/session.cjs.map +1 -1
  613. package/pglite/session.d.cts +2 -12
  614. package/pglite/session.d.ts +2 -12
  615. package/pglite/session.js +7 -19
  616. package/pglite/session.js.map +1 -1
  617. package/planetscale-serverless/driver.cjs +1 -5
  618. package/planetscale-serverless/driver.cjs.map +1 -1
  619. package/planetscale-serverless/driver.d.cts +0 -1
  620. package/planetscale-serverless/driver.d.ts +0 -1
  621. package/planetscale-serverless/driver.js +1 -5
  622. package/planetscale-serverless/driver.js.map +1 -1
  623. package/planetscale-serverless/session.cjs +5 -15
  624. package/planetscale-serverless/session.cjs.map +1 -1
  625. package/planetscale-serverless/session.d.cts +2 -12
  626. package/planetscale-serverless/session.d.ts +2 -12
  627. package/planetscale-serverless/session.js +5 -15
  628. package/planetscale-serverless/session.js.map +1 -1
  629. package/postgres-js/driver.cjs +1 -5
  630. package/postgres-js/driver.cjs.map +1 -1
  631. package/postgres-js/driver.js +1 -5
  632. package/postgres-js/driver.js.map +1 -1
  633. package/postgres-js/session.cjs +6 -18
  634. package/postgres-js/session.cjs.map +1 -1
  635. package/postgres-js/session.d.cts +2 -12
  636. package/postgres-js/session.d.ts +2 -12
  637. package/postgres-js/session.js +6 -18
  638. package/postgres-js/session.js.map +1 -1
  639. package/prisma/mysql/session.cjs +1 -1
  640. package/prisma/mysql/session.cjs.map +1 -1
  641. package/prisma/mysql/session.js +1 -1
  642. package/prisma/mysql/session.js.map +1 -1
  643. package/prisma/pg/session.cjs +1 -1
  644. package/prisma/pg/session.cjs.map +1 -1
  645. package/prisma/pg/session.js +1 -1
  646. package/prisma/pg/session.js.map +1 -1
  647. package/query-builders/query-builder.cjs.map +1 -1
  648. package/query-builders/query-builder.d.cts +1 -2
  649. package/query-builders/query-builder.d.ts +1 -2
  650. package/query-builders/query-builder.js.map +1 -1
  651. package/relations.cjs +48 -0
  652. package/relations.cjs.map +1 -1
  653. package/relations.d.cts +1 -0
  654. package/relations.d.ts +1 -0
  655. package/relations.js +47 -0
  656. package/relations.js.map +1 -1
  657. package/singlestore/driver.cjs +2 -12
  658. package/singlestore/driver.cjs.map +1 -1
  659. package/singlestore/driver.d.cts +0 -2
  660. package/singlestore/driver.d.ts +0 -2
  661. package/singlestore/driver.js +2 -12
  662. package/singlestore/driver.js.map +1 -1
  663. package/singlestore/session.cjs +5 -15
  664. package/singlestore/session.cjs.map +1 -1
  665. package/singlestore/session.d.cts +2 -12
  666. package/singlestore/session.d.ts +2 -12
  667. package/singlestore/session.js +5 -15
  668. package/singlestore/session.js.map +1 -1
  669. package/singlestore-core/db.cjs +0 -3
  670. package/singlestore-core/db.cjs.map +1 -1
  671. package/singlestore-core/db.d.cts +0 -4
  672. package/singlestore-core/db.d.ts +0 -4
  673. package/singlestore-core/db.js +0 -3
  674. package/singlestore-core/db.js.map +1 -1
  675. package/singlestore-core/query-builders/delete.cjs +1 -9
  676. package/singlestore-core/query-builders/delete.cjs.map +1 -1
  677. package/singlestore-core/query-builders/delete.js +1 -9
  678. package/singlestore-core/query-builders/delete.js.map +1 -1
  679. package/singlestore-core/query-builders/insert.cjs +1 -6
  680. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  681. package/singlestore-core/query-builders/insert.js +1 -6
  682. package/singlestore-core/query-builders/insert.js.map +1 -1
  683. package/singlestore-core/query-builders/select.cjs +3 -28
  684. package/singlestore-core/query-builders/select.cjs.map +1 -1
  685. package/singlestore-core/query-builders/select.d.cts +0 -9
  686. package/singlestore-core/query-builders/select.d.ts +0 -9
  687. package/singlestore-core/query-builders/select.js +3 -28
  688. package/singlestore-core/query-builders/select.js.map +1 -1
  689. package/singlestore-core/query-builders/update.cjs +1 -9
  690. package/singlestore-core/query-builders/update.cjs.map +1 -1
  691. package/singlestore-core/query-builders/update.js +1 -9
  692. package/singlestore-core/query-builders/update.js.map +1 -1
  693. package/singlestore-core/session.cjs +0 -54
  694. package/singlestore-core/session.cjs.map +1 -1
  695. package/singlestore-core/session.d.cts +2 -14
  696. package/singlestore-core/session.d.ts +2 -14
  697. package/singlestore-core/session.js +1 -55
  698. package/singlestore-core/session.js.map +1 -1
  699. package/singlestore-core/utils.cjs +0 -16
  700. package/singlestore-core/utils.cjs.map +1 -1
  701. package/singlestore-core/utils.d.cts +0 -3
  702. package/singlestore-core/utils.d.ts +0 -3
  703. package/singlestore-core/utils.js +0 -15
  704. package/singlestore-core/utils.js.map +1 -1
  705. package/sql/sql.cjs +0 -10
  706. package/sql/sql.cjs.map +1 -1
  707. package/sql/sql.js +0 -10
  708. package/sql/sql.js.map +1 -1
  709. package/sqlite-core/db.cjs +0 -3
  710. package/sqlite-core/db.cjs.map +1 -1
  711. package/sqlite-core/db.d.cts +0 -4
  712. package/sqlite-core/db.d.ts +0 -4
  713. package/sqlite-core/db.js +0 -3
  714. package/sqlite-core/db.js.map +1 -1
  715. package/sqlite-core/query-builders/delete.cjs +1 -7
  716. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  717. package/sqlite-core/query-builders/delete.js +1 -7
  718. package/sqlite-core/query-builders/delete.js.map +1 -1
  719. package/sqlite-core/query-builders/insert.cjs +1 -7
  720. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  721. package/sqlite-core/query-builders/insert.js +1 -7
  722. package/sqlite-core/query-builders/insert.js.map +1 -1
  723. package/sqlite-core/query-builders/select.cjs +3 -31
  724. package/sqlite-core/query-builders/select.cjs.map +1 -1
  725. package/sqlite-core/query-builders/select.d.cts +0 -9
  726. package/sqlite-core/query-builders/select.d.ts +0 -9
  727. package/sqlite-core/query-builders/select.js +3 -31
  728. package/sqlite-core/query-builders/select.js.map +1 -1
  729. package/sqlite-core/query-builders/update.cjs +1 -7
  730. package/sqlite-core/query-builders/update.cjs.map +1 -1
  731. package/sqlite-core/query-builders/update.js +1 -7
  732. package/sqlite-core/query-builders/update.js.map +1 -1
  733. package/sqlite-core/session.cjs +3 -63
  734. package/sqlite-core/session.cjs.map +1 -1
  735. package/sqlite-core/session.d.cts +4 -18
  736. package/sqlite-core/session.d.ts +4 -18
  737. package/sqlite-core/session.js +4 -64
  738. package/sqlite-core/session.js.map +1 -1
  739. package/sqlite-core/utils.cjs +0 -16
  740. package/sqlite-core/utils.cjs.map +1 -1
  741. package/sqlite-core/utils.d.cts +2 -6
  742. package/sqlite-core/utils.d.ts +2 -6
  743. package/sqlite-core/utils.js +0 -15
  744. package/sqlite-core/utils.js.map +1 -1
  745. package/sqlite-proxy/driver.cjs +2 -9
  746. package/sqlite-proxy/driver.cjs.map +1 -1
  747. package/sqlite-proxy/driver.js +2 -9
  748. package/sqlite-proxy/driver.js.map +1 -1
  749. package/sqlite-proxy/session.cjs +8 -22
  750. package/sqlite-proxy/session.cjs.map +1 -1
  751. package/sqlite-proxy/session.d.cts +2 -12
  752. package/sqlite-proxy/session.d.ts +2 -12
  753. package/sqlite-proxy/session.js +8 -22
  754. package/sqlite-proxy/session.js.map +1 -1
  755. package/subquery.cjs +3 -4
  756. package/subquery.cjs.map +1 -1
  757. package/subquery.d.cts +1 -2
  758. package/subquery.d.ts +1 -2
  759. package/subquery.js +3 -4
  760. package/subquery.js.map +1 -1
  761. package/tidb-serverless/driver.cjs +1 -5
  762. package/tidb-serverless/driver.cjs.map +1 -1
  763. package/tidb-serverless/driver.d.cts +0 -1
  764. package/tidb-serverless/driver.d.ts +0 -1
  765. package/tidb-serverless/driver.js +1 -5
  766. package/tidb-serverless/driver.js.map +1 -1
  767. package/tidb-serverless/session.cjs +5 -15
  768. package/tidb-serverless/session.cjs.map +1 -1
  769. package/tidb-serverless/session.d.cts +2 -12
  770. package/tidb-serverless/session.d.ts +2 -12
  771. package/tidb-serverless/session.js +5 -15
  772. package/tidb-serverless/session.js.map +1 -1
  773. package/utils.cjs +0 -22
  774. package/utils.cjs.map +1 -1
  775. package/utils.d.cts +0 -3
  776. package/utils.d.ts +0 -3
  777. package/utils.js +0 -11
  778. package/utils.js.map +1 -1
  779. package/vercel-postgres/driver.cjs +2 -9
  780. package/vercel-postgres/driver.cjs.map +1 -1
  781. package/vercel-postgres/driver.d.cts +0 -2
  782. package/vercel-postgres/driver.d.ts +0 -2
  783. package/vercel-postgres/driver.js +2 -9
  784. package/vercel-postgres/driver.js.map +1 -1
  785. package/vercel-postgres/session.cjs +7 -21
  786. package/vercel-postgres/session.cjs.map +1 -1
  787. package/vercel-postgres/session.d.cts +2 -12
  788. package/vercel-postgres/session.d.ts +2 -12
  789. package/vercel-postgres/session.js +7 -21
  790. package/vercel-postgres/session.js.map +1 -1
  791. package/version.cjs +2 -2
  792. package/version.cjs.map +1 -1
  793. package/version.d.cts +2 -2
  794. package/version.d.ts +2 -2
  795. package/version.js +2 -2
  796. package/version.js.map +1 -1
  797. package/xata-http/driver.cjs +2 -7
  798. package/xata-http/driver.cjs.map +1 -1
  799. package/xata-http/driver.d.cts +0 -2
  800. package/xata-http/driver.d.ts +0 -2
  801. package/xata-http/driver.js +2 -7
  802. package/xata-http/driver.js.map +1 -1
  803. package/xata-http/session.cjs +7 -21
  804. package/xata-http/session.cjs.map +1 -1
  805. package/xata-http/session.d.cts +2 -12
  806. package/xata-http/session.d.ts +2 -12
  807. package/xata-http/session.js +7 -21
  808. package/xata-http/session.js.map +1 -1
  809. package/cache/core/cache.cjs.map +0 -1
  810. package/cache/core/cache.d.cts +0 -35
  811. package/cache/core/cache.d.ts +0 -35
  812. package/cache/core/cache.js +0 -22
  813. package/cache/core/cache.js.map +0 -1
  814. package/cache/core/index.cjs.map +0 -1
  815. package/cache/core/index.d.cts +0 -1
  816. package/cache/core/index.d.ts +0 -1
  817. package/cache/core/index.js +0 -2
  818. package/cache/core/index.js.map +0 -1
  819. package/cache/core/types.cjs.map +0 -1
  820. package/cache/core/types.d.cts +0 -33
  821. package/cache/core/types.d.ts +0 -33
  822. package/cache/core/types.js +0 -1
  823. package/cache/upstash/cache.cjs +0 -191
  824. package/cache/upstash/cache.cjs.map +0 -1
  825. package/cache/upstash/cache.d.cts +0 -59
  826. package/cache/upstash/cache.d.ts +0 -59
  827. package/cache/upstash/cache.js +0 -166
  828. package/cache/upstash/cache.js.map +0 -1
  829. package/cache/upstash/index.cjs.map +0 -1
  830. package/cache/upstash/index.d.cts +0 -1
  831. package/cache/upstash/index.d.ts +0 -1
  832. package/cache/upstash/index.js +0 -2
  833. package/cache/upstash/index.js.map +0 -1
  834. /package/{cache/core/types.js.map → mssql-core/query-builders/select.types.js.map} +0 -0
@@ -1,5 +1,4 @@
1
1
  import pg from "pg";
2
- import { NoopCache } from "../cache/core/index.js";
3
2
  import { entityKind } from "../entity.js";
4
3
  import { NoopLogger } from "../logger.js";
5
4
  import { PgTransaction } from "../pg-core/index.js";
@@ -9,10 +8,9 @@ import { tracer } from "../tracing.js";
9
8
  import { mapResultRow } from "../utils.js";
10
9
  const { Pool, types } = pg;
11
10
  class NodePgPreparedQuery extends PgPreparedQuery {
12
- constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, name, _isResponseInArrayMode, customResultMapper) {
13
- super({ sql: queryString, params }, cache, queryMetadata, cacheConfig);
11
+ constructor(client, queryString, params, logger, fields, name, _isResponseInArrayMode, customResultMapper) {
12
+ super({ sql: queryString, params });
14
13
  this.client = client;
15
- this.queryString = queryString;
16
14
  this.params = params;
17
15
  this.logger = logger;
18
16
  this.fields = fields;
@@ -109,9 +107,7 @@ class NodePgPreparedQuery extends PgPreparedQuery {
109
107
  "drizzle.query.text": rawQuery.text,
110
108
  "drizzle.query.params": JSON.stringify(params)
111
109
  });
112
- return this.queryWithCache(rawQuery.text, params, async () => {
113
- return await client.query(rawQuery, params);
114
- });
110
+ return client.query(rawQuery, params);
115
111
  });
116
112
  }
117
113
  const result = await tracer.startActiveSpan("drizzle.driver.execute", (span) => {
@@ -120,9 +116,7 @@ class NodePgPreparedQuery extends PgPreparedQuery {
120
116
  "drizzle.query.text": query.text,
121
117
  "drizzle.query.params": JSON.stringify(params)
122
118
  });
123
- return this.queryWithCache(query.text, params, async () => {
124
- return await client.query(query, params);
125
- });
119
+ return client.query(query, params);
126
120
  });
127
121
  return tracer.startActiveSpan("drizzle.mapResponse", () => {
128
122
  return customResultMapper ? customResultMapper(result.rows) : result.rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
@@ -139,9 +133,7 @@ class NodePgPreparedQuery extends PgPreparedQuery {
139
133
  "drizzle.query.text": this.rawQueryConfig.text,
140
134
  "drizzle.query.params": JSON.stringify(params)
141
135
  });
142
- return this.queryWithCache(this.rawQueryConfig.text, params, async () => {
143
- return this.client.query(this.rawQueryConfig, params);
144
- }).then((result) => result.rows);
136
+ return this.client.query(this.rawQueryConfig, params).then((result) => result.rows);
145
137
  });
146
138
  });
147
139
  }
@@ -157,20 +149,15 @@ class NodePgSession extends PgSession {
157
149
  this.schema = schema;
158
150
  this.options = options;
159
151
  this.logger = options.logger ?? new NoopLogger();
160
- this.cache = options.cache ?? new NoopCache();
161
152
  }
162
153
  static [entityKind] = "NodePgSession";
163
154
  logger;
164
- cache;
165
- prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
155
+ prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper) {
166
156
  return new NodePgPreparedQuery(
167
157
  this.client,
168
158
  query.sql,
169
159
  query.params,
170
160
  this.logger,
171
- this.cache,
172
- queryMetadata,
173
- cacheConfig,
174
161
  fields,
175
162
  name,
176
163
  isResponseInArrayMode,
@@ -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 Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.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 { 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\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\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 }, cache, queryMetadata, cacheConfig);\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// numeric[]\n\t\t\t\t\tif (typeId === 1231) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182) {\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// numeric[]\n\t\t\t\t\tif (typeId === 1231) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182) {\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 this.queryWithCache(rawQuery.text, params, async () => {\n\t\t\t\t\t\treturn await client.query(rawQuery, params);\n\t\t\t\t\t});\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 this.queryWithCache(query.text, params, async () => {\n\t\t\t\t\treturn await client.query(query, params);\n\t\t\t\t});\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.queryWithCache(this.rawQueryConfig.text, params, async () => {\n\t\t\t\t\treturn this.client.query(this.rawQueryConfig, params);\n\t\t\t\t}).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\tcache?: Cache;\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\tprivate cache: Cache;\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\tthis.cache = options.cache ?? new NoopCache();\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\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\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\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\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
+ {"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// numeric[]\n\t\t\t\t\tif (typeId === 1231) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182) {\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// numeric[]\n\t\t\t\t\tif (typeId === 1231) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182) {\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"]}
@@ -51,13 +51,9 @@ function drizzle(client, config = {}) {
51
51
  tableNamesMap: tablesConfig.tableNamesMap
52
52
  };
53
53
  }
54
- const session = new import_session.OPSQLiteSession(client, dialect, schema, { logger, cache: config.cache });
54
+ const session = new import_session.OPSQLiteSession(client, dialect, schema, { logger });
55
55
  const db = new OPSQLiteDatabase("async", dialect, session, schema);
56
56
  db.$client = client;
57
- db.$cache = config.cache;
58
- if (db.$cache) {
59
- db.$cache["invalidate"] = config.cache?.onMutate;
60
- }
61
57
  return db;
62
58
  }
63
59
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
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, cache: config.cache });\n\tconst db = new OPSQLiteDatabase('async', dialect, session, schema) as OPSQLiteDatabase<TSchema>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\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,QAAQ,OAAO,OAAO,MAAM,CAAC;AAC5F,QAAM,KAAK,IAAI,iBAAiB,SAAS,SAAS,SAAS,MAAM;AACjE,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AAEA,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":[]}
@@ -30,13 +30,9 @@ function drizzle(client, config = {}) {
30
30
  tableNamesMap: tablesConfig.tableNamesMap
31
31
  };
32
32
  }
33
- const session = new OPSQLiteSession(client, dialect, schema, { logger, cache: config.cache });
33
+ const session = new OPSQLiteSession(client, dialect, schema, { logger });
34
34
  const db = new OPSQLiteDatabase("async", dialect, session, schema);
35
35
  db.$client = client;
36
- db.$cache = config.cache;
37
- if (db.$cache) {
38
- db.$cache["invalidate"] = config.cache?.onMutate;
39
- }
40
36
  return db;
41
37
  }
42
38
  export {
@@ -1 +1 @@
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, cache: config.cache });\n\tconst db = new OPSQLiteDatabase('async', dialect, session, schema) as OPSQLiteDatabase<TSchema>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\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,QAAQ,OAAO,OAAO,MAAM,CAAC;AAC5F,QAAM,KAAK,IAAI,iBAAiB,SAAS,SAAS,SAAS,MAAM;AACjE,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AAEA,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":[]}
@@ -23,7 +23,6 @@ __export(session_exports, {
23
23
  OPSQLiteTransaction: () => OPSQLiteTransaction
24
24
  });
25
25
  module.exports = __toCommonJS(session_exports);
26
- var import_core = require("../cache/core/index.cjs");
27
26
  var import_entity = require("../entity.cjs");
28
27
  var import_logger = require("../logger.cjs");
29
28
  var import_sql = require("../sql/sql.cjs");
@@ -36,19 +35,14 @@ class OPSQLiteSession extends import_session.SQLiteSession {
36
35
  this.client = client;
37
36
  this.schema = schema;
38
37
  this.logger = options.logger ?? new import_logger.NoopLogger();
39
- this.cache = options.cache ?? new import_core.NoopCache();
40
38
  }
41
39
  static [import_entity.entityKind] = "OPSQLiteSession";
42
40
  logger;
43
- cache;
44
- prepareQuery(query, fields, executeMethod, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
41
+ prepareQuery(query, fields, executeMethod, isResponseInArrayMode, customResultMapper) {
45
42
  return new OPSQLitePreparedQuery(
46
43
  this.client,
47
44
  query,
48
45
  this.logger,
49
- this.cache,
50
- queryMetadata,
51
- cacheConfig,
52
46
  fields,
53
47
  executeMethod,
54
48
  isResponseInArrayMode,
@@ -85,8 +79,8 @@ class OPSQLiteTransaction extends import_sqlite_core.SQLiteTransaction {
85
79
  }
86
80
  }
87
81
  class OPSQLitePreparedQuery extends import_session.SQLitePreparedQuery {
88
- constructor(client, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod, _isResponseInArrayMode, customResultMapper) {
89
- super("sync", executeMethod, query, cache, queryMetadata, cacheConfig);
82
+ constructor(client, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper) {
83
+ super("sync", executeMethod, query);
90
84
  this.client = client;
91
85
  this.logger = logger;
92
86
  this.fields = fields;
@@ -94,21 +88,17 @@ class OPSQLitePreparedQuery extends import_session.SQLitePreparedQuery {
94
88
  this.customResultMapper = customResultMapper;
95
89
  }
96
90
  static [import_entity.entityKind] = "OPSQLitePreparedQuery";
97
- async run(placeholderValues) {
91
+ run(placeholderValues) {
98
92
  const params = (0, import_sql.fillPlaceholders)(this.query.params, placeholderValues ?? {});
99
93
  this.logger.logQuery(this.query.sql, params);
100
- return await this.queryWithCache(this.query.sql, params, async () => {
101
- return this.client.executeAsync(this.query.sql, params);
102
- });
94
+ return this.client.executeAsync(this.query.sql, params);
103
95
  }
104
96
  async all(placeholderValues) {
105
97
  const { fields, joinsNotNullableMap, query, logger, customResultMapper, client } = this;
106
98
  if (!fields && !customResultMapper) {
107
99
  const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
108
100
  logger.logQuery(query.sql, params);
109
- return await this.queryWithCache(query.sql, params, async () => {
110
- return client.execute(query.sql, params).rows?._array || [];
111
- });
101
+ return client.execute(query.sql, params).rows?._array || [];
112
102
  }
113
103
  const rows = await this.values(placeholderValues);
114
104
  if (customResultMapper) {
@@ -121,9 +111,7 @@ class OPSQLitePreparedQuery extends import_session.SQLitePreparedQuery {
121
111
  const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
122
112
  logger.logQuery(query.sql, params);
123
113
  if (!fields && !customResultMapper) {
124
- const rows2 = await this.queryWithCache(query.sql, params, async () => {
125
- return client.execute(query.sql, params).rows?._array || [];
126
- });
114
+ const rows2 = client.execute(query.sql, params).rows?._array || [];
127
115
  return rows2[0];
128
116
  }
129
117
  const rows = await this.values(placeholderValues);
@@ -136,12 +124,10 @@ class OPSQLitePreparedQuery extends import_session.SQLitePreparedQuery {
136
124
  }
137
125
  return (0, import_utils.mapResultRow)(fields, row, joinsNotNullableMap);
138
126
  }
139
- async values(placeholderValues) {
127
+ values(placeholderValues) {
140
128
  const params = (0, import_sql.fillPlaceholders)(this.query.params, placeholderValues ?? {});
141
129
  this.logger.logQuery(this.query.sql, params);
142
- return await this.queryWithCache(this.query.sql, params, async () => {
143
- return await this.client.executeRawAsync(this.query.sql, params);
144
- });
130
+ return this.client.executeRawAsync(this.query.sql, params);
145
131
  }
146
132
  /** @internal */
147
133
  isResponseInArrayMode() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/op-sqlite/session.ts"],"sourcesContent":["import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface OPSQLiteSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class OPSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'async', QueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: OPSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): OPSQLitePreparedQuery<T> {\n\t\treturn new OPSQLitePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteTransaction';\n\n\toverride transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<\n\t{ type: 'async'; run: QueryResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'OPSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('sync', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync run(placeholderValues?: Record<string, unknown>): Promise<QueryResult> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.client.executeAsync(this.query.sql, params);\n\t\t});\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { fields, joinsNotNullableMap, query, logger, customResultMapper, client } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn client.execute(query.sql, params).rows?._array || [];\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { fields, joinsNotNullableMap, customResultMapper, query, logger, client } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst rows = await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn client.execute(query.sql, params).rows?._array || [];\n\t\t\t});\n\t\t\treturn rows[0];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tasync values(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn await this.client.executeRawAsync(this.query.sql, params);\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["rows"]}
1
+ {"version":3,"sources":["../../src/op-sqlite/session.ts"],"sourcesContent":["import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface OPSQLiteSessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class OPSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'async', QueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: OPSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): OPSQLitePreparedQuery<T> {\n\t\treturn new OPSQLitePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteTransaction';\n\n\toverride transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<\n\t{ type: 'async'; run: QueryResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'OPSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): Promise<QueryResult> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\treturn this.client.executeAsync(this.query.sql, params);\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { fields, joinsNotNullableMap, query, logger, customResultMapper, client } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\n\t\t\treturn client.execute(query.sql, params).rows?._array || [];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { fields, joinsNotNullableMap, customResultMapper, query, logger, client } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst rows = client.execute(query.sql, params).rows?._array || [];\n\t\t\treturn rows[0];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.client.executeRawAsync(this.query.sql, params);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["rows"]}
@@ -1,6 +1,4 @@
1
1
  import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';
2
- import { type Cache } from "../cache/core/index.cjs";
3
- import type { WithCacheConfig } from "../cache/core/types.cjs";
4
2
  import { entityKind } from "../entity.cjs";
5
3
  import type { Logger } from "../logger.cjs";
6
4
  import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.cjs";
@@ -11,7 +9,6 @@ import type { SelectedFieldsOrdered } from "../sqlite-core/query-builders/select
11
9
  import { type PreparedQueryConfig as PreparedQueryConfigBase, type SQLiteExecuteMethod, SQLitePreparedQuery, SQLiteSession, type SQLiteTransactionConfig } from "../sqlite-core/session.cjs";
12
10
  export interface OPSQLiteSessionOptions {
13
11
  logger?: Logger;
14
- cache?: Cache;
15
12
  }
16
13
  type PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;
17
14
  export declare class OPSQLiteSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteSession<'async', QueryResult, TFullSchema, TSchema> {
@@ -19,12 +16,8 @@ export declare class OPSQLiteSession<TFullSchema extends Record<string, unknown>
19
16
  private schema;
20
17
  static readonly [entityKind]: string;
21
18
  private logger;
22
- private cache;
23
19
  constructor(client: OPSQLiteConnection, dialect: SQLiteAsyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: OPSQLiteSessionOptions);
24
- prepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown, queryMetadata?: {
25
- type: 'select' | 'update' | 'delete' | 'insert';
26
- tables: string[];
27
- }, cacheConfig?: WithCacheConfig): OPSQLitePreparedQuery<T>;
20
+ prepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown): OPSQLitePreparedQuery<T>;
28
21
  transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T, config?: SQLiteTransactionConfig): T;
29
22
  }
30
23
  export declare class OPSQLiteTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TSchema> {
@@ -45,10 +38,7 @@ export declare class OPSQLitePreparedQuery<T extends PreparedQueryConfig = Prepa
45
38
  private _isResponseInArrayMode;
46
39
  private customResultMapper?;
47
40
  static readonly [entityKind]: string;
48
- constructor(client: OPSQLiteConnection, query: Query, logger: Logger, cache: Cache, queryMetadata: {
49
- type: 'select' | 'update' | 'delete' | 'insert';
50
- tables: string[];
51
- } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => unknown) | undefined);
41
+ constructor(client: OPSQLiteConnection, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => unknown) | undefined);
52
42
  run(placeholderValues?: Record<string, unknown>): Promise<QueryResult>;
53
43
  all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
54
44
  get(placeholderValues?: Record<string, unknown>): Promise<T['get']>;
@@ -1,6 +1,4 @@
1
1
  import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';
2
- import { type Cache } from "../cache/core/index.js";
3
- import type { WithCacheConfig } from "../cache/core/types.js";
4
2
  import { entityKind } from "../entity.js";
5
3
  import type { Logger } from "../logger.js";
6
4
  import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.js";
@@ -11,7 +9,6 @@ import type { SelectedFieldsOrdered } from "../sqlite-core/query-builders/select
11
9
  import { type PreparedQueryConfig as PreparedQueryConfigBase, type SQLiteExecuteMethod, SQLitePreparedQuery, SQLiteSession, type SQLiteTransactionConfig } from "../sqlite-core/session.js";
12
10
  export interface OPSQLiteSessionOptions {
13
11
  logger?: Logger;
14
- cache?: Cache;
15
12
  }
16
13
  type PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;
17
14
  export declare class OPSQLiteSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteSession<'async', QueryResult, TFullSchema, TSchema> {
@@ -19,12 +16,8 @@ export declare class OPSQLiteSession<TFullSchema extends Record<string, unknown>
19
16
  private schema;
20
17
  static readonly [entityKind]: string;
21
18
  private logger;
22
- private cache;
23
19
  constructor(client: OPSQLiteConnection, dialect: SQLiteAsyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: OPSQLiteSessionOptions);
24
- prepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown, queryMetadata?: {
25
- type: 'select' | 'update' | 'delete' | 'insert';
26
- tables: string[];
27
- }, cacheConfig?: WithCacheConfig): OPSQLitePreparedQuery<T>;
20
+ prepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown): OPSQLitePreparedQuery<T>;
28
21
  transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T, config?: SQLiteTransactionConfig): T;
29
22
  }
30
23
  export declare class OPSQLiteTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TSchema> {
@@ -45,10 +38,7 @@ export declare class OPSQLitePreparedQuery<T extends PreparedQueryConfig = Prepa
45
38
  private _isResponseInArrayMode;
46
39
  private customResultMapper?;
47
40
  static readonly [entityKind]: string;
48
- constructor(client: OPSQLiteConnection, query: Query, logger: Logger, cache: Cache, queryMetadata: {
49
- type: 'select' | 'update' | 'delete' | 'insert';
50
- tables: string[];
51
- } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => unknown) | undefined);
41
+ constructor(client: OPSQLiteConnection, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => unknown) | undefined);
52
42
  run(placeholderValues?: Record<string, unknown>): Promise<QueryResult>;
53
43
  all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
54
44
  get(placeholderValues?: Record<string, unknown>): Promise<T['get']>;
@@ -1,4 +1,3 @@
1
- import { NoopCache } from "../cache/core/index.js";
2
1
  import { entityKind } from "../entity.js";
3
2
  import { NoopLogger } from "../logger.js";
4
3
  import { fillPlaceholders, sql } from "../sql/sql.js";
@@ -14,19 +13,14 @@ class OPSQLiteSession extends SQLiteSession {
14
13
  this.client = client;
15
14
  this.schema = schema;
16
15
  this.logger = options.logger ?? new NoopLogger();
17
- this.cache = options.cache ?? new NoopCache();
18
16
  }
19
17
  static [entityKind] = "OPSQLiteSession";
20
18
  logger;
21
- cache;
22
- prepareQuery(query, fields, executeMethod, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
19
+ prepareQuery(query, fields, executeMethod, isResponseInArrayMode, customResultMapper) {
23
20
  return new OPSQLitePreparedQuery(
24
21
  this.client,
25
22
  query,
26
23
  this.logger,
27
- this.cache,
28
- queryMetadata,
29
- cacheConfig,
30
24
  fields,
31
25
  executeMethod,
32
26
  isResponseInArrayMode,
@@ -63,8 +57,8 @@ class OPSQLiteTransaction extends SQLiteTransaction {
63
57
  }
64
58
  }
65
59
  class OPSQLitePreparedQuery extends SQLitePreparedQuery {
66
- constructor(client, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod, _isResponseInArrayMode, customResultMapper) {
67
- super("sync", executeMethod, query, cache, queryMetadata, cacheConfig);
60
+ constructor(client, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper) {
61
+ super("sync", executeMethod, query);
68
62
  this.client = client;
69
63
  this.logger = logger;
70
64
  this.fields = fields;
@@ -72,21 +66,17 @@ class OPSQLitePreparedQuery extends SQLitePreparedQuery {
72
66
  this.customResultMapper = customResultMapper;
73
67
  }
74
68
  static [entityKind] = "OPSQLitePreparedQuery";
75
- async run(placeholderValues) {
69
+ run(placeholderValues) {
76
70
  const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
77
71
  this.logger.logQuery(this.query.sql, params);
78
- return await this.queryWithCache(this.query.sql, params, async () => {
79
- return this.client.executeAsync(this.query.sql, params);
80
- });
72
+ return this.client.executeAsync(this.query.sql, params);
81
73
  }
82
74
  async all(placeholderValues) {
83
75
  const { fields, joinsNotNullableMap, query, logger, customResultMapper, client } = this;
84
76
  if (!fields && !customResultMapper) {
85
77
  const params = fillPlaceholders(query.params, placeholderValues ?? {});
86
78
  logger.logQuery(query.sql, params);
87
- return await this.queryWithCache(query.sql, params, async () => {
88
- return client.execute(query.sql, params).rows?._array || [];
89
- });
79
+ return client.execute(query.sql, params).rows?._array || [];
90
80
  }
91
81
  const rows = await this.values(placeholderValues);
92
82
  if (customResultMapper) {
@@ -99,9 +89,7 @@ class OPSQLitePreparedQuery extends SQLitePreparedQuery {
99
89
  const params = fillPlaceholders(query.params, placeholderValues ?? {});
100
90
  logger.logQuery(query.sql, params);
101
91
  if (!fields && !customResultMapper) {
102
- const rows2 = await this.queryWithCache(query.sql, params, async () => {
103
- return client.execute(query.sql, params).rows?._array || [];
104
- });
92
+ const rows2 = client.execute(query.sql, params).rows?._array || [];
105
93
  return rows2[0];
106
94
  }
107
95
  const rows = await this.values(placeholderValues);
@@ -114,12 +102,10 @@ class OPSQLitePreparedQuery extends SQLitePreparedQuery {
114
102
  }
115
103
  return mapResultRow(fields, row, joinsNotNullableMap);
116
104
  }
117
- async values(placeholderValues) {
105
+ values(placeholderValues) {
118
106
  const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
119
107
  this.logger.logQuery(this.query.sql, params);
120
- return await this.queryWithCache(this.query.sql, params, async () => {
121
- return await this.client.executeRawAsync(this.query.sql, params);
122
- });
108
+ return this.client.executeRawAsync(this.query.sql, params);
123
109
  }
124
110
  /** @internal */
125
111
  isResponseInArrayMode() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/op-sqlite/session.ts"],"sourcesContent":["import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface OPSQLiteSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class OPSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'async', QueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: OPSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): OPSQLitePreparedQuery<T> {\n\t\treturn new OPSQLitePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteTransaction';\n\n\toverride transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<\n\t{ type: 'async'; run: QueryResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'OPSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('sync', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync run(placeholderValues?: Record<string, unknown>): Promise<QueryResult> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.client.executeAsync(this.query.sql, params);\n\t\t});\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { fields, joinsNotNullableMap, query, logger, customResultMapper, client } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn client.execute(query.sql, params).rows?._array || [];\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { fields, joinsNotNullableMap, customResultMapper, query, logger, client } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst rows = await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn client.execute(query.sql, params).rows?._array || [];\n\t\t\t});\n\t\t\treturn rows[0];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tasync values(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn await this.client.executeRawAsync(this.query.sql, params);\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["rows"]}
1
+ {"version":3,"sources":["../../src/op-sqlite/session.ts"],"sourcesContent":["import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface OPSQLiteSessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class OPSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'async', QueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: OPSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): OPSQLitePreparedQuery<T> {\n\t\treturn new OPSQLitePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteTransaction';\n\n\toverride transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<\n\t{ type: 'async'; run: QueryResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'OPSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): Promise<QueryResult> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\treturn this.client.executeAsync(this.query.sql, params);\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { fields, joinsNotNullableMap, query, logger, customResultMapper, client } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\n\t\t\treturn client.execute(query.sql, params).rows?._array || [];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { fields, joinsNotNullableMap, customResultMapper, query, logger, client } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst rows = client.execute(query.sql, params).rows?._array || [];\n\t\t\treturn rows[0];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.client.executeRawAsync(this.query.sql, params);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["rows"]}