drizzle-orm 1.0.0-beta.20-afec359 → 1.0.0-beta.21

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 (1633) hide show
  1. package/_relations.cjs.map +1 -1
  2. package/_relations.d.cts +13 -2
  3. package/_relations.d.ts +13 -2
  4. package/_relations.js.map +1 -1
  5. package/alias.cjs +1 -1
  6. package/alias.js +1 -1
  7. package/aws-data-api/common/index.cjs +0 -2
  8. package/aws-data-api/common/index.cjs.map +1 -1
  9. package/aws-data-api/common/index.js +0 -2
  10. package/aws-data-api/common/index.js.map +1 -1
  11. package/aws-data-api/pg/driver.cjs +20 -93
  12. package/aws-data-api/pg/driver.cjs.map +1 -1
  13. package/aws-data-api/pg/driver.d.cts +13 -17
  14. package/aws-data-api/pg/driver.d.ts +13 -17
  15. package/aws-data-api/pg/driver.js +20 -93
  16. package/aws-data-api/pg/driver.js.map +1 -1
  17. package/aws-data-api/pg/index.cjs +1 -1
  18. package/aws-data-api/pg/index.d.cts +3 -3
  19. package/aws-data-api/pg/index.d.ts +3 -3
  20. package/aws-data-api/pg/index.js +3 -3
  21. package/aws-data-api/pg/migrator.cjs.map +1 -1
  22. package/aws-data-api/pg/migrator.d.cts +1 -1
  23. package/aws-data-api/pg/migrator.d.ts +1 -1
  24. package/aws-data-api/pg/migrator.js.map +1 -1
  25. package/aws-data-api/pg/session.cjs +113 -44
  26. package/aws-data-api/pg/session.cjs.map +1 -1
  27. package/aws-data-api/pg/session.d.cts +42 -12
  28. package/aws-data-api/pg/session.d.ts +43 -13
  29. package/aws-data-api/pg/session.js +114 -46
  30. package/aws-data-api/pg/session.js.map +1 -1
  31. package/better-sqlite3/driver.cjs +2 -5
  32. package/better-sqlite3/driver.cjs.map +1 -1
  33. package/better-sqlite3/driver.d.ts +1 -1
  34. package/better-sqlite3/driver.js +2 -5
  35. package/better-sqlite3/driver.js.map +1 -1
  36. package/better-sqlite3/session.cjs +15 -16
  37. package/better-sqlite3/session.cjs.map +1 -1
  38. package/better-sqlite3/session.d.cts +6 -10
  39. package/better-sqlite3/session.d.ts +7 -11
  40. package/better-sqlite3/session.js +16 -17
  41. package/better-sqlite3/session.js.map +1 -1
  42. package/bun-sql/driver.cjs.map +1 -1
  43. package/bun-sql/driver.d.cts +6 -7
  44. package/bun-sql/driver.d.ts +6 -7
  45. package/bun-sql/driver.js.map +1 -1
  46. package/bun-sql/index.cjs +1 -0
  47. package/bun-sql/index.d.cts +2 -2
  48. package/bun-sql/index.d.ts +2 -2
  49. package/bun-sql/index.js +2 -2
  50. package/bun-sql/migrator.cjs.map +1 -1
  51. package/bun-sql/migrator.d.cts +2 -2
  52. package/bun-sql/migrator.d.ts +2 -2
  53. package/bun-sql/migrator.js.map +1 -1
  54. package/bun-sql/mysql/driver.cjs +3 -4
  55. package/bun-sql/mysql/driver.cjs.map +1 -1
  56. package/bun-sql/mysql/driver.js +2 -3
  57. package/bun-sql/mysql/driver.js.map +1 -1
  58. package/bun-sql/mysql/session.cjs +24 -37
  59. package/bun-sql/mysql/session.cjs.map +1 -1
  60. package/bun-sql/mysql/session.d.cts +4 -10
  61. package/bun-sql/mysql/session.d.ts +6 -12
  62. package/bun-sql/mysql/session.js +25 -38
  63. package/bun-sql/mysql/session.js.map +1 -1
  64. package/bun-sql/postgres/driver.cjs +20 -144
  65. package/bun-sql/postgres/driver.cjs.map +1 -1
  66. package/bun-sql/postgres/driver.d.cts +6 -10
  67. package/bun-sql/postgres/driver.d.ts +7 -11
  68. package/bun-sql/postgres/driver.js +20 -144
  69. package/bun-sql/postgres/driver.js.map +1 -1
  70. package/bun-sql/postgres/index.cjs +1 -1
  71. package/bun-sql/postgres/index.d.cts +3 -3
  72. package/bun-sql/postgres/index.d.ts +3 -3
  73. package/bun-sql/postgres/index.js +3 -3
  74. package/bun-sql/postgres/migrator.cjs.map +1 -1
  75. package/bun-sql/postgres/migrator.d.cts +1 -1
  76. package/bun-sql/postgres/migrator.d.ts +1 -1
  77. package/bun-sql/postgres/migrator.js.map +1 -1
  78. package/bun-sql/postgres/session.cjs +112 -17
  79. package/bun-sql/postgres/session.cjs.map +1 -1
  80. package/bun-sql/postgres/session.d.cts +33 -11
  81. package/bun-sql/postgres/session.d.ts +34 -12
  82. package/bun-sql/postgres/session.js +112 -18
  83. package/bun-sql/postgres/session.js.map +1 -1
  84. package/bun-sql/session.cjs +1 -0
  85. package/bun-sql/session.d.cts +2 -2
  86. package/bun-sql/session.d.ts +2 -2
  87. package/bun-sql/session.js +2 -2
  88. package/bun-sql/sqlite/driver.cjs +3 -4
  89. package/bun-sql/sqlite/driver.cjs.map +1 -1
  90. package/bun-sql/sqlite/driver.d.ts +1 -1
  91. package/bun-sql/sqlite/driver.js +2 -3
  92. package/bun-sql/sqlite/driver.js.map +1 -1
  93. package/bun-sql/sqlite/session.cjs +17 -18
  94. package/bun-sql/sqlite/session.cjs.map +1 -1
  95. package/bun-sql/sqlite/session.d.cts +6 -9
  96. package/bun-sql/sqlite/session.d.ts +7 -10
  97. package/bun-sql/sqlite/session.js +18 -19
  98. package/bun-sql/sqlite/session.js.map +1 -1
  99. package/bun-sqlite/driver.cjs +2 -5
  100. package/bun-sqlite/driver.cjs.map +1 -1
  101. package/bun-sqlite/driver.d.ts +1 -1
  102. package/bun-sqlite/driver.js +2 -5
  103. package/bun-sqlite/driver.js.map +1 -1
  104. package/bun-sqlite/session.cjs +14 -15
  105. package/bun-sqlite/session.cjs.map +1 -1
  106. package/bun-sqlite/session.d.cts +6 -10
  107. package/bun-sqlite/session.d.ts +6 -10
  108. package/bun-sqlite/session.js +15 -16
  109. package/bun-sqlite/session.js.map +1 -1
  110. package/cache/core/cache-effect.cjs +2 -2
  111. package/cache/core/cache-effect.d.ts +1 -1
  112. package/cache/core/cache-effect.js +1 -1
  113. package/cockroach/driver.cjs +4 -10
  114. package/cockroach/driver.cjs.map +1 -1
  115. package/cockroach/driver.d.cts +0 -1
  116. package/cockroach/driver.d.ts +2 -3
  117. package/cockroach/driver.js +4 -10
  118. package/cockroach/driver.js.map +1 -1
  119. package/cockroach/session.cjs +9 -7
  120. package/cockroach/session.cjs.map +1 -1
  121. package/cockroach/session.d.cts +3 -5
  122. package/cockroach/session.d.ts +5 -7
  123. package/cockroach/session.js +10 -8
  124. package/cockroach/session.js.map +1 -1
  125. package/cockroach-core/columns/bigint.cjs +4 -4
  126. package/cockroach-core/columns/bigint.cjs.map +1 -1
  127. package/cockroach-core/columns/bigint.d.cts +2 -2
  128. package/cockroach-core/columns/bigint.d.ts +2 -2
  129. package/cockroach-core/columns/bigint.js +4 -4
  130. package/cockroach-core/columns/bigint.js.map +1 -1
  131. package/cockroach-core/columns/common.cjs +5 -5
  132. package/cockroach-core/columns/common.cjs.map +1 -1
  133. package/cockroach-core/columns/common.d.cts +2 -2
  134. package/cockroach-core/columns/common.d.ts +3 -3
  135. package/cockroach-core/columns/common.js +5 -5
  136. package/cockroach-core/columns/common.js.map +1 -1
  137. package/cockroach-core/columns/custom.cjs +4 -4
  138. package/cockroach-core/columns/custom.cjs.map +1 -1
  139. package/cockroach-core/columns/custom.d.cts +2 -2
  140. package/cockroach-core/columns/custom.d.ts +2 -2
  141. package/cockroach-core/columns/custom.js +4 -4
  142. package/cockroach-core/columns/custom.js.map +1 -1
  143. package/cockroach-core/columns/date.cjs +6 -6
  144. package/cockroach-core/columns/date.cjs.map +1 -1
  145. package/cockroach-core/columns/date.d.cts +3 -3
  146. package/cockroach-core/columns/date.d.ts +3 -3
  147. package/cockroach-core/columns/date.js +6 -6
  148. package/cockroach-core/columns/date.js.map +1 -1
  149. package/cockroach-core/columns/decimal.cjs +4 -4
  150. package/cockroach-core/columns/decimal.cjs.map +1 -1
  151. package/cockroach-core/columns/decimal.d.cts +2 -2
  152. package/cockroach-core/columns/decimal.d.ts +2 -2
  153. package/cockroach-core/columns/decimal.js +4 -4
  154. package/cockroach-core/columns/decimal.js.map +1 -1
  155. package/cockroach-core/columns/float.cjs +2 -2
  156. package/cockroach-core/columns/float.cjs.map +1 -1
  157. package/cockroach-core/columns/float.d.cts +1 -1
  158. package/cockroach-core/columns/float.d.ts +1 -1
  159. package/cockroach-core/columns/float.js +2 -2
  160. package/cockroach-core/columns/float.js.map +1 -1
  161. package/cockroach-core/columns/geometry.cjs +8 -8
  162. package/cockroach-core/columns/geometry.cjs.map +1 -1
  163. package/cockroach-core/columns/geometry.d.cts +5 -5
  164. package/cockroach-core/columns/geometry.d.ts +5 -5
  165. package/cockroach-core/columns/geometry.js +8 -8
  166. package/cockroach-core/columns/geometry.js.map +1 -1
  167. package/cockroach-core/columns/integer.cjs +2 -2
  168. package/cockroach-core/columns/integer.cjs.map +1 -1
  169. package/cockroach-core/columns/integer.d.cts +1 -1
  170. package/cockroach-core/columns/integer.d.ts +1 -1
  171. package/cockroach-core/columns/integer.js +2 -2
  172. package/cockroach-core/columns/integer.js.map +1 -1
  173. package/cockroach-core/columns/jsonb.cjs +4 -4
  174. package/cockroach-core/columns/jsonb.cjs.map +1 -1
  175. package/cockroach-core/columns/jsonb.d.cts +2 -2
  176. package/cockroach-core/columns/jsonb.d.ts +2 -2
  177. package/cockroach-core/columns/jsonb.js +4 -4
  178. package/cockroach-core/columns/jsonb.js.map +1 -1
  179. package/cockroach-core/columns/vector.cjs +4 -4
  180. package/cockroach-core/columns/vector.cjs.map +1 -1
  181. package/cockroach-core/columns/vector.d.cts +2 -2
  182. package/cockroach-core/columns/vector.d.ts +2 -2
  183. package/cockroach-core/columns/vector.js +4 -4
  184. package/cockroach-core/columns/vector.js.map +1 -1
  185. package/cockroach-core/db.cjs +1 -1
  186. package/cockroach-core/db.cjs.map +1 -1
  187. package/cockroach-core/db.d.ts +2 -2
  188. package/cockroach-core/db.js +1 -1
  189. package/cockroach-core/db.js.map +1 -1
  190. package/cockroach-core/dialect.cjs +2 -2
  191. package/cockroach-core/dialect.d.ts +2 -2
  192. package/cockroach-core/dialect.js +2 -2
  193. package/cockroach-core/index.cjs +14 -14
  194. package/cockroach-core/index.js +14 -14
  195. package/cockroach-core/query-builders/delete.cjs +1 -1
  196. package/cockroach-core/query-builders/delete.cjs.map +1 -1
  197. package/cockroach-core/query-builders/delete.d.cts +1 -1
  198. package/cockroach-core/query-builders/delete.d.ts +2 -2
  199. package/cockroach-core/query-builders/delete.js +1 -1
  200. package/cockroach-core/query-builders/delete.js.map +1 -1
  201. package/cockroach-core/query-builders/index.cjs +2 -2
  202. package/cockroach-core/query-builders/index.js +2 -2
  203. package/cockroach-core/query-builders/insert.cjs +1 -1
  204. package/cockroach-core/query-builders/insert.cjs.map +1 -1
  205. package/cockroach-core/query-builders/insert.d.ts +1 -1
  206. package/cockroach-core/query-builders/insert.js +1 -1
  207. package/cockroach-core/query-builders/insert.js.map +1 -1
  208. package/cockroach-core/query-builders/query.cjs +1 -1
  209. package/cockroach-core/query-builders/query.cjs.map +1 -1
  210. package/cockroach-core/query-builders/query.js +1 -1
  211. package/cockroach-core/query-builders/query.js.map +1 -1
  212. package/cockroach-core/query-builders/raw.cjs +4 -0
  213. package/cockroach-core/query-builders/raw.cjs.map +1 -1
  214. package/cockroach-core/query-builders/raw.js +4 -0
  215. package/cockroach-core/query-builders/raw.js.map +1 -1
  216. package/cockroach-core/query-builders/refresh-materialized-view.cjs +1 -1
  217. package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  218. package/cockroach-core/query-builders/refresh-materialized-view.js +1 -1
  219. package/cockroach-core/query-builders/refresh-materialized-view.js.map +1 -1
  220. package/cockroach-core/query-builders/select.cjs +2 -2
  221. package/cockroach-core/query-builders/select.cjs.map +1 -1
  222. package/cockroach-core/query-builders/select.d.ts +3 -3
  223. package/cockroach-core/query-builders/select.js +2 -2
  224. package/cockroach-core/query-builders/select.js.map +1 -1
  225. package/cockroach-core/query-builders/select.types.d.ts +1 -1
  226. package/cockroach-core/query-builders/update.cjs +2 -2
  227. package/cockroach-core/query-builders/update.cjs.map +1 -1
  228. package/cockroach-core/query-builders/update.d.ts +1 -1
  229. package/cockroach-core/query-builders/update.js +2 -2
  230. package/cockroach-core/query-builders/update.js.map +1 -1
  231. package/cockroach-core/schema.cjs +1 -1
  232. package/cockroach-core/schema.js +1 -1
  233. package/cockroach-core/session.cjs +2 -2
  234. package/cockroach-core/session.cjs.map +1 -1
  235. package/cockroach-core/session.d.cts +1 -1
  236. package/cockroach-core/session.d.ts +1 -1
  237. package/cockroach-core/session.js +2 -2
  238. package/cockroach-core/session.js.map +1 -1
  239. package/cockroach-core/table.cjs +1 -1
  240. package/cockroach-core/table.cjs.map +1 -1
  241. package/cockroach-core/table.js +1 -1
  242. package/cockroach-core/table.js.map +1 -1
  243. package/cockroach-core/utils.cjs +3 -3
  244. package/cockroach-core/utils.js +3 -3
  245. package/cockroach-core/view.cjs +1 -1
  246. package/cockroach-core/view.js +1 -1
  247. package/column.cjs +5 -10
  248. package/column.cjs.map +1 -1
  249. package/column.d.cts +3 -3
  250. package/column.d.ts +3 -3
  251. package/column.js +5 -10
  252. package/column.js.map +1 -1
  253. package/d1/driver.cjs +2 -3
  254. package/d1/driver.cjs.map +1 -1
  255. package/d1/driver.d.ts +1 -1
  256. package/d1/driver.js +2 -3
  257. package/d1/driver.js.map +1 -1
  258. package/d1/session.cjs +15 -17
  259. package/d1/session.cjs.map +1 -1
  260. package/d1/session.d.cts +6 -9
  261. package/d1/session.d.ts +7 -10
  262. package/d1/session.js +16 -18
  263. package/d1/session.js.map +1 -1
  264. package/durable-sqlite/driver.cjs +2 -5
  265. package/durable-sqlite/driver.cjs.map +1 -1
  266. package/durable-sqlite/driver.d.ts +1 -1
  267. package/durable-sqlite/driver.js +2 -5
  268. package/durable-sqlite/driver.js.map +1 -1
  269. package/durable-sqlite/migrator.cjs +1 -1
  270. package/durable-sqlite/migrator.js +1 -1
  271. package/durable-sqlite/session.cjs +14 -15
  272. package/durable-sqlite/session.cjs.map +1 -1
  273. package/durable-sqlite/session.d.cts +6 -10
  274. package/durable-sqlite/session.d.ts +6 -10
  275. package/durable-sqlite/session.js +15 -16
  276. package/durable-sqlite/session.js.map +1 -1
  277. package/effect-core/index.cjs +1 -1
  278. package/effect-core/index.js +1 -1
  279. package/effect-postgres/driver.cjs +14 -100
  280. package/effect-postgres/driver.cjs.map +1 -1
  281. package/effect-postgres/driver.d.cts +8 -12
  282. package/effect-postgres/driver.d.ts +10 -14
  283. package/effect-postgres/driver.js +14 -100
  284. package/effect-postgres/driver.js.map +1 -1
  285. package/effect-postgres/index.cjs +1 -1
  286. package/effect-postgres/index.d.cts +3 -3
  287. package/effect-postgres/index.d.ts +3 -3
  288. package/effect-postgres/index.js +3 -3
  289. package/effect-postgres/migrator.cjs.map +1 -1
  290. package/effect-postgres/migrator.d.cts +1 -1
  291. package/effect-postgres/migrator.d.ts +2 -2
  292. package/effect-postgres/migrator.js.map +1 -1
  293. package/effect-postgres/session.cjs +71 -12
  294. package/effect-postgres/session.cjs.map +1 -1
  295. package/effect-postgres/session.d.cts +31 -14
  296. package/effect-postgres/session.d.ts +34 -17
  297. package/effect-postgres/session.js +71 -13
  298. package/effect-postgres/session.js.map +1 -1
  299. package/effect-schema/column.cjs +1 -1
  300. package/effect-schema/column.d.ts +8 -8
  301. package/effect-schema/column.js +1 -1
  302. package/effect-schema/column.types.d.ts +14 -14
  303. package/effect-schema/schema.types.internal.d.ts +7 -7
  304. package/expo-sqlite/driver.cjs +2 -5
  305. package/expo-sqlite/driver.cjs.map +1 -1
  306. package/expo-sqlite/driver.d.ts +1 -1
  307. package/expo-sqlite/driver.js +2 -5
  308. package/expo-sqlite/driver.js.map +1 -1
  309. package/expo-sqlite/session.cjs +14 -15
  310. package/expo-sqlite/session.cjs.map +1 -1
  311. package/expo-sqlite/session.d.cts +6 -10
  312. package/expo-sqlite/session.d.ts +6 -10
  313. package/expo-sqlite/session.js +15 -16
  314. package/expo-sqlite/session.js.map +1 -1
  315. package/gel/driver.cjs +3 -5
  316. package/gel/driver.cjs.map +1 -1
  317. package/gel/driver.d.cts +0 -1
  318. package/gel/driver.d.ts +4 -5
  319. package/gel/driver.js +3 -5
  320. package/gel/driver.js.map +1 -1
  321. package/gel/session.cjs +13 -13
  322. package/gel/session.cjs.map +1 -1
  323. package/gel/session.d.cts +5 -8
  324. package/gel/session.d.ts +9 -12
  325. package/gel/session.js +14 -14
  326. package/gel/session.js.map +1 -1
  327. package/gel-core/columns/bigintT.cjs +2 -2
  328. package/gel-core/columns/bigintT.cjs.map +1 -1
  329. package/gel-core/columns/bigintT.d.cts +1 -1
  330. package/gel-core/columns/bigintT.d.ts +1 -1
  331. package/gel-core/columns/bigintT.js +2 -2
  332. package/gel-core/columns/bigintT.js.map +1 -1
  333. package/gel-core/columns/common.cjs +3 -3
  334. package/gel-core/columns/common.cjs.map +1 -1
  335. package/gel-core/columns/common.d.cts +1 -1
  336. package/gel-core/columns/common.d.ts +1 -1
  337. package/gel-core/columns/common.js +3 -3
  338. package/gel-core/columns/common.js.map +1 -1
  339. package/gel-core/columns/custom.cjs +4 -4
  340. package/gel-core/columns/custom.cjs.map +1 -1
  341. package/gel-core/columns/custom.d.cts +2 -2
  342. package/gel-core/columns/custom.d.ts +2 -2
  343. package/gel-core/columns/custom.js +4 -4
  344. package/gel-core/columns/custom.js.map +1 -1
  345. package/gel-core/columns/double-precision.cjs +2 -2
  346. package/gel-core/columns/double-precision.cjs.map +1 -1
  347. package/gel-core/columns/double-precision.d.cts +1 -1
  348. package/gel-core/columns/double-precision.d.ts +1 -1
  349. package/gel-core/columns/double-precision.js +2 -2
  350. package/gel-core/columns/double-precision.js.map +1 -1
  351. package/gel-core/columns/timestamp.d.ts +1 -1
  352. package/gel-core/columns/timestamptz.cjs +2 -2
  353. package/gel-core/columns/timestamptz.cjs.map +1 -1
  354. package/gel-core/columns/timestamptz.d.cts +1 -1
  355. package/gel-core/columns/timestamptz.d.ts +1 -1
  356. package/gel-core/columns/timestamptz.js +2 -2
  357. package/gel-core/columns/timestamptz.js.map +1 -1
  358. package/gel-core/db.cjs +1 -1
  359. package/gel-core/db.cjs.map +1 -1
  360. package/gel-core/db.d.ts +3 -3
  361. package/gel-core/db.js +1 -1
  362. package/gel-core/db.js.map +1 -1
  363. package/gel-core/index.cjs +13 -13
  364. package/gel-core/index.js +13 -13
  365. package/gel-core/query-builders/_query.cjs +1 -1
  366. package/gel-core/query-builders/_query.cjs.map +1 -1
  367. package/gel-core/query-builders/_query.js +1 -1
  368. package/gel-core/query-builders/_query.js.map +1 -1
  369. package/gel-core/query-builders/delete.cjs +1 -1
  370. package/gel-core/query-builders/delete.cjs.map +1 -1
  371. package/gel-core/query-builders/delete.d.ts +2 -2
  372. package/gel-core/query-builders/delete.js +1 -1
  373. package/gel-core/query-builders/delete.js.map +1 -1
  374. package/gel-core/query-builders/index.cjs +1 -1
  375. package/gel-core/query-builders/index.js +1 -1
  376. package/gel-core/query-builders/insert.cjs +1 -1
  377. package/gel-core/query-builders/insert.cjs.map +1 -1
  378. package/gel-core/query-builders/insert.d.ts +2 -2
  379. package/gel-core/query-builders/insert.js +1 -1
  380. package/gel-core/query-builders/insert.js.map +1 -1
  381. package/gel-core/query-builders/query.cjs +5 -13
  382. package/gel-core/query-builders/query.cjs.map +1 -1
  383. package/gel-core/query-builders/query.d.ts +1 -1
  384. package/gel-core/query-builders/query.js +5 -13
  385. package/gel-core/query-builders/query.js.map +1 -1
  386. package/gel-core/query-builders/raw.cjs +4 -0
  387. package/gel-core/query-builders/raw.cjs.map +1 -1
  388. package/gel-core/query-builders/raw.js +4 -0
  389. package/gel-core/query-builders/raw.js.map +1 -1
  390. package/gel-core/query-builders/refresh-materialized-view.cjs +1 -1
  391. package/gel-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  392. package/gel-core/query-builders/refresh-materialized-view.d.ts +1 -1
  393. package/gel-core/query-builders/refresh-materialized-view.js +1 -1
  394. package/gel-core/query-builders/refresh-materialized-view.js.map +1 -1
  395. package/gel-core/query-builders/select.cjs +1 -1
  396. package/gel-core/query-builders/select.cjs.map +1 -1
  397. package/gel-core/query-builders/select.d.ts +3 -3
  398. package/gel-core/query-builders/select.js +1 -1
  399. package/gel-core/query-builders/select.js.map +1 -1
  400. package/gel-core/query-builders/select.types.d.ts +1 -1
  401. package/gel-core/query-builders/update.cjs +1 -1
  402. package/gel-core/query-builders/update.cjs.map +1 -1
  403. package/gel-core/query-builders/update.d.ts +2 -2
  404. package/gel-core/query-builders/update.js +1 -1
  405. package/gel-core/query-builders/update.js.map +1 -1
  406. package/gel-core/session.cjs +2 -2
  407. package/gel-core/session.cjs.map +1 -1
  408. package/gel-core/session.d.cts +3 -3
  409. package/gel-core/session.d.ts +3 -3
  410. package/gel-core/session.js +2 -2
  411. package/gel-core/session.js.map +1 -1
  412. package/gel-core/table.cjs +1 -1
  413. package/gel-core/table.cjs.map +1 -1
  414. package/gel-core/table.js +1 -1
  415. package/gel-core/table.js.map +1 -1
  416. package/gel-core/utils.cjs +4 -4
  417. package/gel-core/utils.js +4 -4
  418. package/gel-core/view.cjs +1 -1
  419. package/gel-core/view.js +1 -1
  420. package/index.cjs +6 -12
  421. package/index.d.cts +6 -6
  422. package/index.d.ts +6 -6
  423. package/index.js +9 -9
  424. package/libsql/driver-core.cjs +2 -3
  425. package/libsql/driver-core.cjs.map +1 -1
  426. package/libsql/driver-core.d.ts +1 -1
  427. package/libsql/driver-core.js +2 -3
  428. package/libsql/driver-core.js.map +1 -1
  429. package/libsql/session.cjs +15 -14
  430. package/libsql/session.cjs.map +1 -1
  431. package/libsql/session.d.cts +6 -9
  432. package/libsql/session.d.ts +7 -10
  433. package/libsql/session.js +16 -15
  434. package/libsql/session.js.map +1 -1
  435. package/mssql-core/columns/bigint.cjs +2 -2
  436. package/mssql-core/columns/bigint.cjs.map +1 -1
  437. package/mssql-core/columns/bigint.d.cts +1 -1
  438. package/mssql-core/columns/bigint.d.ts +1 -1
  439. package/mssql-core/columns/bigint.js +2 -2
  440. package/mssql-core/columns/bigint.js.map +1 -1
  441. package/mssql-core/columns/custom.cjs +4 -4
  442. package/mssql-core/columns/custom.cjs.map +1 -1
  443. package/mssql-core/columns/custom.d.cts +2 -2
  444. package/mssql-core/columns/custom.d.ts +2 -2
  445. package/mssql-core/columns/custom.js +4 -4
  446. package/mssql-core/columns/custom.js.map +1 -1
  447. package/mssql-core/columns/date.cjs +4 -4
  448. package/mssql-core/columns/date.cjs.map +1 -1
  449. package/mssql-core/columns/date.d.cts +2 -2
  450. package/mssql-core/columns/date.d.ts +2 -2
  451. package/mssql-core/columns/date.js +4 -4
  452. package/mssql-core/columns/date.js.map +1 -1
  453. package/mssql-core/columns/datetime.cjs +2 -2
  454. package/mssql-core/columns/datetime.cjs.map +1 -1
  455. package/mssql-core/columns/datetime.d.cts +1 -1
  456. package/mssql-core/columns/datetime.d.ts +1 -1
  457. package/mssql-core/columns/datetime.js +2 -2
  458. package/mssql-core/columns/datetime.js.map +1 -1
  459. package/mssql-core/columns/datetime2.cjs +2 -2
  460. package/mssql-core/columns/datetime2.cjs.map +1 -1
  461. package/mssql-core/columns/datetime2.d.cts +1 -1
  462. package/mssql-core/columns/datetime2.d.ts +1 -1
  463. package/mssql-core/columns/datetime2.js +2 -2
  464. package/mssql-core/columns/datetime2.js.map +1 -1
  465. package/mssql-core/columns/datetimeoffset.cjs +2 -2
  466. package/mssql-core/columns/datetimeoffset.cjs.map +1 -1
  467. package/mssql-core/columns/datetimeoffset.d.cts +1 -1
  468. package/mssql-core/columns/datetimeoffset.d.ts +1 -1
  469. package/mssql-core/columns/datetimeoffset.js +2 -2
  470. package/mssql-core/columns/datetimeoffset.js.map +1 -1
  471. package/mssql-core/columns/decimal.cjs +4 -4
  472. package/mssql-core/columns/decimal.cjs.map +1 -1
  473. package/mssql-core/columns/decimal.d.cts +2 -2
  474. package/mssql-core/columns/decimal.d.ts +2 -2
  475. package/mssql-core/columns/decimal.js +4 -4
  476. package/mssql-core/columns/decimal.js.map +1 -1
  477. package/mssql-core/columns/numeric.cjs +4 -4
  478. package/mssql-core/columns/numeric.cjs.map +1 -1
  479. package/mssql-core/columns/numeric.d.cts +2 -2
  480. package/mssql-core/columns/numeric.d.ts +2 -2
  481. package/mssql-core/columns/numeric.js +4 -4
  482. package/mssql-core/columns/numeric.js.map +1 -1
  483. package/mssql-core/columns/smallint.cjs +2 -2
  484. package/mssql-core/columns/smallint.cjs.map +1 -1
  485. package/mssql-core/columns/smallint.d.cts +1 -1
  486. package/mssql-core/columns/smallint.d.ts +1 -1
  487. package/mssql-core/columns/smallint.js +2 -2
  488. package/mssql-core/columns/smallint.js.map +1 -1
  489. package/mssql-core/columns/time.cjs +2 -2
  490. package/mssql-core/columns/time.cjs.map +1 -1
  491. package/mssql-core/columns/time.d.cts +1 -1
  492. package/mssql-core/columns/time.d.ts +1 -1
  493. package/mssql-core/columns/time.js +2 -2
  494. package/mssql-core/columns/time.js.map +1 -1
  495. package/mssql-core/columns/tinyint.cjs +2 -2
  496. package/mssql-core/columns/tinyint.cjs.map +1 -1
  497. package/mssql-core/columns/tinyint.d.cts +1 -1
  498. package/mssql-core/columns/tinyint.d.ts +1 -1
  499. package/mssql-core/columns/tinyint.js +2 -2
  500. package/mssql-core/columns/tinyint.js.map +1 -1
  501. package/mssql-core/columns/varchar.cjs +4 -4
  502. package/mssql-core/columns/varchar.cjs.map +1 -1
  503. package/mssql-core/columns/varchar.d.cts +2 -2
  504. package/mssql-core/columns/varchar.d.ts +2 -2
  505. package/mssql-core/columns/varchar.js +4 -4
  506. package/mssql-core/columns/varchar.js.map +1 -1
  507. package/mssql-core/dialect.cjs +2 -2
  508. package/mssql-core/dialect.d.ts +1 -1
  509. package/mssql-core/dialect.js +2 -2
  510. package/mssql-core/index.cjs +13 -13
  511. package/mssql-core/index.js +13 -13
  512. package/mssql-core/query-builders/delete.d.ts +1 -1
  513. package/mssql-core/query-builders/insert.d.ts +1 -1
  514. package/mssql-core/query-builders/select.d.ts +1 -1
  515. package/mssql-core/query-builders/update.d.ts +2 -2
  516. package/mssql-core/table.cjs +1 -1
  517. package/mssql-core/table.cjs.map +1 -1
  518. package/mssql-core/table.js +1 -1
  519. package/mssql-core/table.js.map +1 -1
  520. package/mssql-core/utils.cjs +3 -3
  521. package/mssql-core/utils.js +3 -3
  522. package/mssql-core/view.cjs +2 -2
  523. package/mssql-core/view.js +2 -2
  524. package/mysql-core/columns/bigint.cjs +8 -8
  525. package/mysql-core/columns/bigint.cjs.map +1 -1
  526. package/mysql-core/columns/bigint.d.cts +4 -4
  527. package/mysql-core/columns/bigint.d.ts +4 -4
  528. package/mysql-core/columns/bigint.js +8 -8
  529. package/mysql-core/columns/bigint.js.map +1 -1
  530. package/mysql-core/columns/binary.cjs +2 -2
  531. package/mysql-core/columns/binary.cjs.map +1 -1
  532. package/mysql-core/columns/binary.d.cts +1 -1
  533. package/mysql-core/columns/binary.d.ts +1 -1
  534. package/mysql-core/columns/binary.js +2 -2
  535. package/mysql-core/columns/binary.js.map +1 -1
  536. package/mysql-core/columns/blob.cjs +4 -4
  537. package/mysql-core/columns/blob.cjs.map +1 -1
  538. package/mysql-core/columns/blob.d.cts +2 -2
  539. package/mysql-core/columns/blob.d.ts +2 -2
  540. package/mysql-core/columns/blob.js +4 -4
  541. package/mysql-core/columns/blob.js.map +1 -1
  542. package/mysql-core/columns/boolean.cjs +2 -2
  543. package/mysql-core/columns/boolean.cjs.map +1 -1
  544. package/mysql-core/columns/boolean.d.cts +1 -1
  545. package/mysql-core/columns/boolean.d.ts +1 -1
  546. package/mysql-core/columns/boolean.js +2 -2
  547. package/mysql-core/columns/boolean.js.map +1 -1
  548. package/mysql-core/columns/custom.cjs +4 -4
  549. package/mysql-core/columns/custom.cjs.map +1 -1
  550. package/mysql-core/columns/custom.d.cts +2 -2
  551. package/mysql-core/columns/custom.d.ts +2 -2
  552. package/mysql-core/columns/custom.js +4 -4
  553. package/mysql-core/columns/custom.js.map +1 -1
  554. package/mysql-core/columns/date.cjs +4 -4
  555. package/mysql-core/columns/date.cjs.map +1 -1
  556. package/mysql-core/columns/date.d.cts +2 -2
  557. package/mysql-core/columns/date.d.ts +2 -2
  558. package/mysql-core/columns/date.js +4 -4
  559. package/mysql-core/columns/date.js.map +1 -1
  560. package/mysql-core/columns/datetime.cjs +8 -8
  561. package/mysql-core/columns/datetime.cjs.map +1 -1
  562. package/mysql-core/columns/datetime.d.cts +4 -4
  563. package/mysql-core/columns/datetime.d.ts +4 -4
  564. package/mysql-core/columns/datetime.js +8 -8
  565. package/mysql-core/columns/datetime.js.map +1 -1
  566. package/mysql-core/columns/decimal.cjs +4 -4
  567. package/mysql-core/columns/decimal.cjs.map +1 -1
  568. package/mysql-core/columns/decimal.d.cts +2 -2
  569. package/mysql-core/columns/decimal.d.ts +2 -2
  570. package/mysql-core/columns/decimal.js +4 -4
  571. package/mysql-core/columns/decimal.js.map +1 -1
  572. package/mysql-core/columns/float.cjs +2 -2
  573. package/mysql-core/columns/float.cjs.map +1 -1
  574. package/mysql-core/columns/float.d.cts +1 -1
  575. package/mysql-core/columns/float.d.ts +1 -1
  576. package/mysql-core/columns/float.js +2 -2
  577. package/mysql-core/columns/float.js.map +1 -1
  578. package/mysql-core/columns/int.cjs +2 -2
  579. package/mysql-core/columns/int.cjs.map +1 -1
  580. package/mysql-core/columns/int.d.cts +1 -1
  581. package/mysql-core/columns/int.d.ts +1 -1
  582. package/mysql-core/columns/int.js +2 -2
  583. package/mysql-core/columns/int.js.map +1 -1
  584. package/mysql-core/columns/json.cjs +2 -2
  585. package/mysql-core/columns/json.cjs.map +1 -1
  586. package/mysql-core/columns/json.d.cts +1 -1
  587. package/mysql-core/columns/json.d.ts +1 -1
  588. package/mysql-core/columns/json.js +2 -2
  589. package/mysql-core/columns/json.js.map +1 -1
  590. package/mysql-core/columns/mediumint.cjs +2 -2
  591. package/mysql-core/columns/mediumint.cjs.map +1 -1
  592. package/mysql-core/columns/mediumint.d.cts +1 -1
  593. package/mysql-core/columns/mediumint.d.ts +1 -1
  594. package/mysql-core/columns/mediumint.js +2 -2
  595. package/mysql-core/columns/mediumint.js.map +1 -1
  596. package/mysql-core/columns/serial.cjs +2 -2
  597. package/mysql-core/columns/serial.cjs.map +1 -1
  598. package/mysql-core/columns/serial.d.cts +1 -1
  599. package/mysql-core/columns/serial.d.ts +1 -1
  600. package/mysql-core/columns/serial.js +2 -2
  601. package/mysql-core/columns/serial.js.map +1 -1
  602. package/mysql-core/columns/smallint.cjs +2 -2
  603. package/mysql-core/columns/smallint.cjs.map +1 -1
  604. package/mysql-core/columns/smallint.d.cts +1 -1
  605. package/mysql-core/columns/smallint.d.ts +1 -1
  606. package/mysql-core/columns/smallint.js +2 -2
  607. package/mysql-core/columns/smallint.js.map +1 -1
  608. package/mysql-core/columns/time.cjs +2 -2
  609. package/mysql-core/columns/time.cjs.map +1 -1
  610. package/mysql-core/columns/time.d.cts +1 -1
  611. package/mysql-core/columns/time.d.ts +1 -1
  612. package/mysql-core/columns/time.js +2 -2
  613. package/mysql-core/columns/time.js.map +1 -1
  614. package/mysql-core/columns/timestamp.cjs +8 -8
  615. package/mysql-core/columns/timestamp.cjs.map +1 -1
  616. package/mysql-core/columns/timestamp.d.cts +4 -4
  617. package/mysql-core/columns/timestamp.d.ts +4 -4
  618. package/mysql-core/columns/timestamp.js +8 -8
  619. package/mysql-core/columns/timestamp.js.map +1 -1
  620. package/mysql-core/columns/tinyint.cjs +2 -2
  621. package/mysql-core/columns/tinyint.cjs.map +1 -1
  622. package/mysql-core/columns/tinyint.d.cts +1 -1
  623. package/mysql-core/columns/tinyint.d.ts +1 -1
  624. package/mysql-core/columns/tinyint.js +2 -2
  625. package/mysql-core/columns/tinyint.js.map +1 -1
  626. package/mysql-core/columns/varbinary.cjs +2 -2
  627. package/mysql-core/columns/varbinary.cjs.map +1 -1
  628. package/mysql-core/columns/varbinary.d.cts +1 -1
  629. package/mysql-core/columns/varbinary.d.ts +1 -1
  630. package/mysql-core/columns/varbinary.js +2 -2
  631. package/mysql-core/columns/varbinary.js.map +1 -1
  632. package/mysql-core/columns/year.cjs +2 -2
  633. package/mysql-core/columns/year.cjs.map +1 -1
  634. package/mysql-core/columns/year.d.cts +1 -1
  635. package/mysql-core/columns/year.d.ts +1 -1
  636. package/mysql-core/columns/year.js +2 -2
  637. package/mysql-core/columns/year.js.map +1 -1
  638. package/mysql-core/db.d.ts +2 -2
  639. package/mysql-core/dialect.cjs +2 -2
  640. package/mysql-core/dialect.d.ts +1 -1
  641. package/mysql-core/dialect.js +2 -2
  642. package/mysql-core/index.cjs +1 -1
  643. package/mysql-core/index.js +1 -1
  644. package/mysql-core/query-builders/query.cjs +5 -13
  645. package/mysql-core/query-builders/query.cjs.map +1 -1
  646. package/mysql-core/query-builders/query.d.ts +1 -1
  647. package/mysql-core/query-builders/query.js +5 -13
  648. package/mysql-core/query-builders/query.js.map +1 -1
  649. package/mysql-core/session.cjs +2 -1
  650. package/mysql-core/session.cjs.map +1 -1
  651. package/mysql-core/session.d.cts +4 -3
  652. package/mysql-core/session.d.ts +4 -3
  653. package/mysql-core/session.js +2 -1
  654. package/mysql-core/session.js.map +1 -1
  655. package/mysql-core/table.cjs +1 -1
  656. package/mysql-core/table.cjs.map +1 -1
  657. package/mysql-core/table.js +1 -1
  658. package/mysql-core/table.js.map +1 -1
  659. package/mysql-proxy/driver.cjs +2 -5
  660. package/mysql-proxy/driver.cjs.map +1 -1
  661. package/mysql-proxy/driver.js +2 -5
  662. package/mysql-proxy/driver.js.map +1 -1
  663. package/mysql-proxy/session.cjs +19 -26
  664. package/mysql-proxy/session.cjs.map +1 -1
  665. package/mysql-proxy/session.d.cts +4 -11
  666. package/mysql-proxy/session.d.ts +6 -13
  667. package/mysql-proxy/session.js +20 -27
  668. package/mysql-proxy/session.js.map +1 -1
  669. package/mysql2/driver.cjs +2 -3
  670. package/mysql2/driver.cjs.map +1 -1
  671. package/mysql2/driver.d.cts +0 -1
  672. package/mysql2/driver.d.ts +3 -4
  673. package/mysql2/driver.js +2 -3
  674. package/mysql2/driver.js.map +1 -1
  675. package/mysql2/session.cjs +39 -49
  676. package/mysql2/session.cjs.map +1 -1
  677. package/mysql2/session.d.cts +4 -11
  678. package/mysql2/session.d.ts +6 -13
  679. package/mysql2/session.js +40 -50
  680. package/mysql2/session.js.map +1 -1
  681. package/neon-http/driver.cjs +65 -34
  682. package/neon-http/driver.cjs.map +1 -1
  683. package/neon-http/driver.d.cts +19 -15
  684. package/neon-http/driver.d.ts +20 -16
  685. package/neon-http/driver.js +64 -34
  686. package/neon-http/driver.js.map +1 -1
  687. package/neon-http/index.cjs +4 -2
  688. package/neon-http/index.d.cts +3 -3
  689. package/neon-http/index.d.ts +3 -3
  690. package/neon-http/index.js +3 -3
  691. package/neon-http/migrator.cjs +1 -1
  692. package/neon-http/migrator.cjs.map +1 -1
  693. package/neon-http/migrator.d.cts +1 -1
  694. package/neon-http/migrator.d.ts +1 -1
  695. package/neon-http/migrator.js +1 -1
  696. package/neon-http/migrator.js.map +1 -1
  697. package/neon-http/session.cjs +117 -28
  698. package/neon-http/session.cjs.map +1 -1
  699. package/neon-http/session.d.cts +38 -10
  700. package/neon-http/session.d.ts +40 -12
  701. package/neon-http/session.js +117 -30
  702. package/neon-http/session.js.map +1 -1
  703. package/neon-serverless/driver.cjs +32 -14
  704. package/neon-serverless/driver.cjs.map +1 -1
  705. package/neon-serverless/driver.d.cts +17 -12
  706. package/neon-serverless/driver.d.ts +18 -13
  707. package/neon-serverless/driver.js +31 -14
  708. package/neon-serverless/driver.js.map +1 -1
  709. package/neon-serverless/index.cjs +3 -2
  710. package/neon-serverless/index.d.cts +3 -3
  711. package/neon-serverless/index.d.ts +3 -3
  712. package/neon-serverless/index.js +3 -3
  713. package/neon-serverless/migrator.cjs.map +1 -1
  714. package/neon-serverless/migrator.d.cts +1 -1
  715. package/neon-serverless/migrator.d.ts +1 -1
  716. package/neon-serverless/migrator.js.map +1 -1
  717. package/neon-serverless/session.cjs +108 -32
  718. package/neon-serverless/session.cjs.map +1 -1
  719. package/neon-serverless/session.d.cts +32 -9
  720. package/neon-serverless/session.d.ts +33 -10
  721. package/neon-serverless/session.js +109 -34
  722. package/neon-serverless/session.js.map +1 -1
  723. package/netlify-db/driver.cjs +123 -0
  724. package/netlify-db/driver.cjs.map +1 -0
  725. package/netlify-db/driver.d.cts +90 -0
  726. package/netlify-db/driver.d.ts +90 -0
  727. package/netlify-db/driver.js +113 -0
  728. package/netlify-db/driver.js.map +1 -0
  729. package/netlify-db/index.cjs +15 -0
  730. package/netlify-db/index.d.cts +3 -0
  731. package/netlify-db/index.d.ts +3 -0
  732. package/netlify-db/index.js +4 -0
  733. package/netlify-db/migrator.cjs +17 -0
  734. package/netlify-db/migrator.cjs.map +1 -0
  735. package/netlify-db/migrator.d.cts +11 -0
  736. package/netlify-db/migrator.d.ts +11 -0
  737. package/netlify-db/migrator.js +15 -0
  738. package/netlify-db/migrator.js.map +1 -0
  739. package/netlify-db/session.cjs +153 -0
  740. package/netlify-db/session.cjs.map +1 -0
  741. package/netlify-db/session.d.cts +68 -0
  742. package/netlify-db/session.d.ts +68 -0
  743. package/netlify-db/session.js +149 -0
  744. package/netlify-db/session.js.map +1 -0
  745. package/node-mssql/driver.cjs +3 -9
  746. package/node-mssql/driver.cjs.map +1 -1
  747. package/node-mssql/driver.d.cts +0 -1
  748. package/node-mssql/driver.d.ts +2 -3
  749. package/node-mssql/driver.js +3 -9
  750. package/node-mssql/driver.js.map +1 -1
  751. package/node-mssql/session.cjs +4 -6
  752. package/node-mssql/session.cjs.map +1 -1
  753. package/node-mssql/session.d.cts +1 -4
  754. package/node-mssql/session.d.ts +3 -6
  755. package/node-mssql/session.js +5 -7
  756. package/node-mssql/session.js.map +1 -1
  757. package/node-postgres/driver.cjs +18 -15
  758. package/node-postgres/driver.cjs.map +1 -1
  759. package/node-postgres/driver.d.cts +6 -11
  760. package/node-postgres/driver.d.ts +7 -12
  761. package/node-postgres/driver.js +18 -15
  762. package/node-postgres/driver.js.map +1 -1
  763. package/node-postgres/index.cjs +2 -2
  764. package/node-postgres/index.d.cts +3 -3
  765. package/node-postgres/index.d.ts +3 -3
  766. package/node-postgres/index.js +3 -3
  767. package/node-postgres/migrator.cjs.map +1 -1
  768. package/node-postgres/migrator.d.cts +1 -1
  769. package/node-postgres/migrator.d.ts +1 -1
  770. package/node-postgres/migrator.js.map +1 -1
  771. package/node-postgres/session.cjs +126 -33
  772. package/node-postgres/session.cjs.map +1 -1
  773. package/node-postgres/session.d.cts +30 -10
  774. package/node-postgres/session.d.ts +31 -11
  775. package/node-postgres/session.js +127 -35
  776. package/node-postgres/session.js.map +1 -1
  777. package/node-sqlite/driver.cjs +1 -1
  778. package/node-sqlite/driver.d.ts +1 -1
  779. package/node-sqlite/driver.js +1 -1
  780. package/node-sqlite/session.cjs +9 -4
  781. package/node-sqlite/session.cjs.map +1 -1
  782. package/node-sqlite/session.d.cts +4 -3
  783. package/node-sqlite/session.d.ts +5 -4
  784. package/node-sqlite/session.js +9 -4
  785. package/node-sqlite/session.js.map +1 -1
  786. package/op-sqlite/driver.cjs +2 -3
  787. package/op-sqlite/driver.cjs.map +1 -1
  788. package/op-sqlite/driver.d.ts +1 -1
  789. package/op-sqlite/driver.js +2 -3
  790. package/op-sqlite/driver.js.map +1 -1
  791. package/op-sqlite/session.cjs +16 -18
  792. package/op-sqlite/session.cjs.map +1 -1
  793. package/op-sqlite/session.d.cts +6 -10
  794. package/op-sqlite/session.d.ts +7 -11
  795. package/op-sqlite/session.js +17 -19
  796. package/op-sqlite/session.js.map +1 -1
  797. package/operations.d.cts +0 -3
  798. package/operations.d.ts +0 -3
  799. package/package.cjs +1 -1
  800. package/package.js +1 -1
  801. package/package.json +4736 -4700
  802. package/pg-core/async/count.cjs +9 -2
  803. package/pg-core/async/count.cjs.map +1 -1
  804. package/pg-core/async/count.js +9 -2
  805. package/pg-core/async/count.js.map +1 -1
  806. package/pg-core/async/db.cjs +27 -10
  807. package/pg-core/async/db.cjs.map +1 -1
  808. package/pg-core/async/db.d.cts +13 -5
  809. package/pg-core/async/db.d.ts +16 -8
  810. package/pg-core/async/db.js +27 -10
  811. package/pg-core/async/db.js.map +1 -1
  812. package/pg-core/async/delete.cjs +13 -8
  813. package/pg-core/async/delete.cjs.map +1 -1
  814. package/pg-core/async/delete.js +13 -8
  815. package/pg-core/async/delete.js.map +1 -1
  816. package/pg-core/async/insert.cjs +12 -7
  817. package/pg-core/async/insert.cjs.map +1 -1
  818. package/pg-core/async/insert.js +12 -7
  819. package/pg-core/async/insert.js.map +1 -1
  820. package/pg-core/async/query.cjs +14 -8
  821. package/pg-core/async/query.cjs.map +1 -1
  822. package/pg-core/async/query.js +14 -8
  823. package/pg-core/async/query.js.map +1 -1
  824. package/pg-core/async/refresh-materialized-view.cjs +9 -1
  825. package/pg-core/async/refresh-materialized-view.cjs.map +1 -1
  826. package/pg-core/async/refresh-materialized-view.js +9 -1
  827. package/pg-core/async/refresh-materialized-view.js.map +1 -1
  828. package/pg-core/async/select.cjs +13 -4
  829. package/pg-core/async/select.cjs.map +1 -1
  830. package/pg-core/async/select.js +13 -4
  831. package/pg-core/async/select.js.map +1 -1
  832. package/pg-core/async/session.cjs +22 -46
  833. package/pg-core/async/session.cjs.map +1 -1
  834. package/pg-core/async/session.d.cts +31 -25
  835. package/pg-core/async/session.d.ts +32 -26
  836. package/pg-core/async/session.js +23 -47
  837. package/pg-core/async/session.js.map +1 -1
  838. package/pg-core/async/update.cjs +15 -11
  839. package/pg-core/async/update.cjs.map +1 -1
  840. package/pg-core/async/update.js +15 -11
  841. package/pg-core/async/update.js.map +1 -1
  842. package/pg-core/columns/bigint.cjs +9 -10
  843. package/pg-core/columns/bigint.cjs.map +1 -1
  844. package/pg-core/columns/bigint.d.cts +3 -2
  845. package/pg-core/columns/bigint.d.ts +3 -2
  846. package/pg-core/columns/bigint.js +9 -10
  847. package/pg-core/columns/bigint.js.map +1 -1
  848. package/pg-core/columns/bigserial.cjs +6 -6
  849. package/pg-core/columns/bigserial.cjs.map +1 -1
  850. package/pg-core/columns/bigserial.d.cts +2 -1
  851. package/pg-core/columns/bigserial.d.ts +2 -1
  852. package/pg-core/columns/bigserial.js +6 -6
  853. package/pg-core/columns/bigserial.js.map +1 -1
  854. package/pg-core/columns/boolean.cjs +0 -2
  855. package/pg-core/columns/boolean.cjs.map +1 -1
  856. package/pg-core/columns/boolean.js +0 -2
  857. package/pg-core/columns/boolean.js.map +1 -1
  858. package/pg-core/columns/bytea.cjs +8 -2
  859. package/pg-core/columns/bytea.cjs.map +1 -1
  860. package/pg-core/columns/bytea.d.cts +1 -0
  861. package/pg-core/columns/bytea.d.ts +1 -0
  862. package/pg-core/columns/bytea.js +8 -2
  863. package/pg-core/columns/bytea.js.map +1 -1
  864. package/pg-core/columns/char.cjs +0 -2
  865. package/pg-core/columns/char.cjs.map +1 -1
  866. package/pg-core/columns/char.js +0 -2
  867. package/pg-core/columns/char.js.map +1 -1
  868. package/pg-core/columns/cidr.cjs +0 -2
  869. package/pg-core/columns/cidr.cjs.map +1 -1
  870. package/pg-core/columns/cidr.js +0 -2
  871. package/pg-core/columns/cidr.js.map +1 -1
  872. package/pg-core/columns/common.cjs +9 -11
  873. package/pg-core/columns/common.cjs.map +1 -1
  874. package/pg-core/columns/common.d.cts +39 -34
  875. package/pg-core/columns/common.d.ts +39 -34
  876. package/pg-core/columns/common.js +9 -11
  877. package/pg-core/columns/common.js.map +1 -1
  878. package/pg-core/columns/custom.cjs +46 -16
  879. package/pg-core/columns/custom.cjs.map +1 -1
  880. package/pg-core/columns/custom.d.cts +8 -17
  881. package/pg-core/columns/custom.d.ts +8 -17
  882. package/pg-core/columns/custom.js +46 -16
  883. package/pg-core/columns/custom.js.map +1 -1
  884. package/pg-core/columns/date.cjs +12 -11
  885. package/pg-core/columns/date.cjs.map +1 -1
  886. package/pg-core/columns/date.d.cts +4 -3
  887. package/pg-core/columns/date.d.ts +4 -3
  888. package/pg-core/columns/date.js +12 -11
  889. package/pg-core/columns/date.js.map +1 -1
  890. package/pg-core/columns/double-precision.cjs +4 -2
  891. package/pg-core/columns/double-precision.cjs.map +1 -1
  892. package/pg-core/columns/double-precision.d.cts +1 -0
  893. package/pg-core/columns/double-precision.d.ts +1 -0
  894. package/pg-core/columns/double-precision.js +4 -2
  895. package/pg-core/columns/double-precision.js.map +1 -1
  896. package/pg-core/columns/enum.cjs +0 -4
  897. package/pg-core/columns/enum.cjs.map +1 -1
  898. package/pg-core/columns/enum.js +0 -4
  899. package/pg-core/columns/enum.js.map +1 -1
  900. package/pg-core/columns/index.d.cts +2 -2
  901. package/pg-core/columns/index.d.ts +2 -2
  902. package/pg-core/columns/inet.cjs +0 -2
  903. package/pg-core/columns/inet.cjs.map +1 -1
  904. package/pg-core/columns/inet.js +0 -2
  905. package/pg-core/columns/inet.js.map +1 -1
  906. package/pg-core/columns/integer.cjs +4 -2
  907. package/pg-core/columns/integer.cjs.map +1 -1
  908. package/pg-core/columns/integer.d.cts +1 -0
  909. package/pg-core/columns/integer.d.ts +1 -0
  910. package/pg-core/columns/integer.js +4 -2
  911. package/pg-core/columns/integer.js.map +1 -1
  912. package/pg-core/columns/interval.cjs +0 -2
  913. package/pg-core/columns/interval.cjs.map +1 -1
  914. package/pg-core/columns/interval.js +0 -2
  915. package/pg-core/columns/interval.js.map +1 -1
  916. package/pg-core/columns/json.cjs +11 -2
  917. package/pg-core/columns/json.cjs.map +1 -1
  918. package/pg-core/columns/json.d.cts +2 -0
  919. package/pg-core/columns/json.d.ts +2 -0
  920. package/pg-core/columns/json.js +11 -2
  921. package/pg-core/columns/json.js.map +1 -1
  922. package/pg-core/columns/jsonb.cjs +11 -2
  923. package/pg-core/columns/jsonb.cjs.map +1 -1
  924. package/pg-core/columns/jsonb.d.cts +2 -0
  925. package/pg-core/columns/jsonb.d.ts +2 -0
  926. package/pg-core/columns/jsonb.js +11 -2
  927. package/pg-core/columns/jsonb.js.map +1 -1
  928. package/pg-core/columns/line.cjs +8 -12
  929. package/pg-core/columns/line.cjs.map +1 -1
  930. package/pg-core/columns/line.d.cts +5 -5
  931. package/pg-core/columns/line.d.ts +5 -5
  932. package/pg-core/columns/line.js +8 -12
  933. package/pg-core/columns/line.js.map +1 -1
  934. package/pg-core/columns/macaddr.cjs +0 -2
  935. package/pg-core/columns/macaddr.cjs.map +1 -1
  936. package/pg-core/columns/macaddr.js +0 -2
  937. package/pg-core/columns/macaddr.js.map +1 -1
  938. package/pg-core/columns/macaddr8.cjs +0 -2
  939. package/pg-core/columns/macaddr8.cjs.map +1 -1
  940. package/pg-core/columns/macaddr8.js +0 -2
  941. package/pg-core/columns/macaddr8.js.map +1 -1
  942. package/pg-core/columns/numeric.cjs +15 -12
  943. package/pg-core/columns/numeric.cjs.map +1 -1
  944. package/pg-core/columns/numeric.d.cts +5 -4
  945. package/pg-core/columns/numeric.d.ts +5 -4
  946. package/pg-core/columns/numeric.js +15 -12
  947. package/pg-core/columns/numeric.js.map +1 -1
  948. package/pg-core/columns/point.cjs +21 -19
  949. package/pg-core/columns/point.cjs.map +1 -1
  950. package/pg-core/columns/point.d.cts +11 -5
  951. package/pg-core/columns/point.d.ts +11 -5
  952. package/pg-core/columns/point.js +21 -19
  953. package/pg-core/columns/point.js.map +1 -1
  954. package/pg-core/columns/postgis_extension/geometry.cjs +9 -12
  955. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  956. package/pg-core/columns/postgis_extension/geometry.d.cts +5 -5
  957. package/pg-core/columns/postgis_extension/geometry.d.ts +5 -5
  958. package/pg-core/columns/postgis_extension/geometry.js +9 -12
  959. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  960. package/pg-core/columns/real.cjs +4 -2
  961. package/pg-core/columns/real.cjs.map +1 -1
  962. package/pg-core/columns/real.d.cts +1 -0
  963. package/pg-core/columns/real.d.ts +1 -0
  964. package/pg-core/columns/real.js +4 -2
  965. package/pg-core/columns/real.js.map +1 -1
  966. package/pg-core/columns/serial.cjs +0 -2
  967. package/pg-core/columns/serial.cjs.map +1 -1
  968. package/pg-core/columns/serial.js +0 -2
  969. package/pg-core/columns/serial.js.map +1 -1
  970. package/pg-core/columns/smallint.cjs +4 -2
  971. package/pg-core/columns/smallint.cjs.map +1 -1
  972. package/pg-core/columns/smallint.d.cts +1 -0
  973. package/pg-core/columns/smallint.d.ts +1 -0
  974. package/pg-core/columns/smallint.js +4 -2
  975. package/pg-core/columns/smallint.js.map +1 -1
  976. package/pg-core/columns/smallserial.cjs +0 -2
  977. package/pg-core/columns/smallserial.cjs.map +1 -1
  978. package/pg-core/columns/smallserial.js +0 -2
  979. package/pg-core/columns/smallserial.js.map +1 -1
  980. package/pg-core/columns/text.cjs +0 -2
  981. package/pg-core/columns/text.cjs.map +1 -1
  982. package/pg-core/columns/text.js +0 -2
  983. package/pg-core/columns/text.js.map +1 -1
  984. package/pg-core/columns/time.cjs +0 -2
  985. package/pg-core/columns/time.cjs.map +1 -1
  986. package/pg-core/columns/time.js +0 -2
  987. package/pg-core/columns/time.js.map +1 -1
  988. package/pg-core/columns/timestamp.cjs +14 -13
  989. package/pg-core/columns/timestamp.cjs.map +1 -1
  990. package/pg-core/columns/timestamp.d.cts +4 -3
  991. package/pg-core/columns/timestamp.d.ts +4 -3
  992. package/pg-core/columns/timestamp.js +14 -13
  993. package/pg-core/columns/timestamp.js.map +1 -1
  994. package/pg-core/columns/uuid.cjs +0 -2
  995. package/pg-core/columns/uuid.cjs.map +1 -1
  996. package/pg-core/columns/uuid.js +0 -2
  997. package/pg-core/columns/uuid.js.map +1 -1
  998. package/pg-core/columns/varchar.cjs +0 -2
  999. package/pg-core/columns/varchar.cjs.map +1 -1
  1000. package/pg-core/columns/varchar.js +0 -2
  1001. package/pg-core/columns/varchar.js.map +1 -1
  1002. package/pg-core/columns/vector_extension/bit.cjs +0 -2
  1003. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  1004. package/pg-core/columns/vector_extension/bit.js +0 -2
  1005. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  1006. package/pg-core/columns/vector_extension/halfvec.cjs +4 -6
  1007. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  1008. package/pg-core/columns/vector_extension/halfvec.d.cts +2 -2
  1009. package/pg-core/columns/vector_extension/halfvec.d.ts +2 -2
  1010. package/pg-core/columns/vector_extension/halfvec.js +4 -6
  1011. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  1012. package/pg-core/columns/vector_extension/sparsevec.cjs +0 -2
  1013. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  1014. package/pg-core/columns/vector_extension/sparsevec.js +0 -2
  1015. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  1016. package/pg-core/columns/vector_extension/vector.cjs +4 -6
  1017. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  1018. package/pg-core/columns/vector_extension/vector.d.cts +2 -2
  1019. package/pg-core/columns/vector_extension/vector.d.ts +2 -2
  1020. package/pg-core/columns/vector_extension/vector.js +4 -6
  1021. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  1022. package/pg-core/dialect.cjs +217 -52
  1023. package/pg-core/dialect.cjs.map +1 -1
  1024. package/pg-core/dialect.d.cts +30 -19
  1025. package/pg-core/dialect.d.ts +31 -20
  1026. package/pg-core/dialect.js +221 -57
  1027. package/pg-core/dialect.js.map +1 -1
  1028. package/pg-core/effect/count.cjs +1 -1
  1029. package/pg-core/effect/count.cjs.map +1 -1
  1030. package/pg-core/effect/count.d.cts +2 -2
  1031. package/pg-core/effect/count.d.ts +2 -2
  1032. package/pg-core/effect/count.js +1 -1
  1033. package/pg-core/effect/count.js.map +1 -1
  1034. package/pg-core/effect/db.cjs +20 -14
  1035. package/pg-core/effect/db.cjs.map +1 -1
  1036. package/pg-core/effect/db.d.cts +11 -7
  1037. package/pg-core/effect/db.d.ts +13 -9
  1038. package/pg-core/effect/db.js +20 -14
  1039. package/pg-core/effect/db.js.map +1 -1
  1040. package/pg-core/effect/delete.cjs +6 -8
  1041. package/pg-core/effect/delete.cjs.map +1 -1
  1042. package/pg-core/effect/delete.d.cts +1 -1
  1043. package/pg-core/effect/delete.d.ts +1 -1
  1044. package/pg-core/effect/delete.js +6 -8
  1045. package/pg-core/effect/delete.js.map +1 -1
  1046. package/pg-core/effect/index.cjs +3 -3
  1047. package/pg-core/effect/index.js +3 -3
  1048. package/pg-core/effect/insert.cjs +5 -7
  1049. package/pg-core/effect/insert.cjs.map +1 -1
  1050. package/pg-core/effect/insert.d.cts +1 -1
  1051. package/pg-core/effect/insert.d.ts +1 -1
  1052. package/pg-core/effect/insert.js +5 -7
  1053. package/pg-core/effect/insert.js.map +1 -1
  1054. package/pg-core/effect/query.cjs +6 -7
  1055. package/pg-core/effect/query.cjs.map +1 -1
  1056. package/pg-core/effect/query.d.cts +1 -1
  1057. package/pg-core/effect/query.d.ts +1 -1
  1058. package/pg-core/effect/query.js +6 -7
  1059. package/pg-core/effect/query.js.map +1 -1
  1060. package/pg-core/effect/refresh-materialized-view.cjs +2 -1
  1061. package/pg-core/effect/refresh-materialized-view.cjs.map +1 -1
  1062. package/pg-core/effect/refresh-materialized-view.d.cts +1 -1
  1063. package/pg-core/effect/refresh-materialized-view.d.ts +1 -1
  1064. package/pg-core/effect/refresh-materialized-view.js +2 -1
  1065. package/pg-core/effect/refresh-materialized-view.js.map +1 -1
  1066. package/pg-core/effect/select.cjs +5 -3
  1067. package/pg-core/effect/select.cjs.map +1 -1
  1068. package/pg-core/effect/select.d.cts +1 -1
  1069. package/pg-core/effect/select.d.ts +1 -1
  1070. package/pg-core/effect/select.js +5 -3
  1071. package/pg-core/effect/select.js.map +1 -1
  1072. package/pg-core/effect/session.cjs +19 -30
  1073. package/pg-core/effect/session.cjs.map +1 -1
  1074. package/pg-core/effect/session.d.cts +28 -24
  1075. package/pg-core/effect/session.d.ts +29 -25
  1076. package/pg-core/effect/session.js +20 -31
  1077. package/pg-core/effect/session.js.map +1 -1
  1078. package/pg-core/effect/update.cjs +8 -8
  1079. package/pg-core/effect/update.cjs.map +1 -1
  1080. package/pg-core/effect/update.d.cts +1 -1
  1081. package/pg-core/effect/update.d.ts +1 -1
  1082. package/pg-core/effect/update.js +8 -8
  1083. package/pg-core/effect/update.js.map +1 -1
  1084. package/pg-core/index.cjs +16 -16
  1085. package/pg-core/index.d.cts +4 -4
  1086. package/pg-core/index.d.ts +4 -4
  1087. package/pg-core/index.js +13 -13
  1088. package/pg-core/query-builders/_query.cjs +101 -0
  1089. package/pg-core/query-builders/_query.cjs.map +1 -0
  1090. package/pg-core/query-builders/_query.d.cts +55 -0
  1091. package/pg-core/query-builders/_query.d.ts +55 -0
  1092. package/pg-core/query-builders/_query.js +97 -0
  1093. package/pg-core/query-builders/_query.js.map +1 -0
  1094. package/pg-core/query-builders/delete.cjs +1 -1
  1095. package/pg-core/query-builders/delete.cjs.map +1 -1
  1096. package/pg-core/query-builders/delete.js +1 -1
  1097. package/pg-core/query-builders/delete.js.map +1 -1
  1098. package/pg-core/query-builders/index.cjs +1 -1
  1099. package/pg-core/query-builders/index.js +1 -1
  1100. package/pg-core/query-builders/insert.cjs +1 -1
  1101. package/pg-core/query-builders/insert.cjs.map +1 -1
  1102. package/pg-core/query-builders/insert.js +1 -1
  1103. package/pg-core/query-builders/insert.js.map +1 -1
  1104. package/pg-core/query-builders/query.cjs +1 -0
  1105. package/pg-core/query-builders/query.cjs.map +1 -1
  1106. package/pg-core/query-builders/query.d.cts +1 -2
  1107. package/pg-core/query-builders/query.d.ts +1 -2
  1108. package/pg-core/query-builders/query.js +1 -0
  1109. package/pg-core/query-builders/query.js.map +1 -1
  1110. package/pg-core/query-builders/raw.cjs +4 -0
  1111. package/pg-core/query-builders/raw.cjs.map +1 -1
  1112. package/pg-core/query-builders/raw.js +4 -0
  1113. package/pg-core/query-builders/raw.js.map +1 -1
  1114. package/pg-core/query-builders/update.cjs +1 -1
  1115. package/pg-core/query-builders/update.cjs.map +1 -1
  1116. package/pg-core/query-builders/update.js +1 -1
  1117. package/pg-core/query-builders/update.js.map +1 -1
  1118. package/pg-core/schema.cjs +1 -1
  1119. package/pg-core/schema.js +1 -1
  1120. package/pg-core/session.cjs +5 -3
  1121. package/pg-core/session.cjs.map +1 -1
  1122. package/pg-core/session.d.cts +7 -4
  1123. package/pg-core/session.d.ts +7 -4
  1124. package/pg-core/session.js +5 -3
  1125. package/pg-core/session.js.map +1 -1
  1126. package/pg-core/table.cjs +1 -1
  1127. package/pg-core/table.cjs.map +1 -1
  1128. package/pg-core/table.js +1 -1
  1129. package/pg-core/table.js.map +1 -1
  1130. package/pg-core/{array.cjs → utils/array.cjs} +1 -1
  1131. package/pg-core/utils/array.cjs.map +1 -0
  1132. package/pg-core/{array.d.cts → utils/array.d.cts} +1 -1
  1133. package/pg-core/{array.d.ts → utils/array.d.ts} +1 -1
  1134. package/pg-core/{array.js → utils/array.js} +1 -1
  1135. package/pg-core/utils/array.js.map +1 -0
  1136. package/pg-core/utils/index.cjs +6 -0
  1137. package/pg-core/utils/index.d.cts +2 -0
  1138. package/pg-core/utils/index.d.ts +2 -0
  1139. package/pg-core/utils/index.js +3 -0
  1140. package/pg-core/utils.cjs +2 -2
  1141. package/pg-core/utils.cjs.map +1 -1
  1142. package/pg-core/utils.d.cts +1 -7
  1143. package/pg-core/utils.d.ts +1 -7
  1144. package/pg-core/utils.js +2 -2
  1145. package/pg-core/utils.js.map +1 -1
  1146. package/pg-core/view.cjs +1 -1
  1147. package/pg-core/view.js +1 -1
  1148. package/pg-proxy/driver.cjs +15 -10
  1149. package/pg-proxy/driver.cjs.map +1 -1
  1150. package/pg-proxy/driver.d.cts +3 -6
  1151. package/pg-proxy/driver.d.ts +4 -7
  1152. package/pg-proxy/driver.js +14 -10
  1153. package/pg-proxy/driver.js.map +1 -1
  1154. package/pg-proxy/index.cjs +2 -0
  1155. package/pg-proxy/index.d.cts +2 -2
  1156. package/pg-proxy/index.d.ts +2 -2
  1157. package/pg-proxy/index.js +2 -2
  1158. package/pg-proxy/migrator.cjs.map +1 -1
  1159. package/pg-proxy/migrator.d.cts +1 -1
  1160. package/pg-proxy/migrator.d.ts +1 -1
  1161. package/pg-proxy/migrator.js.map +1 -1
  1162. package/pg-proxy/session.cjs +84 -8
  1163. package/pg-proxy/session.cjs.map +1 -1
  1164. package/pg-proxy/session.d.cts +32 -9
  1165. package/pg-proxy/session.d.ts +33 -10
  1166. package/pg-proxy/session.js +84 -10
  1167. package/pg-proxy/session.js.map +1 -1
  1168. package/pglite/driver.cjs +33 -71
  1169. package/pglite/driver.cjs.map +1 -1
  1170. package/pglite/driver.d.cts +17 -12
  1171. package/pglite/driver.d.ts +19 -14
  1172. package/pglite/driver.js +32 -71
  1173. package/pglite/driver.js.map +1 -1
  1174. package/pglite/index.cjs +3 -2
  1175. package/pglite/index.d.cts +3 -3
  1176. package/pglite/index.d.ts +3 -3
  1177. package/pglite/index.js +3 -3
  1178. package/pglite/migrator.cjs.map +1 -1
  1179. package/pglite/migrator.d.cts +1 -1
  1180. package/pglite/migrator.d.ts +1 -1
  1181. package/pglite/migrator.js.map +1 -1
  1182. package/pglite/session.cjs +86 -25
  1183. package/pglite/session.cjs.map +1 -1
  1184. package/pglite/session.d.cts +30 -9
  1185. package/pglite/session.d.ts +32 -11
  1186. package/pglite/session.js +87 -27
  1187. package/pglite/session.js.map +1 -1
  1188. package/planetscale-serverless/driver.cjs +2 -3
  1189. package/planetscale-serverless/driver.cjs.map +1 -1
  1190. package/planetscale-serverless/driver.d.cts +0 -1
  1191. package/planetscale-serverless/driver.d.ts +0 -1
  1192. package/planetscale-serverless/driver.js +2 -3
  1193. package/planetscale-serverless/driver.js.map +1 -1
  1194. package/planetscale-serverless/session.cjs +20 -27
  1195. package/planetscale-serverless/session.cjs.map +1 -1
  1196. package/planetscale-serverless/session.d.cts +6 -12
  1197. package/planetscale-serverless/session.d.ts +8 -14
  1198. package/planetscale-serverless/session.js +21 -28
  1199. package/planetscale-serverless/session.js.map +1 -1
  1200. package/postgres-js/driver.cjs +19 -124
  1201. package/postgres-js/driver.cjs.map +1 -1
  1202. package/postgres-js/driver.d.cts +6 -10
  1203. package/postgres-js/driver.d.ts +7 -11
  1204. package/postgres-js/driver.js +19 -124
  1205. package/postgres-js/driver.js.map +1 -1
  1206. package/postgres-js/index.cjs +2 -2
  1207. package/postgres-js/index.d.cts +3 -3
  1208. package/postgres-js/index.d.ts +3 -3
  1209. package/postgres-js/index.js +3 -3
  1210. package/postgres-js/migrator.cjs.map +1 -1
  1211. package/postgres-js/migrator.d.cts +1 -1
  1212. package/postgres-js/migrator.d.ts +1 -1
  1213. package/postgres-js/migrator.js.map +1 -1
  1214. package/postgres-js/session.cjs +112 -17
  1215. package/postgres-js/session.cjs.map +1 -1
  1216. package/postgres-js/session.d.cts +31 -10
  1217. package/postgres-js/session.d.ts +32 -11
  1218. package/postgres-js/session.js +112 -18
  1219. package/postgres-js/session.js.map +1 -1
  1220. package/prisma/mysql/driver.cjs +1 -1
  1221. package/prisma/mysql/driver.js +1 -1
  1222. package/prisma/mysql/session.cjs +1 -2
  1223. package/prisma/mysql/session.cjs.map +1 -1
  1224. package/prisma/mysql/session.d.cts +0 -1
  1225. package/prisma/mysql/session.d.ts +1 -2
  1226. package/prisma/mysql/session.js +1 -2
  1227. package/prisma/mysql/session.js.map +1 -1
  1228. package/prisma/pg/driver.cjs +3 -9
  1229. package/prisma/pg/driver.cjs.map +1 -1
  1230. package/prisma/pg/driver.d.cts +3 -7
  1231. package/prisma/pg/driver.d.ts +3 -7
  1232. package/prisma/pg/driver.js +4 -9
  1233. package/prisma/pg/driver.js.map +1 -1
  1234. package/prisma/pg/index.cjs +2 -2
  1235. package/prisma/pg/index.d.cts +3 -3
  1236. package/prisma/pg/index.d.ts +3 -3
  1237. package/prisma/pg/index.js +3 -3
  1238. package/prisma/pg/session.cjs +25 -1
  1239. package/prisma/pg/session.cjs.map +1 -1
  1240. package/prisma/pg/session.d.cts +15 -3
  1241. package/prisma/pg/session.d.ts +15 -3
  1242. package/prisma/pg/session.js +25 -2
  1243. package/prisma/pg/session.js.map +1 -1
  1244. package/prisma/sqlite/session.cjs +3 -0
  1245. package/prisma/sqlite/session.cjs.map +1 -1
  1246. package/prisma/sqlite/session.d.cts +1 -0
  1247. package/prisma/sqlite/session.d.ts +2 -1
  1248. package/prisma/sqlite/session.js +3 -0
  1249. package/prisma/sqlite/session.js.map +1 -1
  1250. package/relations.cjs +24 -85
  1251. package/relations.cjs.map +1 -1
  1252. package/relations.d.cts +16 -41
  1253. package/relations.d.ts +16 -41
  1254. package/relations.js +25 -84
  1255. package/relations.js.map +1 -1
  1256. package/row-mappers/index.cjs +1 -1
  1257. package/row-mappers/index.cjs.map +1 -1
  1258. package/row-mappers/index.js +1 -1
  1259. package/row-mappers/index.js.map +1 -1
  1260. package/selection-proxy.cjs +1 -1
  1261. package/selection-proxy.js +1 -1
  1262. package/singlestore/driver.cjs +2 -4
  1263. package/singlestore/driver.cjs.map +1 -1
  1264. package/singlestore/driver.d.cts +1 -2
  1265. package/singlestore/driver.d.ts +3 -4
  1266. package/singlestore/driver.js +2 -4
  1267. package/singlestore/driver.js.map +1 -1
  1268. package/singlestore/session.cjs +7 -17
  1269. package/singlestore/session.cjs.map +1 -1
  1270. package/singlestore/session.d.cts +4 -8
  1271. package/singlestore/session.d.ts +6 -10
  1272. package/singlestore/session.js +8 -18
  1273. package/singlestore/session.js.map +1 -1
  1274. package/singlestore-core/columns/bigint.cjs +4 -4
  1275. package/singlestore-core/columns/bigint.cjs.map +1 -1
  1276. package/singlestore-core/columns/bigint.d.cts +2 -2
  1277. package/singlestore-core/columns/bigint.d.ts +2 -2
  1278. package/singlestore-core/columns/bigint.js +4 -4
  1279. package/singlestore-core/columns/bigint.js.map +1 -1
  1280. package/singlestore-core/columns/binary.cjs +2 -2
  1281. package/singlestore-core/columns/binary.cjs.map +1 -1
  1282. package/singlestore-core/columns/binary.d.cts +1 -1
  1283. package/singlestore-core/columns/binary.d.ts +1 -1
  1284. package/singlestore-core/columns/binary.js +2 -2
  1285. package/singlestore-core/columns/binary.js.map +1 -1
  1286. package/singlestore-core/columns/boolean.cjs +2 -2
  1287. package/singlestore-core/columns/boolean.cjs.map +1 -1
  1288. package/singlestore-core/columns/boolean.d.cts +1 -1
  1289. package/singlestore-core/columns/boolean.d.ts +1 -1
  1290. package/singlestore-core/columns/boolean.js +2 -2
  1291. package/singlestore-core/columns/boolean.js.map +1 -1
  1292. package/singlestore-core/columns/custom.cjs +4 -4
  1293. package/singlestore-core/columns/custom.cjs.map +1 -1
  1294. package/singlestore-core/columns/custom.d.cts +2 -2
  1295. package/singlestore-core/columns/custom.d.ts +2 -2
  1296. package/singlestore-core/columns/custom.js +4 -4
  1297. package/singlestore-core/columns/custom.js.map +1 -1
  1298. package/singlestore-core/columns/date.cjs +2 -2
  1299. package/singlestore-core/columns/date.cjs.map +1 -1
  1300. package/singlestore-core/columns/date.d.cts +1 -1
  1301. package/singlestore-core/columns/date.d.ts +1 -1
  1302. package/singlestore-core/columns/date.js +2 -2
  1303. package/singlestore-core/columns/date.js.map +1 -1
  1304. package/singlestore-core/columns/datetime.cjs +6 -6
  1305. package/singlestore-core/columns/datetime.cjs.map +1 -1
  1306. package/singlestore-core/columns/datetime.d.cts +3 -3
  1307. package/singlestore-core/columns/datetime.d.ts +3 -3
  1308. package/singlestore-core/columns/datetime.js +6 -6
  1309. package/singlestore-core/columns/datetime.js.map +1 -1
  1310. package/singlestore-core/columns/decimal.cjs +4 -4
  1311. package/singlestore-core/columns/decimal.cjs.map +1 -1
  1312. package/singlestore-core/columns/decimal.d.cts +2 -2
  1313. package/singlestore-core/columns/decimal.d.ts +2 -2
  1314. package/singlestore-core/columns/decimal.js +4 -4
  1315. package/singlestore-core/columns/decimal.js.map +1 -1
  1316. package/singlestore-core/columns/float.cjs +2 -2
  1317. package/singlestore-core/columns/float.cjs.map +1 -1
  1318. package/singlestore-core/columns/float.d.cts +1 -1
  1319. package/singlestore-core/columns/float.d.ts +1 -1
  1320. package/singlestore-core/columns/float.js +2 -2
  1321. package/singlestore-core/columns/float.js.map +1 -1
  1322. package/singlestore-core/columns/int.cjs +2 -2
  1323. package/singlestore-core/columns/int.cjs.map +1 -1
  1324. package/singlestore-core/columns/int.d.cts +1 -1
  1325. package/singlestore-core/columns/int.d.ts +1 -1
  1326. package/singlestore-core/columns/int.js +2 -2
  1327. package/singlestore-core/columns/int.js.map +1 -1
  1328. package/singlestore-core/columns/json.cjs +2 -2
  1329. package/singlestore-core/columns/json.cjs.map +1 -1
  1330. package/singlestore-core/columns/json.d.cts +1 -1
  1331. package/singlestore-core/columns/json.d.ts +1 -1
  1332. package/singlestore-core/columns/json.js +2 -2
  1333. package/singlestore-core/columns/json.js.map +1 -1
  1334. package/singlestore-core/columns/mediumint.cjs +2 -2
  1335. package/singlestore-core/columns/mediumint.cjs.map +1 -1
  1336. package/singlestore-core/columns/mediumint.d.cts +1 -1
  1337. package/singlestore-core/columns/mediumint.d.ts +1 -1
  1338. package/singlestore-core/columns/mediumint.js +2 -2
  1339. package/singlestore-core/columns/mediumint.js.map +1 -1
  1340. package/singlestore-core/columns/serial.cjs +2 -2
  1341. package/singlestore-core/columns/serial.cjs.map +1 -1
  1342. package/singlestore-core/columns/serial.d.cts +1 -1
  1343. package/singlestore-core/columns/serial.d.ts +1 -1
  1344. package/singlestore-core/columns/serial.js +2 -2
  1345. package/singlestore-core/columns/serial.js.map +1 -1
  1346. package/singlestore-core/columns/smallint.cjs +2 -2
  1347. package/singlestore-core/columns/smallint.cjs.map +1 -1
  1348. package/singlestore-core/columns/smallint.d.cts +1 -1
  1349. package/singlestore-core/columns/smallint.d.ts +1 -1
  1350. package/singlestore-core/columns/smallint.js +2 -2
  1351. package/singlestore-core/columns/smallint.js.map +1 -1
  1352. package/singlestore-core/columns/timestamp.cjs +6 -6
  1353. package/singlestore-core/columns/timestamp.cjs.map +1 -1
  1354. package/singlestore-core/columns/timestamp.d.cts +3 -3
  1355. package/singlestore-core/columns/timestamp.d.ts +3 -3
  1356. package/singlestore-core/columns/timestamp.js +6 -6
  1357. package/singlestore-core/columns/timestamp.js.map +1 -1
  1358. package/singlestore-core/columns/tinyint.cjs +2 -2
  1359. package/singlestore-core/columns/tinyint.cjs.map +1 -1
  1360. package/singlestore-core/columns/tinyint.d.cts +1 -1
  1361. package/singlestore-core/columns/tinyint.d.ts +1 -1
  1362. package/singlestore-core/columns/tinyint.js +2 -2
  1363. package/singlestore-core/columns/tinyint.js.map +1 -1
  1364. package/singlestore-core/columns/varbinary.cjs +2 -2
  1365. package/singlestore-core/columns/varbinary.cjs.map +1 -1
  1366. package/singlestore-core/columns/varbinary.d.cts +1 -1
  1367. package/singlestore-core/columns/varbinary.d.ts +1 -1
  1368. package/singlestore-core/columns/varbinary.js +2 -2
  1369. package/singlestore-core/columns/varbinary.js.map +1 -1
  1370. package/singlestore-core/columns/vector.cjs +8 -8
  1371. package/singlestore-core/columns/vector.cjs.map +1 -1
  1372. package/singlestore-core/columns/vector.d.cts +4 -4
  1373. package/singlestore-core/columns/vector.d.ts +4 -4
  1374. package/singlestore-core/columns/vector.js +8 -8
  1375. package/singlestore-core/columns/vector.js.map +1 -1
  1376. package/singlestore-core/columns/year.cjs +2 -2
  1377. package/singlestore-core/columns/year.cjs.map +1 -1
  1378. package/singlestore-core/columns/year.d.cts +1 -1
  1379. package/singlestore-core/columns/year.d.ts +1 -1
  1380. package/singlestore-core/columns/year.js +2 -2
  1381. package/singlestore-core/columns/year.js.map +1 -1
  1382. package/singlestore-core/db.d.ts +2 -2
  1383. package/singlestore-core/dialect.cjs +2 -2
  1384. package/singlestore-core/dialect.d.ts +1 -1
  1385. package/singlestore-core/dialect.js +2 -2
  1386. package/singlestore-core/query-builders/delete.d.ts +1 -1
  1387. package/singlestore-core/query-builders/insert.d.ts +1 -1
  1388. package/singlestore-core/query-builders/query.cjs +5 -13
  1389. package/singlestore-core/query-builders/query.cjs.map +1 -1
  1390. package/singlestore-core/query-builders/query.d.ts +1 -1
  1391. package/singlestore-core/query-builders/query.js +5 -13
  1392. package/singlestore-core/query-builders/query.js.map +1 -1
  1393. package/singlestore-core/query-builders/select.d.ts +1 -1
  1394. package/singlestore-core/query-builders/update.d.ts +1 -1
  1395. package/singlestore-core/session.cjs.map +1 -1
  1396. package/singlestore-core/session.d.cts +2 -2
  1397. package/singlestore-core/session.d.ts +2 -2
  1398. package/singlestore-core/session.js.map +1 -1
  1399. package/singlestore-core/table.cjs +1 -1
  1400. package/singlestore-core/table.cjs.map +1 -1
  1401. package/singlestore-core/table.js +1 -1
  1402. package/singlestore-core/table.js.map +1 -1
  1403. package/singlestore-proxy/driver.cjs +2 -5
  1404. package/singlestore-proxy/driver.cjs.map +1 -1
  1405. package/singlestore-proxy/driver.js +2 -5
  1406. package/singlestore-proxy/driver.js.map +1 -1
  1407. package/singlestore-proxy/session.cjs +6 -11
  1408. package/singlestore-proxy/session.cjs.map +1 -1
  1409. package/singlestore-proxy/session.d.cts +4 -9
  1410. package/singlestore-proxy/session.d.ts +5 -10
  1411. package/singlestore-proxy/session.js +7 -12
  1412. package/singlestore-proxy/session.js.map +1 -1
  1413. package/sql/index.cjs +0 -1
  1414. package/sql/index.d.cts +2 -2
  1415. package/sql/index.d.ts +2 -2
  1416. package/sql/index.js +2 -2
  1417. package/sql/sql.cjs +11 -32
  1418. package/sql/sql.cjs.map +1 -1
  1419. package/sql/sql.d.cts +5 -15
  1420. package/sql/sql.d.ts +5 -15
  1421. package/sql/sql.js +12 -32
  1422. package/sql/sql.js.map +1 -1
  1423. package/sql-js/driver.cjs +2 -5
  1424. package/sql-js/driver.cjs.map +1 -1
  1425. package/sql-js/driver.d.ts +1 -1
  1426. package/sql-js/driver.js +2 -5
  1427. package/sql-js/driver.js.map +1 -1
  1428. package/sql-js/session.cjs +14 -14
  1429. package/sql-js/session.cjs.map +1 -1
  1430. package/sql-js/session.d.cts +6 -10
  1431. package/sql-js/session.d.ts +6 -10
  1432. package/sql-js/session.js +15 -15
  1433. package/sql-js/session.js.map +1 -1
  1434. package/sqlite-cloud/driver.cjs +2 -3
  1435. package/sqlite-cloud/driver.cjs.map +1 -1
  1436. package/sqlite-cloud/driver.d.ts +1 -1
  1437. package/sqlite-cloud/driver.js +2 -3
  1438. package/sqlite-cloud/driver.js.map +1 -1
  1439. package/sqlite-cloud/session.cjs +20 -21
  1440. package/sqlite-cloud/session.cjs.map +1 -1
  1441. package/sqlite-cloud/session.d.cts +6 -9
  1442. package/sqlite-cloud/session.d.ts +7 -10
  1443. package/sqlite-cloud/session.js +21 -22
  1444. package/sqlite-cloud/session.js.map +1 -1
  1445. package/sqlite-core/columns/blob.cjs +10 -10
  1446. package/sqlite-core/columns/blob.cjs.map +1 -1
  1447. package/sqlite-core/columns/blob.d.cts +5 -5
  1448. package/sqlite-core/columns/blob.d.ts +5 -5
  1449. package/sqlite-core/columns/blob.js +10 -10
  1450. package/sqlite-core/columns/blob.js.map +1 -1
  1451. package/sqlite-core/columns/custom.cjs +4 -4
  1452. package/sqlite-core/columns/custom.cjs.map +1 -1
  1453. package/sqlite-core/columns/custom.d.cts +2 -2
  1454. package/sqlite-core/columns/custom.d.ts +2 -2
  1455. package/sqlite-core/columns/custom.js +4 -4
  1456. package/sqlite-core/columns/custom.js.map +1 -1
  1457. package/sqlite-core/columns/integer.cjs +8 -8
  1458. package/sqlite-core/columns/integer.cjs.map +1 -1
  1459. package/sqlite-core/columns/integer.d.cts +4 -4
  1460. package/sqlite-core/columns/integer.d.ts +4 -4
  1461. package/sqlite-core/columns/integer.js +8 -8
  1462. package/sqlite-core/columns/integer.js.map +1 -1
  1463. package/sqlite-core/columns/numeric.cjs +4 -4
  1464. package/sqlite-core/columns/numeric.cjs.map +1 -1
  1465. package/sqlite-core/columns/numeric.d.cts +2 -2
  1466. package/sqlite-core/columns/numeric.d.ts +2 -2
  1467. package/sqlite-core/columns/numeric.js +4 -4
  1468. package/sqlite-core/columns/numeric.js.map +1 -1
  1469. package/sqlite-core/columns/text.cjs +4 -4
  1470. package/sqlite-core/columns/text.cjs.map +1 -1
  1471. package/sqlite-core/columns/text.d.cts +2 -2
  1472. package/sqlite-core/columns/text.d.ts +2 -2
  1473. package/sqlite-core/columns/text.js +4 -4
  1474. package/sqlite-core/columns/text.js.map +1 -1
  1475. package/sqlite-core/db.d.ts +1 -1
  1476. package/sqlite-core/dialect.cjs +2 -2
  1477. package/sqlite-core/dialect.d.ts +1 -1
  1478. package/sqlite-core/dialect.js +2 -2
  1479. package/sqlite-core/index.cjs +9 -9
  1480. package/sqlite-core/index.js +9 -9
  1481. package/sqlite-core/query-builders/_query.cjs +1 -1
  1482. package/sqlite-core/query-builders/_query.cjs.map +1 -1
  1483. package/sqlite-core/query-builders/_query.js +1 -1
  1484. package/sqlite-core/query-builders/_query.js.map +1 -1
  1485. package/sqlite-core/query-builders/delete.cjs +1 -1
  1486. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  1487. package/sqlite-core/query-builders/delete.js +1 -1
  1488. package/sqlite-core/query-builders/delete.js.map +1 -1
  1489. package/sqlite-core/query-builders/index.cjs +1 -1
  1490. package/sqlite-core/query-builders/index.js +1 -1
  1491. package/sqlite-core/query-builders/insert.cjs +1 -1
  1492. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  1493. package/sqlite-core/query-builders/insert.js +1 -1
  1494. package/sqlite-core/query-builders/insert.js.map +1 -1
  1495. package/sqlite-core/query-builders/query.cjs +5 -13
  1496. package/sqlite-core/query-builders/query.cjs.map +1 -1
  1497. package/sqlite-core/query-builders/query.d.ts +1 -1
  1498. package/sqlite-core/query-builders/query.js +5 -13
  1499. package/sqlite-core/query-builders/query.js.map +1 -1
  1500. package/sqlite-core/query-builders/raw.cjs +4 -0
  1501. package/sqlite-core/query-builders/raw.cjs.map +1 -1
  1502. package/sqlite-core/query-builders/raw.js +4 -0
  1503. package/sqlite-core/query-builders/raw.js.map +1 -1
  1504. package/sqlite-core/query-builders/select.cjs +2 -2
  1505. package/sqlite-core/query-builders/select.cjs.map +1 -1
  1506. package/sqlite-core/query-builders/select.js +2 -2
  1507. package/sqlite-core/query-builders/select.js.map +1 -1
  1508. package/sqlite-core/query-builders/update.cjs +2 -2
  1509. package/sqlite-core/query-builders/update.cjs.map +1 -1
  1510. package/sqlite-core/query-builders/update.js +2 -2
  1511. package/sqlite-core/query-builders/update.js.map +1 -1
  1512. package/sqlite-core/session.cjs +8 -8
  1513. package/sqlite-core/session.cjs.map +1 -1
  1514. package/sqlite-core/session.d.cts +5 -5
  1515. package/sqlite-core/session.d.ts +5 -5
  1516. package/sqlite-core/session.js +8 -8
  1517. package/sqlite-core/session.js.map +1 -1
  1518. package/sqlite-core/table.cjs +1 -1
  1519. package/sqlite-core/table.cjs.map +1 -1
  1520. package/sqlite-core/table.js +1 -1
  1521. package/sqlite-core/table.js.map +1 -1
  1522. package/sqlite-core/utils.cjs +3 -3
  1523. package/sqlite-core/utils.js +3 -3
  1524. package/sqlite-proxy/driver.cjs +2 -3
  1525. package/sqlite-proxy/driver.cjs.map +1 -1
  1526. package/sqlite-proxy/driver.d.ts +1 -1
  1527. package/sqlite-proxy/driver.js +2 -3
  1528. package/sqlite-proxy/driver.js.map +1 -1
  1529. package/sqlite-proxy/session.cjs +17 -20
  1530. package/sqlite-proxy/session.cjs.map +1 -1
  1531. package/sqlite-proxy/session.d.cts +7 -11
  1532. package/sqlite-proxy/session.d.ts +8 -12
  1533. package/sqlite-proxy/session.js +18 -21
  1534. package/sqlite-proxy/session.js.map +1 -1
  1535. package/table.d.cts +1 -1
  1536. package/table.d.ts +1 -1
  1537. package/tidb-serverless/driver.cjs +2 -3
  1538. package/tidb-serverless/driver.cjs.map +1 -1
  1539. package/tidb-serverless/driver.d.cts +0 -1
  1540. package/tidb-serverless/driver.d.ts +0 -1
  1541. package/tidb-serverless/driver.js +2 -3
  1542. package/tidb-serverless/driver.js.map +1 -1
  1543. package/tidb-serverless/session.cjs +37 -25
  1544. package/tidb-serverless/session.cjs.map +1 -1
  1545. package/tidb-serverless/session.d.cts +4 -10
  1546. package/tidb-serverless/session.d.ts +6 -12
  1547. package/tidb-serverless/session.js +38 -26
  1548. package/tidb-serverless/session.js.map +1 -1
  1549. package/tursodatabase/driver-core.cjs +2 -3
  1550. package/tursodatabase/driver-core.cjs.map +1 -1
  1551. package/tursodatabase/driver-core.d.ts +1 -1
  1552. package/tursodatabase/driver-core.js +2 -3
  1553. package/tursodatabase/driver-core.js.map +1 -1
  1554. package/tursodatabase/session.cjs +19 -20
  1555. package/tursodatabase/session.cjs.map +1 -1
  1556. package/tursodatabase/session.d.cts +6 -9
  1557. package/tursodatabase/session.d.ts +7 -10
  1558. package/tursodatabase/session.js +20 -21
  1559. package/tursodatabase/session.js.map +1 -1
  1560. package/up-migrations/effect-pg.cjs +3 -3
  1561. package/up-migrations/effect-pg.cjs.map +1 -1
  1562. package/up-migrations/effect-pg.d.ts +1 -1
  1563. package/up-migrations/effect-pg.js +3 -3
  1564. package/up-migrations/effect-pg.js.map +1 -1
  1565. package/up-migrations/pg.cjs +8 -3
  1566. package/up-migrations/pg.cjs.map +1 -1
  1567. package/up-migrations/pg.d.cts +1 -1
  1568. package/up-migrations/pg.d.ts +2 -2
  1569. package/up-migrations/pg.js +8 -3
  1570. package/up-migrations/pg.js.map +1 -1
  1571. package/up-migrations/sqlite.d.ts +2 -2
  1572. package/utils.cjs +7 -129
  1573. package/utils.cjs.map +1 -1
  1574. package/utils.d.cts +3 -10
  1575. package/utils.d.ts +3 -10
  1576. package/utils.js +8 -127
  1577. package/utils.js.map +1 -1
  1578. package/vercel-postgres/driver.cjs +32 -14
  1579. package/vercel-postgres/driver.cjs.map +1 -1
  1580. package/vercel-postgres/driver.d.cts +17 -12
  1581. package/vercel-postgres/driver.d.ts +18 -13
  1582. package/vercel-postgres/driver.js +31 -14
  1583. package/vercel-postgres/driver.js.map +1 -1
  1584. package/vercel-postgres/index.cjs +3 -2
  1585. package/vercel-postgres/index.d.cts +3 -3
  1586. package/vercel-postgres/index.d.ts +3 -3
  1587. package/vercel-postgres/index.js +3 -3
  1588. package/vercel-postgres/migrator.cjs.map +1 -1
  1589. package/vercel-postgres/migrator.d.cts +1 -1
  1590. package/vercel-postgres/migrator.d.ts +1 -1
  1591. package/vercel-postgres/migrator.js.map +1 -1
  1592. package/vercel-postgres/session.cjs +110 -32
  1593. package/vercel-postgres/session.cjs.map +1 -1
  1594. package/vercel-postgres/session.d.cts +32 -9
  1595. package/vercel-postgres/session.d.ts +33 -10
  1596. package/vercel-postgres/session.js +111 -34
  1597. package/vercel-postgres/session.js.map +1 -1
  1598. package/xata-http/driver.cjs +31 -91
  1599. package/xata-http/driver.cjs.map +1 -1
  1600. package/xata-http/driver.d.cts +16 -10
  1601. package/xata-http/driver.d.ts +17 -11
  1602. package/xata-http/driver.js +30 -91
  1603. package/xata-http/driver.js.map +1 -1
  1604. package/xata-http/index.cjs +4 -2
  1605. package/xata-http/index.d.cts +3 -3
  1606. package/xata-http/index.d.ts +3 -3
  1607. package/xata-http/index.js +3 -3
  1608. package/xata-http/migrator.cjs +1 -1
  1609. package/xata-http/migrator.cjs.map +1 -1
  1610. package/xata-http/migrator.d.cts +1 -1
  1611. package/xata-http/migrator.d.ts +1 -1
  1612. package/xata-http/migrator.js +1 -1
  1613. package/xata-http/migrator.js.map +1 -1
  1614. package/xata-http/session.cjs +110 -24
  1615. package/xata-http/session.cjs.map +1 -1
  1616. package/xata-http/session.d.cts +33 -7
  1617. package/xata-http/session.d.ts +34 -8
  1618. package/xata-http/session.js +110 -26
  1619. package/xata-http/session.js.map +1 -1
  1620. package/codecs.cjs +0 -77
  1621. package/codecs.cjs.map +0 -1
  1622. package/codecs.d.cts +0 -68
  1623. package/codecs.d.ts +0 -68
  1624. package/codecs.js +0 -74
  1625. package/codecs.js.map +0 -1
  1626. package/pg-core/array.cjs.map +0 -1
  1627. package/pg-core/array.js.map +0 -1
  1628. package/pg-core/codecs.cjs +0 -156
  1629. package/pg-core/codecs.cjs.map +0 -1
  1630. package/pg-core/codecs.d.cts +0 -27
  1631. package/pg-core/codecs.d.ts +0 -27
  1632. package/pg-core/codecs.js +0 -148
  1633. package/pg-core/codecs.js.map +0 -1
