drizzle-orm 0.44.2-512acc4 → 0.44.2-6baabce

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 (775) hide show
  1. package/aws-data-api/pg/driver.cjs +6 -14
  2. package/aws-data-api/pg/driver.cjs.map +1 -1
  3. package/aws-data-api/pg/driver.d.cts +3 -4
  4. package/aws-data-api/pg/driver.d.ts +3 -4
  5. package/aws-data-api/pg/driver.js +6 -14
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/aws-data-api/pg/session.cjs +9 -26
  8. package/aws-data-api/pg/session.cjs.map +1 -1
  9. package/aws-data-api/pg/session.d.cts +4 -5
  10. package/aws-data-api/pg/session.d.ts +4 -5
  11. package/aws-data-api/pg/session.js +9 -26
  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 +3 -4
  15. package/better-sqlite3/driver.d.ts +3 -4
  16. package/better-sqlite3/driver.js.map +1 -1
  17. package/better-sqlite3/session.cjs +4 -4
  18. package/better-sqlite3/session.cjs.map +1 -1
  19. package/better-sqlite3/session.d.cts +4 -4
  20. package/better-sqlite3/session.d.ts +4 -4
  21. package/better-sqlite3/session.js +4 -4
  22. package/better-sqlite3/session.js.map +1 -1
  23. package/bun-sql/driver.cjs +2 -3
  24. package/bun-sql/driver.cjs.map +1 -1
  25. package/bun-sql/driver.d.cts +3 -4
  26. package/bun-sql/driver.d.ts +3 -4
  27. package/bun-sql/driver.js +2 -3
  28. package/bun-sql/driver.js.map +1 -1
  29. package/bun-sql/session.cjs +11 -20
  30. package/bun-sql/session.cjs.map +1 -1
  31. package/bun-sql/session.d.cts +5 -6
  32. package/bun-sql/session.d.ts +5 -6
  33. package/bun-sql/session.js +11 -20
  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 +3 -4
  37. package/bun-sqlite/driver.d.ts +3 -4
  38. package/bun-sqlite/driver.js.map +1 -1
  39. package/bun-sqlite/session.cjs +4 -4
  40. package/bun-sqlite/session.cjs.map +1 -1
  41. package/bun-sqlite/session.d.cts +4 -4
  42. package/bun-sqlite/session.d.ts +4 -4
  43. package/bun-sqlite/session.js +4 -4
  44. package/bun-sqlite/session.js.map +1 -1
  45. package/column-builder.cjs.map +1 -1
  46. package/column-builder.d.cts +2 -7
  47. package/column-builder.d.ts +2 -7
  48. package/column-builder.js.map +1 -1
  49. package/column.cjs +0 -2
  50. package/column.cjs.map +1 -1
  51. package/column.d.cts +0 -6
  52. package/column.d.ts +0 -6
  53. package/column.js +0 -2
  54. package/column.js.map +1 -1
  55. package/d1/driver.cjs +2 -9
  56. package/d1/driver.cjs.map +1 -1
  57. package/d1/driver.d.cts +1 -2
  58. package/d1/driver.d.ts +1 -2
  59. package/d1/driver.js +2 -9
  60. package/d1/driver.js.map +1 -1
  61. package/d1/session.cjs +11 -20
  62. package/d1/session.cjs.map +1 -1
  63. package/d1/session.d.cts +7 -8
  64. package/d1/session.d.ts +7 -8
  65. package/d1/session.js +11 -20
  66. package/d1/session.js.map +1 -1
  67. package/durable-sqlite/driver.cjs.map +1 -1
  68. package/durable-sqlite/driver.d.cts +1 -2
  69. package/durable-sqlite/driver.d.ts +1 -2
  70. package/durable-sqlite/driver.js.map +1 -1
  71. package/durable-sqlite/session.cjs +4 -4
  72. package/durable-sqlite/session.cjs.map +1 -1
  73. package/durable-sqlite/session.d.cts +4 -4
  74. package/durable-sqlite/session.d.ts +4 -4
  75. package/durable-sqlite/session.js +4 -4
  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 +1 -2
  79. package/expo-sqlite/driver.d.ts +1 -2
  80. package/expo-sqlite/driver.js.map +1 -1
  81. package/expo-sqlite/session.cjs +4 -4
  82. package/expo-sqlite/session.cjs.map +1 -1
  83. package/expo-sqlite/session.d.cts +4 -4
  84. package/expo-sqlite/session.d.ts +4 -4
  85. package/expo-sqlite/session.js +4 -4
  86. package/expo-sqlite/session.js.map +1 -1
  87. package/gel/driver.cjs +4 -6
  88. package/gel/driver.cjs.map +1 -1
  89. package/gel/driver.d.cts +4 -6
  90. package/gel/driver.d.ts +4 -6
  91. package/gel/driver.js +4 -6
  92. package/gel/driver.js.map +1 -1
  93. package/gel/session.cjs +9 -12
  94. package/gel/session.cjs.map +1 -1
  95. package/gel/session.d.cts +4 -5
  96. package/gel/session.d.ts +4 -5
  97. package/gel/session.js +9 -12
  98. package/gel/session.js.map +1 -1
  99. package/gel-core/columns/common.cjs +0 -8
  100. package/gel-core/columns/common.cjs.map +1 -1
  101. package/gel-core/columns/common.d.cts +0 -2
  102. package/gel-core/columns/common.d.ts +0 -2
  103. package/gel-core/columns/common.js +0 -8
  104. package/gel-core/columns/common.js.map +1 -1
  105. package/gel-core/db.cjs +3 -5
  106. package/gel-core/db.cjs.map +1 -1
  107. package/gel-core/db.d.cts +1 -3
  108. package/gel-core/db.d.ts +1 -3
  109. package/gel-core/db.js +3 -5
  110. package/gel-core/db.js.map +1 -1
  111. package/gel-core/dialect.cjs +19 -24
  112. package/gel-core/dialect.cjs.map +1 -1
  113. package/gel-core/dialect.d.cts +6 -7
  114. package/gel-core/dialect.d.ts +6 -7
  115. package/gel-core/dialect.js +20 -25
  116. package/gel-core/dialect.js.map +1 -1
  117. package/gel-core/query-builders/delete.cjs +5 -19
  118. package/gel-core/query-builders/delete.cjs.map +1 -1
  119. package/gel-core/query-builders/delete.js +5 -19
  120. package/gel-core/query-builders/delete.js.map +1 -1
  121. package/gel-core/query-builders/insert.cjs +9 -44
  122. package/gel-core/query-builders/insert.cjs.map +1 -1
  123. package/gel-core/query-builders/insert.js +11 -46
  124. package/gel-core/query-builders/insert.js.map +1 -1
  125. package/gel-core/query-builders/query.cjs +2 -15
  126. package/gel-core/query-builders/query.cjs.map +1 -1
  127. package/gel-core/query-builders/query.js +2 -15
  128. package/gel-core/query-builders/query.js.map +1 -1
  129. package/gel-core/query-builders/select.cjs +5 -21
  130. package/gel-core/query-builders/select.cjs.map +1 -1
  131. package/gel-core/query-builders/select.js +5 -21
  132. package/gel-core/query-builders/select.js.map +1 -1
  133. package/gel-core/query-builders/update.cjs +6 -20
  134. package/gel-core/query-builders/update.cjs.map +1 -1
  135. package/gel-core/query-builders/update.js +6 -20
  136. package/gel-core/query-builders/update.js.map +1 -1
  137. package/gel-core/session.cjs +4 -47
  138. package/gel-core/session.cjs.map +1 -1
  139. package/gel-core/session.d.cts +5 -11
  140. package/gel-core/session.d.ts +5 -11
  141. package/gel-core/session.js +4 -47
  142. package/gel-core/session.js.map +1 -1
  143. package/libsql/driver-core.cjs +2 -3
  144. package/libsql/driver-core.cjs.map +1 -1
  145. package/libsql/driver-core.js +2 -3
  146. package/libsql/driver-core.js.map +1 -1
  147. package/libsql/driver.cjs +1 -4
  148. package/libsql/driver.cjs.map +1 -1
  149. package/libsql/driver.d.cts +3 -4
  150. package/libsql/driver.d.ts +3 -4
  151. package/libsql/driver.js +1 -4
  152. package/libsql/driver.js.map +1 -1
  153. package/libsql/http/index.cjs +1 -4
  154. package/libsql/http/index.cjs.map +1 -1
  155. package/libsql/http/index.d.cts +3 -4
  156. package/libsql/http/index.d.ts +3 -4
  157. package/libsql/http/index.js +1 -4
  158. package/libsql/http/index.js.map +1 -1
  159. package/libsql/node/index.cjs +1 -4
  160. package/libsql/node/index.cjs.map +1 -1
  161. package/libsql/node/index.d.cts +3 -4
  162. package/libsql/node/index.d.ts +3 -4
  163. package/libsql/node/index.js +1 -4
  164. package/libsql/node/index.js.map +1 -1
  165. package/libsql/session.cjs +12 -29
  166. package/libsql/session.cjs.map +1 -1
  167. package/libsql/session.d.cts +7 -8
  168. package/libsql/session.d.ts +7 -8
  169. package/libsql/session.js +12 -29
  170. package/libsql/session.js.map +1 -1
  171. package/libsql/sqlite3/index.cjs +1 -4
  172. package/libsql/sqlite3/index.cjs.map +1 -1
  173. package/libsql/sqlite3/index.d.cts +3 -4
  174. package/libsql/sqlite3/index.d.ts +3 -4
  175. package/libsql/sqlite3/index.js +1 -4
  176. package/libsql/sqlite3/index.js.map +1 -1
  177. package/libsql/wasm/index.cjs +1 -4
  178. package/libsql/wasm/index.cjs.map +1 -1
  179. package/libsql/wasm/index.d.cts +3 -4
  180. package/libsql/wasm/index.d.ts +3 -4
  181. package/libsql/wasm/index.js +1 -4
  182. package/libsql/wasm/index.js.map +1 -1
  183. package/libsql/web/index.cjs +1 -4
  184. package/libsql/web/index.cjs.map +1 -1
  185. package/libsql/web/index.d.cts +3 -4
  186. package/libsql/web/index.d.ts +3 -4
  187. package/libsql/web/index.js +1 -4
  188. package/libsql/web/index.js.map +1 -1
  189. package/libsql/ws/index.cjs +1 -4
  190. package/libsql/ws/index.cjs.map +1 -1
  191. package/libsql/ws/index.d.cts +3 -4
  192. package/libsql/ws/index.d.ts +3 -4
  193. package/libsql/ws/index.js +1 -4
  194. package/libsql/ws/index.js.map +1 -1
  195. package/mysql-core/db.cjs +3 -5
  196. package/mysql-core/db.cjs.map +1 -1
  197. package/mysql-core/db.d.cts +1 -3
  198. package/mysql-core/db.d.ts +1 -3
  199. package/mysql-core/db.js +3 -5
  200. package/mysql-core/db.js.map +1 -1
  201. package/mysql-core/dialect.cjs +23 -29
  202. package/mysql-core/dialect.cjs.map +1 -1
  203. package/mysql-core/dialect.d.cts +7 -8
  204. package/mysql-core/dialect.d.ts +7 -8
  205. package/mysql-core/dialect.js +24 -30
  206. package/mysql-core/dialect.js.map +1 -1
  207. package/mysql-core/query-builders/delete.cjs +1 -8
  208. package/mysql-core/query-builders/delete.cjs.map +1 -1
  209. package/mysql-core/query-builders/delete.js +1 -8
  210. package/mysql-core/query-builders/delete.js.map +1 -1
  211. package/mysql-core/query-builders/insert.cjs +6 -30
  212. package/mysql-core/query-builders/insert.cjs.map +1 -1
  213. package/mysql-core/query-builders/insert.js +8 -32
  214. package/mysql-core/query-builders/insert.js.map +1 -1
  215. package/mysql-core/query-builders/query.cjs +3 -19
  216. package/mysql-core/query-builders/query.cjs.map +1 -1
  217. package/mysql-core/query-builders/query.js +3 -19
  218. package/mysql-core/query-builders/query.js.map +1 -1
  219. package/mysql-core/query-builders/select.cjs +6 -23
  220. package/mysql-core/query-builders/select.cjs.map +1 -1
  221. package/mysql-core/query-builders/select.js +6 -23
  222. package/mysql-core/query-builders/select.js.map +1 -1
  223. package/mysql-core/query-builders/update.cjs +3 -15
  224. package/mysql-core/query-builders/update.cjs.map +1 -1
  225. package/mysql-core/query-builders/update.js +3 -15
  226. package/mysql-core/query-builders/update.js.map +1 -1
  227. package/mysql-core/session.cjs +4 -43
  228. package/mysql-core/session.cjs.map +1 -1
  229. package/mysql-core/session.d.cts +7 -14
  230. package/mysql-core/session.d.ts +7 -14
  231. package/mysql-core/session.js +4 -43
  232. package/mysql-core/session.js.map +1 -1
  233. package/mysql-proxy/driver.cjs +2 -3
  234. package/mysql-proxy/driver.cjs.map +1 -1
  235. package/mysql-proxy/driver.d.cts +1 -2
  236. package/mysql-proxy/driver.d.ts +1 -2
  237. package/mysql-proxy/driver.js +2 -3
  238. package/mysql-proxy/driver.js.map +1 -1
  239. package/mysql-proxy/session.cjs +8 -8
  240. package/mysql-proxy/session.cjs.map +1 -1
  241. package/mysql-proxy/session.d.cts +6 -5
  242. package/mysql-proxy/session.d.ts +6 -5
  243. package/mysql-proxy/session.js +8 -8
  244. package/mysql-proxy/session.js.map +1 -1
  245. package/mysql2/driver.cjs +4 -11
  246. package/mysql2/driver.cjs.map +1 -1
  247. package/mysql2/driver.d.cts +2 -4
  248. package/mysql2/driver.d.ts +2 -4
  249. package/mysql2/driver.js +4 -11
  250. package/mysql2/driver.js.map +1 -1
  251. package/mysql2/session.cjs +10 -14
  252. package/mysql2/session.cjs.map +1 -1
  253. package/mysql2/session.d.cts +5 -5
  254. package/mysql2/session.d.ts +5 -5
  255. package/mysql2/session.js +10 -14
  256. package/mysql2/session.js.map +1 -1
  257. package/neon-http/driver.cjs +3 -5
  258. package/neon-http/driver.cjs.map +1 -1
  259. package/neon-http/driver.d.cts +4 -6
  260. package/neon-http/driver.d.ts +4 -6
  261. package/neon-http/driver.js +3 -5
  262. package/neon-http/driver.js.map +1 -1
  263. package/neon-http/session.cjs +6 -8
  264. package/neon-http/session.cjs.map +1 -1
  265. package/neon-http/session.d.cts +4 -5
  266. package/neon-http/session.d.ts +4 -5
  267. package/neon-http/session.js +6 -8
  268. package/neon-http/session.js.map +1 -1
  269. package/neon-serverless/driver.cjs +4 -6
  270. package/neon-serverless/driver.cjs.map +1 -1
  271. package/neon-serverless/driver.d.cts +4 -6
  272. package/neon-serverless/driver.d.ts +4 -6
  273. package/neon-serverless/driver.js +4 -6
  274. package/neon-serverless/driver.js.map +1 -1
  275. package/neon-serverless/session.cjs +9 -23
  276. package/neon-serverless/session.cjs.map +1 -1
  277. package/neon-serverless/session.d.cts +4 -5
  278. package/neon-serverless/session.d.ts +4 -5
  279. package/neon-serverless/session.js +9 -23
  280. package/neon-serverless/session.js.map +1 -1
  281. package/node-postgres/driver.cjs +4 -6
  282. package/node-postgres/driver.cjs.map +1 -1
  283. package/node-postgres/driver.d.cts +4 -6
  284. package/node-postgres/driver.d.ts +4 -6
  285. package/node-postgres/driver.js +4 -6
  286. package/node-postgres/driver.js.map +1 -1
  287. package/node-postgres/session.cjs +9 -18
  288. package/node-postgres/session.cjs.map +1 -1
  289. package/node-postgres/session.d.cts +4 -5
  290. package/node-postgres/session.d.ts +4 -5
  291. package/node-postgres/session.js +9 -18
  292. package/node-postgres/session.js.map +1 -1
  293. package/op-sqlite/driver.cjs +2 -3
  294. package/op-sqlite/driver.cjs.map +1 -1
  295. package/op-sqlite/driver.d.cts +1 -2
  296. package/op-sqlite/driver.d.ts +1 -2
  297. package/op-sqlite/driver.js +2 -3
  298. package/op-sqlite/driver.js.map +1 -1
  299. package/op-sqlite/session.cjs +11 -20
  300. package/op-sqlite/session.cjs.map +1 -1
  301. package/op-sqlite/session.d.cts +7 -8
  302. package/op-sqlite/session.d.ts +7 -8
  303. package/op-sqlite/session.js +11 -20
  304. package/op-sqlite/session.js.map +1 -1
  305. package/package.json +5 -351
  306. package/pg-core/columns/common.cjs +0 -2
  307. package/pg-core/columns/common.cjs.map +1 -1
  308. package/pg-core/columns/common.js +0 -2
  309. package/pg-core/columns/common.js.map +1 -1
  310. package/pg-core/db.cjs +3 -5
  311. package/pg-core/db.cjs.map +1 -1
  312. package/pg-core/db.d.cts +1 -3
  313. package/pg-core/db.d.ts +1 -3
  314. package/pg-core/db.js +3 -5
  315. package/pg-core/db.js.map +1 -1
  316. package/pg-core/dialect.cjs +19 -25
  317. package/pg-core/dialect.cjs.map +1 -1
  318. package/pg-core/dialect.d.cts +6 -7
  319. package/pg-core/dialect.d.ts +6 -7
  320. package/pg-core/dialect.js +20 -26
  321. package/pg-core/dialect.js.map +1 -1
  322. package/pg-core/query-builders/delete.cjs +5 -19
  323. package/pg-core/query-builders/delete.cjs.map +1 -1
  324. package/pg-core/query-builders/delete.js +5 -19
  325. package/pg-core/query-builders/delete.js.map +1 -1
  326. package/pg-core/query-builders/insert.cjs +9 -49
  327. package/pg-core/query-builders/insert.cjs.map +1 -1
  328. package/pg-core/query-builders/insert.js +11 -51
  329. package/pg-core/query-builders/insert.js.map +1 -1
  330. package/pg-core/query-builders/query.cjs +2 -15
  331. package/pg-core/query-builders/query.cjs.map +1 -1
  332. package/pg-core/query-builders/query.js +2 -15
  333. package/pg-core/query-builders/query.js.map +1 -1
  334. package/pg-core/query-builders/select.cjs +7 -23
  335. package/pg-core/query-builders/select.cjs.map +1 -1
  336. package/pg-core/query-builders/select.js +7 -23
  337. package/pg-core/query-builders/select.js.map +1 -1
  338. package/pg-core/query-builders/update.cjs +6 -20
  339. package/pg-core/query-builders/update.cjs.map +1 -1
  340. package/pg-core/query-builders/update.js +6 -20
  341. package/pg-core/query-builders/update.js.map +1 -1
  342. package/pg-core/session.cjs +4 -48
  343. package/pg-core/session.cjs.map +1 -1
  344. package/pg-core/session.d.cts +5 -11
  345. package/pg-core/session.d.ts +5 -11
  346. package/pg-core/session.js +4 -48
  347. package/pg-core/session.js.map +1 -1
  348. package/pg-proxy/driver.cjs +2 -3
  349. package/pg-proxy/driver.cjs.map +1 -1
  350. package/pg-proxy/driver.d.cts +1 -2
  351. package/pg-proxy/driver.d.ts +1 -2
  352. package/pg-proxy/driver.js +2 -3
  353. package/pg-proxy/driver.js.map +1 -1
  354. package/pg-proxy/session.cjs +6 -8
  355. package/pg-proxy/session.cjs.map +1 -1
  356. package/pg-proxy/session.d.cts +4 -5
  357. package/pg-proxy/session.d.ts +4 -5
  358. package/pg-proxy/session.js +6 -8
  359. package/pg-proxy/session.js.map +1 -1
  360. package/pglite/driver.cjs +4 -6
  361. package/pglite/driver.cjs.map +1 -1
  362. package/pglite/driver.d.cts +4 -6
  363. package/pglite/driver.d.ts +4 -6
  364. package/pglite/driver.js +4 -6
  365. package/pglite/driver.js.map +1 -1
  366. package/pglite/session.cjs +9 -19
  367. package/pglite/session.cjs.map +1 -1
  368. package/pglite/session.d.cts +4 -5
  369. package/pglite/session.d.ts +4 -5
  370. package/pglite/session.js +9 -19
  371. package/pglite/session.js.map +1 -1
  372. package/planetscale-serverless/driver.cjs +2 -10
  373. package/planetscale-serverless/driver.cjs.map +1 -1
  374. package/planetscale-serverless/driver.d.cts +3 -4
  375. package/planetscale-serverless/driver.d.ts +3 -4
  376. package/planetscale-serverless/driver.js +2 -10
  377. package/planetscale-serverless/driver.js.map +1 -1
  378. package/planetscale-serverless/session.cjs +13 -23
  379. package/planetscale-serverless/session.cjs.map +1 -1
  380. package/planetscale-serverless/session.d.cts +7 -6
  381. package/planetscale-serverless/session.d.ts +7 -6
  382. package/planetscale-serverless/session.js +13 -23
  383. package/planetscale-serverless/session.js.map +1 -1
  384. package/postgres-js/driver.cjs +2 -3
  385. package/postgres-js/driver.cjs.map +1 -1
  386. package/postgres-js/driver.d.cts +3 -4
  387. package/postgres-js/driver.d.ts +3 -4
  388. package/postgres-js/driver.js +2 -3
  389. package/postgres-js/driver.js.map +1 -1
  390. package/postgres-js/session.cjs +16 -27
  391. package/postgres-js/session.cjs.map +1 -1
  392. package/postgres-js/session.d.cts +5 -6
  393. package/postgres-js/session.d.ts +5 -6
  394. package/postgres-js/session.js +16 -27
  395. package/postgres-js/session.js.map +1 -1
  396. package/prisma/mysql/driver.cjs +3 -3
  397. package/prisma/mysql/driver.cjs.map +1 -1
  398. package/prisma/mysql/driver.d.cts +2 -3
  399. package/prisma/mysql/driver.d.ts +2 -3
  400. package/prisma/mysql/driver.js +3 -3
  401. package/prisma/mysql/driver.js.map +1 -1
  402. package/prisma/mysql/session.cjs +11 -10
  403. package/prisma/mysql/session.cjs.map +1 -1
  404. package/prisma/mysql/session.d.cts +5 -10
  405. package/prisma/mysql/session.d.ts +5 -10
  406. package/prisma/mysql/session.js +11 -10
  407. package/prisma/mysql/session.js.map +1 -1
  408. package/prisma/pg/driver.cjs +3 -3
  409. package/prisma/pg/driver.cjs.map +1 -1
  410. package/prisma/pg/driver.d.cts +1 -2
  411. package/prisma/pg/driver.d.ts +1 -2
  412. package/prisma/pg/driver.js +3 -3
  413. package/prisma/pg/driver.js.map +1 -1
  414. package/prisma/pg/session.cjs +7 -7
  415. package/prisma/pg/session.cjs.map +1 -1
  416. package/prisma/pg/session.d.cts +5 -10
  417. package/prisma/pg/session.d.ts +5 -10
  418. package/prisma/pg/session.js +7 -7
  419. package/prisma/pg/session.js.map +1 -1
  420. package/prisma/sqlite/driver.cjs +1 -7
  421. package/prisma/sqlite/driver.cjs.map +1 -1
  422. package/prisma/sqlite/driver.d.cts +1 -2
  423. package/prisma/sqlite/driver.d.ts +1 -2
  424. package/prisma/sqlite/driver.js +1 -7
  425. package/prisma/sqlite/driver.js.map +1 -1
  426. package/prisma/sqlite/session.cjs +10 -10
  427. package/prisma/sqlite/session.cjs.map +1 -1
  428. package/prisma/sqlite/session.d.cts +7 -12
  429. package/prisma/sqlite/session.d.ts +7 -12
  430. package/prisma/sqlite/session.js +10 -10
  431. package/prisma/sqlite/session.js.map +1 -1
  432. package/singlestore/driver.cjs +25 -34
  433. package/singlestore/driver.cjs.map +1 -1
  434. package/singlestore/driver.d.cts +2 -4
  435. package/singlestore/driver.d.ts +2 -4
  436. package/singlestore/driver.js +25 -34
  437. package/singlestore/driver.js.map +1 -1
  438. package/singlestore/session.cjs +10 -14
  439. package/singlestore/session.cjs.map +1 -1
  440. package/singlestore/session.d.cts +5 -5
  441. package/singlestore/session.d.ts +5 -5
  442. package/singlestore/session.js +10 -14
  443. package/singlestore/session.js.map +1 -1
  444. package/singlestore-core/db.cjs +3 -5
  445. package/singlestore-core/db.cjs.map +1 -1
  446. package/singlestore-core/db.d.cts +1 -3
  447. package/singlestore-core/db.d.ts +1 -3
  448. package/singlestore-core/db.js +3 -5
  449. package/singlestore-core/db.js.map +1 -1
  450. package/singlestore-core/dialect.cjs +18 -24
  451. package/singlestore-core/dialect.cjs.map +1 -1
  452. package/singlestore-core/dialect.d.cts +6 -7
  453. package/singlestore-core/dialect.d.ts +6 -7
  454. package/singlestore-core/dialect.js +19 -25
  455. package/singlestore-core/dialect.js.map +1 -1
  456. package/singlestore-core/query-builders/delete.cjs +1 -8
  457. package/singlestore-core/query-builders/delete.cjs.map +1 -1
  458. package/singlestore-core/query-builders/delete.js +1 -8
  459. package/singlestore-core/query-builders/delete.js.map +1 -1
  460. package/singlestore-core/query-builders/insert.cjs +5 -30
  461. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  462. package/singlestore-core/query-builders/insert.js +7 -32
  463. package/singlestore-core/query-builders/insert.js.map +1 -1
  464. package/singlestore-core/query-builders/query.cjs +2 -17
  465. package/singlestore-core/query-builders/query.cjs.map +1 -1
  466. package/singlestore-core/query-builders/query.js +2 -17
  467. package/singlestore-core/query-builders/query.js.map +1 -1
  468. package/singlestore-core/query-builders/select.cjs +7 -24
  469. package/singlestore-core/query-builders/select.cjs.map +1 -1
  470. package/singlestore-core/query-builders/select.js +7 -24
  471. package/singlestore-core/query-builders/select.js.map +1 -1
  472. package/singlestore-core/query-builders/update.cjs +2 -9
  473. package/singlestore-core/query-builders/update.cjs.map +1 -1
  474. package/singlestore-core/query-builders/update.js +2 -9
  475. package/singlestore-core/query-builders/update.js.map +1 -1
  476. package/singlestore-core/session.cjs +4 -43
  477. package/singlestore-core/session.cjs.map +1 -1
  478. package/singlestore-core/session.d.cts +6 -14
  479. package/singlestore-core/session.d.ts +6 -14
  480. package/singlestore-core/session.js +4 -43
  481. package/singlestore-core/session.js.map +1 -1
  482. package/singlestore-proxy/driver.cjs +2 -3
  483. package/singlestore-proxy/driver.cjs.map +1 -1
  484. package/singlestore-proxy/driver.d.cts +1 -2
  485. package/singlestore-proxy/driver.d.ts +1 -2
  486. package/singlestore-proxy/driver.js +2 -3
  487. package/singlestore-proxy/driver.js.map +1 -1
  488. package/singlestore-proxy/session.cjs +8 -8
  489. package/singlestore-proxy/session.cjs.map +1 -1
  490. package/singlestore-proxy/session.d.cts +6 -9
  491. package/singlestore-proxy/session.d.ts +6 -9
  492. package/singlestore-proxy/session.js +8 -8
  493. package/singlestore-proxy/session.js.map +1 -1
  494. package/sql/sql.cjs +2 -24
  495. package/sql/sql.cjs.map +1 -1
  496. package/sql/sql.d.cts +0 -12
  497. package/sql/sql.d.ts +0 -12
  498. package/sql/sql.js +2 -23
  499. package/sql/sql.js.map +1 -1
  500. package/sql-js/driver.cjs.map +1 -1
  501. package/sql-js/driver.d.cts +1 -2
  502. package/sql-js/driver.d.ts +1 -2
  503. package/sql-js/driver.js.map +1 -1
  504. package/sql-js/session.cjs +4 -4
  505. package/sql-js/session.cjs.map +1 -1
  506. package/sql-js/session.d.cts +4 -4
  507. package/sql-js/session.d.ts +4 -4
  508. package/sql-js/session.js +4 -4
  509. package/sql-js/session.js.map +1 -1
  510. package/sqlite-core/db.cjs +3 -5
  511. package/sqlite-core/db.cjs.map +1 -1
  512. package/sqlite-core/db.d.cts +1 -3
  513. package/sqlite-core/db.d.ts +1 -3
  514. package/sqlite-core/db.js +3 -5
  515. package/sqlite-core/db.js.map +1 -1
  516. package/sqlite-core/dialect.cjs +19 -29
  517. package/sqlite-core/dialect.cjs.map +1 -1
  518. package/sqlite-core/dialect.d.cts +6 -7
  519. package/sqlite-core/dialect.d.ts +6 -7
  520. package/sqlite-core/dialect.js +20 -30
  521. package/sqlite-core/dialect.js.map +1 -1
  522. package/sqlite-core/query-builders/delete.cjs +1 -8
  523. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  524. package/sqlite-core/query-builders/delete.js +1 -8
  525. package/sqlite-core/query-builders/delete.js.map +1 -1
  526. package/sqlite-core/query-builders/insert.cjs +4 -28
  527. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  528. package/sqlite-core/query-builders/insert.js +6 -35
  529. package/sqlite-core/query-builders/insert.js.map +1 -1
  530. package/sqlite-core/query-builders/query.cjs +2 -15
  531. package/sqlite-core/query-builders/query.cjs.map +1 -1
  532. package/sqlite-core/query-builders/query.js +2 -15
  533. package/sqlite-core/query-builders/query.js.map +1 -1
  534. package/sqlite-core/query-builders/select.cjs +6 -15
  535. package/sqlite-core/query-builders/select.cjs.map +1 -1
  536. package/sqlite-core/query-builders/select.js +6 -15
  537. package/sqlite-core/query-builders/select.js.map +1 -1
  538. package/sqlite-core/query-builders/update.cjs +2 -9
  539. package/sqlite-core/query-builders/update.cjs.map +1 -1
  540. package/sqlite-core/query-builders/update.js +2 -9
  541. package/sqlite-core/query-builders/update.js.map +1 -1
  542. package/sqlite-core/session.cjs +6 -81
  543. package/sqlite-core/session.cjs.map +1 -1
  544. package/sqlite-core/session.d.cts +9 -19
  545. package/sqlite-core/session.d.ts +9 -19
  546. package/sqlite-core/session.js +6 -81
  547. package/sqlite-core/session.js.map +1 -1
  548. package/sqlite-proxy/driver.cjs +3 -4
  549. package/sqlite-proxy/driver.cjs.map +1 -1
  550. package/sqlite-proxy/driver.d.cts +2 -3
  551. package/sqlite-proxy/driver.d.ts +2 -3
  552. package/sqlite-proxy/driver.js +3 -4
  553. package/sqlite-proxy/driver.js.map +1 -1
  554. package/sqlite-proxy/session.cjs +11 -20
  555. package/sqlite-proxy/session.cjs.map +1 -1
  556. package/sqlite-proxy/session.d.cts +7 -8
  557. package/sqlite-proxy/session.d.ts +7 -8
  558. package/sqlite-proxy/session.js +11 -20
  559. package/sqlite-proxy/session.js.map +1 -1
  560. package/tidb-serverless/driver.cjs +2 -16
  561. package/tidb-serverless/driver.cjs.map +1 -1
  562. package/tidb-serverless/driver.d.cts +3 -4
  563. package/tidb-serverless/driver.d.ts +3 -4
  564. package/tidb-serverless/driver.js +2 -16
  565. package/tidb-serverless/driver.js.map +1 -1
  566. package/tidb-serverless/session.cjs +13 -23
  567. package/tidb-serverless/session.cjs.map +1 -1
  568. package/tidb-serverless/session.d.cts +7 -6
  569. package/tidb-serverless/session.d.ts +7 -6
  570. package/tidb-serverless/session.js +13 -23
  571. package/tidb-serverless/session.js.map +1 -1
  572. package/tracing.cjs.map +1 -1
  573. package/tracing.js.map +1 -1
  574. package/utils.cjs +2 -38
  575. package/utils.cjs.map +1 -1
  576. package/utils.d.cts +2 -6
  577. package/utils.d.ts +2 -6
  578. package/utils.js +4 -39
  579. package/utils.js.map +1 -1
  580. package/vercel-postgres/driver.cjs +5 -10
  581. package/vercel-postgres/driver.cjs.map +1 -1
  582. package/vercel-postgres/driver.d.cts +4 -6
  583. package/vercel-postgres/driver.d.ts +4 -6
  584. package/vercel-postgres/driver.js +5 -10
  585. package/vercel-postgres/driver.js.map +1 -1
  586. package/vercel-postgres/session.cjs +9 -18
  587. package/vercel-postgres/session.cjs.map +1 -1
  588. package/vercel-postgres/session.d.cts +4 -5
  589. package/vercel-postgres/session.d.ts +4 -5
  590. package/vercel-postgres/session.js +9 -18
  591. package/vercel-postgres/session.js.map +1 -1
  592. package/version.cjs +1 -1
  593. package/version.d.cts +1 -1
  594. package/version.d.ts +1 -1
  595. package/version.js +1 -1
  596. package/xata-http/driver.cjs +4 -7
  597. package/xata-http/driver.cjs.map +1 -1
  598. package/xata-http/driver.d.cts +2 -4
  599. package/xata-http/driver.d.ts +2 -4
  600. package/xata-http/driver.js +4 -7
  601. package/xata-http/driver.js.map +1 -1
  602. package/xata-http/session.cjs +6 -8
  603. package/xata-http/session.cjs.map +1 -1
  604. package/xata-http/session.d.cts +4 -5
  605. package/xata-http/session.d.ts +4 -5
  606. package/xata-http/session.js +6 -8
  607. package/xata-http/session.js.map +1 -1
  608. package/extension-core/gel/index.cjs +0 -33
  609. package/extension-core/gel/index.cjs.map +0 -1
  610. package/extension-core/gel/index.d.cts +0 -67
  611. package/extension-core/gel/index.d.ts +0 -67
  612. package/extension-core/gel/index.js +0 -9
  613. package/extension-core/gel/index.js.map +0 -1
  614. package/extension-core/index.cjs +0 -42
  615. package/extension-core/index.cjs.map +0 -1
  616. package/extension-core/index.d.cts +0 -9
  617. package/extension-core/index.d.ts +0 -9
  618. package/extension-core/index.js +0 -15
  619. package/extension-core/index.js.map +0 -1
  620. package/extension-core/mysql/index.cjs +0 -33
  621. package/extension-core/mysql/index.cjs.map +0 -1
  622. package/extension-core/mysql/index.d.cts +0 -69
  623. package/extension-core/mysql/index.d.ts +0 -69
  624. package/extension-core/mysql/index.js +0 -9
  625. package/extension-core/mysql/index.js.map +0 -1
  626. package/extension-core/pg/index.cjs +0 -33
  627. package/extension-core/pg/index.cjs.map +0 -1
  628. package/extension-core/pg/index.d.cts +0 -67
  629. package/extension-core/pg/index.d.ts +0 -67
  630. package/extension-core/pg/index.js +0 -9
  631. package/extension-core/pg/index.js.map +0 -1
  632. package/extension-core/singlestore/index.cjs +0 -33
  633. package/extension-core/singlestore/index.cjs.map +0 -1
  634. package/extension-core/singlestore/index.d.cts +0 -67
  635. package/extension-core/singlestore/index.d.ts +0 -67
  636. package/extension-core/singlestore/index.js +0 -9
  637. package/extension-core/singlestore/index.js.map +0 -1
  638. package/extension-core/sqlite/index.cjs +0 -33
  639. package/extension-core/sqlite/index.cjs.map +0 -1
  640. package/extension-core/sqlite/index.d.cts +0 -68
  641. package/extension-core/sqlite/index.d.ts +0 -68
  642. package/extension-core/sqlite/index.js +0 -9
  643. package/extension-core/sqlite/index.js.map +0 -1
  644. package/extensions/hook/gel/index.cjs +0 -47
  645. package/extensions/hook/gel/index.cjs.map +0 -1
  646. package/extensions/hook/gel/index.d.cts +0 -11
  647. package/extensions/hook/gel/index.d.ts +0 -11
  648. package/extensions/hook/gel/index.js +0 -22
  649. package/extensions/hook/gel/index.js.map +0 -1
  650. package/extensions/hook/mysql/index.cjs +0 -47
  651. package/extensions/hook/mysql/index.cjs.map +0 -1
  652. package/extensions/hook/mysql/index.d.cts +0 -11
  653. package/extensions/hook/mysql/index.d.ts +0 -11
  654. package/extensions/hook/mysql/index.js +0 -22
  655. package/extensions/hook/mysql/index.js.map +0 -1
  656. package/extensions/hook/pg/index.cjs +0 -47
  657. package/extensions/hook/pg/index.cjs.map +0 -1
  658. package/extensions/hook/pg/index.d.cts +0 -11
  659. package/extensions/hook/pg/index.d.ts +0 -11
  660. package/extensions/hook/pg/index.js +0 -22
  661. package/extensions/hook/pg/index.js.map +0 -1
  662. package/extensions/hook/singlestore/index.cjs +0 -47
  663. package/extensions/hook/singlestore/index.cjs.map +0 -1
  664. package/extensions/hook/singlestore/index.d.cts +0 -11
  665. package/extensions/hook/singlestore/index.d.ts +0 -11
  666. package/extensions/hook/singlestore/index.js +0 -22
  667. package/extensions/hook/singlestore/index.js.map +0 -1
  668. package/extensions/hook/sqlite/index.cjs +0 -47
  669. package/extensions/hook/sqlite/index.cjs.map +0 -1
  670. package/extensions/hook/sqlite/index.d.cts +0 -11
  671. package/extensions/hook/sqlite/index.d.ts +0 -11
  672. package/extensions/hook/sqlite/index.js +0 -22
  673. package/extensions/hook/sqlite/index.js.map +0 -1
  674. package/extensions/s3-file/common.cjs +0 -313
  675. package/extensions/s3-file/common.cjs.map +0 -1
  676. package/extensions/s3-file/common.d.cts +0 -88
  677. package/extensions/s3-file/common.d.ts +0 -88
  678. package/extensions/s3-file/common.js +0 -280
  679. package/extensions/s3-file/common.js.map +0 -1
  680. package/extensions/s3-file/gel/column.cjs +0 -113
  681. package/extensions/s3-file/gel/column.cjs.map +0 -1
  682. package/extensions/s3-file/gel/column.d.cts +0 -105
  683. package/extensions/s3-file/gel/column.d.ts +0 -105
  684. package/extensions/s3-file/gel/column.js +0 -92
  685. package/extensions/s3-file/gel/column.js.map +0 -1
  686. package/extensions/s3-file/gel/extension.cjs +0 -262
  687. package/extensions/s3-file/gel/extension.cjs.map +0 -1
  688. package/extensions/s3-file/gel/extension.d.cts +0 -18
  689. package/extensions/s3-file/gel/extension.d.ts +0 -18
  690. package/extensions/s3-file/gel/extension.js +0 -248
  691. package/extensions/s3-file/gel/extension.js.map +0 -1
  692. package/extensions/s3-file/gel/index.cjs +0 -25
  693. package/extensions/s3-file/gel/index.cjs.map +0 -1
  694. package/extensions/s3-file/gel/index.d.cts +0 -2
  695. package/extensions/s3-file/gel/index.d.ts +0 -2
  696. package/extensions/s3-file/gel/index.js +0 -3
  697. package/extensions/s3-file/gel/index.js.map +0 -1
  698. package/extensions/s3-file/index.cjs +0 -23
  699. package/extensions/s3-file/index.cjs.map +0 -1
  700. package/extensions/s3-file/index.d.cts +0 -1
  701. package/extensions/s3-file/index.d.ts +0 -1
  702. package/extensions/s3-file/index.js +0 -2
  703. package/extensions/s3-file/index.js.map +0 -1
  704. package/extensions/s3-file/mysql/column.cjs +0 -110
  705. package/extensions/s3-file/mysql/column.cjs.map +0 -1
  706. package/extensions/s3-file/mysql/column.d.cts +0 -63
  707. package/extensions/s3-file/mysql/column.d.ts +0 -63
  708. package/extensions/s3-file/mysql/column.js +0 -86
  709. package/extensions/s3-file/mysql/column.js.map +0 -1
  710. package/extensions/s3-file/mysql/extension.cjs +0 -242
  711. package/extensions/s3-file/mysql/extension.cjs.map +0 -1
  712. package/extensions/s3-file/mysql/extension.d.cts +0 -18
  713. package/extensions/s3-file/mysql/extension.d.ts +0 -18
  714. package/extensions/s3-file/mysql/extension.js +0 -228
  715. package/extensions/s3-file/mysql/extension.js.map +0 -1
  716. package/extensions/s3-file/mysql/index.cjs +0 -25
  717. package/extensions/s3-file/mysql/index.cjs.map +0 -1
  718. package/extensions/s3-file/mysql/index.d.cts +0 -2
  719. package/extensions/s3-file/mysql/index.d.ts +0 -2
  720. package/extensions/s3-file/mysql/index.js +0 -3
  721. package/extensions/s3-file/mysql/index.js.map +0 -1
  722. package/extensions/s3-file/pg/column.cjs +0 -113
  723. package/extensions/s3-file/pg/column.cjs.map +0 -1
  724. package/extensions/s3-file/pg/column.d.cts +0 -105
  725. package/extensions/s3-file/pg/column.d.ts +0 -105
  726. package/extensions/s3-file/pg/column.js +0 -92
  727. package/extensions/s3-file/pg/column.js.map +0 -1
  728. package/extensions/s3-file/pg/extension.cjs +0 -264
  729. package/extensions/s3-file/pg/extension.cjs.map +0 -1
  730. package/extensions/s3-file/pg/extension.d.cts +0 -18
  731. package/extensions/s3-file/pg/extension.d.ts +0 -18
  732. package/extensions/s3-file/pg/extension.js +0 -250
  733. package/extensions/s3-file/pg/extension.js.map +0 -1
  734. package/extensions/s3-file/pg/index.cjs +0 -25
  735. package/extensions/s3-file/pg/index.cjs.map +0 -1
  736. package/extensions/s3-file/pg/index.d.cts +0 -2
  737. package/extensions/s3-file/pg/index.d.ts +0 -2
  738. package/extensions/s3-file/pg/index.js +0 -3
  739. package/extensions/s3-file/pg/index.js.map +0 -1
  740. package/extensions/s3-file/singlestore/column.cjs +0 -110
  741. package/extensions/s3-file/singlestore/column.cjs.map +0 -1
  742. package/extensions/s3-file/singlestore/column.d.cts +0 -63
  743. package/extensions/s3-file/singlestore/column.d.ts +0 -63
  744. package/extensions/s3-file/singlestore/column.js +0 -86
  745. package/extensions/s3-file/singlestore/column.js.map +0 -1
  746. package/extensions/s3-file/singlestore/extension.cjs +0 -239
  747. package/extensions/s3-file/singlestore/extension.cjs.map +0 -1
  748. package/extensions/s3-file/singlestore/extension.d.cts +0 -18
  749. package/extensions/s3-file/singlestore/extension.d.ts +0 -18
  750. package/extensions/s3-file/singlestore/extension.js +0 -225
  751. package/extensions/s3-file/singlestore/extension.js.map +0 -1
  752. package/extensions/s3-file/singlestore/index.cjs +0 -25
  753. package/extensions/s3-file/singlestore/index.cjs.map +0 -1
  754. package/extensions/s3-file/singlestore/index.d.cts +0 -2
  755. package/extensions/s3-file/singlestore/index.d.ts +0 -2
  756. package/extensions/s3-file/singlestore/index.js +0 -3
  757. package/extensions/s3-file/singlestore/index.js.map +0 -1
  758. package/extensions/s3-file/sqlite/column.cjs +0 -110
  759. package/extensions/s3-file/sqlite/column.cjs.map +0 -1
  760. package/extensions/s3-file/sqlite/column.d.cts +0 -63
  761. package/extensions/s3-file/sqlite/column.d.ts +0 -63
  762. package/extensions/s3-file/sqlite/column.js +0 -86
  763. package/extensions/s3-file/sqlite/column.js.map +0 -1
  764. package/extensions/s3-file/sqlite/extension.cjs +0 -242
  765. package/extensions/s3-file/sqlite/extension.cjs.map +0 -1
  766. package/extensions/s3-file/sqlite/extension.d.cts +0 -18
  767. package/extensions/s3-file/sqlite/extension.d.ts +0 -18
  768. package/extensions/s3-file/sqlite/extension.js +0 -228
  769. package/extensions/s3-file/sqlite/extension.js.map +0 -1
  770. package/extensions/s3-file/sqlite/index.cjs +0 -25
  771. package/extensions/s3-file/sqlite/index.cjs.map +0 -1
  772. package/extensions/s3-file/sqlite/index.d.cts +0 -2
  773. package/extensions/s3-file/sqlite/index.d.ts +0 -2
  774. package/extensions/s3-file/sqlite/index.js +0 -3
  775. package/extensions/s3-file/sqlite/index.js.map +0 -1
