drizzle-orm 0.43.1-d1468f0 → 0.43.1-e3d1c4f

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 (866) hide show
  1. package/aws-data-api/pg/driver.cjs +7 -10
  2. package/aws-data-api/pg/driver.cjs.map +1 -1
  3. package/aws-data-api/pg/driver.d.cts +4 -4
  4. package/aws-data-api/pg/driver.d.ts +4 -4
  5. package/aws-data-api/pg/driver.js +7 -10
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/aws-data-api/pg/session.cjs +26 -20
  8. package/aws-data-api/pg/session.cjs.map +1 -1
  9. package/aws-data-api/pg/session.d.cts +6 -16
  10. package/aws-data-api/pg/session.d.ts +6 -16
  11. package/aws-data-api/pg/session.js +26 -20
  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.d.cts +4 -3
  15. package/better-sqlite3/driver.d.ts +4 -3
  16. package/better-sqlite3/driver.js.map +1 -1
  17. package/better-sqlite3/session.cjs +7 -13
  18. package/better-sqlite3/session.cjs.map +1 -1
  19. package/better-sqlite3/session.d.cts +6 -16
  20. package/better-sqlite3/session.d.ts +6 -16
  21. package/better-sqlite3/session.js +7 -13
  22. package/better-sqlite3/session.js.map +1 -1
  23. package/bun-sql/driver.cjs +3 -6
  24. package/bun-sql/driver.cjs.map +1 -1
  25. package/bun-sql/driver.d.cts +4 -3
  26. package/bun-sql/driver.d.ts +4 -3
  27. package/bun-sql/driver.js +3 -6
  28. package/bun-sql/driver.js.map +1 -1
  29. package/bun-sql/session.cjs +26 -29
  30. package/bun-sql/session.cjs.map +1 -1
  31. package/bun-sql/session.d.cts +6 -15
  32. package/bun-sql/session.d.ts +6 -15
  33. package/bun-sql/session.js +26 -29
  34. package/bun-sql/session.js.map +1 -1
  35. package/bun-sqlite/driver.cjs.map +1 -1
  36. package/bun-sqlite/driver.d.cts +4 -3
  37. package/bun-sqlite/driver.d.ts +4 -3
  38. package/bun-sqlite/driver.js.map +1 -1
  39. package/bun-sqlite/session.cjs +5 -5
  40. package/bun-sqlite/session.cjs.map +1 -1
  41. package/bun-sqlite/session.d.cts +5 -5
  42. package/bun-sqlite/session.d.ts +5 -5
  43. package/bun-sqlite/session.js +5 -5
  44. package/bun-sqlite/session.js.map +1 -1
  45. package/column-builder.cjs.map +1 -1
  46. package/column-builder.d.cts +7 -2
  47. package/column-builder.d.ts +7 -2
  48. package/column-builder.js.map +1 -1
  49. package/column.cjs +2 -0
  50. package/column.cjs.map +1 -1
  51. package/column.d.cts +6 -0
  52. package/column.d.ts +6 -0
  53. package/column.js +2 -0
  54. package/column.js.map +1 -1
  55. package/d1/driver.cjs +3 -6
  56. package/d1/driver.cjs.map +1 -1
  57. package/d1/driver.d.cts +2 -1
  58. package/d1/driver.d.ts +2 -1
  59. package/d1/driver.js +3 -6
  60. package/d1/driver.js.map +1 -1
  61. package/d1/session.cjs +24 -29
  62. package/d1/session.cjs.map +1 -1
  63. package/d1/session.d.cts +8 -17
  64. package/d1/session.d.ts +8 -17
  65. package/d1/session.js +24 -29
  66. package/d1/session.js.map +1 -1
  67. package/durable-sqlite/driver.cjs.map +1 -1
  68. package/durable-sqlite/driver.d.cts +2 -1
  69. package/durable-sqlite/driver.d.ts +2 -1
  70. package/durable-sqlite/driver.js.map +1 -1
  71. package/durable-sqlite/session.cjs +6 -6
  72. package/durable-sqlite/session.cjs.map +1 -1
  73. package/durable-sqlite/session.d.cts +5 -5
  74. package/durable-sqlite/session.d.ts +5 -5
  75. package/durable-sqlite/session.js +6 -6
  76. package/durable-sqlite/session.js.map +1 -1
  77. package/expo-sqlite/driver.cjs.map +1 -1
  78. package/expo-sqlite/driver.d.cts +2 -1
  79. package/expo-sqlite/driver.d.ts +2 -1
  80. package/expo-sqlite/driver.js.map +1 -1
  81. package/expo-sqlite/session.cjs +5 -5
  82. package/expo-sqlite/session.cjs.map +1 -1
  83. package/expo-sqlite/session.d.cts +5 -5
  84. package/expo-sqlite/session.d.ts +5 -5
  85. package/expo-sqlite/session.js +5 -5
  86. package/expo-sqlite/session.js.map +1 -1
  87. package/{cache/core/cache.cjs → extension-core/gel/index.cjs} +9 -23
  88. package/extension-core/gel/index.cjs.map +1 -0
  89. package/extension-core/gel/index.d.cts +67 -0
  90. package/extension-core/gel/index.d.ts +67 -0
  91. package/extension-core/gel/index.js +9 -0
  92. package/extension-core/gel/index.js.map +1 -0
  93. package/extension-core/index.cjs +42 -0
  94. package/extension-core/index.cjs.map +1 -0
  95. package/extension-core/index.d.cts +9 -0
  96. package/extension-core/index.d.ts +9 -0
  97. package/extension-core/index.js +15 -0
  98. package/extension-core/index.js.map +1 -0
  99. package/{errors → extension-core/mysql}/index.cjs +9 -16
  100. package/extension-core/mysql/index.cjs.map +1 -0
  101. package/extension-core/mysql/index.d.cts +69 -0
  102. package/extension-core/mysql/index.d.ts +69 -0
  103. package/extension-core/mysql/index.js +9 -0
  104. package/extension-core/mysql/index.js.map +1 -0
  105. package/extension-core/pg/index.cjs +33 -0
  106. package/extension-core/pg/index.cjs.map +1 -0
  107. package/extension-core/pg/index.d.cts +67 -0
  108. package/extension-core/pg/index.d.ts +67 -0
  109. package/extension-core/pg/index.js +9 -0
  110. package/extension-core/pg/index.js.map +1 -0
  111. package/extension-core/singlestore/index.cjs +33 -0
  112. package/extension-core/singlestore/index.cjs.map +1 -0
  113. package/extension-core/singlestore/index.d.cts +67 -0
  114. package/extension-core/singlestore/index.d.ts +67 -0
  115. package/extension-core/singlestore/index.js +9 -0
  116. package/extension-core/singlestore/index.js.map +1 -0
  117. package/extension-core/sqlite/index.cjs +33 -0
  118. package/extension-core/sqlite/index.cjs.map +1 -0
  119. package/extension-core/sqlite/index.d.cts +68 -0
  120. package/extension-core/sqlite/index.d.ts +68 -0
  121. package/extension-core/sqlite/index.js +9 -0
  122. package/extension-core/sqlite/index.js.map +1 -0
  123. package/extensions/hook/gel/index.cjs +47 -0
  124. package/extensions/hook/gel/index.cjs.map +1 -0
  125. package/extensions/hook/gel/index.d.cts +11 -0
  126. package/extensions/hook/gel/index.d.ts +11 -0
  127. package/extensions/hook/gel/index.js +22 -0
  128. package/extensions/hook/gel/index.js.map +1 -0
  129. package/extensions/hook/mysql/index.cjs +47 -0
  130. package/extensions/hook/mysql/index.cjs.map +1 -0
  131. package/extensions/hook/mysql/index.d.cts +11 -0
  132. package/extensions/hook/mysql/index.d.ts +11 -0
  133. package/extensions/hook/mysql/index.js +22 -0
  134. package/extensions/hook/mysql/index.js.map +1 -0
  135. package/extensions/hook/pg/index.cjs +47 -0
  136. package/extensions/hook/pg/index.cjs.map +1 -0
  137. package/extensions/hook/pg/index.d.cts +11 -0
  138. package/extensions/hook/pg/index.d.ts +11 -0
  139. package/extensions/hook/pg/index.js +22 -0
  140. package/extensions/hook/pg/index.js.map +1 -0
  141. package/extensions/hook/singlestore/index.cjs +47 -0
  142. package/extensions/hook/singlestore/index.cjs.map +1 -0
  143. package/extensions/hook/singlestore/index.d.cts +11 -0
  144. package/extensions/hook/singlestore/index.d.ts +11 -0
  145. package/extensions/hook/singlestore/index.js +22 -0
  146. package/extensions/hook/singlestore/index.js.map +1 -0
  147. package/extensions/hook/sqlite/index.cjs +47 -0
  148. package/extensions/hook/sqlite/index.cjs.map +1 -0
  149. package/extensions/hook/sqlite/index.d.cts +11 -0
  150. package/extensions/hook/sqlite/index.d.ts +11 -0
  151. package/extensions/hook/sqlite/index.js +22 -0
  152. package/extensions/hook/sqlite/index.js.map +1 -0
  153. package/extensions/s3-file/common.cjs +321 -0
  154. package/extensions/s3-file/common.cjs.map +1 -0
  155. package/extensions/s3-file/common.d.cts +88 -0
  156. package/extensions/s3-file/common.d.ts +88 -0
  157. package/extensions/s3-file/common.js +288 -0
  158. package/extensions/s3-file/common.js.map +1 -0
  159. package/extensions/s3-file/gel/column.cjs +124 -0
  160. package/extensions/s3-file/gel/column.cjs.map +1 -0
  161. package/extensions/s3-file/gel/column.d.cts +105 -0
  162. package/extensions/s3-file/gel/column.d.ts +105 -0
  163. package/extensions/s3-file/gel/column.js +103 -0
  164. package/extensions/s3-file/gel/column.js.map +1 -0
  165. package/extensions/s3-file/gel/extension.cjs +271 -0
  166. package/extensions/s3-file/gel/extension.cjs.map +1 -0
  167. package/extensions/s3-file/gel/extension.d.cts +18 -0
  168. package/extensions/s3-file/gel/extension.d.ts +18 -0
  169. package/extensions/s3-file/gel/extension.js +257 -0
  170. package/extensions/s3-file/gel/extension.js.map +1 -0
  171. package/{cache/upstash → extensions/s3-file/gel}/index.cjs +6 -4
  172. package/extensions/s3-file/gel/index.cjs.map +1 -0
  173. package/extensions/s3-file/gel/index.d.cts +2 -0
  174. package/extensions/s3-file/gel/index.d.ts +2 -0
  175. package/extensions/s3-file/gel/index.js +3 -0
  176. package/extensions/s3-file/gel/index.js.map +1 -0
  177. package/{cache/core → extensions/s3-file}/index.cjs +4 -4
  178. package/extensions/s3-file/index.cjs.map +1 -0
  179. package/extensions/s3-file/index.d.cts +1 -0
  180. package/extensions/s3-file/index.d.ts +1 -0
  181. package/extensions/s3-file/index.js +2 -0
  182. package/extensions/s3-file/index.js.map +1 -0
  183. package/extensions/s3-file/mysql/column.cjs +121 -0
  184. package/extensions/s3-file/mysql/column.cjs.map +1 -0
  185. package/extensions/s3-file/mysql/column.d.cts +63 -0
  186. package/extensions/s3-file/mysql/column.d.ts +63 -0
  187. package/extensions/s3-file/mysql/column.js +97 -0
  188. package/extensions/s3-file/mysql/column.js.map +1 -0
  189. package/extensions/s3-file/mysql/extension.cjs +250 -0
  190. package/extensions/s3-file/mysql/extension.cjs.map +1 -0
  191. package/extensions/s3-file/mysql/extension.d.cts +18 -0
  192. package/extensions/s3-file/mysql/extension.d.ts +18 -0
  193. package/extensions/s3-file/mysql/extension.js +236 -0
  194. package/extensions/s3-file/mysql/extension.js.map +1 -0
  195. package/extensions/s3-file/mysql/index.cjs +25 -0
  196. package/extensions/s3-file/mysql/index.cjs.map +1 -0
  197. package/extensions/s3-file/mysql/index.d.cts +2 -0
  198. package/extensions/s3-file/mysql/index.d.ts +2 -0
  199. package/extensions/s3-file/mysql/index.js +3 -0
  200. package/extensions/s3-file/mysql/index.js.map +1 -0
  201. package/extensions/s3-file/pg/column.cjs +124 -0
  202. package/extensions/s3-file/pg/column.cjs.map +1 -0
  203. package/extensions/s3-file/pg/column.d.cts +105 -0
  204. package/extensions/s3-file/pg/column.d.ts +105 -0
  205. package/extensions/s3-file/pg/column.js +103 -0
  206. package/extensions/s3-file/pg/column.js.map +1 -0
  207. package/extensions/s3-file/pg/extension.cjs +272 -0
  208. package/extensions/s3-file/pg/extension.cjs.map +1 -0
  209. package/extensions/s3-file/pg/extension.d.cts +18 -0
  210. package/extensions/s3-file/pg/extension.d.ts +18 -0
  211. package/extensions/s3-file/pg/extension.js +258 -0
  212. package/extensions/s3-file/pg/extension.js.map +1 -0
  213. package/{cache/core/types.cjs → extensions/s3-file/pg/index.cjs} +11 -3
  214. package/extensions/s3-file/pg/index.cjs.map +1 -0
  215. package/extensions/s3-file/pg/index.d.cts +2 -0
  216. package/extensions/s3-file/pg/index.d.ts +2 -0
  217. package/extensions/s3-file/pg/index.js +3 -0
  218. package/extensions/s3-file/pg/index.js.map +1 -0
  219. package/extensions/s3-file/singlestore/column.cjs +121 -0
  220. package/extensions/s3-file/singlestore/column.cjs.map +1 -0
  221. package/extensions/s3-file/singlestore/column.d.cts +63 -0
  222. package/extensions/s3-file/singlestore/column.d.ts +63 -0
  223. package/extensions/s3-file/singlestore/column.js +97 -0
  224. package/extensions/s3-file/singlestore/column.js.map +1 -0
  225. package/extensions/s3-file/singlestore/extension.cjs +247 -0
  226. package/extensions/s3-file/singlestore/extension.cjs.map +1 -0
  227. package/extensions/s3-file/singlestore/extension.d.cts +18 -0
  228. package/extensions/s3-file/singlestore/extension.d.ts +18 -0
  229. package/extensions/s3-file/singlestore/extension.js +233 -0
  230. package/extensions/s3-file/singlestore/extension.js.map +1 -0
  231. package/extensions/s3-file/singlestore/index.cjs +25 -0
  232. package/extensions/s3-file/singlestore/index.cjs.map +1 -0
  233. package/extensions/s3-file/singlestore/index.d.cts +2 -0
  234. package/extensions/s3-file/singlestore/index.d.ts +2 -0
  235. package/extensions/s3-file/singlestore/index.js +3 -0
  236. package/extensions/s3-file/singlestore/index.js.map +1 -0
  237. package/extensions/s3-file/sqlite/column.cjs +121 -0
  238. package/extensions/s3-file/sqlite/column.cjs.map +1 -0
  239. package/extensions/s3-file/sqlite/column.d.cts +63 -0
  240. package/extensions/s3-file/sqlite/column.d.ts +63 -0
  241. package/extensions/s3-file/sqlite/column.js +97 -0
  242. package/extensions/s3-file/sqlite/column.js.map +1 -0
  243. package/extensions/s3-file/sqlite/extension.cjs +250 -0
  244. package/extensions/s3-file/sqlite/extension.cjs.map +1 -0
  245. package/extensions/s3-file/sqlite/extension.d.cts +18 -0
  246. package/extensions/s3-file/sqlite/extension.d.ts +18 -0
  247. package/extensions/s3-file/sqlite/extension.js +236 -0
  248. package/extensions/s3-file/sqlite/extension.js.map +1 -0
  249. package/extensions/s3-file/sqlite/index.cjs +25 -0
  250. package/extensions/s3-file/sqlite/index.cjs.map +1 -0
  251. package/extensions/s3-file/sqlite/index.d.cts +2 -0
  252. package/extensions/s3-file/sqlite/index.d.ts +2 -0
  253. package/extensions/s3-file/sqlite/index.js +3 -0
  254. package/extensions/s3-file/sqlite/index.js.map +1 -0
  255. package/gel/driver.cjs +6 -11
  256. package/gel/driver.cjs.map +1 -1
  257. package/gel/driver.d.cts +6 -6
  258. package/gel/driver.d.ts +6 -6
  259. package/gel/driver.js +6 -11
  260. package/gel/driver.js.map +1 -1
  261. package/gel/session.cjs +19 -31
  262. package/gel/session.cjs.map +1 -1
  263. package/gel/session.d.cts +5 -14
  264. package/gel/session.d.ts +5 -14
  265. package/gel/session.js +19 -31
  266. package/gel/session.js.map +1 -1
  267. package/gel-core/columns/common.cjs +8 -0
  268. package/gel-core/columns/common.cjs.map +1 -1
  269. package/gel-core/columns/common.d.cts +2 -0
  270. package/gel-core/columns/common.d.ts +2 -0
  271. package/gel-core/columns/common.js +8 -0
  272. package/gel-core/columns/common.js.map +1 -1
  273. package/gel-core/db.cjs +5 -6
  274. package/gel-core/db.cjs.map +1 -1
  275. package/gel-core/db.d.cts +3 -5
  276. package/gel-core/db.d.ts +3 -5
  277. package/gel-core/db.js +5 -6
  278. package/gel-core/db.js.map +1 -1
  279. package/gel-core/dialect.cjs +25 -19
  280. package/gel-core/dialect.cjs.map +1 -1
  281. package/gel-core/dialect.d.cts +7 -6
  282. package/gel-core/dialect.d.ts +7 -6
  283. package/gel-core/dialect.js +26 -20
  284. package/gel-core/dialect.js.map +1 -1
  285. package/gel-core/query-builders/delete.cjs +6 -5
  286. package/gel-core/query-builders/delete.cjs.map +1 -1
  287. package/gel-core/query-builders/delete.js +6 -5
  288. package/gel-core/query-builders/delete.js.map +1 -1
  289. package/gel-core/query-builders/insert.cjs +31 -9
  290. package/gel-core/query-builders/insert.cjs.map +1 -1
  291. package/gel-core/query-builders/insert.js +33 -11
  292. package/gel-core/query-builders/insert.js.map +1 -1
  293. package/gel-core/query-builders/query.cjs +12 -1
  294. package/gel-core/query-builders/query.cjs.map +1 -1
  295. package/gel-core/query-builders/query.js +12 -1
  296. package/gel-core/query-builders/query.js.map +1 -1
  297. package/gel-core/query-builders/select.cjs +12 -30
  298. package/gel-core/query-builders/select.cjs.map +1 -1
  299. package/gel-core/query-builders/select.d.cts +0 -9
  300. package/gel-core/query-builders/select.d.ts +0 -9
  301. package/gel-core/query-builders/select.js +12 -30
  302. package/gel-core/query-builders/select.js.map +1 -1
  303. package/gel-core/query-builders/update.cjs +7 -6
  304. package/gel-core/query-builders/update.cjs.map +1 -1
  305. package/gel-core/query-builders/update.js +7 -6
  306. package/gel-core/query-builders/update.js.map +1 -1
  307. package/gel-core/session.cjs +48 -82
  308. package/gel-core/session.cjs.map +1 -1
  309. package/gel-core/session.d.cts +12 -17
  310. package/gel-core/session.d.ts +12 -17
  311. package/gel-core/session.js +49 -83
  312. package/gel-core/session.js.map +1 -1
  313. package/gel-core/utils.cjs +0 -16
  314. package/gel-core/utils.cjs.map +1 -1
  315. package/gel-core/utils.d.cts +4 -8
  316. package/gel-core/utils.d.ts +4 -8
  317. package/gel-core/utils.js +0 -15
  318. package/gel-core/utils.js.map +1 -1
  319. package/libsql/driver-core.cjs +3 -6
  320. package/libsql/driver-core.cjs.map +1 -1
  321. package/libsql/driver-core.js +3 -6
  322. package/libsql/driver-core.js.map +1 -1
  323. package/libsql/driver.cjs +4 -1
  324. package/libsql/driver.cjs.map +1 -1
  325. package/libsql/driver.d.cts +4 -3
  326. package/libsql/driver.d.ts +4 -3
  327. package/libsql/driver.js +4 -1
  328. package/libsql/driver.js.map +1 -1
  329. package/libsql/http/index.cjs +4 -1
  330. package/libsql/http/index.cjs.map +1 -1
  331. package/libsql/http/index.d.cts +4 -3
  332. package/libsql/http/index.d.ts +4 -3
  333. package/libsql/http/index.js +4 -1
  334. package/libsql/http/index.js.map +1 -1
  335. package/libsql/node/index.cjs +4 -1
  336. package/libsql/node/index.cjs.map +1 -1
  337. package/libsql/node/index.d.cts +4 -3
  338. package/libsql/node/index.d.ts +4 -3
  339. package/libsql/node/index.js +4 -1
  340. package/libsql/node/index.js.map +1 -1
  341. package/libsql/session.cjs +37 -34
  342. package/libsql/session.cjs.map +1 -1
  343. package/libsql/session.d.cts +9 -18
  344. package/libsql/session.d.ts +9 -18
  345. package/libsql/session.js +37 -34
  346. package/libsql/session.js.map +1 -1
  347. package/libsql/sqlite3/index.cjs +4 -1
  348. package/libsql/sqlite3/index.cjs.map +1 -1
  349. package/libsql/sqlite3/index.d.cts +4 -3
  350. package/libsql/sqlite3/index.d.ts +4 -3
  351. package/libsql/sqlite3/index.js +4 -1
  352. package/libsql/sqlite3/index.js.map +1 -1
  353. package/libsql/wasm/index.cjs +4 -1
  354. package/libsql/wasm/index.cjs.map +1 -1
  355. package/libsql/wasm/index.d.cts +4 -3
  356. package/libsql/wasm/index.d.ts +4 -3
  357. package/libsql/wasm/index.js +4 -1
  358. package/libsql/wasm/index.js.map +1 -1
  359. package/libsql/web/index.cjs +4 -1
  360. package/libsql/web/index.cjs.map +1 -1
  361. package/libsql/web/index.d.cts +4 -3
  362. package/libsql/web/index.d.ts +4 -3
  363. package/libsql/web/index.js +4 -1
  364. package/libsql/web/index.js.map +1 -1
  365. package/libsql/ws/index.cjs +4 -1
  366. package/libsql/ws/index.cjs.map +1 -1
  367. package/libsql/ws/index.d.cts +4 -3
  368. package/libsql/ws/index.d.ts +4 -3
  369. package/libsql/ws/index.js +4 -1
  370. package/libsql/ws/index.js.map +1 -1
  371. package/mysql-core/db.cjs +5 -6
  372. package/mysql-core/db.cjs.map +1 -1
  373. package/mysql-core/db.d.cts +3 -5
  374. package/mysql-core/db.d.ts +3 -5
  375. package/mysql-core/db.js +5 -6
  376. package/mysql-core/db.js.map +1 -1
  377. package/mysql-core/dialect.cjs +30 -23
  378. package/mysql-core/dialect.cjs.map +1 -1
  379. package/mysql-core/dialect.d.cts +8 -7
  380. package/mysql-core/dialect.d.ts +8 -7
  381. package/mysql-core/dialect.js +31 -24
  382. package/mysql-core/dialect.js.map +1 -1
  383. package/mysql-core/query-builders/delete.cjs +5 -7
  384. package/mysql-core/query-builders/delete.cjs.map +1 -1
  385. package/mysql-core/query-builders/delete.js +5 -7
  386. package/mysql-core/query-builders/delete.js.map +1 -1
  387. package/mysql-core/query-builders/insert.cjs +30 -13
  388. package/mysql-core/query-builders/insert.cjs.map +1 -1
  389. package/mysql-core/query-builders/insert.d.cts +0 -2
  390. package/mysql-core/query-builders/insert.d.ts +0 -2
  391. package/mysql-core/query-builders/insert.js +32 -15
  392. package/mysql-core/query-builders/insert.js.map +1 -1
  393. package/mysql-core/query-builders/query.cjs +14 -2
  394. package/mysql-core/query-builders/query.cjs.map +1 -1
  395. package/mysql-core/query-builders/query.js +14 -2
  396. package/mysql-core/query-builders/query.js.map +1 -1
  397. package/mysql-core/query-builders/select.cjs +14 -30
  398. package/mysql-core/query-builders/select.cjs.map +1 -1
  399. package/mysql-core/query-builders/select.d.cts +0 -9
  400. package/mysql-core/query-builders/select.d.ts +0 -9
  401. package/mysql-core/query-builders/select.js +15 -31
  402. package/mysql-core/query-builders/select.js.map +1 -1
  403. package/mysql-core/query-builders/update.cjs +13 -11
  404. package/mysql-core/query-builders/update.cjs.map +1 -1
  405. package/mysql-core/query-builders/update.d.cts +0 -2
  406. package/mysql-core/query-builders/update.d.ts +0 -2
  407. package/mysql-core/query-builders/update.js +13 -11
  408. package/mysql-core/query-builders/update.js.map +1 -1
  409. package/mysql-core/session.cjs +42 -80
  410. package/mysql-core/session.cjs.map +1 -1
  411. package/mysql-core/session.d.cts +14 -18
  412. package/mysql-core/session.d.ts +14 -18
  413. package/mysql-core/session.js +43 -81
  414. package/mysql-core/session.js.map +1 -1
  415. package/mysql-core/utils.cjs +0 -16
  416. package/mysql-core/utils.cjs.map +1 -1
  417. package/mysql-core/utils.d.cts +2 -6
  418. package/mysql-core/utils.d.ts +2 -6
  419. package/mysql-core/utils.js +0 -15
  420. package/mysql-core/utils.js.map +1 -1
  421. package/mysql-proxy/driver.cjs +3 -2
  422. package/mysql-proxy/driver.cjs.map +1 -1
  423. package/mysql-proxy/driver.d.cts +2 -1
  424. package/mysql-proxy/driver.d.ts +2 -1
  425. package/mysql-proxy/driver.js +3 -2
  426. package/mysql-proxy/driver.js.map +1 -1
  427. package/mysql-proxy/session.cjs +10 -20
  428. package/mysql-proxy/session.cjs.map +1 -1
  429. package/mysql-proxy/session.d.cts +5 -16
  430. package/mysql-proxy/session.d.ts +5 -16
  431. package/mysql-proxy/session.js +10 -20
  432. package/mysql-proxy/session.js.map +1 -1
  433. package/mysql2/driver.cjs +6 -12
  434. package/mysql2/driver.cjs.map +1 -1
  435. package/mysql2/driver.d.cts +4 -4
  436. package/mysql2/driver.d.ts +4 -4
  437. package/mysql2/driver.js +6 -12
  438. package/mysql2/driver.js.map +1 -1
  439. package/mysql2/session.cjs +16 -22
  440. package/mysql2/session.cjs.map +1 -1
  441. package/mysql2/session.d.cts +5 -15
  442. package/mysql2/session.d.ts +5 -15
  443. package/mysql2/session.js +16 -22
  444. package/mysql2/session.js.map +1 -1
  445. package/neon-http/driver.cjs +5 -10
  446. package/neon-http/driver.cjs.map +1 -1
  447. package/neon-http/driver.d.cts +6 -6
  448. package/neon-http/driver.d.ts +6 -6
  449. package/neon-http/driver.js +5 -10
  450. package/neon-http/driver.js.map +1 -1
  451. package/neon-http/session.cjs +20 -28
  452. package/neon-http/session.cjs.map +1 -1
  453. package/neon-http/session.d.cts +5 -14
  454. package/neon-http/session.d.ts +5 -14
  455. package/neon-http/session.js +20 -28
  456. package/neon-http/session.js.map +1 -1
  457. package/neon-serverless/driver.cjs +6 -11
  458. package/neon-serverless/driver.cjs.map +1 -1
  459. package/neon-serverless/driver.d.cts +6 -6
  460. package/neon-serverless/driver.d.ts +6 -6
  461. package/neon-serverless/driver.js +6 -11
  462. package/neon-serverless/driver.js.map +1 -1
  463. package/neon-serverless/session.cjs +27 -27
  464. package/neon-serverless/session.cjs.map +1 -1
  465. package/neon-serverless/session.d.cts +5 -14
  466. package/neon-serverless/session.d.ts +5 -14
  467. package/neon-serverless/session.js +27 -27
  468. package/neon-serverless/session.js.map +1 -1
  469. package/node-postgres/driver.cjs +6 -11
  470. package/node-postgres/driver.cjs.map +1 -1
  471. package/node-postgres/driver.d.cts +6 -6
  472. package/node-postgres/driver.d.ts +6 -6
  473. package/node-postgres/driver.js +6 -11
  474. package/node-postgres/driver.js.map +1 -1
  475. package/node-postgres/session.cjs +21 -25
  476. package/node-postgres/session.cjs.map +1 -1
  477. package/node-postgres/session.d.cts +5 -15
  478. package/node-postgres/session.d.ts +5 -15
  479. package/node-postgres/session.js +21 -25
  480. package/node-postgres/session.js.map +1 -1
  481. package/op-sqlite/driver.cjs +1 -5
  482. package/op-sqlite/driver.cjs.map +1 -1
  483. package/op-sqlite/driver.d.cts +2 -1
  484. package/op-sqlite/driver.d.ts +2 -1
  485. package/op-sqlite/driver.js +1 -5
  486. package/op-sqlite/driver.js.map +1 -1
  487. package/op-sqlite/session.cjs +11 -25
  488. package/op-sqlite/session.cjs.map +1 -1
  489. package/op-sqlite/session.d.cts +6 -16
  490. package/op-sqlite/session.d.ts +6 -16
  491. package/op-sqlite/session.js +11 -25
  492. package/op-sqlite/session.js.map +1 -1
  493. package/package.json +331 -50
  494. package/pg-core/columns/common.cjs +2 -0
  495. package/pg-core/columns/common.cjs.map +1 -1
  496. package/pg-core/columns/common.js +2 -0
  497. package/pg-core/columns/common.js.map +1 -1
  498. package/pg-core/db.cjs +5 -6
  499. package/pg-core/db.cjs.map +1 -1
  500. package/pg-core/db.d.cts +3 -5
  501. package/pg-core/db.d.ts +3 -5
  502. package/pg-core/db.js +5 -6
  503. package/pg-core/db.js.map +1 -1
  504. package/pg-core/dialect.cjs +26 -19
  505. package/pg-core/dialect.cjs.map +1 -1
  506. package/pg-core/dialect.d.cts +7 -6
  507. package/pg-core/dialect.d.ts +7 -6
  508. package/pg-core/dialect.js +27 -20
  509. package/pg-core/dialect.js.map +1 -1
  510. package/pg-core/query-builders/delete.cjs +7 -7
  511. package/pg-core/query-builders/delete.cjs.map +1 -1
  512. package/pg-core/query-builders/delete.d.cts +0 -2
  513. package/pg-core/query-builders/delete.d.ts +0 -2
  514. package/pg-core/query-builders/delete.js +7 -7
  515. package/pg-core/query-builders/delete.js.map +1 -1
  516. package/pg-core/query-builders/insert.cjs +37 -11
  517. package/pg-core/query-builders/insert.cjs.map +1 -1
  518. package/pg-core/query-builders/insert.d.cts +0 -2
  519. package/pg-core/query-builders/insert.d.ts +0 -2
  520. package/pg-core/query-builders/insert.js +39 -13
  521. package/pg-core/query-builders/insert.js.map +1 -1
  522. package/pg-core/query-builders/query.cjs +12 -1
  523. package/pg-core/query-builders/query.cjs.map +1 -1
  524. package/pg-core/query-builders/query.js +12 -1
  525. package/pg-core/query-builders/query.js.map +1 -1
  526. package/pg-core/query-builders/select.cjs +14 -33
  527. package/pg-core/query-builders/select.cjs.map +1 -1
  528. package/pg-core/query-builders/select.d.cts +6 -15
  529. package/pg-core/query-builders/select.d.ts +6 -15
  530. package/pg-core/query-builders/select.js +14 -33
  531. package/pg-core/query-builders/select.js.map +1 -1
  532. package/pg-core/query-builders/update.cjs +8 -8
  533. package/pg-core/query-builders/update.cjs.map +1 -1
  534. package/pg-core/query-builders/update.d.cts +1 -3
  535. package/pg-core/query-builders/update.d.ts +1 -3
  536. package/pg-core/query-builders/update.js +9 -13
  537. package/pg-core/query-builders/update.js.map +1 -1
  538. package/pg-core/session.cjs +45 -78
  539. package/pg-core/session.cjs.map +1 -1
  540. package/pg-core/session.d.cts +12 -17
  541. package/pg-core/session.d.ts +12 -17
  542. package/pg-core/session.js +46 -79
  543. package/pg-core/session.js.map +1 -1
  544. package/pg-core/utils.cjs +0 -16
  545. package/pg-core/utils.cjs.map +1 -1
  546. package/pg-core/utils.d.cts +4 -8
  547. package/pg-core/utils.d.ts +4 -8
  548. package/pg-core/utils.js +1 -16
  549. package/pg-core/utils.js.map +1 -1
  550. package/pg-proxy/driver.cjs +3 -7
  551. package/pg-proxy/driver.cjs.map +1 -1
  552. package/pg-proxy/driver.d.cts +2 -1
  553. package/pg-proxy/driver.d.ts +2 -1
  554. package/pg-proxy/driver.js +3 -7
  555. package/pg-proxy/driver.js.map +1 -1
  556. package/pg-proxy/session.cjs +10 -18
  557. package/pg-proxy/session.cjs.map +1 -1
  558. package/pg-proxy/session.d.cts +5 -14
  559. package/pg-proxy/session.d.ts +5 -14
  560. package/pg-proxy/session.js +10 -18
  561. package/pg-proxy/session.js.map +1 -1
  562. package/pglite/driver.cjs +6 -11
  563. package/pglite/driver.cjs.map +1 -1
  564. package/pglite/driver.d.cts +6 -6
  565. package/pglite/driver.d.ts +6 -6
  566. package/pglite/driver.js +6 -11
  567. package/pglite/driver.js.map +1 -1
  568. package/pglite/session.cjs +23 -25
  569. package/pglite/session.cjs.map +1 -1
  570. package/pglite/session.d.cts +5 -14
  571. package/pglite/session.d.ts +5 -14
  572. package/pglite/session.js +23 -25
  573. package/pglite/session.js.map +1 -1
  574. package/planetscale-serverless/driver.cjs +3 -6
  575. package/planetscale-serverless/driver.cjs.map +1 -1
  576. package/planetscale-serverless/driver.d.cts +4 -4
  577. package/planetscale-serverless/driver.d.ts +4 -4
  578. package/planetscale-serverless/driver.js +3 -6
  579. package/planetscale-serverless/driver.js.map +1 -1
  580. package/planetscale-serverless/session.cjs +25 -25
  581. package/planetscale-serverless/session.cjs.map +1 -1
  582. package/planetscale-serverless/session.d.cts +6 -17
  583. package/planetscale-serverless/session.d.ts +6 -17
  584. package/planetscale-serverless/session.js +25 -25
  585. package/planetscale-serverless/session.js.map +1 -1
  586. package/postgres-js/driver.cjs +3 -6
  587. package/postgres-js/driver.cjs.map +1 -1
  588. package/postgres-js/driver.d.cts +4 -3
  589. package/postgres-js/driver.d.ts +4 -3
  590. package/postgres-js/driver.js +3 -6
  591. package/postgres-js/driver.js.map +1 -1
  592. package/postgres-js/session.cjs +30 -31
  593. package/postgres-js/session.cjs.map +1 -1
  594. package/postgres-js/session.d.cts +6 -15
  595. package/postgres-js/session.d.ts +6 -15
  596. package/postgres-js/session.js +30 -31
  597. package/postgres-js/session.js.map +1 -1
  598. package/prisma/mysql/driver.cjs +3 -3
  599. package/prisma/mysql/driver.cjs.map +1 -1
  600. package/prisma/mysql/driver.d.cts +3 -2
  601. package/prisma/mysql/driver.d.ts +3 -2
  602. package/prisma/mysql/driver.js +3 -3
  603. package/prisma/mysql/driver.js.map +1 -1
  604. package/prisma/mysql/session.cjs +10 -11
  605. package/prisma/mysql/session.cjs.map +1 -1
  606. package/prisma/mysql/session.d.cts +7 -6
  607. package/prisma/mysql/session.d.ts +7 -6
  608. package/prisma/mysql/session.js +10 -11
  609. package/prisma/mysql/session.js.map +1 -1
  610. package/prisma/pg/driver.cjs +3 -3
  611. package/prisma/pg/driver.cjs.map +1 -1
  612. package/prisma/pg/driver.d.cts +2 -1
  613. package/prisma/pg/driver.d.ts +2 -1
  614. package/prisma/pg/driver.js +3 -3
  615. package/prisma/pg/driver.js.map +1 -1
  616. package/prisma/pg/session.cjs +7 -7
  617. package/prisma/pg/session.cjs.map +1 -1
  618. package/prisma/pg/session.d.cts +6 -5
  619. package/prisma/pg/session.d.ts +6 -5
  620. package/prisma/pg/session.js +7 -7
  621. package/prisma/pg/session.js.map +1 -1
  622. package/prisma/sqlite/driver.cjs +7 -1
  623. package/prisma/sqlite/driver.cjs.map +1 -1
  624. package/prisma/sqlite/driver.d.cts +2 -1
  625. package/prisma/sqlite/driver.d.ts +2 -1
  626. package/prisma/sqlite/driver.js +7 -1
  627. package/prisma/sqlite/driver.js.map +1 -1
  628. package/prisma/sqlite/session.cjs +6 -6
  629. package/prisma/sqlite/session.cjs.map +1 -1
  630. package/prisma/sqlite/session.d.cts +6 -5
  631. package/prisma/sqlite/session.d.ts +6 -5
  632. package/prisma/sqlite/session.js +6 -6
  633. package/prisma/sqlite/session.js.map +1 -1
  634. package/query-builders/query-builder.cjs.map +1 -1
  635. package/query-builders/query-builder.d.cts +1 -2
  636. package/query-builders/query-builder.d.ts +1 -2
  637. package/query-builders/query-builder.js.map +1 -1
  638. package/singlestore/driver.cjs +28 -29
  639. package/singlestore/driver.cjs.map +1 -1
  640. package/singlestore/driver.d.cts +4 -4
  641. package/singlestore/driver.d.ts +4 -4
  642. package/singlestore/driver.js +28 -29
  643. package/singlestore/driver.js.map +1 -1
  644. package/singlestore/session.cjs +16 -22
  645. package/singlestore/session.cjs.map +1 -1
  646. package/singlestore/session.d.cts +5 -15
  647. package/singlestore/session.d.ts +5 -15
  648. package/singlestore/session.js +16 -22
  649. package/singlestore/session.js.map +1 -1
  650. package/singlestore-core/db.cjs +5 -6
  651. package/singlestore-core/db.cjs.map +1 -1
  652. package/singlestore-core/db.d.cts +3 -5
  653. package/singlestore-core/db.d.ts +3 -5
  654. package/singlestore-core/db.js +5 -6
  655. package/singlestore-core/db.js.map +1 -1
  656. package/singlestore-core/dialect.cjs +25 -18
  657. package/singlestore-core/dialect.cjs.map +1 -1
  658. package/singlestore-core/dialect.d.cts +7 -6
  659. package/singlestore-core/dialect.d.ts +7 -6
  660. package/singlestore-core/dialect.js +26 -19
  661. package/singlestore-core/dialect.js.map +1 -1
  662. package/singlestore-core/query-builders/delete.cjs +5 -7
  663. package/singlestore-core/query-builders/delete.cjs.map +1 -1
  664. package/singlestore-core/query-builders/delete.js +5 -7
  665. package/singlestore-core/query-builders/delete.js.map +1 -1
  666. package/singlestore-core/query-builders/insert.cjs +30 -11
  667. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  668. package/singlestore-core/query-builders/insert.js +32 -13
  669. package/singlestore-core/query-builders/insert.js.map +1 -1
  670. package/singlestore-core/query-builders/query.cjs +12 -1
  671. package/singlestore-core/query-builders/query.cjs.map +1 -1
  672. package/singlestore-core/query-builders/query.js +12 -1
  673. package/singlestore-core/query-builders/query.js.map +1 -1
  674. package/singlestore-core/query-builders/select.cjs +14 -31
  675. package/singlestore-core/query-builders/select.cjs.map +1 -1
  676. package/singlestore-core/query-builders/select.d.cts +0 -9
  677. package/singlestore-core/query-builders/select.d.ts +0 -9
  678. package/singlestore-core/query-builders/select.js +14 -31
  679. package/singlestore-core/query-builders/select.js.map +1 -1
  680. package/singlestore-core/query-builders/update.cjs +6 -8
  681. package/singlestore-core/query-builders/update.cjs.map +1 -1
  682. package/singlestore-core/query-builders/update.js +6 -8
  683. package/singlestore-core/query-builders/update.js.map +1 -1
  684. package/singlestore-core/session.cjs +42 -80
  685. package/singlestore-core/session.cjs.map +1 -1
  686. package/singlestore-core/session.d.cts +14 -17
  687. package/singlestore-core/session.d.ts +14 -17
  688. package/singlestore-core/session.js +43 -81
  689. package/singlestore-core/session.js.map +1 -1
  690. package/singlestore-core/utils.cjs +0 -16
  691. package/singlestore-core/utils.cjs.map +1 -1
  692. package/singlestore-core/utils.d.cts +0 -3
  693. package/singlestore-core/utils.d.ts +0 -3
  694. package/singlestore-core/utils.js +0 -15
  695. package/singlestore-core/utils.js.map +1 -1
  696. package/singlestore-proxy/driver.cjs +3 -2
  697. package/singlestore-proxy/driver.cjs.map +1 -1
  698. package/singlestore-proxy/driver.d.cts +2 -1
  699. package/singlestore-proxy/driver.d.ts +2 -1
  700. package/singlestore-proxy/driver.js +3 -2
  701. package/singlestore-proxy/driver.js.map +1 -1
  702. package/singlestore-proxy/session.cjs +8 -8
  703. package/singlestore-proxy/session.cjs.map +1 -1
  704. package/singlestore-proxy/session.d.cts +5 -6
  705. package/singlestore-proxy/session.d.ts +5 -6
  706. package/singlestore-proxy/session.js +8 -8
  707. package/singlestore-proxy/session.js.map +1 -1
  708. package/sql/sql.cjs +24 -12
  709. package/sql/sql.cjs.map +1 -1
  710. package/sql/sql.d.cts +12 -0
  711. package/sql/sql.d.ts +12 -0
  712. package/sql/sql.js +23 -12
  713. package/sql/sql.js.map +1 -1
  714. package/sql-js/driver.cjs.map +1 -1
  715. package/sql-js/driver.d.cts +2 -1
  716. package/sql-js/driver.d.ts +2 -1
  717. package/sql-js/driver.js.map +1 -1
  718. package/sql-js/session.cjs +4 -4
  719. package/sql-js/session.cjs.map +1 -1
  720. package/sql-js/session.d.cts +4 -4
  721. package/sql-js/session.d.ts +4 -4
  722. package/sql-js/session.js +4 -4
  723. package/sql-js/session.js.map +1 -1
  724. package/sqlite-core/db.cjs +5 -6
  725. package/sqlite-core/db.cjs.map +1 -1
  726. package/sqlite-core/db.d.cts +3 -5
  727. package/sqlite-core/db.d.ts +3 -5
  728. package/sqlite-core/db.js +5 -6
  729. package/sqlite-core/db.js.map +1 -1
  730. package/sqlite-core/dialect.cjs +30 -19
  731. package/sqlite-core/dialect.cjs.map +1 -1
  732. package/sqlite-core/dialect.d.cts +7 -6
  733. package/sqlite-core/dialect.d.ts +7 -6
  734. package/sqlite-core/dialect.js +31 -20
  735. package/sqlite-core/dialect.js.map +1 -1
  736. package/sqlite-core/query-builders/delete.cjs +5 -5
  737. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  738. package/sqlite-core/query-builders/delete.js +5 -5
  739. package/sqlite-core/query-builders/delete.js.map +1 -1
  740. package/sqlite-core/query-builders/insert.cjs +25 -8
  741. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  742. package/sqlite-core/query-builders/insert.js +32 -10
  743. package/sqlite-core/query-builders/insert.js.map +1 -1
  744. package/sqlite-core/query-builders/query.cjs +12 -1
  745. package/sqlite-core/query-builders/query.cjs.map +1 -1
  746. package/sqlite-core/query-builders/query.js +12 -1
  747. package/sqlite-core/query-builders/query.js.map +1 -1
  748. package/sqlite-core/query-builders/select.cjs +15 -34
  749. package/sqlite-core/query-builders/select.cjs.map +1 -1
  750. package/sqlite-core/query-builders/select.d.cts +0 -9
  751. package/sqlite-core/query-builders/select.d.ts +0 -9
  752. package/sqlite-core/query-builders/select.js +15 -34
  753. package/sqlite-core/query-builders/select.js.map +1 -1
  754. package/sqlite-core/query-builders/update.cjs +6 -6
  755. package/sqlite-core/query-builders/update.cjs.map +1 -1
  756. package/sqlite-core/query-builders/update.js +6 -6
  757. package/sqlite-core/query-builders/update.js.map +1 -1
  758. package/sqlite-core/session.cjs +78 -90
  759. package/sqlite-core/session.cjs.map +1 -1
  760. package/sqlite-core/session.d.cts +20 -24
  761. package/sqlite-core/session.d.ts +20 -24
  762. package/sqlite-core/session.js +79 -91
  763. package/sqlite-core/session.js.map +1 -1
  764. package/sqlite-core/utils.cjs +0 -16
  765. package/sqlite-core/utils.cjs.map +1 -1
  766. package/sqlite-core/utils.d.cts +2 -6
  767. package/sqlite-core/utils.d.ts +2 -6
  768. package/sqlite-core/utils.js +0 -15
  769. package/sqlite-core/utils.js.map +1 -1
  770. package/sqlite-proxy/driver.cjs +4 -10
  771. package/sqlite-proxy/driver.cjs.map +1 -1
  772. package/sqlite-proxy/driver.d.cts +3 -2
  773. package/sqlite-proxy/driver.d.ts +3 -2
  774. package/sqlite-proxy/driver.js +4 -10
  775. package/sqlite-proxy/driver.js.map +1 -1
  776. package/sqlite-proxy/session.cjs +24 -29
  777. package/sqlite-proxy/session.cjs.map +1 -1
  778. package/sqlite-proxy/session.d.cts +8 -17
  779. package/sqlite-proxy/session.d.ts +8 -17
  780. package/sqlite-proxy/session.js +24 -29
  781. package/sqlite-proxy/session.js.map +1 -1
  782. package/subquery.cjs +3 -4
  783. package/subquery.cjs.map +1 -1
  784. package/subquery.d.cts +1 -2
  785. package/subquery.d.ts +1 -2
  786. package/subquery.js +3 -4
  787. package/subquery.js.map +1 -1
  788. package/tidb-serverless/driver.cjs +9 -6
  789. package/tidb-serverless/driver.cjs.map +1 -1
  790. package/tidb-serverless/driver.d.cts +4 -4
  791. package/tidb-serverless/driver.d.ts +4 -4
  792. package/tidb-serverless/driver.js +9 -6
  793. package/tidb-serverless/driver.js.map +1 -1
  794. package/tidb-serverless/session.cjs +25 -25
  795. package/tidb-serverless/session.cjs.map +1 -1
  796. package/tidb-serverless/session.d.cts +6 -17
  797. package/tidb-serverless/session.d.ts +6 -17
  798. package/tidb-serverless/session.js +25 -25
  799. package/tidb-serverless/session.js.map +1 -1
  800. package/tracing.cjs.map +1 -1
  801. package/tracing.js.map +1 -1
  802. package/utils.cjs +34 -24
  803. package/utils.cjs.map +1 -1
  804. package/utils.d.cts +5 -4
  805. package/utils.d.ts +5 -4
  806. package/utils.js +35 -15
  807. package/utils.js.map +1 -1
  808. package/vercel-postgres/driver.cjs +10 -12
  809. package/vercel-postgres/driver.cjs.map +1 -1
  810. package/vercel-postgres/driver.d.cts +6 -6
  811. package/vercel-postgres/driver.d.ts +6 -6
  812. package/vercel-postgres/driver.js +10 -12
  813. package/vercel-postgres/driver.js.map +1 -1
  814. package/vercel-postgres/session.cjs +22 -27
  815. package/vercel-postgres/session.cjs.map +1 -1
  816. package/vercel-postgres/session.d.cts +5 -14
  817. package/vercel-postgres/session.d.ts +5 -14
  818. package/vercel-postgres/session.js +22 -27
  819. package/vercel-postgres/session.js.map +1 -1
  820. package/version.cjs +1 -1
  821. package/version.d.cts +1 -1
  822. package/version.d.ts +1 -1
  823. package/version.js +1 -1
  824. package/xata-http/driver.cjs +8 -10
  825. package/xata-http/driver.cjs.map +1 -1
  826. package/xata-http/driver.d.cts +4 -4
  827. package/xata-http/driver.d.ts +4 -4
  828. package/xata-http/driver.js +8 -10
  829. package/xata-http/driver.js.map +1 -1
  830. package/xata-http/session.cjs +12 -24
  831. package/xata-http/session.cjs.map +1 -1
  832. package/xata-http/session.d.cts +5 -14
  833. package/xata-http/session.d.ts +5 -14
  834. package/xata-http/session.js +12 -24
  835. package/xata-http/session.js.map +1 -1
  836. package/cache/core/cache.cjs.map +0 -1
  837. package/cache/core/cache.d.cts +0 -35
  838. package/cache/core/cache.d.ts +0 -35
  839. package/cache/core/cache.js +0 -22
  840. package/cache/core/cache.js.map +0 -1
  841. package/cache/core/index.cjs.map +0 -1
  842. package/cache/core/index.d.cts +0 -1
  843. package/cache/core/index.d.ts +0 -1
  844. package/cache/core/index.js +0 -2
  845. package/cache/core/index.js.map +0 -1
  846. package/cache/core/types.cjs.map +0 -1
  847. package/cache/core/types.d.cts +0 -33
  848. package/cache/core/types.d.ts +0 -33
  849. package/cache/core/types.js +0 -1
  850. package/cache/core/types.js.map +0 -1
  851. package/cache/upstash/cache.cjs +0 -191
  852. package/cache/upstash/cache.cjs.map +0 -1
  853. package/cache/upstash/cache.d.cts +0 -59
  854. package/cache/upstash/cache.d.ts +0 -59
  855. package/cache/upstash/cache.js +0 -166
  856. package/cache/upstash/cache.js.map +0 -1
  857. package/cache/upstash/index.cjs.map +0 -1
  858. package/cache/upstash/index.d.cts +0 -1
  859. package/cache/upstash/index.d.ts +0 -1
  860. package/cache/upstash/index.js +0 -2
  861. package/cache/upstash/index.js.map +0 -1
  862. package/errors/index.cjs.map +0 -1
  863. package/errors/index.d.cts +0 -6
  864. package/errors/index.d.ts +0 -6
  865. package/errors/index.js +0 -16
  866. package/errors/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pglite/session.ts"],"sourcesContent":["import type { PGlite, QueryOptions, Results, Row, Transaction } from '@electric-sql/pglite';\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 { type Assume, mapResultRow } from '~/utils.ts';\n\nimport { types } from '@electric-sql/pglite';\nimport { type Cache, NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\n\nexport type PgliteClient = PGlite;\n\nexport class PglitePreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'PglitePreparedQuery';\n\n\tprivate rawQueryConfig: QueryOptions;\n\tprivate queryConfig: QueryOptions;\n\n\tconstructor(\n\t\tprivate client: PgliteClient | Transaction,\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\trowMode: 'object',\n\t\t\tparsers: {\n\t\t\t\t[types.TIMESTAMP]: (value) => value,\n\t\t\t\t[types.TIMESTAMPTZ]: (value) => value,\n\t\t\t\t[types.INTERVAL]: (value) => value,\n\t\t\t\t[types.DATE]: (value) => value,\n\t\t\t\t// numeric[]\n\t\t\t\t[1231]: (value) => value,\n\t\t\t\t// timestamp[]\n\t\t\t\t[1115]: (value) => value,\n\t\t\t\t// timestamp with timezone[]\n\t\t\t\t[1185]: (value) => value,\n\t\t\t\t// interval[]\n\t\t\t\t[1187]: (value) => value,\n\t\t\t\t// date[]\n\t\t\t\t[1182]: (value) => value,\n\t\t\t},\n\t\t};\n\t\tthis.queryConfig = {\n\t\t\trowMode: 'array',\n\t\t\tparsers: {\n\t\t\t\t[types.TIMESTAMP]: (value) => value,\n\t\t\t\t[types.TIMESTAMPTZ]: (value) => value,\n\t\t\t\t[types.INTERVAL]: (value) => value,\n\t\t\t\t[types.DATE]: (value) => value,\n\t\t\t\t// numeric[]\n\t\t\t\t[1231]: (value) => value,\n\t\t\t\t// timestamp[]\n\t\t\t\t[1115]: (value) => value,\n\t\t\t\t// timestamp with timezone[]\n\t\t\t\t[1185]: (value) => value,\n\t\t\t\t// interval[]\n\t\t\t\t[1187]: (value) => value,\n\t\t\t\t// date[]\n\t\t\t\t[1182]: (value) => value,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst { fields, client, queryConfig, joinsNotNullableMap, customResultMapper, queryString, rawQueryConfig } = this;\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn this.queryWithCache(queryString, params, async () => {\n\t\t\t\treturn await client.query<any[]>(queryString, params, rawQueryConfig);\n\t\t\t});\n\t\t}\n\n\t\tconst result = await this.queryWithCache(queryString, params, async () => {\n\t\t\treturn await client.query<any[]>(queryString, params, queryConfig);\n\t\t});\n\n\t\treturn customResultMapper\n\t\t\t? customResultMapper(result.rows)\n\t\t\t: result.rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tthis.logger.logQuery(this.queryString, params);\n\t\treturn this.queryWithCache(this.queryString, params, async () => {\n\t\t\treturn await this.client.query<any[]>(this.queryString, params, this.rawQueryConfig);\n\t\t}).then((result) => result.rows);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface PgliteSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class PgliteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<PgliteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'PgliteSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: PgliteClient | Transaction,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: PgliteSessionOptions = {},\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 PglitePreparedQuery(\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: PgliteTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\treturn (this.client as PgliteClient).transaction(async (client) => {\n\t\t\tconst session = new PgliteSession<TFullSchema, TSchema>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new PgliteTransaction<TFullSchema, TSchema>(this.dialect, session, this.schema);\n\t\t\tif (config) {\n\t\t\t\tawait tx.setTransaction(config);\n\t\t\t}\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<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 PgliteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<PgliteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'PgliteTransaction';\n\n\toverride async transaction<T>(transaction: (tx: PgliteTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new PgliteTransaction<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 PgliteQueryResultHKT extends PgQueryResultHKT {\n\ttype: Results<Assume<this['row'], Row>>;\n}\n"],"mappings":"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","names":["sql"]}
1
+ {"version":3,"sources":["../../src/pglite/session.ts"],"sourcesContent":["import type { PGlite, QueryOptions, Results, Row, Transaction } from '@electric-sql/pglite';\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 { type Assume, mapResultRow } from '~/utils.ts';\n\nimport { types } from '@electric-sql/pglite';\nimport type { BlankPgHookContext, DrizzlePgExtension } from '~/extension-core/pg/index.ts';\n\nexport type PgliteClient = PGlite;\n\nexport class PglitePreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'PglitePreparedQuery';\n\n\tprivate rawQueryConfig: QueryOptions;\n\tprivate queryConfig: QueryOptions;\n\n\tconstructor(\n\t\tprivate client: PgliteClient | Transaction,\n\t\tprivate queryString: 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\textensions?: DrizzlePgExtension[],\n\t\thookContext?: BlankPgHookContext,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params }, extensions, hookContext);\n\t\tthis.rawQueryConfig = {\n\t\t\trowMode: 'object',\n\t\t\tparsers: {\n\t\t\t\t[types.TIMESTAMP]: (value) => value,\n\t\t\t\t[types.TIMESTAMPTZ]: (value) => value,\n\t\t\t\t[types.INTERVAL]: (value) => value,\n\t\t\t\t[types.DATE]: (value) => value,\n\t\t\t\t// numeric[]\n\t\t\t\t[1231]: (value) => value,\n\t\t\t\t// timestamp[]\n\t\t\t\t[1115]: (value) => value,\n\t\t\t\t// timestamp with timezone[]\n\t\t\t\t[1185]: (value) => value,\n\t\t\t\t// interval[]\n\t\t\t\t[1187]: (value) => value,\n\t\t\t\t// date[]\n\t\t\t\t[1182]: (value) => value,\n\t\t\t},\n\t\t};\n\t\tthis.queryConfig = {\n\t\t\trowMode: 'array',\n\t\t\tparsers: {\n\t\t\t\t[types.TIMESTAMP]: (value) => value,\n\t\t\t\t[types.TIMESTAMPTZ]: (value) => value,\n\t\t\t\t[types.INTERVAL]: (value) => value,\n\t\t\t\t[types.DATE]: (value) => value,\n\t\t\t\t// numeric[]\n\t\t\t\t[1231]: (value) => value,\n\t\t\t\t// timestamp[]\n\t\t\t\t[1115]: (value) => value,\n\t\t\t\t// timestamp with timezone[]\n\t\t\t\t[1185]: (value) => value,\n\t\t\t\t// interval[]\n\t\t\t\t[1187]: (value) => value,\n\t\t\t\t// date[]\n\t\t\t\t[1182]: (value) => value,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync _execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst { fields, rawQueryConfig, client, queryConfig, joinsNotNullableMap, customResultMapper, queryString } = this;\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn client.query<any[]>(queryString, params, rawQueryConfig);\n\t\t}\n\n\t\tconst result = await client.query<any[][]>(queryString, params, queryConfig);\n\n\t\treturn customResultMapper\n\t\t\t? customResultMapper(result.rows)\n\t\t\t: result.rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tthis.logger.logQuery(this.queryString, params);\n\t\treturn this.client.query(this.queryString, params, this.rawQueryConfig).then((result) => result.rows);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface PgliteSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class PgliteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<PgliteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'PgliteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: PgliteClient | Transaction,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: PgliteSessionOptions = {},\n\t\textensions?: DrizzlePgExtension[],\n\t) {\n\t\tsuper(dialect, extensions);\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\thookContext?: BlankPgHookContext,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PgPreparedQuery<T> {\n\t\treturn new PglitePreparedQuery(\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\tthis.extensions,\n\t\t\thookContext,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: PgliteTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\treturn (this.client as PgliteClient).transaction(async (client) => {\n\t\t\tconst session = new PgliteSession<TFullSchema, TSchema>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t\tthis.extensions,\n\t\t\t);\n\t\t\tconst tx = new PgliteTransaction<TFullSchema, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession,\n\t\t\t\tthis.schema,\n\t\t\t\tundefined,\n\t\t\t\tthis.extensions,\n\t\t\t);\n\t\t\tif (config) {\n\t\t\t\tawait tx.setTransaction(config);\n\t\t\t}\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<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 PgliteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<PgliteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'PgliteTransaction';\n\n\toverride async transaction<T>(transaction: (tx: PgliteTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new PgliteTransaction<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\tthis._.extensions,\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 PgliteQueryResultHKT extends PgQueryResultHKT {\n\ttype: Results<Assume<this['row'], Row>>;\n}\n"],"mappings":"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","names":["sql"]}
@@ -9,8 +9,7 @@ import { PgPreparedQuery, PgSession } from "../pg-core/session.cjs";
9
9
  import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.cjs";
10
10
  import { type Query, type SQL } from "../sql/sql.cjs";
11
11
  import { type Assume } from "../utils.cjs";
12
- import { type Cache } from "../cache/core/cache.cjs";
13
- import type { WithCacheConfig } from "../cache/core/types.cjs";
12
+ import type { BlankPgHookContext, DrizzlePgExtension } from "../extension-core/pg/index.cjs";
14
13
  export type PgliteClient = PGlite;
15
14
  export declare class PglitePreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {
16
15
  private client;
@@ -23,16 +22,12 @@ export declare class PglitePreparedQuery<T extends PreparedQueryConfig> extends
23
22
  static readonly [entityKind]: string;
24
23
  private rawQueryConfig;
25
24
  private queryConfig;
26
- constructor(client: PgliteClient | Transaction, queryString: string, params: unknown[], logger: Logger, cache: Cache, queryMetadata: {
27
- type: 'select' | 'update' | 'delete' | 'insert';
28
- tables: string[];
29
- } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
30
- execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
25
+ constructor(client: PgliteClient | Transaction, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, extensions?: DrizzlePgExtension[], hookContext?: BlankPgHookContext, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
26
+ _execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
31
27
  all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']>;
32
28
  }
33
29
  export interface PgliteSessionOptions {
34
30
  logger?: Logger;
35
- cache?: Cache;
36
31
  }
37
32
  export declare class PgliteSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends PgSession<PgliteQueryResultHKT, TFullSchema, TSchema> {
38
33
  private client;
@@ -40,12 +35,8 @@ export declare class PgliteSession<TFullSchema extends Record<string, unknown>,
40
35
  private options;
41
36
  static readonly [entityKind]: string;
42
37
  private logger;
43
- private cache;
44
- constructor(client: PgliteClient | Transaction, dialect: PgDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: PgliteSessionOptions);
45
- prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => T['execute'], queryMetadata?: {
46
- type: 'select' | 'update' | 'delete' | 'insert';
47
- tables: string[];
48
- }, cacheConfig?: WithCacheConfig): PgPreparedQuery<T>;
38
+ constructor(client: PgliteClient | Transaction, dialect: PgDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: PgliteSessionOptions, extensions?: DrizzlePgExtension[]);
39
+ prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, hookContext?: BlankPgHookContext, customResultMapper?: (rows: unknown[][]) => T['execute']): PgPreparedQuery<T>;
49
40
  transaction<T>(transaction: (tx: PgliteTransaction<TFullSchema, TSchema>) => Promise<T>, config?: PgTransactionConfig | undefined): Promise<T>;
50
41
  count(sql: SQL): Promise<number>;
51
42
  }
@@ -9,8 +9,7 @@ import { PgPreparedQuery, PgSession } from "../pg-core/session.js";
9
9
  import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.js";
10
10
  import { type Query, type SQL } from "../sql/sql.js";
11
11
  import { type Assume } from "../utils.js";
12
- import { type Cache } from "../cache/core/cache.js";
13
- import type { WithCacheConfig } from "../cache/core/types.js";
12
+ import type { BlankPgHookContext, DrizzlePgExtension } from "../extension-core/pg/index.js";
14
13
  export type PgliteClient = PGlite;
15
14
  export declare class PglitePreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {
16
15
  private client;
@@ -23,16 +22,12 @@ export declare class PglitePreparedQuery<T extends PreparedQueryConfig> extends
23
22
  static readonly [entityKind]: string;
24
23
  private rawQueryConfig;
25
24
  private queryConfig;
26
- constructor(client: PgliteClient | Transaction, queryString: string, params: unknown[], logger: Logger, cache: Cache, queryMetadata: {
27
- type: 'select' | 'update' | 'delete' | 'insert';
28
- tables: string[];
29
- } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
30
- execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
25
+ constructor(client: PgliteClient | Transaction, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, extensions?: DrizzlePgExtension[], hookContext?: BlankPgHookContext, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
26
+ _execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
31
27
  all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']>;
32
28
  }
33
29
  export interface PgliteSessionOptions {
34
30
  logger?: Logger;
35
- cache?: Cache;
36
31
  }
37
32
  export declare class PgliteSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends PgSession<PgliteQueryResultHKT, TFullSchema, TSchema> {
38
33
  private client;
@@ -40,12 +35,8 @@ export declare class PgliteSession<TFullSchema extends Record<string, unknown>,
40
35
  private options;
41
36
  static readonly [entityKind]: string;
42
37
  private logger;
43
- private cache;
44
- constructor(client: PgliteClient | Transaction, dialect: PgDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: PgliteSessionOptions);
45
- prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => T['execute'], queryMetadata?: {
46
- type: 'select' | 'update' | 'delete' | 'insert';
47
- tables: string[];
48
- }, cacheConfig?: WithCacheConfig): PgPreparedQuery<T>;
38
+ constructor(client: PgliteClient | Transaction, dialect: PgDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: PgliteSessionOptions, extensions?: DrizzlePgExtension[]);
39
+ prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, hookContext?: BlankPgHookContext, customResultMapper?: (rows: unknown[][]) => T['execute']): PgPreparedQuery<T>;
49
40
  transaction<T>(transaction: (tx: PgliteTransaction<TFullSchema, TSchema>) => Promise<T>, config?: PgTransactionConfig | undefined): Promise<T>;
50
41
  count(sql: SQL): Promise<number>;
51
42
  }
package/pglite/session.js CHANGED
@@ -5,10 +5,9 @@ import { PgPreparedQuery, PgSession } from "../pg-core/session.js";
5
5
  import { fillPlaceholders, sql } from "../sql/sql.js";
6
6
  import { mapResultRow } from "../utils.js";
7
7
  import { types } from "@electric-sql/pglite";
8
- import { NoopCache } from "../cache/core/cache.js";
9
8
  class PglitePreparedQuery extends PgPreparedQuery {
10
- constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, name, _isResponseInArrayMode, customResultMapper) {
11
- super({ sql: queryString, params }, cache, queryMetadata, cacheConfig);
9
+ constructor(client, queryString, params, logger, fields, name, _isResponseInArrayMode, extensions, hookContext, customResultMapper) {
10
+ super({ sql: queryString, params }, extensions, hookContext);
12
11
  this.client = client;
13
12
  this.queryString = queryString;
14
13
  this.params = params;
@@ -58,26 +57,20 @@ class PglitePreparedQuery extends PgPreparedQuery {
58
57
  static [entityKind] = "PglitePreparedQuery";
59
58
  rawQueryConfig;
60
59
  queryConfig;
61
- async execute(placeholderValues = {}) {
60
+ async _execute(placeholderValues = {}) {
62
61
  const params = fillPlaceholders(this.params, placeholderValues);
63
62
  this.logger.logQuery(this.queryString, params);
64
- const { fields, client, queryConfig, joinsNotNullableMap, customResultMapper, queryString, rawQueryConfig } = this;
63
+ const { fields, rawQueryConfig, client, queryConfig, joinsNotNullableMap, customResultMapper, queryString } = this;
65
64
  if (!fields && !customResultMapper) {
66
- return this.queryWithCache(queryString, params, async () => {
67
- return await client.query(queryString, params, rawQueryConfig);
68
- });
65
+ return client.query(queryString, params, rawQueryConfig);
69
66
  }
70
- const result = await this.queryWithCache(queryString, params, async () => {
71
- return await client.query(queryString, params, queryConfig);
72
- });
67
+ const result = await client.query(queryString, params, queryConfig);
73
68
  return customResultMapper ? customResultMapper(result.rows) : result.rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
74
69
  }
75
70
  all(placeholderValues = {}) {
76
71
  const params = fillPlaceholders(this.params, placeholderValues);
77
72
  this.logger.logQuery(this.queryString, params);
78
- return this.queryWithCache(this.queryString, params, async () => {
79
- return await this.client.query(this.queryString, params, this.rawQueryConfig);
80
- }).then((result) => result.rows);
73
+ return this.client.query(this.queryString, params, this.rawQueryConfig).then((result) => result.rows);
81
74
  }
82
75
  /** @internal */
83
76
  isResponseInArrayMode() {
@@ -85,29 +78,26 @@ class PglitePreparedQuery extends PgPreparedQuery {
85
78
  }
86
79
  }
87
80
  class PgliteSession extends PgSession {
88
- constructor(client, dialect, schema, options = {}) {
89
- super(dialect);
81
+ constructor(client, dialect, schema, options = {}, extensions) {
82
+ super(dialect, extensions);
90
83
  this.client = client;
91
84
  this.schema = schema;
92
85
  this.options = options;
93
86
  this.logger = options.logger ?? new NoopLogger();
94
- this.cache = options.cache ?? new NoopCache();
95
87
  }
96
88
  static [entityKind] = "PgliteSession";
97
89
  logger;
98
- cache;
99
- prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
90
+ prepareQuery(query, fields, name, isResponseInArrayMode, hookContext, customResultMapper) {
100
91
  return new PglitePreparedQuery(
101
92
  this.client,
102
93
  query.sql,
103
94
  query.params,
104
95
  this.logger,
105
- this.cache,
106
- queryMetadata,
107
- cacheConfig,
108
96
  fields,
109
97
  name,
110
98
  isResponseInArrayMode,
99
+ this.extensions,
100
+ hookContext,
111
101
  customResultMapper
112
102
  );
113
103
  }
@@ -117,9 +107,16 @@ class PgliteSession extends PgSession {
117
107
  client,
118
108
  this.dialect,
119
109
  this.schema,
120
- this.options
110
+ this.options,
111
+ this.extensions
112
+ );
113
+ const tx = new PgliteTransaction(
114
+ this.dialect,
115
+ session,
116
+ this.schema,
117
+ void 0,
118
+ this.extensions
121
119
  );
122
- const tx = new PgliteTransaction(this.dialect, session, this.schema);
123
120
  if (config) {
124
121
  await tx.setTransaction(config);
125
122
  }
@@ -141,7 +138,8 @@ class PgliteTransaction extends PgTransaction {
141
138
  this.dialect,
142
139
  this.session,
143
140
  this.schema,
144
- this.nestedIndex + 1
141
+ this.nestedIndex + 1,
142
+ this._.extensions
145
143
  );
146
144
  await tx.execute(sql.raw(`savepoint ${savepointName}`));
147
145
  try {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pglite/session.ts"],"sourcesContent":["import type { PGlite, QueryOptions, Results, Row, Transaction } from '@electric-sql/pglite';\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 { type Assume, mapResultRow } from '~/utils.ts';\n\nimport { types } from '@electric-sql/pglite';\nimport { type Cache, NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\n\nexport type PgliteClient = PGlite;\n\nexport class PglitePreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'PglitePreparedQuery';\n\n\tprivate rawQueryConfig: QueryOptions;\n\tprivate queryConfig: QueryOptions;\n\n\tconstructor(\n\t\tprivate client: PgliteClient | Transaction,\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\trowMode: 'object',\n\t\t\tparsers: {\n\t\t\t\t[types.TIMESTAMP]: (value) => value,\n\t\t\t\t[types.TIMESTAMPTZ]: (value) => value,\n\t\t\t\t[types.INTERVAL]: (value) => value,\n\t\t\t\t[types.DATE]: (value) => value,\n\t\t\t\t// numeric[]\n\t\t\t\t[1231]: (value) => value,\n\t\t\t\t// timestamp[]\n\t\t\t\t[1115]: (value) => value,\n\t\t\t\t// timestamp with timezone[]\n\t\t\t\t[1185]: (value) => value,\n\t\t\t\t// interval[]\n\t\t\t\t[1187]: (value) => value,\n\t\t\t\t// date[]\n\t\t\t\t[1182]: (value) => value,\n\t\t\t},\n\t\t};\n\t\tthis.queryConfig = {\n\t\t\trowMode: 'array',\n\t\t\tparsers: {\n\t\t\t\t[types.TIMESTAMP]: (value) => value,\n\t\t\t\t[types.TIMESTAMPTZ]: (value) => value,\n\t\t\t\t[types.INTERVAL]: (value) => value,\n\t\t\t\t[types.DATE]: (value) => value,\n\t\t\t\t// numeric[]\n\t\t\t\t[1231]: (value) => value,\n\t\t\t\t// timestamp[]\n\t\t\t\t[1115]: (value) => value,\n\t\t\t\t// timestamp with timezone[]\n\t\t\t\t[1185]: (value) => value,\n\t\t\t\t// interval[]\n\t\t\t\t[1187]: (value) => value,\n\t\t\t\t// date[]\n\t\t\t\t[1182]: (value) => value,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst { fields, client, queryConfig, joinsNotNullableMap, customResultMapper, queryString, rawQueryConfig } = this;\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn this.queryWithCache(queryString, params, async () => {\n\t\t\t\treturn await client.query<any[]>(queryString, params, rawQueryConfig);\n\t\t\t});\n\t\t}\n\n\t\tconst result = await this.queryWithCache(queryString, params, async () => {\n\t\t\treturn await client.query<any[]>(queryString, params, queryConfig);\n\t\t});\n\n\t\treturn customResultMapper\n\t\t\t? customResultMapper(result.rows)\n\t\t\t: result.rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tthis.logger.logQuery(this.queryString, params);\n\t\treturn this.queryWithCache(this.queryString, params, async () => {\n\t\t\treturn await this.client.query<any[]>(this.queryString, params, this.rawQueryConfig);\n\t\t}).then((result) => result.rows);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface PgliteSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class PgliteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<PgliteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'PgliteSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: PgliteClient | Transaction,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: PgliteSessionOptions = {},\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 PglitePreparedQuery(\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: PgliteTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\treturn (this.client as PgliteClient).transaction(async (client) => {\n\t\t\tconst session = new PgliteSession<TFullSchema, TSchema>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new PgliteTransaction<TFullSchema, TSchema>(this.dialect, session, this.schema);\n\t\t\tif (config) {\n\t\t\t\tawait tx.setTransaction(config);\n\t\t\t}\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<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 PgliteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<PgliteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'PgliteTransaction';\n\n\toverride async transaction<T>(transaction: (tx: PgliteTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new PgliteTransaction<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 PgliteQueryResultHKT extends PgQueryResultHKT {\n\ttype: Results<Assume<this['row'], Row>>;\n}\n"],"mappings":"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","names":["sql"]}
1
+ {"version":3,"sources":["../../src/pglite/session.ts"],"sourcesContent":["import type { PGlite, QueryOptions, Results, Row, Transaction } from '@electric-sql/pglite';\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 { type Assume, mapResultRow } from '~/utils.ts';\n\nimport { types } from '@electric-sql/pglite';\nimport type { BlankPgHookContext, DrizzlePgExtension } from '~/extension-core/pg/index.ts';\n\nexport type PgliteClient = PGlite;\n\nexport class PglitePreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'PglitePreparedQuery';\n\n\tprivate rawQueryConfig: QueryOptions;\n\tprivate queryConfig: QueryOptions;\n\n\tconstructor(\n\t\tprivate client: PgliteClient | Transaction,\n\t\tprivate queryString: 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\textensions?: DrizzlePgExtension[],\n\t\thookContext?: BlankPgHookContext,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params }, extensions, hookContext);\n\t\tthis.rawQueryConfig = {\n\t\t\trowMode: 'object',\n\t\t\tparsers: {\n\t\t\t\t[types.TIMESTAMP]: (value) => value,\n\t\t\t\t[types.TIMESTAMPTZ]: (value) => value,\n\t\t\t\t[types.INTERVAL]: (value) => value,\n\t\t\t\t[types.DATE]: (value) => value,\n\t\t\t\t// numeric[]\n\t\t\t\t[1231]: (value) => value,\n\t\t\t\t// timestamp[]\n\t\t\t\t[1115]: (value) => value,\n\t\t\t\t// timestamp with timezone[]\n\t\t\t\t[1185]: (value) => value,\n\t\t\t\t// interval[]\n\t\t\t\t[1187]: (value) => value,\n\t\t\t\t// date[]\n\t\t\t\t[1182]: (value) => value,\n\t\t\t},\n\t\t};\n\t\tthis.queryConfig = {\n\t\t\trowMode: 'array',\n\t\t\tparsers: {\n\t\t\t\t[types.TIMESTAMP]: (value) => value,\n\t\t\t\t[types.TIMESTAMPTZ]: (value) => value,\n\t\t\t\t[types.INTERVAL]: (value) => value,\n\t\t\t\t[types.DATE]: (value) => value,\n\t\t\t\t// numeric[]\n\t\t\t\t[1231]: (value) => value,\n\t\t\t\t// timestamp[]\n\t\t\t\t[1115]: (value) => value,\n\t\t\t\t// timestamp with timezone[]\n\t\t\t\t[1185]: (value) => value,\n\t\t\t\t// interval[]\n\t\t\t\t[1187]: (value) => value,\n\t\t\t\t// date[]\n\t\t\t\t[1182]: (value) => value,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync _execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst { fields, rawQueryConfig, client, queryConfig, joinsNotNullableMap, customResultMapper, queryString } = this;\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn client.query<any[]>(queryString, params, rawQueryConfig);\n\t\t}\n\n\t\tconst result = await client.query<any[][]>(queryString, params, queryConfig);\n\n\t\treturn customResultMapper\n\t\t\t? customResultMapper(result.rows)\n\t\t\t: result.rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tthis.logger.logQuery(this.queryString, params);\n\t\treturn this.client.query(this.queryString, params, this.rawQueryConfig).then((result) => result.rows);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface PgliteSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class PgliteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<PgliteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'PgliteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: PgliteClient | Transaction,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: PgliteSessionOptions = {},\n\t\textensions?: DrizzlePgExtension[],\n\t) {\n\t\tsuper(dialect, extensions);\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\thookContext?: BlankPgHookContext,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PgPreparedQuery<T> {\n\t\treturn new PglitePreparedQuery(\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\tthis.extensions,\n\t\t\thookContext,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: PgliteTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\treturn (this.client as PgliteClient).transaction(async (client) => {\n\t\t\tconst session = new PgliteSession<TFullSchema, TSchema>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t\tthis.extensions,\n\t\t\t);\n\t\t\tconst tx = new PgliteTransaction<TFullSchema, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession,\n\t\t\t\tthis.schema,\n\t\t\t\tundefined,\n\t\t\t\tthis.extensions,\n\t\t\t);\n\t\t\tif (config) {\n\t\t\t\tawait tx.setTransaction(config);\n\t\t\t}\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<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 PgliteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<PgliteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'PgliteTransaction';\n\n\toverride async transaction<T>(transaction: (tx: PgliteTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new PgliteTransaction<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\tthis._.extensions,\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 PgliteQueryResultHKT extends PgQueryResultHKT {\n\ttype: Results<Assume<this['row'], Row>>;\n}\n"],"mappings":"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","names":["sql"]}
@@ -67,13 +67,10 @@ const db = drizzle(client);
67
67
  tableNamesMap: tablesConfig.tableNamesMap
68
68
  };
69
69
  }
70
- const session = new import_session.PlanetscaleSession(client, dialect, void 0, schema, { logger, cache: config.cache });
71
- const db = new PlanetScaleDatabase(dialect, session, schema, "planetscale");
70
+ const extensions = config.extensions;
71
+ const session = new import_session.PlanetscaleSession(client, dialect, void 0, schema, { logger }, extensions);
72
+ const db = new PlanetScaleDatabase(dialect, session, schema, "planetscale", extensions);
72
73
  db.$client = client;
73
- db.$cache = config.cache;
74
- if (db.$cache) {
75
- db.$cache["invalidate"] = config.cache?.onMutate;
76
- }
77
74
  return db;
78
75
  }
79
76
  function drizzle(...params) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/planetscale-serverless/driver.ts"],"sourcesContent":["import type { Config } from '@planetscale/database';\nimport { Client } from '@planetscale/database';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { PlanetScalePreparedQueryHKT, PlanetscaleQueryResultHKT } from './session.ts';\nimport { PlanetscaleSession } from './session.ts';\n\nexport interface PlanetscaleSDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class PlanetScaleDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): PlanetScaleDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\t// Client is not Drizzle Object, so we can ignore this rule here\n\t// eslint-disable-next-line no-instanceof/no-instanceof\n\tif (!(client instanceof Client)) {\n\t\tthrow new Error(`Warning: You need to pass an instance of Client:\n\nimport { Client } from \"@planetscale/database\";\n\nconst client = new Client({\n host: process.env[\"DATABASE_HOST\"],\n username: process.env[\"DATABASE_USERNAME\"],\n password: process.env[\"DATABASE_PASSWORD\"],\n});\n\nconst db = drizzle(client);\n\t\t`);\n\t}\n\n\tconst dialect = new MySqlDialect({ 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 PlanetscaleSession(client, dialect, undefined, schema, { logger, cache: config.cache });\n\tconst db = new PlanetScaleDatabase(dialect, session, schema as any, 'planetscale') as PlanetScaleDatabase<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\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PlanetScaleDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Client({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config | string; client?: TClient }\n\t\t\t& DrizzleConfig;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? new Client({\n\t\t\t\turl: connection,\n\t\t\t})\n\t\t\t: new Client(\n\t\t\t\tconnection!,\n\t\t\t);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): PlanetScaleDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAAuB;AACvB,oBAA2B;AAE3B,oBAA8B;AAC9B,gBAA8B;AAC9B,qBAA6B;AAC7B,uBAKO;AACP,mBAA6C;AAE7C,qBAAmC;AAO5B,MAAM,4BAEH,wBAA+E;AAAA,EACxF,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAAiC,CAAC,GAGjC;AAGD,MAAI,EAAE,kBAAkB,yBAAS;AAChC,UAAM,IAAI,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWf;AAAA,EACF;AAEA,QAAM,UAAU,IAAI,4BAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,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,kCAAmB,QAAQ,SAAS,QAAW,QAAQ,EAAE,QAAQ,OAAO,OAAO,MAAM,CAAC;AAC1G,QAAM,KAAK,IAAI,oBAAoB,SAAS,SAAS,QAAe,aAAa;AACjF,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;AAEO,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,uBAAO;AAAA,MAC3B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI;AAAQ,aAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WACpC,IAAI,uBAAO;AAAA,MACZ,KAAK;AAAA,IACN,CAAC,IACC,IAAI;AAAA,MACL;AAAA,IACD;AAED,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAuC;AACvF;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
1
+ {"version":3,"sources":["../../src/planetscale-serverless/driver.ts"],"sourcesContent":["import type { Config } from '@planetscale/database';\nimport { Client } from '@planetscale/database';\nimport { entityKind } from '~/entity.ts';\nimport type { DrizzleMySqlExtension } from '~/extension-core/mysql/index.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { PlanetScalePreparedQueryHKT, PlanetscaleQueryResultHKT } from './session.ts';\nimport { PlanetscaleSession } from './session.ts';\n\nexport interface PlanetscaleSDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class PlanetScaleDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, DrizzleMySqlExtension> = {},\n): PlanetScaleDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\t// Client is not Drizzle Object, so we can ignore this rule here\n\t// eslint-disable-next-line no-instanceof/no-instanceof\n\tif (!(client instanceof Client)) {\n\t\tthrow new Error(`Warning: You need to pass an instance of Client:\n\nimport { Client } from \"@planetscale/database\";\n\nconst client = new Client({\n host: process.env[\"DATABASE_HOST\"],\n username: process.env[\"DATABASE_USERNAME\"],\n password: process.env[\"DATABASE_PASSWORD\"],\n});\n\nconst db = drizzle(client);\n\t\t`);\n\t}\n\n\tconst dialect = new MySqlDialect({ 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 extensions = config.extensions;\n\tconst session = new PlanetscaleSession(client, dialect, undefined, schema, { logger }, extensions);\n\tconst db = new PlanetScaleDatabase(dialect, session, schema as any, 'planetscale', extensions) as PlanetScaleDatabase<\n\t\tTSchema\n\t>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, DrizzleMySqlExtension>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, DrizzleMySqlExtension>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PlanetScaleDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Client({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config | string; client?: TClient }\n\t\t\t& DrizzleConfig;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? new Client({\n\t\t\t\turl: connection,\n\t\t\t})\n\t\t\t: new Client(\n\t\t\t\tconnection!,\n\t\t\t);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, DrizzleMySqlExtension> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzleMySqlExtension>,\n\t): PlanetScaleDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAAuB;AACvB,oBAA2B;AAG3B,oBAA8B;AAC9B,gBAA8B;AAC9B,qBAA6B;AAC7B,uBAKO;AACP,mBAA6C;AAE7C,qBAAmC;AAM5B,MAAM,4BAEH,wBAA+E;AAAA,EACxF,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAAwD,CAAC,GAGxD;AAGD,MAAI,EAAE,kBAAkB,yBAAS;AAChC,UAAM,IAAI,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWf;AAAA,EACF;AAEA,QAAM,UAAU,IAAI,4BAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,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,aAAa,OAAO;AAC1B,QAAM,UAAU,IAAI,kCAAmB,QAAQ,SAAS,QAAW,QAAQ,EAAE,OAAO,GAAG,UAAU;AACjG,QAAM,KAAK,IAAI,oBAAoB,SAAS,SAAS,QAAe,eAAe,UAAU;AAG7F,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAEO,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,uBAAO;AAAA,MAC3B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI;AAAQ,aAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WACpC,IAAI,uBAAO;AAAA,MACZ,KAAK;AAAA,IACN,CAAC,IACC,IAAI;AAAA,MACL;AAAA,IACD;AAED,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAA8D;AAC9G;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
@@ -1,13 +1,13 @@
1
1
  import type { Config } from '@planetscale/database';
2
2
  import { Client } from '@planetscale/database';
3
3
  import { entityKind } from "../entity.cjs";
4
+ import type { DrizzleMySqlExtension } from "../extension-core/mysql/index.cjs";
4
5
  import type { Logger } from "../logger.cjs";
5
6
  import { MySqlDatabase } from "../mysql-core/db.cjs";
6
7
  import { type DrizzleConfig } from "../utils.cjs";
7
8
  import type { PlanetScalePreparedQueryHKT, PlanetscaleQueryResultHKT } from "./session.cjs";
8
9
  export interface PlanetscaleSDriverOptions {
9
10
  logger?: Logger;
10
- cache?: Cache;
11
11
  }
12
12
  export declare class PlanetScaleDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema> {
13
13
  static readonly [entityKind]: string;
@@ -16,9 +16,9 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
16
16
  TClient | string
17
17
  ] | [
18
18
  TClient | string,
19
- DrizzleConfig<TSchema>
19
+ DrizzleConfig<TSchema, DrizzleMySqlExtension>
20
20
  ] | [
21
- (DrizzleConfig<TSchema> & ({
21
+ (DrizzleConfig<TSchema, DrizzleMySqlExtension> & ({
22
22
  connection: string | Config;
23
23
  } | {
24
24
  client: TClient;
@@ -27,7 +27,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
27
27
  $client: TClient;
28
28
  };
29
29
  export declare namespace drizzle {
30
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): PlanetScaleDatabase<TSchema> & {
30
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzleMySqlExtension>): PlanetScaleDatabase<TSchema> & {
31
31
  $client: '$client is not available on drizzle.mock()';
32
32
  };
33
33
  }
@@ -1,13 +1,13 @@
1
1
  import type { Config } from '@planetscale/database';
2
2
  import { Client } from '@planetscale/database';
3
3
  import { entityKind } from "../entity.js";
4
+ import type { DrizzleMySqlExtension } from "../extension-core/mysql/index.js";
4
5
  import type { Logger } from "../logger.js";
5
6
  import { MySqlDatabase } from "../mysql-core/db.js";
6
7
  import { type DrizzleConfig } from "../utils.js";
7
8
  import type { PlanetScalePreparedQueryHKT, PlanetscaleQueryResultHKT } from "./session.js";
8
9
  export interface PlanetscaleSDriverOptions {
9
10
  logger?: Logger;
10
- cache?: Cache;
11
11
  }
12
12
  export declare class PlanetScaleDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema> {
13
13
  static readonly [entityKind]: string;
@@ -16,9 +16,9 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
16
16
  TClient | string
17
17
  ] | [
18
18
  TClient | string,
19
- DrizzleConfig<TSchema>
19
+ DrizzleConfig<TSchema, DrizzleMySqlExtension>
20
20
  ] | [
21
- (DrizzleConfig<TSchema> & ({
21
+ (DrizzleConfig<TSchema, DrizzleMySqlExtension> & ({
22
22
  connection: string | Config;
23
23
  } | {
24
24
  client: TClient;
@@ -27,7 +27,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
27
27
  $client: TClient;
28
28
  };
29
29
  export declare namespace drizzle {
30
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): PlanetScaleDatabase<TSchema> & {
30
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzleMySqlExtension>): PlanetScaleDatabase<TSchema> & {
31
31
  $client: '$client is not available on drizzle.mock()';
32
32
  };
33
33
  }
@@ -46,13 +46,10 @@ const db = drizzle(client);
46
46
  tableNamesMap: tablesConfig.tableNamesMap
47
47
  };
48
48
  }
49
- const session = new PlanetscaleSession(client, dialect, void 0, schema, { logger, cache: config.cache });
50
- const db = new PlanetScaleDatabase(dialect, session, schema, "planetscale");
49
+ const extensions = config.extensions;
50
+ const session = new PlanetscaleSession(client, dialect, void 0, schema, { logger }, extensions);
51
+ const db = new PlanetScaleDatabase(dialect, session, schema, "planetscale", extensions);
51
52
  db.$client = client;
52
- db.$cache = config.cache;
53
- if (db.$cache) {
54
- db.$cache["invalidate"] = config.cache?.onMutate;
55
- }
56
53
  return db;
57
54
  }
58
55
  function drizzle(...params) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/planetscale-serverless/driver.ts"],"sourcesContent":["import type { Config } from '@planetscale/database';\nimport { Client } from '@planetscale/database';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { PlanetScalePreparedQueryHKT, PlanetscaleQueryResultHKT } from './session.ts';\nimport { PlanetscaleSession } from './session.ts';\n\nexport interface PlanetscaleSDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class PlanetScaleDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): PlanetScaleDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\t// Client is not Drizzle Object, so we can ignore this rule here\n\t// eslint-disable-next-line no-instanceof/no-instanceof\n\tif (!(client instanceof Client)) {\n\t\tthrow new Error(`Warning: You need to pass an instance of Client:\n\nimport { Client } from \"@planetscale/database\";\n\nconst client = new Client({\n host: process.env[\"DATABASE_HOST\"],\n username: process.env[\"DATABASE_USERNAME\"],\n password: process.env[\"DATABASE_PASSWORD\"],\n});\n\nconst db = drizzle(client);\n\t\t`);\n\t}\n\n\tconst dialect = new MySqlDialect({ 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 PlanetscaleSession(client, dialect, undefined, schema, { logger, cache: config.cache });\n\tconst db = new PlanetScaleDatabase(dialect, session, schema as any, 'planetscale') as PlanetScaleDatabase<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\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PlanetScaleDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Client({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config | string; client?: TClient }\n\t\t\t& DrizzleConfig;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? new Client({\n\t\t\t\turl: connection,\n\t\t\t})\n\t\t\t: new Client(\n\t\t\t\tconnection!,\n\t\t\t);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): PlanetScaleDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AACA,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAE3B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAA6B,gBAAgB;AAE7C,SAAS,0BAA0B;AAO5B,MAAM,4BAEH,cAA+E;AAAA,EACxF,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAAiC,CAAC,GAGjC;AAGD,MAAI,EAAE,kBAAkB,SAAS;AAChC,UAAM,IAAI,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWf;AAAA,EACF;AAEA,QAAM,UAAU,IAAI,aAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,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,mBAAmB,QAAQ,SAAS,QAAW,QAAQ,EAAE,QAAQ,OAAO,OAAO,MAAM,CAAC;AAC1G,QAAM,KAAK,IAAI,oBAAoB,SAAS,SAAS,QAAe,aAAa;AACjF,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;AAEO,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,OAAO;AAAA,MAC3B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI;AAAQ,aAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WACpC,IAAI,OAAO;AAAA,MACZ,KAAK;AAAA,IACN,CAAC,IACC,IAAI;AAAA,MACL;AAAA,IACD;AAED,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAuC;AACvF;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
1
+ {"version":3,"sources":["../../src/planetscale-serverless/driver.ts"],"sourcesContent":["import type { Config } from '@planetscale/database';\nimport { Client } from '@planetscale/database';\nimport { entityKind } from '~/entity.ts';\nimport type { DrizzleMySqlExtension } from '~/extension-core/mysql/index.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { PlanetScalePreparedQueryHKT, PlanetscaleQueryResultHKT } from './session.ts';\nimport { PlanetscaleSession } from './session.ts';\n\nexport interface PlanetscaleSDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class PlanetScaleDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, DrizzleMySqlExtension> = {},\n): PlanetScaleDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\t// Client is not Drizzle Object, so we can ignore this rule here\n\t// eslint-disable-next-line no-instanceof/no-instanceof\n\tif (!(client instanceof Client)) {\n\t\tthrow new Error(`Warning: You need to pass an instance of Client:\n\nimport { Client } from \"@planetscale/database\";\n\nconst client = new Client({\n host: process.env[\"DATABASE_HOST\"],\n username: process.env[\"DATABASE_USERNAME\"],\n password: process.env[\"DATABASE_PASSWORD\"],\n});\n\nconst db = drizzle(client);\n\t\t`);\n\t}\n\n\tconst dialect = new MySqlDialect({ 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 extensions = config.extensions;\n\tconst session = new PlanetscaleSession(client, dialect, undefined, schema, { logger }, extensions);\n\tconst db = new PlanetScaleDatabase(dialect, session, schema as any, 'planetscale', extensions) as PlanetScaleDatabase<\n\t\tTSchema\n\t>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, DrizzleMySqlExtension>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, DrizzleMySqlExtension>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PlanetScaleDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Client({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config | string; client?: TClient }\n\t\t\t& DrizzleConfig;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? new Client({\n\t\t\t\turl: connection,\n\t\t\t})\n\t\t\t: new Client(\n\t\t\t\tconnection!,\n\t\t\t);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, DrizzleMySqlExtension> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzleMySqlExtension>,\n\t): PlanetScaleDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AACA,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAG3B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAA6B,gBAAgB;AAE7C,SAAS,0BAA0B;AAM5B,MAAM,4BAEH,cAA+E;AAAA,EACxF,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAAwD,CAAC,GAGxD;AAGD,MAAI,EAAE,kBAAkB,SAAS;AAChC,UAAM,IAAI,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWf;AAAA,EACF;AAEA,QAAM,UAAU,IAAI,aAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,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,aAAa,OAAO;AAC1B,QAAM,UAAU,IAAI,mBAAmB,QAAQ,SAAS,QAAW,QAAQ,EAAE,OAAO,GAAG,UAAU;AACjG,QAAM,KAAK,IAAI,oBAAoB,SAAS,SAAS,QAAe,eAAe,UAAU;AAG7F,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAEO,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,OAAO;AAAA,MAC3B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI;AAAQ,aAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WACpC,IAAI,OAAO;AAAA,MACZ,KAAK;AAAA,IACN,CAAC,IACC,IAAI;AAAA,MACL;AAAA,IACD;AAED,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAA8D;AAC9G;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
@@ -23,7 +23,6 @@ __export(session_exports, {
23
23
  PlanetscaleSession: () => PlanetscaleSession
24
24
  });
25
25
  module.exports = __toCommonJS(session_exports);
26
- var import_core = require("../cache/core/index.cjs");
27
26
  var import_column = require("../column.cjs");
28
27
  var import_entity = require("../entity.cjs");
29
28
  var import_logger = require("../logger.cjs");
@@ -31,11 +30,9 @@ var import_session = require("../mysql-core/session.cjs");
31
30
  var import_sql = require("../sql/sql.cjs");
32
31
  var import_utils = require("../utils.cjs");
33
32
  class PlanetScalePreparedQuery extends import_session.MySqlPreparedQuery {
34
- constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, customResultMapper, generatedIds, returningIds) {
35
- super(cache, queryMetadata, cacheConfig);
33
+ constructor(client, queryString, params, logger, fields, extensions, hookContext, customResultMapper, generatedIds, returningIds) {
34
+ super(queryString, params, extensions, hookContext);
36
35
  this.client = client;
37
- this.queryString = queryString;
38
- this.params = params;
39
36
  this.logger = logger;
40
37
  this.fields = fields;
41
38
  this.customResultMapper = customResultMapper;
@@ -45,7 +42,7 @@ class PlanetScalePreparedQuery extends import_session.MySqlPreparedQuery {
45
42
  static [import_entity.entityKind] = "PlanetScalePreparedQuery";
46
43
  rawQuery = { as: "object" };
47
44
  query = { as: "array" };
48
- async execute(placeholderValues = {}) {
45
+ async _execute(placeholderValues = {}) {
49
46
  const params = (0, import_sql.fillPlaceholders)(this.params, placeholderValues);
50
47
  this.logger.logQuery(this.queryString, params);
51
48
  const {
@@ -60,9 +57,7 @@ class PlanetScalePreparedQuery extends import_session.MySqlPreparedQuery {
60
57
  generatedIds
61
58
  } = this;
62
59
  if (!fields && !customResultMapper) {
63
- const res = await this.queryWithCache(queryString, params, async () => {
64
- return await client.execute(queryString, params, rawQuery);
65
- });
60
+ const res = await client.execute(queryString, params, rawQuery);
66
61
  const insertId = Number.parseFloat(res.insertId);
67
62
  const affectedRows = res.rowsAffected;
68
63
  if (returningIds) {
@@ -86,9 +81,7 @@ class PlanetScalePreparedQuery extends import_session.MySqlPreparedQuery {
86
81
  }
87
82
  return res;
88
83
  }
89
- const { rows } = await this.queryWithCache(queryString, params, async () => {
90
- return await client.execute(queryString, params, query);
91
- });
84
+ const { rows } = await client.execute(queryString, params, query);
92
85
  if (customResultMapper) {
93
86
  return customResultMapper(rows);
94
87
  }
@@ -99,29 +92,26 @@ class PlanetScalePreparedQuery extends import_session.MySqlPreparedQuery {
99
92
  }
100
93
  }
101
94
  class PlanetscaleSession extends import_session.MySqlSession {
102
- constructor(baseClient, dialect, tx, schema, options = {}) {
103
- super(dialect);
95
+ constructor(baseClient, dialect, tx, schema, options = {}, extensions) {
96
+ super(dialect, extensions);
104
97
  this.baseClient = baseClient;
105
98
  this.schema = schema;
106
99
  this.options = options;
107
100
  this.client = tx ?? baseClient;
108
101
  this.logger = options.logger ?? new import_logger.NoopLogger();
109
- this.cache = options.cache ?? new import_core.NoopCache();
110
102
  }
111
103
  static [import_entity.entityKind] = "PlanetscaleSession";
112
104
  logger;
113
105
  client;
114
- cache;
115
- prepareQuery(query, fields, customResultMapper, generatedIds, returningIds, queryMetadata, cacheConfig) {
106
+ prepareQuery(query, fields, hookContext, customResultMapper, generatedIds, returningIds) {
116
107
  return new PlanetScalePreparedQuery(
117
108
  this.client,
118
109
  query.sql,
119
110
  query.params,
120
111
  this.logger,
121
- this.cache,
122
- queryMetadata,
123
- cacheConfig,
124
112
  fields,
113
+ this.extensions,
114
+ hookContext,
125
115
  customResultMapper,
126
116
  generatedIds,
127
117
  returningIds
@@ -147,11 +137,20 @@ class PlanetscaleSession extends import_session.MySqlSession {
147
137
  }
148
138
  transaction(transaction) {
149
139
  return this.baseClient.transaction((pstx) => {
150
- const session = new PlanetscaleSession(this.baseClient, this.dialect, pstx, this.schema, this.options);
140
+ const session = new PlanetscaleSession(
141
+ this.baseClient,
142
+ this.dialect,
143
+ pstx,
144
+ this.schema,
145
+ this.options,
146
+ this.extensions
147
+ );
151
148
  const tx = new PlanetScaleTransaction(
152
149
  this.dialect,
153
150
  session,
154
- this.schema
151
+ this.schema,
152
+ void 0,
153
+ this.extensions
155
154
  );
156
155
  return transaction(tx);
157
156
  });
@@ -159,8 +158,8 @@ class PlanetscaleSession extends import_session.MySqlSession {
159
158
  }
160
159
  class PlanetScaleTransaction extends import_session.MySqlTransaction {
161
160
  static [import_entity.entityKind] = "PlanetScaleTransaction";
162
- constructor(dialect, session, schema, nestedIndex = 0) {
163
- super(dialect, session, schema, nestedIndex, "planetscale");
161
+ constructor(dialect, session, schema, nestedIndex = 0, extensions) {
162
+ super(dialect, session, schema, nestedIndex, "planetscale", extensions);
164
163
  }
165
164
  async transaction(transaction) {
166
165
  const savepointName = `sp${this.nestedIndex + 1}`;
@@ -168,7 +167,8 @@ class PlanetScaleTransaction extends import_session.MySqlTransaction {
168
167
  this.dialect,
169
168
  this.session,
170
169
  this.schema,
171
- this.nestedIndex + 1
170
+ this.nestedIndex + 1,
171
+ this._.extensions
172
172
  );
173
173
  await tx.execute(import_sql.sql.raw(`savepoint ${savepointName}`));
174
174
  try {