@@ -4,54 +4,39 @@ let __entity_ts = require("../entity.cjs");
4
4
  let __column_ts = require("../column.cjs");
5
5
  let __utils_ts = require("../utils.cjs");
6
6
  let __sql_sql_ts = require("../sql/sql.cjs");
7
- let __cache_core_index_ts = require("../cache/core/index.cjs");
8
7
  let __logger_ts = require("../logger.cjs");
8
+ let __cache_core_index_ts = require("../cache/core/index.cjs");
9
9
  let __mysql_core_session_ts = require("../mysql-core/session.cjs");
10
- let __relations_ts = require("../relations.cjs");
11
10
  let node_events = require("node:events");
12
11
 
13
12
  //#region src/mysql2/session.ts
13
+ const typeCast = function(field, next) {
14
+ if (field.type === "TIMESTAMP" || field.type === "DATETIME" || field.type === "DATE") return field.string();
15
+ return next();
16
+ };
14
17
  var MySql2PreparedQuery = class extends __mysql_core_session_ts.MySqlPreparedQuery {
15
18
  static [__entity_ts.entityKind] = "MySql2PreparedQuery";
16
- rawQuery;
17
- query;
18
- jitMapper;
19
- constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, useJitMapper, customResultMapper, generatedIds, returningIds, isRqbV2Query, rqbConfig) {
20
- super(cache, queryMetadata, cacheConfig);
19
+ constructor(client, query, logger, cache, queryMetadata, cacheConfig, fields, customResultMapper, generatedIds, returningIds, isRqbV2Query) {
20
+ super(query, cache, queryMetadata, cacheConfig);
21
21
  this.client = client;
22
- this.params = params;
23
22
  this.logger = logger;
24
23
  this.fields = fields;
25
- this.useJitMapper = useJitMapper;
26
24
  this.customResultMapper = customResultMapper;
27
25
  this.generatedIds = generatedIds;
28
26
  this.returningIds = returningIds;
29
27
  this.isRqbV2Query = isRqbV2Query;
30
- this.rqbConfig = rqbConfig;
31
- this.rawQuery = {
32
- sql: queryString,
33
- typeCast: function(field, next) {
34
- if (field.type === "TIMESTAMP" || field.type === "DATETIME" || field.type === "DATE") return field.string();
35
- return next();
36
- }
37
- };
38
- this.query = {
39
- sql: queryString,
40
- rowsAsArray: true,
41
- typeCast: function(field, next) {
42
- if (field.type === "TIMESTAMP" || field.type === "DATETIME" || field.type === "DATE") return field.string();
43
- return next();
44
- }
45
- };
46
28
  }
47
29
  async execute(placeholderValues = {}) {
48
30
  if (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);
49
- const params = (0, __sql_sql_ts.fillPlaceholders)(this.params, placeholderValues);
50
- this.logger.logQuery(this.rawQuery.sql, params);
51
- const { fields, client, rawQuery, query, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;
31
+ const params = (0, __sql_sql_ts.fillPlaceholders)(this.query.params, placeholderValues);
32
+ this.logger.logQuery(this.query.sql, params);
33
+ const { fields, client, query, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;
52
34
  if (!fields && !customResultMapper) {
53
- const res = await this.queryWithCache(rawQuery.sql, params, async () => {
54
- return await client.query(rawQuery, params);
35
+ const res = await this.queryWithCache(query.sql, params, async () => {
36
+ return await client.query({
37
+ sql: query.sql,
38
+ typeCast
39
+ }, params);
55
40
  });
56
41
  const insertId = res[0].insertId;
57
42
  const affectedRows = res[0].affectedRows;
@@ -73,24 +58,35 @@ var MySql2PreparedQuery = class extends __mysql_core_session_ts.MySqlPreparedQue
73
58
  return res;
74
59
  }
75
60
  const rows = (await this.queryWithCache(query.sql, params, async () => {
76
- return await client.query(query, params);
61
+ return await client.query({
62
+ sql: query.sql,
63
+ rowsAsArray: true,
64
+ typeCast
65
+ }, params);
77
66
  }))[0];
78
67
  if (customResultMapper) return customResultMapper(rows);
79
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))(rows) : rows.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
68
+ return rows.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
80
69
  }
81
70
  async executeRqbV2(placeholderValues = {}) {
82
- const params = (0, __sql_sql_ts.fillPlaceholders)(this.params, placeholderValues);
83
- this.logger.logQuery(this.rawQuery.sql, params);
84
- const { client, rawQuery, customResultMapper } = this;
85
- const rows = (await client.query(rawQuery, params))[0];
71
+ const params = (0, __sql_sql_ts.fillPlaceholders)(this.query.params, placeholderValues);
72
+ this.logger.logQuery(this.query.sql, params);
73
+ const { client, query, customResultMapper } = this;
74
+ const rows = (await client.query({
75
+ sql: query.sql,
76
+ typeCast
77
+ }, params))[0];
86
78
  return customResultMapper(rows);
87
79
  }
88
80
  async *iterator(placeholderValues = {}) {
89
- const params = (0, __sql_sql_ts.fillPlaceholders)(this.params, placeholderValues);
81
+ const params = (0, __sql_sql_ts.fillPlaceholders)(this.query.params, placeholderValues);
90
82
  const conn = (isPool(this.client) ? await this.client.getConnection() : this.client).connection;
91
- const { fields, query, rawQuery, joinsNotNullableMap, client, customResultMapper } = this;
83
+ const { fields, query, joinsNotNullableMap, client, customResultMapper } = this;
92
84
  const hasRowsMapper = Boolean(fields || customResultMapper);
93
- const stream = (hasRowsMapper ? conn.query(query, params) : conn.query(rawQuery, params)).stream();
85
+ const stream = conn.query({
86
+ sql: query.sql,
87
+ rowsAsArray: hasRowsMapper,
88
+ typeCast
89
+ }, params).stream();
94
90
  function dataListener() {
95
91
  stream.pause();
96
92
  }
@@ -107,16 +103,10 @@ var MySql2PreparedQuery = class extends __mysql_core_session_ts.MySqlPreparedQue
107
103
  ]);
108
104
  if (row === void 0 || Array.isArray(row) && row.length === 0) break;
109
105
  else if (row instanceof Error) throw row;
110
- else if (this.isRqbV2Query) if (this.useJitMapper) yield (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeRqbJitMapper)(this.rqbConfig))([row]);
111
- else {
112
- const mapped = customResultMapper([row]);
113
- if (this.rqbConfig.isFirst) yield mapped;
114
- else yield mapped[0];
115
- }
116
106
  else if (hasRowsMapper) if (customResultMapper) {
117
107
  const mappedRow = customResultMapper([row]);
118
108
  yield Array.isArray(mappedRow) ? mappedRow[0] : mappedRow;
119
- } else yield this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))([row])[0] : (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap);
109
+ } else yield (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap);
120
110
  else yield row;