@@ -10,8 +10,8 @@ import { PgPreparedQuery, PgSession } from "../pg-core/session.js";
10
10
  import { fillPlaceholders, sql } from "../sql/sql.js";
11
11
  import { mapResultRow } from "../utils.js";
12
12
  class NeonPreparedQuery extends PgPreparedQuery {
13
- constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, name, _isResponseInArrayMode, extensions, hookContext, customResultMapper) {
14
- super({ sql: queryString, params }, cache, queryMetadata, cacheConfig, extensions, hookContext);
13
+ constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, name, _isResponseInArrayMode, customResultMapper) {
14
+ super({ sql: queryString, params }, cache, queryMetadata, cacheConfig);
15
15
  this.client = client;
16
16
  this.params = params;
17
17
  this.logger = logger;
@@ -97,7 +97,7 @@ class NeonPreparedQuery extends PgPreparedQuery {
97
97
  static [entityKind] = "NeonPreparedQuery";
98
98
  rawQueryConfig;
99
99
  queryConfig;
100
- async _execute(placeholderValues = {}) {
100
+ async execute(placeholderValues = {}) {
101
101
  const params = fillPlaceholders(this.params, placeholderValues);
102
102
  this.logger.logQuery(this.rawQueryConfig.text, params);
103
103
  const { fields, client, rawQueryConfig: rawQuery, queryConfig: query, joinsNotNullableMap, customResultMapper } = this;
@@ -131,8 +131,8 @@ class NeonPreparedQuery extends PgPreparedQuery {
131
131
  }
132
132
  }
133
133
  class NeonSession extends PgSession {
134
- constructor(client, dialect, schema, options = {}, extensions) {
135
- super(dialect, extensions);
134
+ constructor(client, dialect, schema, options = {}) {
135
+ super(dialect);
136
136
  this.client = client;
137
137
  this.schema = schema;
138
138
  this.options = options;
@@ -142,7 +142,7 @@ class NeonSession extends PgSession {
142
142
  static [entityKind] = "NeonSession";
143
143
  logger;
144
144
  cache;
145
- prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig, hookContext) {
145
+ prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
146
146
  return new NeonPreparedQuery(
147
147
  this.client,
148
148
  query.sql,
@@ -154,8 +154,6 @@ class NeonSession extends PgSession {
154
154
  fields,
155
155
  name,
156
156
  isResponseInArrayMode,
157
- this.extensions,
158
- hookContext,
159
157
  customResultMapper
160
158
  );
161
159
  }
@@ -178,14 +176,8 @@ class NeonSession extends PgSession {
178
176
  );
179
177
  }
180
178
  async transaction(transaction, config = {}) {
181
- const session = this.client instanceof Pool ? new NeonSession(await this.client.connect(), this.dialect, this.schema, this.options, this.extensions) : this;
182
- const tx = new NeonTransaction(
183
- this.dialect,
184
- session,
185
- this.schema,
186
- void 0,
187
- this.extensions
188
- );
179
+ const session = this.client instanceof Pool ? new NeonSession(await this.client.connect(), this.dialect, this.schema, this.options) : this;
180
+ const tx = new NeonTransaction(this.dialect, session, this.schema);
189
181
  await tx.execute(sql`begin ${tx.getTransactionConfigSQL(config)}`);
190
182
  try {
191
183
  const result = await transaction(tx);
@@ -205,13 +197,7 @@ class NeonTransaction extends PgTransaction {
205
197
  static [entityKind] = "NeonTransaction";
206
198
  async transaction(transaction) {
207
199
  const savepointName = `sp${this.nestedIndex + 1}`;
208
- const tx = new NeonTransaction(
209
- this.dialect,
210
- this.session,
211
- this.schema,
212
- this.nestedIndex + 1,
213
- this._.extensions
214
- );
200
+ const tx = new NeonTransaction(this.dialect, this.session, this.schema, this.nestedIndex + 1);
215
201
  await tx.execute(sql.raw(`savepoint ${savepointName}`));
216
202
  try {
217
203
  const result = await transaction(tx);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/neon-serverless/session.ts"],"sourcesContent":["import {\n\ttype Client,\n\tPool,\n\ttype PoolClient,\n\ttype QueryArrayConfig,\n\ttype QueryConfig,\n\ttype QueryResult,\n\ttype QueryResultRow,\n\ttypes,\n} from '@neondatabase/serverless';\nimport { type Cache, NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { BlankPgHookContext, DrizzlePgExtension } from '~/extension-core/pg/index.ts';\nimport type { Logger } from '~/logger.ts';\nimport { 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\nexport type NeonClient = Pool | PoolClient | Client;\n\nexport class NeonPreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'NeonPreparedQuery';\n\n\tprivate rawQueryConfig: QueryConfig;\n\tprivate queryConfig: QueryArrayConfig;\n\n\tconstructor(\n\t\tprivate client: NeonClient,\n\t\tqueryString: 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\textensions?: DrizzlePgExtension[],\n\t\thookContext?: BlankPgHookContext,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params }, cache, queryMetadata, cacheConfig, extensions, hookContext);\n\t\tthis.rawQueryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// numeric[]\n\t\t\t\t\tif (typeId === 1231) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t\tthis.queryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\trowMode: 'array',\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// numeric[]\n\t\t\t\t\tif (typeId === 1231) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync _execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQueryConfig.text, params);\n\n\t\tconst { fields, client, rawQueryConfig: rawQuery, queryConfig: query, joinsNotNullableMap, customResultMapper } =\n\t\t\tthis;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn await this.queryWithCache(rawQuery.text, params, async () => {\n\t\t\t\treturn await client.query(rawQuery, params);\n\t\t\t});\n\t\t}\n\n\t\tconst result = await this.queryWithCache(query.text, params, async () => {\n\t\t\treturn await client.query(query, params);\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.rawQueryConfig.text, params);\n\t\treturn this.queryWithCache(this.rawQueryConfig.text, params, async () => {\n\t\t\treturn await this.client.query(this.rawQueryConfig, params);\n\t\t}).then((result) => result.rows);\n\t}\n\n\tvalues(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tthis.logger.logQuery(this.rawQueryConfig.text, params);\n\t\treturn this.queryWithCache(this.queryConfig.text, params, async () => {\n\t\t\treturn await this.client.query(this.queryConfig, params);\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 NeonSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NeonSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<NeonQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NeonSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: NeonClient,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: NeonSessionOptions = {},\n\t\textensions?: DrizzlePgExtension[],\n\t) {\n\t\tsuper(dialect, extensions);\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\thookContext?: BlankPgHookContext,\n\t): PgPreparedQuery<T> {\n\t\treturn new NeonPreparedQuery(\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\tthis.extensions,\n\t\t\thookContext,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tasync query(query: string, params: unknown[]): Promise<QueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.query({\n\t\t\trowMode: 'array',\n\t\t\ttext: query,\n\t\t\tvalues: params,\n\t\t});\n\t\treturn result;\n\t}\n\n\tasync queryObjects<T extends QueryResultRow>(\n\t\tquery: string,\n\t\tparams: unknown[],\n\t): Promise<QueryResult<T>> {\n\t\treturn this.client.query<T>(query, params);\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: NeonTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig: PgTransactionConfig = {},\n\t): Promise<T> {\n\t\tconst session = this.client instanceof Pool // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t? new NeonSession(await this.client.connect(), this.dialect, this.schema, this.options, this.extensions)\n\t\t\t: this;\n\t\tconst tx = new NeonTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.schema,\n\t\t\tundefined,\n\t\t\tthis.extensions,\n\t\t);\n\t\tawait tx.execute(sql`begin ${tx.getTransactionConfigSQL(config)}`);\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tif (this.client instanceof Pool) { // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\t(session.client as PoolClient).release();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class NeonTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<NeonQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NeonTransaction';\n\n\toverride async transaction<T>(transaction: (tx: NeonTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new NeonTransaction<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 (e) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport interface NeonQueryResultHKT extends PgQueryResultHKT {\n\ttype: QueryResult<Assume<this['row'], QueryResultRow>>;\n}\n"],"mappings":"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","names":["sql"]}
1
+ {"version":3,"sources":["../../src/neon-serverless/session.ts"],"sourcesContent":["import {\n\ttype Client,\n\tPool,\n\ttype PoolClient,\n\ttype QueryArrayConfig,\n\ttype QueryConfig,\n\ttype QueryResult,\n\ttype QueryResultRow,\n\ttypes,\n} from '@neondatabase/serverless';\nimport { type Cache, NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { 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\nexport type NeonClient = Pool | PoolClient | Client;\n\nexport class NeonPreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'NeonPreparedQuery';\n\n\tprivate rawQueryConfig: QueryConfig;\n\tprivate queryConfig: QueryArrayConfig;\n\n\tconstructor(\n\t\tprivate client: NeonClient,\n\t\tqueryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params }, cache, queryMetadata, cacheConfig);\n\t\tthis.rawQueryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// numeric[]\n\t\t\t\t\tif (typeId === 1231) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t\tthis.queryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\trowMode: 'array',\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// numeric[]\n\t\t\t\t\tif (typeId === 1231) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQueryConfig.text, params);\n\n\t\tconst { fields, client, rawQueryConfig: rawQuery, queryConfig: query, joinsNotNullableMap, customResultMapper } =\n\t\t\tthis;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn await this.queryWithCache(rawQuery.text, params, async () => {\n\t\t\t\treturn await client.query(rawQuery, params);\n\t\t\t});\n\t\t}\n\n\t\tconst result = await this.queryWithCache(query.text, params, async () => {\n\t\t\treturn await client.query(query, params);\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.rawQueryConfig.text, params);\n\t\treturn this.queryWithCache(this.rawQueryConfig.text, params, async () => {\n\t\t\treturn await this.client.query(this.rawQueryConfig, params);\n\t\t}).then((result) => result.rows);\n\t}\n\n\tvalues(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tthis.logger.logQuery(this.rawQueryConfig.text, params);\n\t\treturn this.queryWithCache(this.queryConfig.text, params, async () => {\n\t\t\treturn await this.client.query(this.queryConfig, params);\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 NeonSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NeonSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<NeonQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NeonSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: NeonClient,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: NeonSessionOptions = {},\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 NeonPreparedQuery(\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\tasync query(query: string, params: unknown[]): Promise<QueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.query({\n\t\t\trowMode: 'array',\n\t\t\ttext: query,\n\t\t\tvalues: params,\n\t\t});\n\t\treturn result;\n\t}\n\n\tasync queryObjects<T extends QueryResultRow>(\n\t\tquery: string,\n\t\tparams: unknown[],\n\t): Promise<QueryResult<T>> {\n\t\treturn this.client.query<T>(query, params);\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: NeonTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig: PgTransactionConfig = {},\n\t): Promise<T> {\n\t\tconst session = this.client instanceof Pool // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t? new NeonSession(await this.client.connect(), this.dialect, this.schema, this.options)\n\t\t\t: this;\n\t\tconst tx = new NeonTransaction<TFullSchema, TSchema>(this.dialect, session, this.schema);\n\t\tawait tx.execute(sql`begin ${tx.getTransactionConfigSQL(config)}`);\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tif (this.client instanceof Pool) { // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\t(session.client as PoolClient).release();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class NeonTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<NeonQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NeonTransaction';\n\n\toverride async transaction<T>(transaction: (tx: NeonTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new NeonTransaction<TFullSchema, TSchema>(this.dialect, this.session, this.schema, this.nestedIndex + 1);\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 (e) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport interface NeonQueryResultHKT extends PgQueryResultHKT {\n\ttype: QueryResult<Assume<this['row'], QueryResultRow>>;\n}\n"],"mappings":"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","names":["sql"]}
@@ -42,18 +42,17 @@ var import_relations = require("../relations.cjs");
42
42
  var import_utils = require("../utils.cjs");
43
43
  var import_session = require("./session.cjs");
44
44
  class NodePgDriver {
45
- constructor(client, dialect, options = {}, extensions) {
45
+ constructor(client, dialect, options = {}) {
46
46
  this.client = client;
47
47
  this.dialect = dialect;
48
48
  this.options = options;
49
- this.extensions = extensions;
50
49
  }
51
50
  static [import_entity.entityKind] = "NodePgDriver";
52
51
  createSession(schema) {
53
52
  return new import_session.NodePgSession(this.client, this.dialect, schema, {
54
53
  logger: this.options.logger,
55
54
  cache: this.options.cache
56
- }, this.extensions);
55
+ });
57
56
  }
58
57
  }
59
58
  class NodePgDatabase extends import_db.PgDatabase {
@@ -79,10 +78,9 @@ function construct(client, config = {}) {
79
78
  tableNamesMap: tablesConfig.tableNamesMap
80
79
  };
81
80
  }
82
- const extensions = config.extensions;
83
- const driver = new NodePgDriver(client, dialect, { logger, cache: config.cache }, extensions);
81
+ const driver = new NodePgDriver(client, dialect, { logger, cache: config.cache });
84
82
  const session = driver.createSession(schema);
85
- const db = new NodePgDatabase(dialect, session, schema, extensions);
83
+ const db = new NodePgDatabase(dialect, session, schema);
86
84
  db.$client = client;
87
85
  db.$cache = config.cache;
88
86
  if (db.$cache) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/node-postgres/driver.ts"],"sourcesContent":["import pg, { type Pool, type PoolConfig } from 'pg';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { DrizzlePgExtension } from '~/extension-core/pg/index.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-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 { NodePgClient, NodePgQueryResultHKT } from './session.ts';\nimport { NodePgSession } from './session.ts';\n\nexport interface PgDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NodePgDriver {\n\tstatic readonly [entityKind]: string = 'NodePgDriver';\n\n\tconstructor(\n\t\tprivate client: NodePgClient,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: PgDriverOptions = {},\n\t\tprivate extensions?: DrizzlePgExtension[],\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): NodePgSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new NodePgSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t}, this.extensions);\n\t}\n}\n\nexport class NodePgDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends PgDatabase<NodePgQueryResultHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodePgDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodePgClient = NodePgClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, DrizzlePgExtension> = {},\n): NodePgDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({ 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 driver = new NodePgDriver(client, dialect, { logger, cache: config.cache }, extensions);\n\tconst session = driver.createSession(schema);\n\tconst db = new NodePgDatabase(dialect, session, schema as any, extensions) as NodePgDatabase<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 NodePgClient = Pool,\n>(\n\t...params:\n\t\t| [\n\t\t\tTClient | string,\n\t\t]\n\t\t| [\n\t\t\tTClient | string,\n\t\t\tDrizzleConfig<TSchema, DrizzlePgExtension>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, DrizzlePgExtension>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string | PoolConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodePgDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new pg.Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema, DrizzlePgExtension> | undefined) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t\t& ({ connection?: PoolConfig | string; client?: TClient })\n\t\t\t& DrizzleConfig<TSchema, DrizzlePgExtension>\n\t\t);\n\n\t\tif (client) return construct(client, drizzleConfig);\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? new pg.Pool({\n\t\t\t\tconnectionString: connection,\n\t\t\t})\n\t\t\t: new pg.Pool(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, DrizzlePgExtension> | 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, DrizzlePgExtension>,\n\t): NodePgDatabase<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;AAAA;AAAA,gBAA+C;AAE/C,oBAA2B;AAG3B,oBAA8B;AAC9B,gBAA2B;AAC3B,qBAA0B;AAC1B,uBAKO;AACP,mBAA6C;AAE7C,qBAA8B;AAOvB,MAAM,aAAa;AAAA,EAGzB,YACS,QACA,SACA,UAA2B,CAAC,GAC5B,YACP;AAJO;AACA;AACA;AACA;AAAA,EAET;AAAA,EARA,QAAiB,wBAAU,IAAY;AAAA,EAUvC,cACC,QACiE;AACjE,WAAO,IAAI,6BAAc,KAAK,QAAQ,KAAK,SAAS,QAAQ;AAAA,MAC3D,QAAQ,KAAK,QAAQ;AAAA,MACrB,OAAO,KAAK,QAAQ;AAAA,IACrB,GAAG,KAAK,UAAU;AAAA,EACnB;AACD;AAEO,MAAM,uBAEH,qBAA0C;AAAA,EACnD,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAAqD,CAAC,GAGrD;AACD,QAAM,UAAU,IAAI,yBAAU,EAAE,QAAQ,OAAO,OAAO,CAAC;AACvD,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,SAAS,IAAI,aAAa,QAAQ,SAAS,EAAE,QAAQ,OAAO,OAAO,MAAM,GAAG,UAAU;AAC5F,QAAM,UAAU,OAAO,cAAc,MAAM;AAC3C,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,QAAe,UAAU;AACzE,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,QAoBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,UAAAA,QAAG,KAAK;AAAA,MAC5B,kBAAkB,OAAO,CAAC;AAAA,IAC3B,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAA2D;AAAA,EAC/F;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAKzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WACpC,IAAI,UAAAA,QAAG,KAAK;AAAA,MACb,kBAAkB;AAAA,IACnB,CAAC,IACC,IAAI,UAAAA,QAAG,KAAK,UAAW;AAE1B,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAA2D;AAC3G;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["pg","drizzle"]}
1
+ {"version":3,"sources":["../../src/node-postgres/driver.ts"],"sourcesContent":["import pg, { type Pool, type PoolConfig } from 'pg';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-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 { NodePgClient, NodePgQueryResultHKT } from './session.ts';\nimport { NodePgSession } from './session.ts';\n\nexport interface PgDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NodePgDriver {\n\tstatic readonly [entityKind]: string = 'NodePgDriver';\n\n\tconstructor(\n\t\tprivate client: NodePgClient,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: PgDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): NodePgSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new NodePgSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n}\n\nexport class NodePgDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends PgDatabase<NodePgQueryResultHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodePgDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodePgClient = NodePgClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): NodePgDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({ 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 driver = new NodePgDriver(client, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(schema);\n\tconst db = new NodePgDatabase(dialect, session, schema as any) as NodePgDatabase<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 NodePgClient = Pool,\n>(\n\t...params:\n\t\t| [\n\t\t\tTClient | string,\n\t\t]\n\t\t| [\n\t\t\tTClient | string,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string | PoolConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodePgDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new pg.Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t\t& ({ connection?: PoolConfig | string; client?: TClient })\n\t\t\t& DrizzleConfig<TSchema>\n\t\t);\n\n\t\tif (client) return construct(client, drizzleConfig);\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? new pg.Pool({\n\t\t\t\tconnectionString: connection,\n\t\t\t})\n\t\t\t: new pg.Pool(connection!);\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): NodePgDatabase<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;AAAA;AAAA,gBAA+C;AAE/C,oBAA2B;AAE3B,oBAA8B;AAC9B,gBAA2B;AAC3B,qBAA0B;AAC1B,uBAKO;AACP,mBAA6C;AAE7C,qBAA8B;AAOvB,MAAM,aAAa;AAAA,EAGzB,YACS,QACA,SACA,UAA2B,CAAC,GACnC;AAHO;AACA;AACA;AAAA,EAET;AAAA,EAPA,QAAiB,wBAAU,IAAY;AAAA,EASvC,cACC,QACiE;AACjE,WAAO,IAAI,6BAAc,KAAK,QAAQ,KAAK,SAAS,QAAQ;AAAA,MAC3D,QAAQ,KAAK,QAAQ;AAAA,MACrB,OAAO,KAAK,QAAQ;AAAA,IACrB,CAAC;AAAA,EACF;AACD;AAEO,MAAM,uBAEH,qBAA0C;AAAA,EACnD,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,yBAAU,EAAE,QAAQ,OAAO,OAAO,CAAC;AACvD,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,SAAS,IAAI,aAAa,QAAQ,SAAS,EAAE,QAAQ,OAAO,OAAO,MAAM,CAAC;AAChF,QAAM,UAAU,OAAO,cAAc,MAAM;AAC3C,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,MAAa;AAC7D,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,QAoBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,UAAAA,QAAG,KAAK;AAAA,MAC5B,kBAAkB,OAAO,CAAC;AAAA,IAC3B,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAuC;AAAA,EAC3E;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAKzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WACpC,IAAI,UAAAA,QAAG,KAAK;AAAA,MACb,kBAAkB;AAAA,IACnB,CAAC,IACC,IAAI,UAAAA,QAAG,KAAK,UAAW;AAE1B,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAuC;AACvF;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["pg","drizzle"]}
@@ -1,7 +1,6 @@
1
1
  import { type Pool, type PoolConfig } from 'pg';
2
2
  import type { Cache } from "../cache/core/cache.cjs";
3
3
  import { entityKind } from "../entity.cjs";
4
- import type { DrizzlePgExtension } from "../extension-core/pg/index.cjs";
5
4
  import type { Logger } from "../logger.cjs";
6
5
  import { PgDatabase } from "../pg-core/db.cjs";
7
6
  import { PgDialect } from "../pg-core/dialect.cjs";
@@ -17,9 +16,8 @@ export declare class NodePgDriver {
17
16
  private client;
18
17
  private dialect;
19
18
  private options;
20
- private extensions?;
21
19
  static readonly [entityKind]: string;
22
- constructor(client: NodePgClient, dialect: PgDialect, options?: PgDriverOptions, extensions?: DrizzlePgExtension[] | undefined);
20
+ constructor(client: NodePgClient, dialect: PgDialect, options?: PgDriverOptions);
23
21
  createSession(schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined): NodePgSession<Record<string, unknown>, TablesRelationalConfig>;
24
22
  }
25
23
  export declare class NodePgDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends PgDatabase<NodePgQueryResultHKT, TSchema> {
@@ -29,9 +27,9 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
29
27
  TClient | string
30
28
  ] | [
31
29
  TClient | string,
32
- DrizzleConfig<TSchema, DrizzlePgExtension>
30
+ DrizzleConfig<TSchema>
33
31
  ] | [
34
- (DrizzleConfig<TSchema, DrizzlePgExtension> & ({
32
+ (DrizzleConfig<TSchema> & ({
35
33
  connection: string | PoolConfig;
36
34
  } | {
37
35
  client: TClient;
@@ -40,7 +38,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
40
38
  $client: TClient;
41
39
  };
42
40
  export declare namespace drizzle {
43
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzlePgExtension>): NodePgDatabase<TSchema> & {
41
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): NodePgDatabase<TSchema> & {
44
42
  $client: '$client is not available on drizzle.mock()';
45
43
  };
46
44
  }
@@ -1,7 +1,6 @@
1
1
  import { type Pool, type PoolConfig } from 'pg';
2
2
  import type { Cache } from "../cache/core/cache.js";
3
3
  import { entityKind } from "../entity.js";
4
- import type { DrizzlePgExtension } from "../extension-core/pg/index.js";
5
4
  import type { Logger } from "../logger.js";
6
5
  import { PgDatabase } from "../pg-core/db.js";
7
6
  import { PgDialect } from "../pg-core/dialect.js";
@@ -17,9 +16,8 @@ export declare class NodePgDriver {
17
16
  private client;
18
17
  private dialect;
19
18
  private options;
20
- private extensions?;
21
19
  static readonly [entityKind]: string;
22
- constructor(client: NodePgClient, dialect: PgDialect, options?: PgDriverOptions, extensions?: DrizzlePgExtension[] | undefined);
20
+ constructor(client: NodePgClient, dialect: PgDialect, options?: PgDriverOptions);
23
21
  createSession(schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined): NodePgSession<Record<string, unknown>, TablesRelationalConfig>;
24
22
  }
25
23
  export declare class NodePgDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends PgDatabase<NodePgQueryResultHKT, TSchema> {
@@ -29,9 +27,9 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
29
27
  TClient | string
30
28
  ] | [
31
29
  TClient | string,
32
- DrizzleConfig<TSchema, DrizzlePgExtension>
30
+ DrizzleConfig<TSchema>
33
31
  ] | [
34
- (DrizzleConfig<TSchema, DrizzlePgExtension> & ({
32
+ (DrizzleConfig<TSchema> & ({
35
33
  connection: string | PoolConfig;
36
34
  } | {
37
35
  client: TClient;
@@ -40,7 +38,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
40
38
  $client: TClient;
41
39
  };
42
40
  export declare namespace drizzle {
43
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzlePgExtension>): NodePgDatabase<TSchema> & {
41
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): NodePgDatabase<TSchema> & {
44
42
  $client: '$client is not available on drizzle.mock()';
45
43
  };
46
44
  }
@@ -10,18 +10,17 @@ import {
10
10
  import { isConfig } from "../utils.js";
11
11
  import { NodePgSession } from "./session.js";
12
12
  class NodePgDriver {
13
- constructor(client, dialect, options = {}, extensions) {
13
+ constructor(client, dialect, options = {}) {
14
14
  this.client = client;
15
15
  this.dialect = dialect;
16
16
  this.options = options;
17
- this.extensions = extensions;
18
17
  }
19
18
  static [entityKind] = "NodePgDriver";
20
19
  createSession(schema) {
21
20
  return new NodePgSession(this.client, this.dialect, schema, {
22
21
  logger: this.options.logger,
23
22
  cache: this.options.cache
24
- }, this.extensions);
23
+ });
25
24
  }
26
25
  }
27
26
  class NodePgDatabase extends PgDatabase {
@@ -47,10 +46,9 @@ function construct(client, config = {}) {
47
46
  tableNamesMap: tablesConfig.tableNamesMap
48
47
  };
49
48
  }
50
- const extensions = config.extensions;
51
- const driver = new NodePgDriver(client, dialect, { logger, cache: config.cache }, extensions);
49
+ const driver = new NodePgDriver(client, dialect, { logger, cache: config.cache });
52
50
  const session = driver.createSession(schema);
53
- const db = new NodePgDatabase(dialect, session, schema, extensions);
51
+ const db = new NodePgDatabase(dialect, session, schema);
54
52
  db.$client = client;
55
53
  db.$cache = config.cache;
56
54
  if (db.$cache) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/node-postgres/driver.ts"],"sourcesContent":["import pg, { type Pool, type PoolConfig } from 'pg';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { DrizzlePgExtension } from '~/extension-core/pg/index.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-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 { NodePgClient, NodePgQueryResultHKT } from './session.ts';\nimport { NodePgSession } from './session.ts';\n\nexport interface PgDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NodePgDriver {\n\tstatic readonly [entityKind]: string = 'NodePgDriver';\n\n\tconstructor(\n\t\tprivate client: NodePgClient,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: PgDriverOptions = {},\n\t\tprivate extensions?: DrizzlePgExtension[],\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): NodePgSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new NodePgSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t}, this.extensions);\n\t}\n}\n\nexport class NodePgDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends PgDatabase<NodePgQueryResultHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodePgDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodePgClient = NodePgClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, DrizzlePgExtension> = {},\n): NodePgDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({ 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 driver = new NodePgDriver(client, dialect, { logger, cache: config.cache }, extensions);\n\tconst session = driver.createSession(schema);\n\tconst db = new NodePgDatabase(dialect, session, schema as any, extensions) as NodePgDatabase<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 NodePgClient = Pool,\n>(\n\t...params:\n\t\t| [\n\t\t\tTClient | string,\n\t\t]\n\t\t| [\n\t\t\tTClient | string,\n\t\t\tDrizzleConfig<TSchema, DrizzlePgExtension>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, DrizzlePgExtension>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string | PoolConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodePgDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new pg.Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema, DrizzlePgExtension> | undefined) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t\t& ({ connection?: PoolConfig | string; client?: TClient })\n\t\t\t& DrizzleConfig<TSchema, DrizzlePgExtension>\n\t\t);\n\n\t\tif (client) return construct(client, drizzleConfig);\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? new pg.Pool({\n\t\t\t\tconnectionString: connection,\n\t\t\t})\n\t\t\t: new pg.Pool(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, DrizzlePgExtension> | 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, DrizzlePgExtension>,\n\t): NodePgDatabase<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,OAAO,QAAwC;AAE/C,SAAS,kBAAkB;AAG3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAA6B,gBAAgB;AAE7C,SAAS,qBAAqB;AAOvB,MAAM,aAAa;AAAA,EAGzB,YACS,QACA,SACA,UAA2B,CAAC,GAC5B,YACP;AAJO;AACA;AACA;AACA;AAAA,EAET;AAAA,EARA,QAAiB,UAAU,IAAY;AAAA,EAUvC,cACC,QACiE;AACjE,WAAO,IAAI,cAAc,KAAK,QAAQ,KAAK,SAAS,QAAQ;AAAA,MAC3D,QAAQ,KAAK,QAAQ;AAAA,MACrB,OAAO,KAAK,QAAQ;AAAA,IACrB,GAAG,KAAK,UAAU;AAAA,EACnB;AACD;AAEO,MAAM,uBAEH,WAA0C;AAAA,EACnD,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAAqD,CAAC,GAGrD;AACD,QAAM,UAAU,IAAI,UAAU,EAAE,QAAQ,OAAO,OAAO,CAAC;AACvD,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,SAAS,IAAI,aAAa,QAAQ,SAAS,EAAE,QAAQ,OAAO,OAAO,MAAM,GAAG,UAAU;AAC5F,QAAM,UAAU,OAAO,cAAc,MAAM;AAC3C,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,QAAe,UAAU;AACzE,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,QAoBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,GAAG,KAAK;AAAA,MAC5B,kBAAkB,OAAO,CAAC;AAAA,IAC3B,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAA2D;AAAA,EAC/F;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAKzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WACpC,IAAI,GAAG,KAAK;AAAA,MACb,kBAAkB;AAAA,IACnB,CAAC,IACC,IAAI,GAAG,KAAK,UAAW;AAE1B,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAA2D;AAC3G;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/node-postgres/driver.ts"],"sourcesContent":["import pg, { type Pool, type PoolConfig } from 'pg';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-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 { NodePgClient, NodePgQueryResultHKT } from './session.ts';\nimport { NodePgSession } from './session.ts';\n\nexport interface PgDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NodePgDriver {\n\tstatic readonly [entityKind]: string = 'NodePgDriver';\n\n\tconstructor(\n\t\tprivate client: NodePgClient,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: PgDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): NodePgSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new NodePgSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n}\n\nexport class NodePgDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends PgDatabase<NodePgQueryResultHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodePgDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodePgClient = NodePgClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): NodePgDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({ 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 driver = new NodePgDriver(client, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(schema);\n\tconst db = new NodePgDatabase(dialect, session, schema as any) as NodePgDatabase<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 NodePgClient = Pool,\n>(\n\t...params:\n\t\t| [\n\t\t\tTClient | string,\n\t\t]\n\t\t| [\n\t\t\tTClient | string,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string | PoolConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodePgDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new pg.Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t\t& ({ connection?: PoolConfig | string; client?: TClient })\n\t\t\t& DrizzleConfig<TSchema>\n\t\t);\n\n\t\tif (client) return construct(client, drizzleConfig);\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? new pg.Pool({\n\t\t\t\tconnectionString: connection,\n\t\t\t})\n\t\t\t: new pg.Pool(connection!);\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): NodePgDatabase<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,OAAO,QAAwC;AAE/C,SAAS,kBAAkB;AAE3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAA6B,gBAAgB;AAE7C,SAAS,qBAAqB;AAOvB,MAAM,aAAa;AAAA,EAGzB,YACS,QACA,SACA,UAA2B,CAAC,GACnC;AAHO;AACA;AACA;AAAA,EAET;AAAA,EAPA,QAAiB,UAAU,IAAY;AAAA,EASvC,cACC,QACiE;AACjE,WAAO,IAAI,cAAc,KAAK,QAAQ,KAAK,SAAS,QAAQ;AAAA,MAC3D,QAAQ,KAAK,QAAQ;AAAA,MACrB,OAAO,KAAK,QAAQ;AAAA,IACrB,CAAC;AAAA,EACF;AACD;AAEO,MAAM,uBAEH,WAA0C;AAAA,EACnD,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,UAAU,EAAE,QAAQ,OAAO,OAAO,CAAC;AACvD,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,SAAS,IAAI,aAAa,QAAQ,SAAS,EAAE,QAAQ,OAAO,OAAO,MAAM,CAAC;AAChF,QAAM,UAAU,OAAO,cAAc,MAAM;AAC3C,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,MAAa;AAC7D,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,QAoBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,GAAG,KAAK;AAAA,MAC5B,kBAAkB,OAAO,CAAC;AAAA,IAC3B,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAuC;AAAA,EAC3E;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAKzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WACpC,IAAI,GAAG,KAAK;AAAA,MACb,kBAAkB;AAAA,IACnB,CAAC,IACC,IAAI,GAAG,KAAK,UAAW;AAE1B,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"]}
@@ -44,8 +44,8 @@ var import_tracing = require("../tracing.cjs");
44
44
  var import_utils = require("../utils.cjs");
45
45
  const { Pool, types } = import_pg.default;
46
46
  class NodePgPreparedQuery extends import_session.PgPreparedQuery {
47
- constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, name, _isResponseInArrayMode, extensions, hookContext, customResultMapper) {
48
- super({ sql: queryString, params }, cache, queryMetadata, cacheConfig, extensions, hookContext);
47
+ constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, name, _isResponseInArrayMode, customResultMapper) {
48
+ super({ sql: queryString, params }, cache, queryMetadata, cacheConfig);
49
49
  this.client = client;
50
50
  this.queryString = queryString;
51
51
  this.params = params;
@@ -132,7 +132,7 @@ class NodePgPreparedQuery extends import_session.PgPreparedQuery {
132
132
  static [import_entity.entityKind] = "NodePgPreparedQuery";
133
133
  rawQueryConfig;
134
134
  queryConfig;
135
- async _execute(placeholderValues = {}) {
135
+ async execute(placeholderValues = {}) {
136
136
  return import_tracing.tracer.startActiveSpan("drizzle.execute", async () => {
137
137
  const params = (0, import_sql.fillPlaceholders)(this.params, placeholderValues);
138
138
  this.logger.logQuery(this.rawQueryConfig.text, params);
@@ -186,8 +186,8 @@ class NodePgPreparedQuery extends import_session.PgPreparedQuery {
186
186
  }
187
187
  }
188
188
  class NodePgSession extends import_session.PgSession {
189
- constructor(client, dialect, schema, options = {}, extensions) {
190
- super(dialect, extensions);
189
+ constructor(client, dialect, schema, options = {}) {
190
+ super(dialect);
191
191
  this.client = client;
192
192
  this.schema = schema;
193
193
  this.options = options;
@@ -197,7 +197,7 @@ class NodePgSession extends import_session.PgSession {
197
197
  static [import_entity.entityKind] = "NodePgSession";
198
198
  logger;
199
199
  cache;
200
- prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig, hookContext) {
200
+ prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
201
201
  return new NodePgPreparedQuery(
202
202
  this.client,
203
203
  query.sql,
@@ -209,20 +209,12 @@ class NodePgSession extends import_session.PgSession {
209
209
  fields,
210
210
  name,
211
211
  isResponseInArrayMode,
212
- this.extensions,
213
- hookContext,
214
212
  customResultMapper
215
213
  );
216
214
  }
217
215
  async transaction(transaction, config) {
218
- const session = this.client instanceof Pool ? new NodePgSession(await this.client.connect(), this.dialect, this.schema, this.options, this.extensions) : this;
219
- const tx = new NodePgTransaction(
220
- this.dialect,
221
- session,
222
- this.schema,
223
- void 0,
224
- this.extensions
225
- );
216
+ const session = this.client instanceof Pool ? new NodePgSession(await this.client.connect(), this.dialect, this.schema, this.options) : this;
217
+ const tx = new NodePgTransaction(this.dialect, session, this.schema);
226
218
  await tx.execute(import_sql.sql`begin${config ? import_sql.sql` ${tx.getTransactionConfigSQL(config)}` : void 0}`);
227
219
  try {
228
220
  const result = await transaction(tx);
@@ -252,8 +244,7 @@ class NodePgTransaction extends import_pg_core.PgTransaction {
252
244
  this.dialect,
253
245
  this.session,
254
246
  this.schema,
255
- this.nestedIndex + 1,
256
- this._.extensions
247
+ this.nestedIndex + 1
257
248
  );
258
249
  await tx.execute(import_sql.sql.raw(`savepoint ${savepointName}`));
259
250
  try {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/node-postgres/session.ts"],"sourcesContent":["import type { Client, PoolClient, QueryArrayConfig, QueryConfig, QueryResult, QueryResultRow } from 'pg';\nimport pg from 'pg';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { BlankPgHookContext, DrizzlePgExtension } from '~/extension-core/pg/index.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgTransaction } from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport { PgPreparedQuery, PgSession } from '~/pg-core/session.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nconst { Pool, types } = pg;\n\nexport type NodePgClient = pg.Pool | PoolClient | Client;\n\nexport class NodePgPreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'NodePgPreparedQuery';\n\n\tprivate rawQueryConfig: QueryConfig;\n\tprivate queryConfig: QueryArrayConfig;\n\n\tconstructor(\n\t\tprivate client: NodePgClient,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\textensions?: DrizzlePgExtension[],\n\t\thookContext?: BlankPgHookContext,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params }, cache, queryMetadata, cacheConfig, extensions, hookContext);\n\t\tthis.rawQueryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// numeric[]\n\t\t\t\t\tif (typeId === 1231) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t\tthis.queryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\trowMode: 'array',\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// numeric[]\n\t\t\t\t\tif (typeId === 1231) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync _execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', async () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\t\tthis.logger.logQuery(this.rawQueryConfig.text, params);\n\n\t\t\tconst { fields, rawQueryConfig: rawQuery, client, queryConfig: query, joinsNotNullableMap, customResultMapper } =\n\t\t\t\tthis;\n\t\t\tif (!fields && !customResultMapper) {\n\t\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', async (span) => {\n\t\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t\t'drizzle.query.name': rawQuery.name,\n\t\t\t\t\t\t'drizzle.query.text': rawQuery.text,\n\t\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t\t});\n\t\t\t\t\treturn this.queryWithCache(rawQuery.text, params, async () => {\n\t\t\t\t\t\treturn await client.query(rawQuery, params);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst result = await tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.name': query.name,\n\t\t\t\t\t'drizzle.query.text': query.text,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\t\t\t\treturn this.queryWithCache(query.text, params, async () => {\n\t\t\t\t\treturn await client.query(query, params);\n\t\t\t\t});\n\t\t\t});\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn customResultMapper\n\t\t\t\t\t? customResultMapper(result.rows)\n\t\t\t\t\t: result.rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t\t\t});\n\t\t});\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\t\tthis.logger.logQuery(this.rawQueryConfig.text, params);\n\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.name': this.rawQueryConfig.name,\n\t\t\t\t\t'drizzle.query.text': this.rawQueryConfig.text,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\t\t\t\treturn this.queryWithCache(this.rawQueryConfig.text, params, async () => {\n\t\t\t\t\treturn this.client.query(this.rawQueryConfig, params);\n\t\t\t\t}).then((result) => result.rows);\n\t\t\t});\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface NodePgSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NodePgSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<NodePgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodePgSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: NodePgClient,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: NodePgSessionOptions = {},\n\t\textensions?: DrizzlePgExtension[],\n\t) {\n\t\tsuper(dialect, extensions);\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\thookContext?: BlankPgHookContext,\n\t): PgPreparedQuery<T> {\n\t\treturn new NodePgPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tname,\n\t\t\tisResponseInArrayMode,\n\t\t\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: NodePgTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\tconst session = this.client instanceof Pool // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t? new NodePgSession(await this.client.connect(), this.dialect, this.schema, this.options, this.extensions)\n\t\t\t: this;\n\t\tconst tx = new NodePgTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.schema,\n\t\t\tundefined,\n\t\t\tthis.extensions,\n\t\t);\n\t\tawait tx.execute(sql`begin${config ? sql` ${tx.getTransactionConfigSQL(config)}` : undefined}`);\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tif (this.client instanceof Pool) { // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\t(session.client as PoolClient).release();\n\t\t\t}\n\t\t}\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n}\n\nexport class NodePgTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<NodePgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodePgTransaction';\n\n\toverride async transaction<T>(transaction: (tx: NodePgTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new NodePgTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\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 NodePgQueryResultHKT extends PgQueryResultHKT {\n\ttype: QueryResult<Assume<this['row'], QueryResultRow>>;\n}\n"],"mappings":"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","names":["pg","sql"]}
1
+ {"version":3,"sources":["../../src/node-postgres/session.ts"],"sourcesContent":["import type { Client, PoolClient, QueryArrayConfig, QueryConfig, QueryResult, QueryResultRow } from 'pg';\nimport pg from 'pg';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgTransaction } from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport { PgPreparedQuery, PgSession } from '~/pg-core/session.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nconst { Pool, types } = pg;\n\nexport type NodePgClient = pg.Pool | PoolClient | Client;\n\nexport class NodePgPreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'NodePgPreparedQuery';\n\n\tprivate rawQueryConfig: QueryConfig;\n\tprivate queryConfig: QueryArrayConfig;\n\n\tconstructor(\n\t\tprivate client: NodePgClient,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params }, cache, queryMetadata, cacheConfig);\n\t\tthis.rawQueryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// numeric[]\n\t\t\t\t\tif (typeId === 1231) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t\tthis.queryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\trowMode: 'array',\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// numeric[]\n\t\t\t\t\tif (typeId === 1231) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182) {\n\t\t\t\t\t\treturn (val) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', async () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\t\tthis.logger.logQuery(this.rawQueryConfig.text, params);\n\n\t\t\tconst { fields, rawQueryConfig: rawQuery, client, queryConfig: query, joinsNotNullableMap, customResultMapper } =\n\t\t\t\tthis;\n\t\t\tif (!fields && !customResultMapper) {\n\t\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', async (span) => {\n\t\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t\t'drizzle.query.name': rawQuery.name,\n\t\t\t\t\t\t'drizzle.query.text': rawQuery.text,\n\t\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t\t});\n\t\t\t\t\treturn this.queryWithCache(rawQuery.text, params, async () => {\n\t\t\t\t\t\treturn await client.query(rawQuery, params);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst result = await tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.name': query.name,\n\t\t\t\t\t'drizzle.query.text': query.text,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\t\t\t\treturn this.queryWithCache(query.text, params, async () => {\n\t\t\t\t\treturn await client.query(query, params);\n\t\t\t\t});\n\t\t\t});\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn customResultMapper\n\t\t\t\t\t? customResultMapper(result.rows)\n\t\t\t\t\t: result.rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t\t\t});\n\t\t});\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\t\tthis.logger.logQuery(this.rawQueryConfig.text, params);\n\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.name': this.rawQueryConfig.name,\n\t\t\t\t\t'drizzle.query.text': this.rawQueryConfig.text,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\t\t\t\treturn this.queryWithCache(this.rawQueryConfig.text, params, async () => {\n\t\t\t\t\treturn this.client.query(this.rawQueryConfig, params);\n\t\t\t\t}).then((result) => result.rows);\n\t\t\t});\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface NodePgSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NodePgSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<NodePgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodePgSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: NodePgClient,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: NodePgSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PgPreparedQuery<T> {\n\t\treturn new NodePgPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tname,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: NodePgTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\tconst session = this.client instanceof Pool // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t? new NodePgSession(await this.client.connect(), this.dialect, this.schema, this.options)\n\t\t\t: this;\n\t\tconst tx = new NodePgTransaction<TFullSchema, TSchema>(this.dialect, session, this.schema);\n\t\tawait tx.execute(sql`begin${config ? sql` ${tx.getTransactionConfigSQL(config)}` : undefined}`);\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tif (this.client instanceof Pool) { // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\t(session.client as PoolClient).release();\n\t\t\t}\n\t\t}\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n}\n\nexport class NodePgTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<NodePgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodePgTransaction';\n\n\toverride async transaction<T>(transaction: (tx: NodePgTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new NodePgTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport interface NodePgQueryResultHKT extends PgQueryResultHKT {\n\ttype: QueryResult<Assume<this['row'], QueryResultRow>>;\n}\n"],"mappings":"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","names":["pg","sql"]}
@@ -3,7 +3,6 @@ import pg from 'pg';
3
3
  import { type Cache } from "../cache/core/index.cjs";
4
4
  import type { WithCacheConfig } from "../cache/core/types.cjs";
5
5
  import { entityKind } from "../entity.cjs";
6
- import type { BlankPgHookContext, DrizzlePgExtension } from "../extension-core/pg/index.cjs";
7
6
  import { type Logger } from "../logger.cjs";
8
7
  import type { PgDialect } from "../pg-core/dialect.cjs";
9
8
  import { PgTransaction } from "../pg-core/index.cjs";
@@ -28,8 +27,8 @@ export declare class NodePgPreparedQuery<T extends PreparedQueryConfig> extends
28
27
  constructor(client: NodePgClient, queryString: string, params: unknown[], logger: Logger, cache: Cache, queryMetadata: {
29
28
  type: 'select' | 'update' | 'delete' | 'insert';
30
29
  tables: string[];
31
- } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, extensions?: DrizzlePgExtension[], hookContext?: BlankPgHookContext, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
32
- _execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
30
+ } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
31
+ execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
33
32
  all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']>;
34
33
  }
35
34
  export interface NodePgSessionOptions {
@@ -43,11 +42,11 @@ export declare class NodePgSession<TFullSchema extends Record<string, unknown>,
43
42
  static readonly [entityKind]: string;
44
43
  private logger;
45
44
  private cache;
46
- constructor(client: NodePgClient, dialect: PgDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: NodePgSessionOptions, extensions?: DrizzlePgExtension[]);
45
+ constructor(client: NodePgClient, dialect: PgDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: NodePgSessionOptions);
47
46
  prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => T['execute'], queryMetadata?: {
48
47
  type: 'select' | 'update' | 'delete' | 'insert';
49
48
  tables: string[];
50
- }, cacheConfig?: WithCacheConfig, hookContext?: BlankPgHookContext): PgPreparedQuery<T>;
49
+ }, cacheConfig?: WithCacheConfig): PgPreparedQuery<T>;
51
50
  transaction<T>(transaction: (tx: NodePgTransaction<TFullSchema, TSchema>) => Promise<T>, config?: PgTransactionConfig | undefined): Promise<T>;
52
51
  count(sql: SQL): Promise<number>;
53
52
  }
@@ -3,7 +3,6 @@ import pg from 'pg';
3
3
  import { type Cache } from "../cache/core/index.js";
4
4
  import type { WithCacheConfig } from "../cache/core/types.js";
5
5
  import { entityKind } from "../entity.js";
6
- import type { BlankPgHookContext, DrizzlePgExtension } from "../extension-core/pg/index.js";
7
6
  import { type Logger } from "../logger.js";
8
7
  import type { PgDialect } from "../pg-core/dialect.js";
9
8
  import { PgTransaction } from "../pg-core/index.js";
@@ -28,8 +27,8 @@ export declare class NodePgPreparedQuery<T extends PreparedQueryConfig> extends
28
27
  constructor(client: NodePgClient, queryString: string, params: unknown[], logger: Logger, cache: Cache, queryMetadata: {
29
28
  type: 'select' | 'update' | 'delete' | 'insert';
30
29
  tables: string[];
31
- } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, extensions?: DrizzlePgExtension[], hookContext?: BlankPgHookContext, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
32
- _execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
30
+ } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
31
+ execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
33
32
  all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']>;
34
33
  }
35
34
  export interface NodePgSessionOptions {
@@ -43,11 +42,11 @@ export declare class NodePgSession<TFullSchema extends Record<string, unknown>,
43
42
  static readonly [entityKind]: string;
44
43
  private logger;
45
44
  private cache;
46
- constructor(client: NodePgClient, dialect: PgDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: NodePgSessionOptions, extensions?: DrizzlePgExtension[]);
45
+ constructor(client: NodePgClient, dialect: PgDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: NodePgSessionOptions);
47
46
  prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => T['execute'], queryMetadata?: {
48
47
  type: 'select' | 'update' | 'delete' | 'insert';
49
48
  tables: string[];
50
- }, cacheConfig?: WithCacheConfig, hookContext?: BlankPgHookContext): PgPreparedQuery<T>;
49
+ }, cacheConfig?: WithCacheConfig): PgPreparedQuery<T>;
51
50
  transaction<T>(transaction: (tx: NodePgTransaction<TFullSchema, TSchema>) => Promise<T>, config?: PgTransactionConfig | undefined): Promise<T>;
52
51
  count(sql: SQL): Promise<number>;
53
52
  }