121
111
  }
122
112
  } finally {
@@ -141,10 +131,10 @@ var MySql2Session = class MySql2Session extends __mysql_core_session_ts.MySqlSes
141
131
  this.mode = options.mode;
142
132
  }
143
133
  prepareQuery(query, fields, customResultMapper, generatedIds, returningIds, queryMetadata, cacheConfig) {
144
- return new MySql2PreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, queryMetadata, cacheConfig, fields, this.options.useJitMapper, customResultMapper, generatedIds, returningIds);
134
+ return new MySql2PreparedQuery(this.client, query, this.logger, this.cache, queryMetadata, cacheConfig, fields, customResultMapper, generatedIds, returningIds);
145
135
  }
146
- prepareRelationalQuery(query, fields, customResultMapper, config, generatedIds, returningIds) {
147
- return new MySql2PreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, void 0, void 0, fields, this.options.useJitMapper, customResultMapper, generatedIds, returningIds, true, config);
136
+ prepareRelationalQuery(query, fields, customResultMapper, generatedIds, returningIds) {
137
+ return new MySql2PreparedQuery(this.client, query, this.logger, this.cache, void 0, void 0, fields, customResultMapper, generatedIds, returningIds, true);
148
138
  }
149
139
  /**
150
140
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"session.cjs","names":["MySqlPreparedQuery","entityKind","Column","MySqlSession","NoopLogger","NoopCache","MySqlTransaction","sql"],"sources":["../../src/mysql2/session.ts"],"sourcesContent":["import type { Connection as CallbackConnection } from 'mysql2';\nimport type {\n\tConnection,\n\tFieldPacket,\n\tOkPacket,\n\tPool,\n\tPoolConnection,\n\tQueryOptions,\n\tResultSetHeader,\n\tRowDataPacket,\n} from 'mysql2/promise';\nimport { once } from 'node:events';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\ttype Mode,\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n\ttype MySqlTransactionConfig,\n\ttype PreparedQueryKind,\n} from '~/mysql-core/session.ts';\nimport {\n\ttype AnyRelations,\n\tmakeRqbJitMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} from '~/relations.ts';\nimport { fillPlaceholders, sql } from '~/sql/sql.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport { type Assume, makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport type MySql2Client = Pool | Connection;\n\nexport type MySqlRawQueryResult = [ResultSetHeader, FieldPacket[]];\nexport type MySqlQueryResultType = RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader;\nexport type MySqlQueryResult<\n\tT = any,\n> = [T extends ResultSetHeader ? T : T[], FieldPacket[]];\n\nexport class MySql2PreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'MySql2PreparedQuery';\n\n\tprivate rawQuery: QueryOptions;\n\tprivate query: QueryOptions;\n\tprivate jitMapper?:\n\t\t| RowsMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>\n\t\t| RelationalRowsMapper<T['execute']>;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\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\tprivate useJitMapper: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t\tthis.rawQuery = {\n\t\t\tsql: queryString,\n\t\t\t// rowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t};\n\t\tthis.query = {\n\t\t\tsql: queryString,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t};\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.sql, params);\n\n\t\tconst { fields, client, rawQuery, query, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } =\n\t\t\tthis;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(rawQuery.sql, params, async () => {\n\t\t\t\treturn await client.query<any>(rawQuery, params);\n\t\t\t});\n\n\t\t\tconst insertId = res[0].insertId;\n\t\t\tconst affectedRows = res[0].affectedRows;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst result = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await client.query<any[]>(query, params);\n\t\t});\n\n\t\tconst rows = result[0];\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<(T['execute'] extends any[] ? T['execute'][number]\n\t\t\t\t: T['execute'])[]>\n\t\t\t\t?? makeJitQueryMapper<(T['execute'] extends any[] ? T['execute'][number]\n\t\t\t\t\t: T['execute'])[]>(fields!, joinsNotNullableMap))(rows)\n\t\t\t: rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.sql, params);\n\n\t\tconst { client, rawQuery, customResultMapper } = this;\n\t\tconst res = await client.query<any>(rawQuery, params);\n\n\t\tconst rows = res[0];\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(rows);\n\t}\n\n\tasync *iterator(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tconst conn = ((isPool(this.client) ? await this.client.getConnection() : this.client) as {} as {\n\t\t\tconnection: CallbackConnection;\n\t\t}).connection;\n\n\t\tconst { fields, query, rawQuery, joinsNotNullableMap, client, customResultMapper } = this;\n\t\tconst hasRowsMapper = Boolean(fields || customResultMapper);\n\t\tconst driverQuery = hasRowsMapper ? conn.query(query, params) : conn.query(rawQuery, params);\n\n\t\tconst stream = driverQuery.stream();\n\n\t\tfunction dataListener() {\n\t\t\tstream.pause();\n\t\t}\n\n\t\tstream.on('data', dataListener);\n\n\t\ttry {\n\t\t\tconst onEnd = once(stream, 'end');\n\t\t\tconst onError = once(stream, 'error');\n\n\t\t\twhile (true) {\n\t\t\t\tstream.resume();\n\t\t\t\tconst row = await Promise.race([onEnd, onError, new Promise((resolve) => stream.once('data', resolve))]);\n\t\t\t\tif (row === undefined || (Array.isArray(row) && row.length === 0)) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (row instanceof Error) { // oxlint-disable-line drizzle-internal/no-instanceof\n\t\t\t\t\tthrow row;\n\t\t\t\t} else {\n\t\t\t\t\tif (this.isRqbV2Query) {\n\t\t\t\t\t\tif (this.useJitMapper) {\n\t\t\t\t\t\t\tyield (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['execute']>\n\t\t\t\t\t\t\t\t?? makeRqbJitMapper<T['execute']>(this.rqbConfig!))([row as Record<string, unknown>]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst mapped = (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(\n\t\t\t\t\t\t\t\t[row] as Record<string, unknown>[],\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (this.rqbConfig!.isFirst) yield mapped;\n\t\t\t\t\t\t\telse yield ((<any[]> mapped)[0]);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (hasRowsMapper) {\n\t\t\t\t\t\tif (customResultMapper) {\n\t\t\t\t\t\t\tconst mappedRow = (customResultMapper as (rows: unknown[][]) => T['execute'])([row as unknown[]]);\n\t\t\t\t\t\t\tyield (Array.isArray(mappedRow) ? mappedRow[0] : mappedRow);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tyield this.useJitMapper\n\t\t\t\t\t\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<(T['execute'] extends any[] ? T['execute'][number]\n\t\t\t\t\t\t\t\t\t: T['execute'])[]>\n\t\t\t\t\t\t\t\t\t?? makeJitQueryMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>(\n\t\t\t\t\t\t\t\t\t\tfields!,\n\t\t\t\t\t\t\t\t\t\tjoinsNotNullableMap,\n\t\t\t\t\t\t\t\t\t))([row as unknown[]])[0] as T['execute']\n\t\t\t\t\t\t\t\t: mapResultRow(fields!, row as unknown[], joinsNotNullableMap);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tyield row as T['execute'];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tstream.off('data', dataListener);\n\t\t\tif (isPool(client)) {\n\t\t\t\tconn.end();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport interface MySql2SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n\tmode: Mode;\n}\n\nexport class MySql2Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<MySqlQueryResultHKT, MySql2PreparedQueryHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'MySql2Session';\n\n\tprivate logger: Logger;\n\tprivate mode: Mode;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tdialect: MySqlDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: MySql2SessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.mode = options.mode;\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\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): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\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\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t) as PreparedQueryKind<MySql2PreparedQueryHKT, T>;\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tconfig: RelationalQueryMapperConfig,\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\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\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t) as any;\n\t}\n\n\t/**\n\t * @internal\n\t * What is its purpose?\n\t */\n\tasync query(query: string, params: unknown[]): Promise<MySqlQueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.query({\n\t\t\tsql: query,\n\t\t\tvalues: params,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t});\n\t\treturn result;\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.query(querySql.sql, querySql.params).then((result) => result[0]) as Promise<T[]>;\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T> {\n\t\tconst session = isPool(this.client)\n\t\t\t? new MySql2Session(\n\t\t\t\tawait this.client.getConnection(),\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t)\n\t\t\t: this;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\t0,\n\t\t\tthis.mode,\n\t\t);\n\t\tif (config) {\n\t\t\tconst setTransactionConfigSql = this.getSetTransactionSQL(config);\n\t\t\tif (setTransactionConfigSql) {\n\t\t\t\tawait tx.execute(setTransactionConfigSql);\n\t\t\t}\n\t\t\tconst startTransactionSql = this.getStartTransactionSQL(config);\n\t\t\tawait (startTransactionSql ? tx.execute(startTransactionSql) : tx.execute(sql`begin`));\n\t\t} else {\n\t\t\tawait tx.execute(sql`begin`);\n\t\t}\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 (err) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tif (isPool(this.client)) {\n\t\t\t\t(session.client as PoolConnection).release();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class MySql2Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tMySql2QueryResultHKT,\n\tMySql2PreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'MySql2Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tthis.mode,\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\nfunction isPool(client: MySql2Client): client is Pool {\n\treturn 'getConnection' in client;\n}\n\nexport interface MySql2QueryResultHKT extends MySqlQueryResultHKT {\n\ttype: MySqlRawQueryResult;\n}\n\nexport interface MySql2PreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: MySql2PreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"session.cjs","names":["MySqlPreparedQuery","entityKind","Column","MySqlSession","NoopLogger","NoopCache","MySqlTransaction","sql"],"sources":["../../src/mysql2/session.ts"],"sourcesContent":["import type { Connection as CallbackConnection, TypeCast } from 'mysql2';\nimport type {\n\tConnection,\n\tFieldPacket,\n\tOkPacket,\n\tPool,\n\tPoolConnection,\n\tResultSetHeader,\n\tRowDataPacket,\n} from 'mysql2/promise';\nimport { once } from 'node:events';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\ttype Mode,\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n\ttype MySqlTransactionConfig,\n\ttype PreparedQueryKind,\n} from '~/mysql-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, sql } from '~/sql/sql.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nexport type MySql2Client = Pool | Connection;\n\nexport type MySqlRawQueryResult = [ResultSetHeader, FieldPacket[]];\nexport type MySqlQueryResultType = RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader;\nexport type MySqlQueryResult<\n\tT = any,\n> = [T extends ResultSetHeader ? T : T[], FieldPacket[]];\n\nconst typeCast: TypeCast = function(field: any, next: any) {\n\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\treturn field.string();\n\t}\n\treturn next();\n};\n\nexport class MySql2PreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'MySql2PreparedQuery';\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper(query, cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst {\n\t\t\tfields,\n\t\t\tclient,\n\t\t\tquery,\n\t\t\tjoinsNotNullableMap,\n\t\t\tcustomResultMapper,\n\t\t\treturningIds,\n\t\t\tgeneratedIds,\n\t\t} = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn await client.query<any>({\n\t\t\t\t\tsql: query.sql,\n\t\t\t\t\ttypeCast,\n\t\t\t\t}, params);\n\t\t\t});\n\n\t\t\tconst insertId = res[0].insertId;\n\t\t\tconst affectedRows = res[0].affectedRows;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst result = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await client.query<any[]>({\n\t\t\t\tsql: query.sql,\n\t\t\t\trowsAsArray: true,\n\t\t\t\ttypeCast,\n\t\t\t}, params);\n\t\t});\n\n\t\tconst rows = result[0];\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { client, query, customResultMapper } = this;\n\t\tconst res = await client.query<any>({\n\t\t\tsql: query.sql,\n\t\t\ttypeCast,\n\t\t}, params);\n\n\t\tconst rows = res[0];\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(rows);\n\t}\n\n\tasync *iterator(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tconst conn = ((isPool(this.client) ? await this.client.getConnection() : this.client) as {} as {\n\t\t\tconnection: CallbackConnection;\n\t\t}).connection;\n\n\t\tconst { fields, query, joinsNotNullableMap, client, customResultMapper } = this;\n\t\tconst hasRowsMapper = Boolean(fields || customResultMapper);\n\t\tconst driverQuery = conn.query({\n\t\t\tsql: query.sql,\n\t\t\trowsAsArray: hasRowsMapper,\n\t\t\ttypeCast,\n\t\t}, params);\n\n\t\tconst stream = driverQuery.stream();\n\n\t\tfunction dataListener() {\n\t\t\tstream.pause();\n\t\t}\n\n\t\tstream.on('data', dataListener);\n\n\t\ttry {\n\t\t\tconst onEnd = once(stream, 'end');\n\t\t\tconst onError = once(stream, 'error');\n\n\t\t\twhile (true) {\n\t\t\t\tstream.resume();\n\t\t\t\tconst row = await Promise.race([onEnd, onError, new Promise((resolve) => stream.once('data', resolve))]);\n\t\t\t\tif (row === undefined || (Array.isArray(row) && row.length === 0)) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (row instanceof Error) { // oxlint-disable-line drizzle-internal/no-instanceof\n\t\t\t\t\tthrow row;\n\t\t\t\t} else {\n\t\t\t\t\tif (hasRowsMapper) {\n\t\t\t\t\t\tif (customResultMapper) {\n\t\t\t\t\t\t\tconst mappedRow = (customResultMapper as (rows: unknown[][]) => T['execute'])([row as unknown[]]);\n\t\t\t\t\t\t\tyield (Array.isArray(mappedRow) ? mappedRow[0] : mappedRow);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tyield mapResultRow(fields!, row as unknown[], joinsNotNullableMap);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tyield row as T['execute'];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tstream.off('data', dataListener);\n\t\t\tif (isPool(client)) {\n\t\t\t\tconn.end();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport interface MySql2SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tmode: Mode;\n}\n\nexport class MySql2Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<MySqlQueryResultHKT, MySql2PreparedQueryHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'MySql2Session';\n\n\tprivate logger: Logger;\n\tprivate mode: Mode;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tdialect: MySqlDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: MySql2SessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.mode = options.mode;\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\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): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t) as PreparedQueryKind<MySql2PreparedQueryHKT, T>;\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t) as any;\n\t}\n\n\t/**\n\t * @internal\n\t * What is its purpose?\n\t */\n\tasync query(query: string, params: unknown[]): Promise<MySqlQueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.query({\n\t\t\tsql: query,\n\t\t\tvalues: params,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t});\n\t\treturn result;\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.query(querySql.sql, querySql.params).then((result) => result[0]) as Promise<T[]>;\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T> {\n\t\tconst session = isPool(this.client)\n\t\t\t? new MySql2Session(\n\t\t\t\tawait this.client.getConnection(),\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t)\n\t\t\t: this;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\t0,\n\t\t\tthis.mode,\n\t\t);\n\t\tif (config) {\n\t\t\tconst setTransactionConfigSql = this.getSetTransactionSQL(config);\n\t\t\tif (setTransactionConfigSql) {\n\t\t\t\tawait tx.execute(setTransactionConfigSql);\n\t\t\t}\n\t\t\tconst startTransactionSql = this.getStartTransactionSQL(config);\n\t\t\tawait (startTransactionSql ? tx.execute(startTransactionSql) : tx.execute(sql`begin`));\n\t\t} else {\n\t\t\tawait tx.execute(sql`begin`);\n\t\t}\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 (err) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tif (isPool(this.client)) {\n\t\t\t\t(session.client as PoolConnection).release();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class MySql2Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tMySql2QueryResultHKT,\n\tMySql2PreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'MySql2Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tthis.mode,\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\nfunction isPool(client: MySql2Client): client is Pool {\n\treturn 'getConnection' in client;\n}\n\nexport interface MySql2QueryResultHKT extends MySqlQueryResultHKT {\n\ttype: MySqlRawQueryResult;\n}\n\nexport interface MySql2PreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: MySql2PreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { Query, SQL } from "../sql/sql.cjs";
3
3
  import { Assume } from "../utils.cjs";
4
4
  import * as V1 from "../_relations.cjs";
5
5
  import { WithCacheConfig } from "../cache/core/types.cjs";
6
- import { AnyRelations, RelationalQueryMapperConfig } from "../relations.cjs";
6
+ import { AnyRelations } from "../relations.cjs";
7
7
  import { Connection, FieldPacket, OkPacket, Pool, ResultSetHeader, RowDataPacket } from "mysql2/promise";
8
8
  import { MySqlDialect } from "../mysql-core/dialect.cjs";
9
9
  import { Mode, MySqlPreparedQuery, MySqlPreparedQueryConfig, MySqlPreparedQueryHKT, MySqlQueryResultHKT, MySqlSession, MySqlTransaction, MySqlTransactionConfig, PreparedQueryKind } from "../mysql-core/session.cjs";
@@ -18,23 +18,17 @@ type MySqlQueryResultType = RowDataPacket[][] | RowDataPacket[] | OkPacket | OkP
18
18
  type MySqlQueryResult<T = any> = [T extends ResultSetHeader ? T : T[], FieldPacket[]];
19
19
  declare class MySql2PreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false> extends MySqlPreparedQuery<T> {
20
20
  private client;
21
- private params;
22
21
  private logger;
23
22
  private fields;
24
- private useJitMapper;
25
23
  private customResultMapper?;
26
24
  private generatedIds?;
27
25
  private returningIds?;
28
26
  private isRqbV2Query?;
29
- private rqbConfig?;
30
27
  static readonly [entityKind]: string;
31
- private rawQuery;
32
- private query;
33
- private jitMapper?;
34
- constructor(client: MySql2Client, queryString: string, params: unknown[], logger: Logger, cache: Cache, queryMetadata: {
28
+ constructor(client: MySql2Client, query: Query, logger: Logger, cache: Cache, queryMetadata: {
35
29
  type: 'select' | 'update' | 'delete' | 'insert';
36
30
  tables: string[];
37
- } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, useJitMapper: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
31
+ } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined, isRqbV2Query?: TIsRqbV2 | undefined);
38
32
  execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
39
33
  private executeRqbV2;
40
34
  iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']>;
@@ -42,7 +36,6 @@ declare class MySql2PreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 e
42
36
  interface MySql2SessionOptions {
43
37
  logger?: Logger;
44
38
  cache?: Cache;
45
- useJitMapper?: boolean;
46
39
  mode: Mode;
47
40
  }
48
41
  declare class MySql2Session<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends MySqlSession<MySqlQueryResultHKT, MySql2PreparedQueryHKT, TFullSchema, TRelations, TSchema> {
@@ -59,7 +52,7 @@ declare class MySql2Session<TFullSchema extends Record<string, unknown>, TRelati
59
52
  type: 'select' | 'update' | 'delete' | 'insert';
60
53
  tables: string[];
61
54
  }, cacheConfig?: WithCacheConfig): PreparedQueryKind<MySql2PreparedQueryHKT, T>;
62
- prepareRelationalQuery<T extends MySqlPreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper: (rows: Record<string, unknown>[]) => T['execute'], config: RelationalQueryMapperConfig, generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): PreparedQueryKind<MySql2PreparedQueryHKT, T>;
55
+ prepareRelationalQuery<T extends MySqlPreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper: (rows: Record<string, unknown>[]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): PreparedQueryKind<MySql2PreparedQueryHKT, T>;
63
56
  all<T = unknown>(query: SQL): Promise<T[]>;
64
57
  transaction<T>(transaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>, config?: MySqlTransactionConfig): Promise<T>;
65
58
  }
@@ -1,13 +1,13 @@
1
1
  import { entityKind } from "../entity.js";
2
2
  import { Assume } from "../utils.js";
3
3
  import { Query, SQL } from "../sql/sql.js";
4
- import { Cache } from "../cache/core/index.js";
5
- import { Logger } from "../logger.js";
6
4
  import * as V1 from "../_relations.js";
5
+ import { Logger } from "../logger.js";
6
+ import { Cache } from "../cache/core/index.js";
7
7
  import { MySqlDialect } from "../mysql-core/dialect.js";
8
8
  import { Mode, MySqlPreparedQuery, MySqlPreparedQueryConfig, MySqlPreparedQueryHKT, MySqlQueryResultHKT, MySqlSession, MySqlTransaction, MySqlTransactionConfig, PreparedQueryKind } from "../mysql-core/session.js";
9
- import { AnyRelations, RelationalQueryMapperConfig } from "../relations.js";
10
9
  import { Connection, FieldPacket, OkPacket, Pool, ResultSetHeader, RowDataPacket } from "mysql2/promise";
10
+ import { AnyRelations } from "../relations.js";
11
11
  import { WithCacheConfig } from "../cache/core/types.js";
12
12
  import { SelectedFieldsOrdered } from "../mysql-core/query-builders/select.types.js";
13
13
 
@@ -18,23 +18,17 @@ type MySqlQueryResultType = RowDataPacket[][] | RowDataPacket[] | OkPacket | OkP
18
18
  type MySqlQueryResult<T = any> = [T extends ResultSetHeader ? T : T[], FieldPacket[]];
19
19
  declare class MySql2PreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false> extends MySqlPreparedQuery<T> {
20
20
  private client;
21
- private params;
22
21
  private logger;
23
22
  private fields;
24
- private useJitMapper;
25
23
  private customResultMapper?;
26
24
  private generatedIds?;
27
25
  private returningIds?;
28
26
  private isRqbV2Query?;
29
- private rqbConfig?;
30
27
  static readonly [entityKind]: string;
31
- private rawQuery;
32
- private query;
33
- private jitMapper?;
34
- constructor(client: MySql2Client, queryString: string, params: unknown[], logger: Logger, cache: Cache, queryMetadata: {
28
+ constructor(client: MySql2Client, query: Query, logger: Logger, cache: Cache, queryMetadata: {
35
29
  type: 'select' | 'update' | 'delete' | 'insert';
36
30
  tables: string[];
37
- } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, useJitMapper: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
31
+ } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined, isRqbV2Query?: TIsRqbV2 | undefined);
38
32
  execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
39
33
  private executeRqbV2;
40
34
  iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']>;
@@ -42,7 +36,6 @@ declare class MySql2PreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 e
42
36
  interface MySql2SessionOptions {
43
37
  logger?: Logger;
44
38
  cache?: Cache;
45
- useJitMapper?: boolean;
46
39
  mode: Mode;
47
40
  }
48
41
  declare class MySql2Session<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends MySqlSession<MySqlQueryResultHKT, MySql2PreparedQueryHKT, TFullSchema, TRelations, TSchema> {
@@ -59,7 +52,7 @@ declare class MySql2Session<TFullSchema extends Record<string, unknown>, TRelati
59
52
  type: 'select' | 'update' | 'delete' | 'insert';
60
53
  tables: string[];
61
54
  }, cacheConfig?: WithCacheConfig): PreparedQueryKind<MySql2PreparedQueryHKT, T>;
62
- prepareRelationalQuery<T extends MySqlPreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper: (rows: Record<string, unknown>[]) => T['execute'], config: RelationalQueryMapperConfig, generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): PreparedQueryKind<MySql2PreparedQueryHKT, T>;
55
+ prepareRelationalQuery<T extends MySqlPreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper: (rows: Record<string, unknown>[]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): PreparedQueryKind<MySql2PreparedQueryHKT, T>;
63
56
  all<T = unknown>(query: SQL): Promise<T[]>;
64
57
  transaction<T>(transaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>, config?: MySqlTransactionConfig): Promise<T>;
65
58
  }
package/mysql2/session.js CHANGED
@@ -1,55 +1,40 @@
1
1
  import { entityKind, is } from "../entity.js";
2
2
  import { Column } from "../column.js";
3
- import { makeJitQueryMapper, mapResultRow } from "../utils.js";
3
+ import { mapResultRow } from "../utils.js";
4
4
  import { fillPlaceholders, sql } from "../sql/sql.js";
5
- import { NoopCache } from "../cache/core/index.js";
6
5
  import { NoopLogger } from "../logger.js";
6
+ import { NoopCache } from "../cache/core/index.js";
7
7
  import { MySqlPreparedQuery, MySqlSession, MySqlTransaction } from "../mysql-core/session.js";
8
- import { makeRqbJitMapper } from "../relations.js";
9
8
  import { once } from "node:events";
10
9
 
11
10
  //#region src/mysql2/session.ts
11
+ const typeCast = function(field, next) {
12
+ if (field.type === "TIMESTAMP" || field.type === "DATETIME" || field.type === "DATE") return field.string();
13
+ return next();
14
+ };
12
15
  var MySql2PreparedQuery = class extends MySqlPreparedQuery {
13
16
  static [entityKind] = "MySql2PreparedQuery";
14
- rawQuery;
15
- query;
16
- jitMapper;
17
- constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, useJitMapper, customResultMapper, generatedIds, returningIds, isRqbV2Query, rqbConfig) {
18
- super(cache, queryMetadata, cacheConfig);
17
+ constructor(client, query, logger, cache, queryMetadata, cacheConfig, fields, customResultMapper, generatedIds, returningIds, isRqbV2Query) {
18
+ super(query, cache, queryMetadata, cacheConfig);
19
19
  this.client = client;
20
- this.params = params;
21
20
  this.logger = logger;
22
21
  this.fields = fields;
23
- this.useJitMapper = useJitMapper;
24
22
  this.customResultMapper = customResultMapper;
25
23
  this.generatedIds = generatedIds;
26
24
  this.returningIds = returningIds;
27
25
  this.isRqbV2Query = isRqbV2Query;
28
- this.rqbConfig = rqbConfig;
29
- this.rawQuery = {
30
- sql: queryString,
31
- typeCast: function(field, next) {
32
- if (field.type === "TIMESTAMP" || field.type === "DATETIME" || field.type === "DATE") return field.string();
33
- return next();
34
- }
35
- };
36
- this.query = {
37
- sql: queryString,
38
- rowsAsArray: true,
39
- typeCast: function(field, next) {
40
- if (field.type === "TIMESTAMP" || field.type === "DATETIME" || field.type === "DATE") return field.string();
41
- return next();
42
- }
43
- };
44
26
  }
45
27
  async execute(placeholderValues = {}) {
46
28
  if (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);
47
- const params = fillPlaceholders(this.params, placeholderValues);
48
- this.logger.logQuery(this.rawQuery.sql, params);
49
- const { fields, client, rawQuery, query, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;
29
+ const params = fillPlaceholders(this.query.params, placeholderValues);
30
+ this.logger.logQuery(this.query.sql, params);
31
+ const { fields, client, query, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;
50
32
  if (!fields && !customResultMapper) {
51
- const res = await this.queryWithCache(rawQuery.sql, params, async () => {
52
- return await client.query(rawQuery, params);
33
+ const res = await this.queryWithCache(query.sql, params, async () => {
34
+ return await client.query({
35
+ sql: query.sql,
36
+ typeCast
37
+ }, params);
53
38
  });
54
39
  const insertId = res[0].insertId;
55
40
  const affectedRows = res[0].affectedRows;
@@ -71,24 +56,35 @@ var MySql2PreparedQuery = class extends MySqlPreparedQuery {
71
56
  return res;
72
57
  }
73
58
  const rows = (await this.queryWithCache(query.sql, params, async () => {
74
- return await client.query(query, params);
59
+ return await client.query({
60
+ sql: query.sql,
61
+ rowsAsArray: true,
62
+ typeCast
63
+ }, params);
75
64
  }))[0];
76
65
  if (customResultMapper) return customResultMapper(rows);
77
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitQueryMapper(fields, joinsNotNullableMap))(rows) : rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
66
+ return rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
78
67
  }
79
68
  async executeRqbV2(placeholderValues = {}) {
80
- const params = fillPlaceholders(this.params, placeholderValues);
81
- this.logger.logQuery(this.rawQuery.sql, params);
82
- const { client, rawQuery, customResultMapper } = this;
83
- const rows = (await client.query(rawQuery, params))[0];
69
+ const params = fillPlaceholders(this.query.params, placeholderValues);
70
+ this.logger.logQuery(this.query.sql, params);
71
+ const { client, query, customResultMapper } = this;
72
+ const rows = (await client.query({
73
+ sql: query.sql,
74
+ typeCast
75
+ }, params))[0];
84
76
  return customResultMapper(rows);
85
77
  }
86
78
  async *iterator(placeholderValues = {}) {
87
- const params = fillPlaceholders(this.params, placeholderValues);
79
+ const params = fillPlaceholders(this.query.params, placeholderValues);
88
80
  const conn = (isPool(this.client) ? await this.client.getConnection() : this.client).connection;
89
- const { fields, query, rawQuery, joinsNotNullableMap, client, customResultMapper } = this;
81
+ const { fields, query, joinsNotNullableMap, client, customResultMapper } = this;
90
82
  const hasRowsMapper = Boolean(fields || customResultMapper);
91
- const stream = (hasRowsMapper ? conn.query(query, params) : conn.query(rawQuery, params)).stream();
83
+ const stream = conn.query({
84
+ sql: query.sql,
85
+ rowsAsArray: hasRowsMapper,
86
+ typeCast
87
+ }, params).stream();
92
88
  function dataListener() {
93
89
  stream.pause();
94
90
  }
@@ -105,16 +101,10 @@ var MySql2PreparedQuery = class extends MySqlPreparedQuery {
105
101
  ]);
106
102
  if (row === void 0 || Array.isArray(row) && row.length === 0) break;
107
103
  else if (row instanceof Error) throw row;
108
- else if (this.isRqbV2Query) if (this.useJitMapper) yield (this.jitMapper = this.jitMapper ?? makeRqbJitMapper(this.rqbConfig))([row]);
109
- else {
110
- const mapped = customResultMapper([row]);
111
- if (this.rqbConfig.isFirst) yield mapped;
112
- else yield mapped[0];
113
- }
114
104
  else if (hasRowsMapper) if (customResultMapper) {
115
105
  const mappedRow = customResultMapper([row]);
116
106
  yield Array.isArray(mappedRow) ? mappedRow[0] : mappedRow;
117
- } else yield this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitQueryMapper(fields, joinsNotNullableMap))([row])[0] : mapResultRow(fields, row, joinsNotNullableMap);
107
+ } else yield mapResultRow(fields, row, joinsNotNullableMap);
118
108
  else yield row;
119
109
  }
120
110
  } finally {
@@ -139,10 +129,10 @@ var MySql2Session = class MySql2Session extends MySqlSession {
139
129
  this.mode = options.mode;
140
130
  }
141
131
  prepareQuery(query, fields, customResultMapper, generatedIds, returningIds, queryMetadata, cacheConfig) {
142
- return new MySql2PreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, queryMetadata, cacheConfig, fields, this.options.useJitMapper, customResultMapper, generatedIds, returningIds);
132
+ return new MySql2PreparedQuery(this.client, query, this.logger, this.cache, queryMetadata, cacheConfig, fields, customResultMapper, generatedIds, returningIds);
143
133
  }
144
- prepareRelationalQuery(query, fields, customResultMapper, config, generatedIds, returningIds) {
145
- return new MySql2PreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, void 0, void 0, fields, this.options.useJitMapper, customResultMapper, generatedIds, returningIds, true, config);
134
+ prepareRelationalQuery(query, fields, customResultMapper, generatedIds, returningIds) {
135
+ return new MySql2PreparedQuery(this.client, query, this.logger, this.cache, void 0, void 0, fields, customResultMapper, generatedIds, returningIds, true);
146
136
  }
147
137
  /**
148
138
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","names":[],"sources":["../../src/mysql2/session.ts"],"sourcesContent":["import type { Connection as CallbackConnection } from 'mysql2';\nimport type {\n\tConnection,\n\tFieldPacket,\n\tOkPacket,\n\tPool,\n\tPoolConnection,\n\tQueryOptions,\n\tResultSetHeader,\n\tRowDataPacket,\n} from 'mysql2/promise';\nimport { once } from 'node:events';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\ttype Mode,\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n\ttype MySqlTransactionConfig,\n\ttype PreparedQueryKind,\n} from '~/mysql-core/session.ts';\nimport {\n\ttype AnyRelations,\n\tmakeRqbJitMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} from '~/relations.ts';\nimport { fillPlaceholders, sql } from '~/sql/sql.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport { type Assume, makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport type MySql2Client = Pool | Connection;\n\nexport type MySqlRawQueryResult = [ResultSetHeader, FieldPacket[]];\nexport type MySqlQueryResultType = RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader;\nexport type MySqlQueryResult<\n\tT = any,\n> = [T extends ResultSetHeader ? T : T[], FieldPacket[]];\n\nexport class MySql2PreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'MySql2PreparedQuery';\n\n\tprivate rawQuery: QueryOptions;\n\tprivate query: QueryOptions;\n\tprivate jitMapper?:\n\t\t| RowsMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>\n\t\t| RelationalRowsMapper<T['execute']>;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\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\tprivate useJitMapper: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t\tthis.rawQuery = {\n\t\t\tsql: queryString,\n\t\t\t// rowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t};\n\t\tthis.query = {\n\t\t\tsql: queryString,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t};\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.sql, params);\n\n\t\tconst { fields, client, rawQuery, query, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } =\n\t\t\tthis;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(rawQuery.sql, params, async () => {\n\t\t\t\treturn await client.query<any>(rawQuery, params);\n\t\t\t});\n\n\t\t\tconst insertId = res[0].insertId;\n\t\t\tconst affectedRows = res[0].affectedRows;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst result = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await client.query<any[]>(query, params);\n\t\t});\n\n\t\tconst rows = result[0];\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<(T['execute'] extends any[] ? T['execute'][number]\n\t\t\t\t: T['execute'])[]>\n\t\t\t\t?? makeJitQueryMapper<(T['execute'] extends any[] ? T['execute'][number]\n\t\t\t\t\t: T['execute'])[]>(fields!, joinsNotNullableMap))(rows)\n\t\t\t: rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.sql, params);\n\n\t\tconst { client, rawQuery, customResultMapper } = this;\n\t\tconst res = await client.query<any>(rawQuery, params);\n\n\t\tconst rows = res[0];\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(rows);\n\t}\n\n\tasync *iterator(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tconst conn = ((isPool(this.client) ? await this.client.getConnection() : this.client) as {} as {\n\t\t\tconnection: CallbackConnection;\n\t\t}).connection;\n\n\t\tconst { fields, query, rawQuery, joinsNotNullableMap, client, customResultMapper } = this;\n\t\tconst hasRowsMapper = Boolean(fields || customResultMapper);\n\t\tconst driverQuery = hasRowsMapper ? conn.query(query, params) : conn.query(rawQuery, params);\n\n\t\tconst stream = driverQuery.stream();\n\n\t\tfunction dataListener() {\n\t\t\tstream.pause();\n\t\t}\n\n\t\tstream.on('data', dataListener);\n\n\t\ttry {\n\t\t\tconst onEnd = once(stream, 'end');\n\t\t\tconst onError = once(stream, 'error');\n\n\t\t\twhile (true) {\n\t\t\t\tstream.resume();\n\t\t\t\tconst row = await Promise.race([onEnd, onError, new Promise((resolve) => stream.once('data', resolve))]);\n\t\t\t\tif (row === undefined || (Array.isArray(row) && row.length === 0)) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (row instanceof Error) { // oxlint-disable-line drizzle-internal/no-instanceof\n\t\t\t\t\tthrow row;\n\t\t\t\t} else {\n\t\t\t\t\tif (this.isRqbV2Query) {\n\t\t\t\t\t\tif (this.useJitMapper) {\n\t\t\t\t\t\t\tyield (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['execute']>\n\t\t\t\t\t\t\t\t?? makeRqbJitMapper<T['execute']>(this.rqbConfig!))([row as Record<string, unknown>]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst mapped = (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(\n\t\t\t\t\t\t\t\t[row] as Record<string, unknown>[],\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (this.rqbConfig!.isFirst) yield mapped;\n\t\t\t\t\t\t\telse yield ((<any[]> mapped)[0]);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (hasRowsMapper) {\n\t\t\t\t\t\tif (customResultMapper) {\n\t\t\t\t\t\t\tconst mappedRow = (customResultMapper as (rows: unknown[][]) => T['execute'])([row as unknown[]]);\n\t\t\t\t\t\t\tyield (Array.isArray(mappedRow) ? mappedRow[0] : mappedRow);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tyield this.useJitMapper\n\t\t\t\t\t\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<(T['execute'] extends any[] ? T['execute'][number]\n\t\t\t\t\t\t\t\t\t: T['execute'])[]>\n\t\t\t\t\t\t\t\t\t?? makeJitQueryMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>(\n\t\t\t\t\t\t\t\t\t\tfields!,\n\t\t\t\t\t\t\t\t\t\tjoinsNotNullableMap,\n\t\t\t\t\t\t\t\t\t))([row as unknown[]])[0] as T['execute']\n\t\t\t\t\t\t\t\t: mapResultRow(fields!, row as unknown[], joinsNotNullableMap);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tyield row as T['execute'];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tstream.off('data', dataListener);\n\t\t\tif (isPool(client)) {\n\t\t\t\tconn.end();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport interface MySql2SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n\tmode: Mode;\n}\n\nexport class MySql2Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<MySqlQueryResultHKT, MySql2PreparedQueryHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'MySql2Session';\n\n\tprivate logger: Logger;\n\tprivate mode: Mode;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tdialect: MySqlDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: MySql2SessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.mode = options.mode;\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\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): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\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\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t) as PreparedQueryKind<MySql2PreparedQueryHKT, T>;\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tconfig: RelationalQueryMapperConfig,\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\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\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t) as any;\n\t}\n\n\t/**\n\t * @internal\n\t * What is its purpose?\n\t */\n\tasync query(query: string, params: unknown[]): Promise<MySqlQueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.query({\n\t\t\tsql: query,\n\t\t\tvalues: params,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t});\n\t\treturn result;\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.query(querySql.sql, querySql.params).then((result) => result[0]) as Promise<T[]>;\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T> {\n\t\tconst session = isPool(this.client)\n\t\t\t? new MySql2Session(\n\t\t\t\tawait this.client.getConnection(),\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t)\n\t\t\t: this;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\t0,\n\t\t\tthis.mode,\n\t\t);\n\t\tif (config) {\n\t\t\tconst setTransactionConfigSql = this.getSetTransactionSQL(config);\n\t\t\tif (setTransactionConfigSql) {\n\t\t\t\tawait tx.execute(setTransactionConfigSql);\n\t\t\t}\n\t\t\tconst startTransactionSql = this.getStartTransactionSQL(config);\n\t\t\tawait (startTransactionSql ? tx.execute(startTransactionSql) : tx.execute(sql`begin`));\n\t\t} else {\n\t\t\tawait tx.execute(sql`begin`);\n\t\t}\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 (err) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tif (isPool(this.client)) {\n\t\t\t\t(session.client as PoolConnection).release();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class MySql2Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tMySql2QueryResultHKT,\n\tMySql2PreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'MySql2Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tthis.mode,\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\nfunction isPool(client: MySql2Client): client is Pool {\n\treturn 'getConnection' in client;\n}\n\nexport interface MySql2QueryResultHKT extends MySqlQueryResultHKT {\n\ttype: MySqlRawQueryResult;\n}\n\nexport interface MySql2PreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: MySql2PreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"session.js","names":[],"sources":["../../src/mysql2/session.ts"],"sourcesContent":["import type { Connection as CallbackConnection, TypeCast } from 'mysql2';\nimport type {\n\tConnection,\n\tFieldPacket,\n\tOkPacket,\n\tPool,\n\tPoolConnection,\n\tResultSetHeader,\n\tRowDataPacket,\n} from 'mysql2/promise';\nimport { once } from 'node:events';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\ttype Mode,\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n\ttype MySqlTransactionConfig,\n\ttype PreparedQueryKind,\n} from '~/mysql-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, sql } from '~/sql/sql.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nexport type MySql2Client = Pool | Connection;\n\nexport type MySqlRawQueryResult = [ResultSetHeader, FieldPacket[]];\nexport type MySqlQueryResultType = RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader;\nexport type MySqlQueryResult<\n\tT = any,\n> = [T extends ResultSetHeader ? T : T[], FieldPacket[]];\n\nconst typeCast: TypeCast = function(field: any, next: any) {\n\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\treturn field.string();\n\t}\n\treturn next();\n};\n\nexport class MySql2PreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'MySql2PreparedQuery';\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper(query, cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst {\n\t\t\tfields,\n\t\t\tclient,\n\t\t\tquery,\n\t\t\tjoinsNotNullableMap,\n\t\t\tcustomResultMapper,\n\t\t\treturningIds,\n\t\t\tgeneratedIds,\n\t\t} = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn await client.query<any>({\n\t\t\t\t\tsql: query.sql,\n\t\t\t\t\ttypeCast,\n\t\t\t\t}, params);\n\t\t\t});\n\n\t\t\tconst insertId = res[0].insertId;\n\t\t\tconst affectedRows = res[0].affectedRows;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst result = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await client.query<any[]>({\n\t\t\t\tsql: query.sql,\n\t\t\t\trowsAsArray: true,\n\t\t\t\ttypeCast,\n\t\t\t}, params);\n\t\t});\n\n\t\tconst rows = result[0];\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { client, query, customResultMapper } = this;\n\t\tconst res = await client.query<any>({\n\t\t\tsql: query.sql,\n\t\t\ttypeCast,\n\t\t}, params);\n\n\t\tconst rows = res[0];\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(rows);\n\t}\n\n\tasync *iterator(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tconst conn = ((isPool(this.client) ? await this.client.getConnection() : this.client) as {} as {\n\t\t\tconnection: CallbackConnection;\n\t\t}).connection;\n\n\t\tconst { fields, query, joinsNotNullableMap, client, customResultMapper } = this;\n\t\tconst hasRowsMapper = Boolean(fields || customResultMapper);\n\t\tconst driverQuery = conn.query({\n\t\t\tsql: query.sql,\n\t\t\trowsAsArray: hasRowsMapper,\n\t\t\ttypeCast,\n\t\t}, params);\n\n\t\tconst stream = driverQuery.stream();\n\n\t\tfunction dataListener() {\n\t\t\tstream.pause();\n\t\t}\n\n\t\tstream.on('data', dataListener);\n\n\t\ttry {\n\t\t\tconst onEnd = once(stream, 'end');\n\t\t\tconst onError = once(stream, 'error');\n\n\t\t\twhile (true) {\n\t\t\t\tstream.resume();\n\t\t\t\tconst row = await Promise.race([onEnd, onError, new Promise((resolve) => stream.once('data', resolve))]);\n\t\t\t\tif (row === undefined || (Array.isArray(row) && row.length === 0)) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (row instanceof Error) { // oxlint-disable-line drizzle-internal/no-instanceof\n\t\t\t\t\tthrow row;\n\t\t\t\t} else {\n\t\t\t\t\tif (hasRowsMapper) {\n\t\t\t\t\t\tif (customResultMapper) {\n\t\t\t\t\t\t\tconst mappedRow = (customResultMapper as (rows: unknown[][]) => T['execute'])([row as unknown[]]);\n\t\t\t\t\t\t\tyield (Array.isArray(mappedRow) ? mappedRow[0] : mappedRow);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tyield mapResultRow(fields!, row as unknown[], joinsNotNullableMap);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tyield row as T['execute'];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tstream.off('data', dataListener);\n\t\t\tif (isPool(client)) {\n\t\t\t\tconn.end();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport interface MySql2SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tmode: Mode;\n}\n\nexport class MySql2Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<MySqlQueryResultHKT, MySql2PreparedQueryHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'MySql2Session';\n\n\tprivate logger: Logger;\n\tprivate mode: Mode;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tdialect: MySqlDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: MySql2SessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.mode = options.mode;\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\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): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t) as PreparedQueryKind<MySql2PreparedQueryHKT, T>;\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t) as any;\n\t}\n\n\t/**\n\t * @internal\n\t * What is its purpose?\n\t */\n\tasync query(query: string, params: unknown[]): Promise<MySqlQueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.query({\n\t\t\tsql: query,\n\t\t\tvalues: params,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t});\n\t\treturn result;\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.query(querySql.sql, querySql.params).then((result) => result[0]) as Promise<T[]>;\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T> {\n\t\tconst session = isPool(this.client)\n\t\t\t? new MySql2Session(\n\t\t\t\tawait this.client.getConnection(),\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t)\n\t\t\t: this;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\t0,\n\t\t\tthis.mode,\n\t\t);\n\t\tif (config) {\n\t\t\tconst setTransactionConfigSql = this.getSetTransactionSQL(config);\n\t\t\tif (setTransactionConfigSql) {\n\t\t\t\tawait tx.execute(setTransactionConfigSql);\n\t\t\t}\n\t\t\tconst startTransactionSql = this.getStartTransactionSQL(config);\n\t\t\tawait (startTransactionSql ? tx.execute(startTransactionSql) : tx.execute(sql`begin`));\n\t\t} else {\n\t\t\tawait tx.execute(sql`begin`);\n\t\t}\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 (err) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tif (isPool(this.client)) {\n\t\t\t\t(session.client as PoolConnection).release();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class MySql2Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tMySql2QueryResultHKT,\n\tMySql2PreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'MySql2Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tthis.mode,\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\nfunction isPool(client: MySql2Client): client is Pool {\n\treturn 'getConnection' in client;\n}\n\nexport interface MySql2QueryResultHKT extends MySqlQueryResultHKT {\n\ttype: MySqlRawQueryResult;\n}\n\nexport interface MySql2PreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: MySql2PreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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"}