drizzle-orm 1.0.0-beta.21 → 1.0.0-beta.21-af6b4cb

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 (1631) hide show
  1. package/_relations.cjs.map +1 -1
  2. package/_relations.d.cts +2 -13
  3. package/_relations.d.ts +2 -13
  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 +2 -0
  8. package/aws-data-api/common/index.cjs.map +1 -1
  9. package/aws-data-api/common/index.d.cts +1 -1
  10. package/aws-data-api/common/index.d.ts +1 -1
  11. package/aws-data-api/common/index.js +2 -0
  12. package/aws-data-api/common/index.js.map +1 -1
  13. package/aws-data-api/pg/driver.cjs +93 -20
  14. package/aws-data-api/pg/driver.cjs.map +1 -1
  15. package/aws-data-api/pg/driver.d.cts +17 -13
  16. package/aws-data-api/pg/driver.d.ts +17 -13
  17. package/aws-data-api/pg/driver.js +93 -20
  18. package/aws-data-api/pg/driver.js.map +1 -1
  19. package/aws-data-api/pg/index.cjs +1 -1
  20. package/aws-data-api/pg/index.d.cts +3 -3
  21. package/aws-data-api/pg/index.d.ts +3 -3
  22. package/aws-data-api/pg/index.js +3 -3
  23. package/aws-data-api/pg/migrator.cjs.map +1 -1
  24. package/aws-data-api/pg/migrator.d.cts +1 -1
  25. package/aws-data-api/pg/migrator.d.ts +1 -1
  26. package/aws-data-api/pg/migrator.js.map +1 -1
  27. package/aws-data-api/pg/session.cjs +44 -113
  28. package/aws-data-api/pg/session.cjs.map +1 -1
  29. package/aws-data-api/pg/session.d.cts +12 -42
  30. package/aws-data-api/pg/session.d.ts +13 -43
  31. package/aws-data-api/pg/session.js +46 -114
  32. package/aws-data-api/pg/session.js.map +1 -1
  33. package/better-sqlite3/driver.cjs +5 -2
  34. package/better-sqlite3/driver.cjs.map +1 -1
  35. package/better-sqlite3/driver.d.ts +1 -1
  36. package/better-sqlite3/driver.js +5 -2
  37. package/better-sqlite3/driver.js.map +1 -1
  38. package/better-sqlite3/session.cjs +16 -15
  39. package/better-sqlite3/session.cjs.map +1 -1
  40. package/better-sqlite3/session.d.cts +10 -6
  41. package/better-sqlite3/session.d.ts +11 -7
  42. package/better-sqlite3/session.js +17 -16
  43. package/better-sqlite3/session.js.map +1 -1
  44. package/bun-sql/driver.cjs.map +1 -1
  45. package/bun-sql/driver.d.cts +7 -6
  46. package/bun-sql/driver.d.ts +7 -6
  47. package/bun-sql/driver.js.map +1 -1
  48. package/bun-sql/index.cjs +0 -1
  49. package/bun-sql/index.d.cts +2 -2
  50. package/bun-sql/index.d.ts +2 -2
  51. package/bun-sql/index.js +2 -2
  52. package/bun-sql/migrator.cjs.map +1 -1
  53. package/bun-sql/migrator.d.cts +2 -2
  54. package/bun-sql/migrator.d.ts +2 -2
  55. package/bun-sql/migrator.js.map +1 -1
  56. package/bun-sql/mysql/driver.cjs +4 -3
  57. package/bun-sql/mysql/driver.cjs.map +1 -1
  58. package/bun-sql/mysql/driver.js +3 -2
  59. package/bun-sql/mysql/driver.js.map +1 -1
  60. package/bun-sql/mysql/session.cjs +37 -24
  61. package/bun-sql/mysql/session.cjs.map +1 -1
  62. package/bun-sql/mysql/session.d.cts +10 -4
  63. package/bun-sql/mysql/session.d.ts +12 -6
  64. package/bun-sql/mysql/session.js +38 -25
  65. package/bun-sql/mysql/session.js.map +1 -1
  66. package/bun-sql/postgres/driver.cjs +144 -20
  67. package/bun-sql/postgres/driver.cjs.map +1 -1
  68. package/bun-sql/postgres/driver.d.cts +10 -6
  69. package/bun-sql/postgres/driver.d.ts +11 -7
  70. package/bun-sql/postgres/driver.js +144 -20
  71. package/bun-sql/postgres/driver.js.map +1 -1
  72. package/bun-sql/postgres/index.cjs +1 -1
  73. package/bun-sql/postgres/index.d.cts +3 -3
  74. package/bun-sql/postgres/index.d.ts +3 -3
  75. package/bun-sql/postgres/index.js +3 -3
  76. package/bun-sql/postgres/migrator.cjs.map +1 -1
  77. package/bun-sql/postgres/migrator.d.cts +1 -1
  78. package/bun-sql/postgres/migrator.d.ts +1 -1
  79. package/bun-sql/postgres/migrator.js.map +1 -1
  80. package/bun-sql/postgres/session.cjs +17 -112
  81. package/bun-sql/postgres/session.cjs.map +1 -1
  82. package/bun-sql/postgres/session.d.cts +11 -33
  83. package/bun-sql/postgres/session.d.ts +12 -34
  84. package/bun-sql/postgres/session.js +18 -112
  85. package/bun-sql/postgres/session.js.map +1 -1
  86. package/bun-sql/session.cjs +0 -1
  87. package/bun-sql/session.d.cts +2 -2
  88. package/bun-sql/session.d.ts +2 -2
  89. package/bun-sql/session.js +2 -2
  90. package/bun-sql/sqlite/driver.cjs +4 -3
  91. package/bun-sql/sqlite/driver.cjs.map +1 -1
  92. package/bun-sql/sqlite/driver.d.ts +1 -1
  93. package/bun-sql/sqlite/driver.js +3 -2
  94. package/bun-sql/sqlite/driver.js.map +1 -1
  95. package/bun-sql/sqlite/session.cjs +18 -17
  96. package/bun-sql/sqlite/session.cjs.map +1 -1
  97. package/bun-sql/sqlite/session.d.cts +9 -6
  98. package/bun-sql/sqlite/session.d.ts +10 -7
  99. package/bun-sql/sqlite/session.js +19 -18
  100. package/bun-sql/sqlite/session.js.map +1 -1
  101. package/bun-sqlite/driver.cjs +5 -2
  102. package/bun-sqlite/driver.cjs.map +1 -1
  103. package/bun-sqlite/driver.d.ts +1 -1
  104. package/bun-sqlite/driver.js +5 -2
  105. package/bun-sqlite/driver.js.map +1 -1
  106. package/bun-sqlite/session.cjs +15 -14
  107. package/bun-sqlite/session.cjs.map +1 -1
  108. package/bun-sqlite/session.d.cts +10 -6
  109. package/bun-sqlite/session.d.ts +10 -6
  110. package/bun-sqlite/session.js +16 -15
  111. package/bun-sqlite/session.js.map +1 -1
  112. package/cache/core/cache-effect.cjs +2 -2
  113. package/cache/core/cache-effect.d.ts +1 -1
  114. package/cache/core/cache-effect.js +1 -1
  115. package/cockroach/driver.cjs +10 -4
  116. package/cockroach/driver.cjs.map +1 -1
  117. package/cockroach/driver.d.cts +1 -0
  118. package/cockroach/driver.d.ts +3 -2
  119. package/cockroach/driver.js +10 -4
  120. package/cockroach/driver.js.map +1 -1
  121. package/cockroach/session.cjs +7 -9
  122. package/cockroach/session.cjs.map +1 -1
  123. package/cockroach/session.d.cts +5 -3
  124. package/cockroach/session.d.ts +7 -5
  125. package/cockroach/session.js +8 -10
  126. package/cockroach/session.js.map +1 -1
  127. package/cockroach-core/columns/bigint.cjs +4 -4
  128. package/cockroach-core/columns/bigint.cjs.map +1 -1
  129. package/cockroach-core/columns/bigint.d.cts +2 -2
  130. package/cockroach-core/columns/bigint.d.ts +2 -2
  131. package/cockroach-core/columns/bigint.js +4 -4
  132. package/cockroach-core/columns/bigint.js.map +1 -1
  133. package/cockroach-core/columns/common.cjs +5 -5
  134. package/cockroach-core/columns/common.cjs.map +1 -1
  135. package/cockroach-core/columns/common.d.cts +2 -2
  136. package/cockroach-core/columns/common.d.ts +3 -3
  137. package/cockroach-core/columns/common.js +5 -5
  138. package/cockroach-core/columns/common.js.map +1 -1
  139. package/cockroach-core/columns/custom.cjs +4 -4
  140. package/cockroach-core/columns/custom.cjs.map +1 -1
  141. package/cockroach-core/columns/custom.d.cts +2 -2
  142. package/cockroach-core/columns/custom.d.ts +2 -2
  143. package/cockroach-core/columns/custom.js +4 -4
  144. package/cockroach-core/columns/custom.js.map +1 -1
  145. package/cockroach-core/columns/date.cjs +6 -6
  146. package/cockroach-core/columns/date.cjs.map +1 -1
  147. package/cockroach-core/columns/date.d.cts +3 -3
  148. package/cockroach-core/columns/date.d.ts +3 -3
  149. package/cockroach-core/columns/date.js +6 -6
  150. package/cockroach-core/columns/date.js.map +1 -1
  151. package/cockroach-core/columns/decimal.cjs +4 -4
  152. package/cockroach-core/columns/decimal.cjs.map +1 -1
  153. package/cockroach-core/columns/decimal.d.cts +2 -2
  154. package/cockroach-core/columns/decimal.d.ts +2 -2
  155. package/cockroach-core/columns/decimal.js +4 -4
  156. package/cockroach-core/columns/decimal.js.map +1 -1
  157. package/cockroach-core/columns/float.cjs +2 -2
  158. package/cockroach-core/columns/float.cjs.map +1 -1
  159. package/cockroach-core/columns/float.d.cts +1 -1
  160. package/cockroach-core/columns/float.d.ts +1 -1
  161. package/cockroach-core/columns/float.js +2 -2
  162. package/cockroach-core/columns/float.js.map +1 -1
  163. package/cockroach-core/columns/geometry.cjs +8 -8
  164. package/cockroach-core/columns/geometry.cjs.map +1 -1
  165. package/cockroach-core/columns/geometry.d.cts +5 -5
  166. package/cockroach-core/columns/geometry.d.ts +5 -5
  167. package/cockroach-core/columns/geometry.js +8 -8
  168. package/cockroach-core/columns/geometry.js.map +1 -1
  169. package/cockroach-core/columns/integer.cjs +2 -2
  170. package/cockroach-core/columns/integer.cjs.map +1 -1
  171. package/cockroach-core/columns/integer.d.cts +1 -1
  172. package/cockroach-core/columns/integer.d.ts +1 -1
  173. package/cockroach-core/columns/integer.js +2 -2
  174. package/cockroach-core/columns/integer.js.map +1 -1
  175. package/cockroach-core/columns/jsonb.cjs +4 -4
  176. package/cockroach-core/columns/jsonb.cjs.map +1 -1
  177. package/cockroach-core/columns/jsonb.d.cts +2 -2
  178. package/cockroach-core/columns/jsonb.d.ts +2 -2
  179. package/cockroach-core/columns/jsonb.js +4 -4
  180. package/cockroach-core/columns/jsonb.js.map +1 -1
  181. package/cockroach-core/columns/vector.cjs +4 -4
  182. package/cockroach-core/columns/vector.cjs.map +1 -1
  183. package/cockroach-core/columns/vector.d.cts +2 -2
  184. package/cockroach-core/columns/vector.d.ts +2 -2
  185. package/cockroach-core/columns/vector.js +4 -4
  186. package/cockroach-core/columns/vector.js.map +1 -1
  187. package/cockroach-core/db.cjs +1 -1
  188. package/cockroach-core/db.cjs.map +1 -1
  189. package/cockroach-core/db.d.ts +2 -2
  190. package/cockroach-core/db.js +1 -1
  191. package/cockroach-core/db.js.map +1 -1
  192. package/cockroach-core/dialect.cjs +2 -2
  193. package/cockroach-core/dialect.d.ts +2 -2
  194. package/cockroach-core/dialect.js +2 -2
  195. package/cockroach-core/index.cjs +14 -14
  196. package/cockroach-core/index.js +14 -14
  197. package/cockroach-core/query-builders/delete.cjs +1 -1
  198. package/cockroach-core/query-builders/delete.cjs.map +1 -1
  199. package/cockroach-core/query-builders/delete.d.cts +1 -1
  200. package/cockroach-core/query-builders/delete.d.ts +2 -2
  201. package/cockroach-core/query-builders/delete.js +1 -1
  202. package/cockroach-core/query-builders/delete.js.map +1 -1
  203. package/cockroach-core/query-builders/index.cjs +2 -2
  204. package/cockroach-core/query-builders/index.js +2 -2
  205. package/cockroach-core/query-builders/insert.cjs +1 -1
  206. package/cockroach-core/query-builders/insert.cjs.map +1 -1
  207. package/cockroach-core/query-builders/insert.d.ts +1 -1
  208. package/cockroach-core/query-builders/insert.js +1 -1
  209. package/cockroach-core/query-builders/insert.js.map +1 -1
  210. package/cockroach-core/query-builders/query.cjs +1 -1
  211. package/cockroach-core/query-builders/query.cjs.map +1 -1
  212. package/cockroach-core/query-builders/query.js +1 -1
  213. package/cockroach-core/query-builders/query.js.map +1 -1
  214. package/cockroach-core/query-builders/raw.cjs +0 -4
  215. package/cockroach-core/query-builders/raw.cjs.map +1 -1
  216. package/cockroach-core/query-builders/raw.js +0 -4
  217. package/cockroach-core/query-builders/raw.js.map +1 -1
  218. package/cockroach-core/query-builders/refresh-materialized-view.cjs +1 -1
  219. package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  220. package/cockroach-core/query-builders/refresh-materialized-view.js +1 -1
  221. package/cockroach-core/query-builders/refresh-materialized-view.js.map +1 -1
  222. package/cockroach-core/query-builders/select.cjs +2 -2
  223. package/cockroach-core/query-builders/select.cjs.map +1 -1
  224. package/cockroach-core/query-builders/select.d.ts +3 -3
  225. package/cockroach-core/query-builders/select.js +2 -2
  226. package/cockroach-core/query-builders/select.js.map +1 -1
  227. package/cockroach-core/query-builders/select.types.d.ts +1 -1
  228. package/cockroach-core/query-builders/update.cjs +2 -2
  229. package/cockroach-core/query-builders/update.cjs.map +1 -1
  230. package/cockroach-core/query-builders/update.d.ts +1 -1
  231. package/cockroach-core/query-builders/update.js +2 -2
  232. package/cockroach-core/query-builders/update.js.map +1 -1
  233. package/cockroach-core/schema.cjs +1 -1
  234. package/cockroach-core/schema.js +1 -1
  235. package/cockroach-core/session.cjs +2 -2
  236. package/cockroach-core/session.cjs.map +1 -1
  237. package/cockroach-core/session.d.cts +1 -1
  238. package/cockroach-core/session.d.ts +1 -1
  239. package/cockroach-core/session.js +2 -2
  240. package/cockroach-core/session.js.map +1 -1
  241. package/cockroach-core/table.cjs +1 -1
  242. package/cockroach-core/table.cjs.map +1 -1
  243. package/cockroach-core/table.js +1 -1
  244. package/cockroach-core/table.js.map +1 -1
  245. package/cockroach-core/utils.cjs +3 -3
  246. package/cockroach-core/utils.js +3 -3
  247. package/cockroach-core/view.cjs +1 -1
  248. package/cockroach-core/view.js +1 -1
  249. package/codecs.cjs +77 -0
  250. package/codecs.cjs.map +1 -0
  251. package/codecs.d.cts +68 -0
  252. package/codecs.d.ts +68 -0
  253. package/codecs.js +74 -0
  254. package/codecs.js.map +1 -0
  255. package/column.cjs +10 -5
  256. package/column.cjs.map +1 -1
  257. package/column.d.cts +3 -3
  258. package/column.d.ts +3 -3
  259. package/column.js +10 -5
  260. package/column.js.map +1 -1
  261. package/d1/driver.cjs +3 -2
  262. package/d1/driver.cjs.map +1 -1
  263. package/d1/driver.d.ts +1 -1
  264. package/d1/driver.js +3 -2
  265. package/d1/driver.js.map +1 -1
  266. package/d1/session.cjs +17 -15
  267. package/d1/session.cjs.map +1 -1
  268. package/d1/session.d.cts +9 -6
  269. package/d1/session.d.ts +10 -7
  270. package/d1/session.js +18 -16
  271. package/d1/session.js.map +1 -1
  272. package/durable-sqlite/driver.cjs +5 -2
  273. package/durable-sqlite/driver.cjs.map +1 -1
  274. package/durable-sqlite/driver.d.ts +1 -1
  275. package/durable-sqlite/driver.js +5 -2
  276. package/durable-sqlite/driver.js.map +1 -1
  277. package/durable-sqlite/migrator.cjs +1 -1
  278. package/durable-sqlite/migrator.js +1 -1
  279. package/durable-sqlite/session.cjs +15 -14
  280. package/durable-sqlite/session.cjs.map +1 -1
  281. package/durable-sqlite/session.d.cts +10 -6
  282. package/durable-sqlite/session.d.ts +10 -6
  283. package/durable-sqlite/session.js +16 -15
  284. package/durable-sqlite/session.js.map +1 -1
  285. package/effect-core/index.cjs +1 -1
  286. package/effect-core/index.js +1 -1
  287. package/effect-postgres/driver.cjs +100 -14
  288. package/effect-postgres/driver.cjs.map +1 -1
  289. package/effect-postgres/driver.d.cts +12 -8
  290. package/effect-postgres/driver.d.ts +14 -10
  291. package/effect-postgres/driver.js +100 -14
  292. package/effect-postgres/driver.js.map +1 -1
  293. package/effect-postgres/index.cjs +1 -1
  294. package/effect-postgres/index.d.cts +3 -3
  295. package/effect-postgres/index.d.ts +3 -3
  296. package/effect-postgres/index.js +3 -3
  297. package/effect-postgres/migrator.cjs.map +1 -1
  298. package/effect-postgres/migrator.d.cts +1 -1
  299. package/effect-postgres/migrator.d.ts +2 -2
  300. package/effect-postgres/migrator.js.map +1 -1
  301. package/effect-postgres/session.cjs +12 -71
  302. package/effect-postgres/session.cjs.map +1 -1
  303. package/effect-postgres/session.d.cts +14 -31
  304. package/effect-postgres/session.d.ts +17 -34
  305. package/effect-postgres/session.js +13 -71
  306. package/effect-postgres/session.js.map +1 -1
  307. package/effect-schema/column.cjs +1 -1
  308. package/effect-schema/column.d.ts +8 -8
  309. package/effect-schema/column.js +1 -1
  310. package/effect-schema/column.types.d.ts +14 -14
  311. package/effect-schema/schema.types.internal.d.ts +7 -7
  312. package/expo-sqlite/driver.cjs +5 -2
  313. package/expo-sqlite/driver.cjs.map +1 -1
  314. package/expo-sqlite/driver.d.ts +1 -1
  315. package/expo-sqlite/driver.js +5 -2
  316. package/expo-sqlite/driver.js.map +1 -1
  317. package/expo-sqlite/session.cjs +15 -14
  318. package/expo-sqlite/session.cjs.map +1 -1
  319. package/expo-sqlite/session.d.cts +10 -6
  320. package/expo-sqlite/session.d.ts +10 -6
  321. package/expo-sqlite/session.js +16 -15
  322. package/expo-sqlite/session.js.map +1 -1
  323. package/gel/driver.cjs +5 -3
  324. package/gel/driver.cjs.map +1 -1
  325. package/gel/driver.d.cts +1 -0
  326. package/gel/driver.d.ts +5 -4
  327. package/gel/driver.js +5 -3
  328. package/gel/driver.js.map +1 -1
  329. package/gel/session.cjs +13 -13
  330. package/gel/session.cjs.map +1 -1
  331. package/gel/session.d.cts +8 -5
  332. package/gel/session.d.ts +12 -9
  333. package/gel/session.js +14 -14
  334. package/gel/session.js.map +1 -1
  335. package/gel-core/columns/bigintT.cjs +2 -2
  336. package/gel-core/columns/bigintT.cjs.map +1 -1
  337. package/gel-core/columns/bigintT.d.cts +1 -1
  338. package/gel-core/columns/bigintT.d.ts +1 -1
  339. package/gel-core/columns/bigintT.js +2 -2
  340. package/gel-core/columns/bigintT.js.map +1 -1
  341. package/gel-core/columns/common.cjs +3 -3
  342. package/gel-core/columns/common.cjs.map +1 -1
  343. package/gel-core/columns/common.d.cts +1 -1
  344. package/gel-core/columns/common.d.ts +1 -1
  345. package/gel-core/columns/common.js +3 -3
  346. package/gel-core/columns/common.js.map +1 -1
  347. package/gel-core/columns/custom.cjs +4 -4
  348. package/gel-core/columns/custom.cjs.map +1 -1
  349. package/gel-core/columns/custom.d.cts +2 -2
  350. package/gel-core/columns/custom.d.ts +2 -2
  351. package/gel-core/columns/custom.js +4 -4
  352. package/gel-core/columns/custom.js.map +1 -1
  353. package/gel-core/columns/double-precision.cjs +2 -2
  354. package/gel-core/columns/double-precision.cjs.map +1 -1
  355. package/gel-core/columns/double-precision.d.cts +1 -1
  356. package/gel-core/columns/double-precision.d.ts +1 -1
  357. package/gel-core/columns/double-precision.js +2 -2
  358. package/gel-core/columns/double-precision.js.map +1 -1
  359. package/gel-core/columns/timestamp.d.ts +1 -1
  360. package/gel-core/columns/timestamptz.cjs +2 -2
  361. package/gel-core/columns/timestamptz.cjs.map +1 -1
  362. package/gel-core/columns/timestamptz.d.cts +1 -1
  363. package/gel-core/columns/timestamptz.d.ts +1 -1
  364. package/gel-core/columns/timestamptz.js +2 -2
  365. package/gel-core/columns/timestamptz.js.map +1 -1
  366. package/gel-core/db.cjs +1 -1
  367. package/gel-core/db.cjs.map +1 -1
  368. package/gel-core/db.d.ts +3 -3
  369. package/gel-core/db.js +1 -1
  370. package/gel-core/db.js.map +1 -1
  371. package/gel-core/index.cjs +13 -13
  372. package/gel-core/index.js +13 -13
  373. package/gel-core/query-builders/_query.cjs +1 -1
  374. package/gel-core/query-builders/_query.cjs.map +1 -1
  375. package/gel-core/query-builders/_query.js +1 -1
  376. package/gel-core/query-builders/_query.js.map +1 -1
  377. package/gel-core/query-builders/delete.cjs +1 -1
  378. package/gel-core/query-builders/delete.cjs.map +1 -1
  379. package/gel-core/query-builders/delete.d.ts +2 -2
  380. package/gel-core/query-builders/delete.js +1 -1
  381. package/gel-core/query-builders/delete.js.map +1 -1
  382. package/gel-core/query-builders/index.cjs +1 -1
  383. package/gel-core/query-builders/index.js +1 -1
  384. package/gel-core/query-builders/insert.cjs +1 -1
  385. package/gel-core/query-builders/insert.cjs.map +1 -1
  386. package/gel-core/query-builders/insert.d.ts +2 -2
  387. package/gel-core/query-builders/insert.js +1 -1
  388. package/gel-core/query-builders/insert.js.map +1 -1
  389. package/gel-core/query-builders/query.cjs +13 -5
  390. package/gel-core/query-builders/query.cjs.map +1 -1
  391. package/gel-core/query-builders/query.d.ts +1 -1
  392. package/gel-core/query-builders/query.js +13 -5
  393. package/gel-core/query-builders/query.js.map +1 -1
  394. package/gel-core/query-builders/raw.cjs +0 -4
  395. package/gel-core/query-builders/raw.cjs.map +1 -1
  396. package/gel-core/query-builders/raw.js +0 -4
  397. package/gel-core/query-builders/raw.js.map +1 -1
  398. package/gel-core/query-builders/refresh-materialized-view.cjs +1 -1
  399. package/gel-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  400. package/gel-core/query-builders/refresh-materialized-view.d.ts +1 -1
  401. package/gel-core/query-builders/refresh-materialized-view.js +1 -1
  402. package/gel-core/query-builders/refresh-materialized-view.js.map +1 -1
  403. package/gel-core/query-builders/select.cjs +1 -1
  404. package/gel-core/query-builders/select.cjs.map +1 -1
  405. package/gel-core/query-builders/select.d.ts +3 -3
  406. package/gel-core/query-builders/select.js +1 -1
  407. package/gel-core/query-builders/select.js.map +1 -1
  408. package/gel-core/query-builders/select.types.d.ts +1 -1
  409. package/gel-core/query-builders/update.cjs +1 -1
  410. package/gel-core/query-builders/update.cjs.map +1 -1
  411. package/gel-core/query-builders/update.d.ts +2 -2
  412. package/gel-core/query-builders/update.js +1 -1
  413. package/gel-core/query-builders/update.js.map +1 -1
  414. package/gel-core/session.cjs +2 -2
  415. package/gel-core/session.cjs.map +1 -1
  416. package/gel-core/session.d.cts +3 -3
  417. package/gel-core/session.d.ts +3 -3
  418. package/gel-core/session.js +2 -2
  419. package/gel-core/session.js.map +1 -1
  420. package/gel-core/table.cjs +1 -1
  421. package/gel-core/table.cjs.map +1 -1
  422. package/gel-core/table.js +1 -1
  423. package/gel-core/table.js.map +1 -1
  424. package/gel-core/utils.cjs +4 -4
  425. package/gel-core/utils.js +4 -4
  426. package/gel-core/view.cjs +1 -1
  427. package/gel-core/view.js +1 -1
  428. package/index.cjs +12 -6
  429. package/index.d.cts +6 -6
  430. package/index.d.ts +6 -6
  431. package/index.js +9 -9
  432. package/libsql/driver-core.cjs +3 -2
  433. package/libsql/driver-core.cjs.map +1 -1
  434. package/libsql/driver-core.d.ts +1 -1
  435. package/libsql/driver-core.js +3 -2
  436. package/libsql/driver-core.js.map +1 -1
  437. package/libsql/session.cjs +14 -15
  438. package/libsql/session.cjs.map +1 -1
  439. package/libsql/session.d.cts +9 -6
  440. package/libsql/session.d.ts +10 -7
  441. package/libsql/session.js +15 -16
  442. package/libsql/session.js.map +1 -1
  443. package/mssql-core/columns/bigint.cjs +2 -2
  444. package/mssql-core/columns/bigint.cjs.map +1 -1
  445. package/mssql-core/columns/bigint.d.cts +1 -1
  446. package/mssql-core/columns/bigint.d.ts +1 -1
  447. package/mssql-core/columns/bigint.js +2 -2
  448. package/mssql-core/columns/bigint.js.map +1 -1
  449. package/mssql-core/columns/custom.cjs +4 -4
  450. package/mssql-core/columns/custom.cjs.map +1 -1
  451. package/mssql-core/columns/custom.d.cts +2 -2
  452. package/mssql-core/columns/custom.d.ts +2 -2
  453. package/mssql-core/columns/custom.js +4 -4
  454. package/mssql-core/columns/custom.js.map +1 -1
  455. package/mssql-core/columns/date.cjs +4 -4
  456. package/mssql-core/columns/date.cjs.map +1 -1
  457. package/mssql-core/columns/date.d.cts +2 -2
  458. package/mssql-core/columns/date.d.ts +2 -2
  459. package/mssql-core/columns/date.js +4 -4
  460. package/mssql-core/columns/date.js.map +1 -1
  461. package/mssql-core/columns/datetime.cjs +2 -2
  462. package/mssql-core/columns/datetime.cjs.map +1 -1
  463. package/mssql-core/columns/datetime.d.cts +1 -1
  464. package/mssql-core/columns/datetime.d.ts +1 -1
  465. package/mssql-core/columns/datetime.js +2 -2
  466. package/mssql-core/columns/datetime.js.map +1 -1
  467. package/mssql-core/columns/datetime2.cjs +2 -2
  468. package/mssql-core/columns/datetime2.cjs.map +1 -1
  469. package/mssql-core/columns/datetime2.d.cts +1 -1
  470. package/mssql-core/columns/datetime2.d.ts +1 -1
  471. package/mssql-core/columns/datetime2.js +2 -2
  472. package/mssql-core/columns/datetime2.js.map +1 -1
  473. package/mssql-core/columns/datetimeoffset.cjs +2 -2
  474. package/mssql-core/columns/datetimeoffset.cjs.map +1 -1
  475. package/mssql-core/columns/datetimeoffset.d.cts +1 -1
  476. package/mssql-core/columns/datetimeoffset.d.ts +1 -1
  477. package/mssql-core/columns/datetimeoffset.js +2 -2
  478. package/mssql-core/columns/datetimeoffset.js.map +1 -1
  479. package/mssql-core/columns/decimal.cjs +4 -4
  480. package/mssql-core/columns/decimal.cjs.map +1 -1
  481. package/mssql-core/columns/decimal.d.cts +2 -2
  482. package/mssql-core/columns/decimal.d.ts +2 -2
  483. package/mssql-core/columns/decimal.js +4 -4
  484. package/mssql-core/columns/decimal.js.map +1 -1
  485. package/mssql-core/columns/numeric.cjs +4 -4
  486. package/mssql-core/columns/numeric.cjs.map +1 -1
  487. package/mssql-core/columns/numeric.d.cts +2 -2
  488. package/mssql-core/columns/numeric.d.ts +2 -2
  489. package/mssql-core/columns/numeric.js +4 -4
  490. package/mssql-core/columns/numeric.js.map +1 -1
  491. package/mssql-core/columns/smallint.cjs +2 -2
  492. package/mssql-core/columns/smallint.cjs.map +1 -1
  493. package/mssql-core/columns/smallint.d.cts +1 -1
  494. package/mssql-core/columns/smallint.d.ts +1 -1
  495. package/mssql-core/columns/smallint.js +2 -2
  496. package/mssql-core/columns/smallint.js.map +1 -1
  497. package/mssql-core/columns/time.cjs +2 -2
  498. package/mssql-core/columns/time.cjs.map +1 -1
  499. package/mssql-core/columns/time.d.cts +1 -1
  500. package/mssql-core/columns/time.d.ts +1 -1
  501. package/mssql-core/columns/time.js +2 -2
  502. package/mssql-core/columns/time.js.map +1 -1
  503. package/mssql-core/columns/tinyint.cjs +2 -2
  504. package/mssql-core/columns/tinyint.cjs.map +1 -1
  505. package/mssql-core/columns/tinyint.d.cts +1 -1
  506. package/mssql-core/columns/tinyint.d.ts +1 -1
  507. package/mssql-core/columns/tinyint.js +2 -2
  508. package/mssql-core/columns/tinyint.js.map +1 -1
  509. package/mssql-core/columns/varchar.cjs +4 -4
  510. package/mssql-core/columns/varchar.cjs.map +1 -1
  511. package/mssql-core/columns/varchar.d.cts +2 -2
  512. package/mssql-core/columns/varchar.d.ts +2 -2
  513. package/mssql-core/columns/varchar.js +4 -4
  514. package/mssql-core/columns/varchar.js.map +1 -1
  515. package/mssql-core/dialect.cjs +2 -2
  516. package/mssql-core/dialect.d.ts +1 -1
  517. package/mssql-core/dialect.js +2 -2
  518. package/mssql-core/index.cjs +13 -13
  519. package/mssql-core/index.js +13 -13
  520. package/mssql-core/query-builders/delete.d.ts +1 -1
  521. package/mssql-core/query-builders/insert.d.ts +1 -1
  522. package/mssql-core/query-builders/select.d.ts +1 -1
  523. package/mssql-core/query-builders/update.d.ts +2 -2
  524. package/mssql-core/table.cjs +1 -1
  525. package/mssql-core/table.cjs.map +1 -1
  526. package/mssql-core/table.js +1 -1
  527. package/mssql-core/table.js.map +1 -1
  528. package/mssql-core/utils.cjs +3 -3
  529. package/mssql-core/utils.js +3 -3
  530. package/mssql-core/view.cjs +2 -2
  531. package/mssql-core/view.js +2 -2
  532. package/mysql-core/columns/bigint.cjs +8 -8
  533. package/mysql-core/columns/bigint.cjs.map +1 -1
  534. package/mysql-core/columns/bigint.d.cts +4 -4
  535. package/mysql-core/columns/bigint.d.ts +4 -4
  536. package/mysql-core/columns/bigint.js +8 -8
  537. package/mysql-core/columns/bigint.js.map +1 -1
  538. package/mysql-core/columns/binary.cjs +2 -2
  539. package/mysql-core/columns/binary.cjs.map +1 -1
  540. package/mysql-core/columns/binary.d.cts +1 -1
  541. package/mysql-core/columns/binary.d.ts +1 -1
  542. package/mysql-core/columns/binary.js +2 -2
  543. package/mysql-core/columns/binary.js.map +1 -1
  544. package/mysql-core/columns/blob.cjs +4 -4
  545. package/mysql-core/columns/blob.cjs.map +1 -1
  546. package/mysql-core/columns/blob.d.cts +2 -2
  547. package/mysql-core/columns/blob.d.ts +2 -2
  548. package/mysql-core/columns/blob.js +4 -4
  549. package/mysql-core/columns/blob.js.map +1 -1
  550. package/mysql-core/columns/boolean.cjs +2 -2
  551. package/mysql-core/columns/boolean.cjs.map +1 -1
  552. package/mysql-core/columns/boolean.d.cts +1 -1
  553. package/mysql-core/columns/boolean.d.ts +1 -1
  554. package/mysql-core/columns/boolean.js +2 -2
  555. package/mysql-core/columns/boolean.js.map +1 -1
  556. package/mysql-core/columns/custom.cjs +4 -4
  557. package/mysql-core/columns/custom.cjs.map +1 -1
  558. package/mysql-core/columns/custom.d.cts +2 -2
  559. package/mysql-core/columns/custom.d.ts +2 -2
  560. package/mysql-core/columns/custom.js +4 -4
  561. package/mysql-core/columns/custom.js.map +1 -1
  562. package/mysql-core/columns/date.cjs +4 -4
  563. package/mysql-core/columns/date.cjs.map +1 -1
  564. package/mysql-core/columns/date.d.cts +2 -2
  565. package/mysql-core/columns/date.d.ts +2 -2
  566. package/mysql-core/columns/date.js +4 -4
  567. package/mysql-core/columns/date.js.map +1 -1
  568. package/mysql-core/columns/datetime.cjs +8 -8
  569. package/mysql-core/columns/datetime.cjs.map +1 -1
  570. package/mysql-core/columns/datetime.d.cts +4 -4
  571. package/mysql-core/columns/datetime.d.ts +4 -4
  572. package/mysql-core/columns/datetime.js +8 -8
  573. package/mysql-core/columns/datetime.js.map +1 -1
  574. package/mysql-core/columns/decimal.cjs +4 -4
  575. package/mysql-core/columns/decimal.cjs.map +1 -1
  576. package/mysql-core/columns/decimal.d.cts +2 -2
  577. package/mysql-core/columns/decimal.d.ts +2 -2
  578. package/mysql-core/columns/decimal.js +4 -4
  579. package/mysql-core/columns/decimal.js.map +1 -1
  580. package/mysql-core/columns/float.cjs +2 -2
  581. package/mysql-core/columns/float.cjs.map +1 -1
  582. package/mysql-core/columns/float.d.cts +1 -1
  583. package/mysql-core/columns/float.d.ts +1 -1
  584. package/mysql-core/columns/float.js +2 -2
  585. package/mysql-core/columns/float.js.map +1 -1
  586. package/mysql-core/columns/int.cjs +2 -2
  587. package/mysql-core/columns/int.cjs.map +1 -1
  588. package/mysql-core/columns/int.d.cts +1 -1
  589. package/mysql-core/columns/int.d.ts +1 -1
  590. package/mysql-core/columns/int.js +2 -2
  591. package/mysql-core/columns/int.js.map +1 -1
  592. package/mysql-core/columns/json.cjs +2 -2
  593. package/mysql-core/columns/json.cjs.map +1 -1
  594. package/mysql-core/columns/json.d.cts +1 -1
  595. package/mysql-core/columns/json.d.ts +1 -1
  596. package/mysql-core/columns/json.js +2 -2
  597. package/mysql-core/columns/json.js.map +1 -1
  598. package/mysql-core/columns/mediumint.cjs +2 -2
  599. package/mysql-core/columns/mediumint.cjs.map +1 -1
  600. package/mysql-core/columns/mediumint.d.cts +1 -1
  601. package/mysql-core/columns/mediumint.d.ts +1 -1
  602. package/mysql-core/columns/mediumint.js +2 -2
  603. package/mysql-core/columns/mediumint.js.map +1 -1
  604. package/mysql-core/columns/serial.cjs +2 -2
  605. package/mysql-core/columns/serial.cjs.map +1 -1
  606. package/mysql-core/columns/serial.d.cts +1 -1
  607. package/mysql-core/columns/serial.d.ts +1 -1
  608. package/mysql-core/columns/serial.js +2 -2
  609. package/mysql-core/columns/serial.js.map +1 -1
  610. package/mysql-core/columns/smallint.cjs +2 -2
  611. package/mysql-core/columns/smallint.cjs.map +1 -1
  612. package/mysql-core/columns/smallint.d.cts +1 -1
  613. package/mysql-core/columns/smallint.d.ts +1 -1
  614. package/mysql-core/columns/smallint.js +2 -2
  615. package/mysql-core/columns/smallint.js.map +1 -1
  616. package/mysql-core/columns/time.cjs +2 -2
  617. package/mysql-core/columns/time.cjs.map +1 -1
  618. package/mysql-core/columns/time.d.cts +1 -1
  619. package/mysql-core/columns/time.d.ts +1 -1
  620. package/mysql-core/columns/time.js +2 -2
  621. package/mysql-core/columns/time.js.map +1 -1
  622. package/mysql-core/columns/timestamp.cjs +8 -8
  623. package/mysql-core/columns/timestamp.cjs.map +1 -1
  624. package/mysql-core/columns/timestamp.d.cts +4 -4
  625. package/mysql-core/columns/timestamp.d.ts +4 -4
  626. package/mysql-core/columns/timestamp.js +8 -8
  627. package/mysql-core/columns/timestamp.js.map +1 -1
  628. package/mysql-core/columns/tinyint.cjs +2 -2
  629. package/mysql-core/columns/tinyint.cjs.map +1 -1
  630. package/mysql-core/columns/tinyint.d.cts +1 -1
  631. package/mysql-core/columns/tinyint.d.ts +1 -1
  632. package/mysql-core/columns/tinyint.js +2 -2
  633. package/mysql-core/columns/tinyint.js.map +1 -1
  634. package/mysql-core/columns/varbinary.cjs +2 -2
  635. package/mysql-core/columns/varbinary.cjs.map +1 -1
  636. package/mysql-core/columns/varbinary.d.cts +1 -1
  637. package/mysql-core/columns/varbinary.d.ts +1 -1
  638. package/mysql-core/columns/varbinary.js +2 -2
  639. package/mysql-core/columns/varbinary.js.map +1 -1
  640. package/mysql-core/columns/year.cjs +2 -2
  641. package/mysql-core/columns/year.cjs.map +1 -1
  642. package/mysql-core/columns/year.d.cts +1 -1
  643. package/mysql-core/columns/year.d.ts +1 -1
  644. package/mysql-core/columns/year.js +2 -2
  645. package/mysql-core/columns/year.js.map +1 -1
  646. package/mysql-core/db.d.ts +2 -2
  647. package/mysql-core/dialect.cjs +2 -2
  648. package/mysql-core/dialect.d.ts +1 -1
  649. package/mysql-core/dialect.js +2 -2
  650. package/mysql-core/index.cjs +1 -1
  651. package/mysql-core/index.js +1 -1
  652. package/mysql-core/query-builders/query.cjs +13 -5
  653. package/mysql-core/query-builders/query.cjs.map +1 -1
  654. package/mysql-core/query-builders/query.d.ts +1 -1
  655. package/mysql-core/query-builders/query.js +13 -5
  656. package/mysql-core/query-builders/query.js.map +1 -1
  657. package/mysql-core/session.cjs +1 -2
  658. package/mysql-core/session.cjs.map +1 -1
  659. package/mysql-core/session.d.cts +3 -4
  660. package/mysql-core/session.d.ts +3 -4
  661. package/mysql-core/session.js +1 -2
  662. package/mysql-core/session.js.map +1 -1
  663. package/mysql-core/table.cjs +1 -1
  664. package/mysql-core/table.cjs.map +1 -1
  665. package/mysql-core/table.js +1 -1
  666. package/mysql-core/table.js.map +1 -1
  667. package/mysql-proxy/driver.cjs +5 -2
  668. package/mysql-proxy/driver.cjs.map +1 -1
  669. package/mysql-proxy/driver.js +5 -2
  670. package/mysql-proxy/driver.js.map +1 -1
  671. package/mysql-proxy/session.cjs +26 -19
  672. package/mysql-proxy/session.cjs.map +1 -1
  673. package/mysql-proxy/session.d.cts +11 -4
  674. package/mysql-proxy/session.d.ts +13 -6
  675. package/mysql-proxy/session.js +27 -20
  676. package/mysql-proxy/session.js.map +1 -1
  677. package/mysql2/driver.cjs +3 -2
  678. package/mysql2/driver.cjs.map +1 -1
  679. package/mysql2/driver.d.cts +1 -0
  680. package/mysql2/driver.d.ts +4 -3
  681. package/mysql2/driver.js +3 -2
  682. package/mysql2/driver.js.map +1 -1
  683. package/mysql2/session.cjs +49 -39
  684. package/mysql2/session.cjs.map +1 -1
  685. package/mysql2/session.d.cts +11 -4
  686. package/mysql2/session.d.ts +13 -6
  687. package/mysql2/session.js +50 -40
  688. package/mysql2/session.js.map +1 -1
  689. package/neon-http/driver.cjs +34 -65
  690. package/neon-http/driver.cjs.map +1 -1
  691. package/neon-http/driver.d.cts +15 -19
  692. package/neon-http/driver.d.ts +16 -20
  693. package/neon-http/driver.js +34 -64
  694. package/neon-http/driver.js.map +1 -1
  695. package/neon-http/index.cjs +2 -4
  696. package/neon-http/index.d.cts +3 -3
  697. package/neon-http/index.d.ts +3 -3
  698. package/neon-http/index.js +3 -3
  699. package/neon-http/migrator.cjs +1 -1
  700. package/neon-http/migrator.cjs.map +1 -1
  701. package/neon-http/migrator.d.cts +1 -1
  702. package/neon-http/migrator.d.ts +1 -1
  703. package/neon-http/migrator.js +1 -1
  704. package/neon-http/migrator.js.map +1 -1
  705. package/neon-http/session.cjs +28 -117
  706. package/neon-http/session.cjs.map +1 -1
  707. package/neon-http/session.d.cts +10 -38
  708. package/neon-http/session.d.ts +12 -40
  709. package/neon-http/session.js +30 -117
  710. package/neon-http/session.js.map +1 -1
  711. package/neon-serverless/driver.cjs +14 -32
  712. package/neon-serverless/driver.cjs.map +1 -1
  713. package/neon-serverless/driver.d.cts +12 -17
  714. package/neon-serverless/driver.d.ts +13 -18
  715. package/neon-serverless/driver.js +14 -31
  716. package/neon-serverless/driver.js.map +1 -1
  717. package/neon-serverless/index.cjs +2 -3
  718. package/neon-serverless/index.d.cts +3 -3
  719. package/neon-serverless/index.d.ts +3 -3
  720. package/neon-serverless/index.js +3 -3
  721. package/neon-serverless/migrator.cjs.map +1 -1
  722. package/neon-serverless/migrator.d.cts +1 -1
  723. package/neon-serverless/migrator.d.ts +1 -1
  724. package/neon-serverless/migrator.js.map +1 -1
  725. package/neon-serverless/session.cjs +32 -108
  726. package/neon-serverless/session.cjs.map +1 -1
  727. package/neon-serverless/session.d.cts +9 -32
  728. package/neon-serverless/session.d.ts +10 -33
  729. package/neon-serverless/session.js +34 -109
  730. package/neon-serverless/session.js.map +1 -1
  731. package/netlify-db/driver.cjs +36 -43
  732. package/netlify-db/driver.cjs.map +1 -1
  733. package/netlify-db/driver.d.cts +29 -29
  734. package/netlify-db/driver.d.ts +31 -31
  735. package/netlify-db/driver.js +35 -42
  736. package/netlify-db/driver.js.map +1 -1
  737. package/netlify-db/index.cjs +3 -2
  738. package/netlify-db/index.d.cts +3 -3
  739. package/netlify-db/index.d.ts +3 -3
  740. package/netlify-db/index.js +2 -2
  741. package/netlify-db/migrator.cjs.map +1 -1
  742. package/netlify-db/migrator.d.cts +1 -1
  743. package/netlify-db/migrator.d.ts +1 -1
  744. package/netlify-db/migrator.js.map +1 -1
  745. package/netlify-db/session.cjs +61 -39
  746. package/netlify-db/session.cjs.map +1 -1
  747. package/netlify-db/session.d.cts +22 -23
  748. package/netlify-db/session.d.ts +24 -25
  749. package/netlify-db/session.js +63 -41
  750. package/netlify-db/session.js.map +1 -1
  751. package/node-mssql/driver.cjs +9 -3
  752. package/node-mssql/driver.cjs.map +1 -1
  753. package/node-mssql/driver.d.cts +1 -0
  754. package/node-mssql/driver.d.ts +3 -2
  755. package/node-mssql/driver.js +9 -3
  756. package/node-mssql/driver.js.map +1 -1
  757. package/node-mssql/session.cjs +6 -4
  758. package/node-mssql/session.cjs.map +1 -1
  759. package/node-mssql/session.d.cts +4 -1
  760. package/node-mssql/session.d.ts +6 -3
  761. package/node-mssql/session.js +7 -5
  762. package/node-mssql/session.js.map +1 -1
  763. package/node-postgres/driver.cjs +15 -18
  764. package/node-postgres/driver.cjs.map +1 -1
  765. package/node-postgres/driver.d.cts +11 -6
  766. package/node-postgres/driver.d.ts +12 -7
  767. package/node-postgres/driver.js +15 -18
  768. package/node-postgres/driver.js.map +1 -1
  769. package/node-postgres/index.cjs +2 -2
  770. package/node-postgres/index.d.cts +3 -3
  771. package/node-postgres/index.d.ts +3 -3
  772. package/node-postgres/index.js +3 -3
  773. package/node-postgres/migrator.cjs.map +1 -1
  774. package/node-postgres/migrator.d.cts +1 -1
  775. package/node-postgres/migrator.d.ts +1 -1
  776. package/node-postgres/migrator.js.map +1 -1
  777. package/node-postgres/session.cjs +33 -126
  778. package/node-postgres/session.cjs.map +1 -1
  779. package/node-postgres/session.d.cts +10 -30
  780. package/node-postgres/session.d.ts +11 -31
  781. package/node-postgres/session.js +35 -127
  782. package/node-postgres/session.js.map +1 -1
  783. package/node-sqlite/driver.cjs +1 -1
  784. package/node-sqlite/driver.d.ts +1 -1
  785. package/node-sqlite/driver.js +1 -1
  786. package/node-sqlite/session.cjs +4 -9
  787. package/node-sqlite/session.cjs.map +1 -1
  788. package/node-sqlite/session.d.cts +3 -4
  789. package/node-sqlite/session.d.ts +4 -5
  790. package/node-sqlite/session.js +4 -9
  791. package/node-sqlite/session.js.map +1 -1
  792. package/op-sqlite/driver.cjs +3 -2
  793. package/op-sqlite/driver.cjs.map +1 -1
  794. package/op-sqlite/driver.d.ts +1 -1
  795. package/op-sqlite/driver.js +3 -2
  796. package/op-sqlite/driver.js.map +1 -1
  797. package/op-sqlite/session.cjs +18 -16
  798. package/op-sqlite/session.cjs.map +1 -1
  799. package/op-sqlite/session.d.cts +10 -6
  800. package/op-sqlite/session.d.ts +11 -7
  801. package/op-sqlite/session.js +19 -17
  802. package/op-sqlite/session.js.map +1 -1
  803. package/operations.d.cts +3 -0
  804. package/operations.d.ts +3 -0
  805. package/package.json +4727 -4715
  806. package/pg-core/{utils/array.cjs → array.cjs} +1 -1
  807. package/pg-core/array.cjs.map +1 -0
  808. package/pg-core/{utils/array.d.cts → array.d.cts} +1 -1
  809. package/pg-core/{utils/array.d.ts → array.d.ts} +1 -1
  810. package/pg-core/{utils/array.js → array.js} +1 -1
  811. package/pg-core/array.js.map +1 -0
  812. package/pg-core/async/count.cjs +2 -9
  813. package/pg-core/async/count.cjs.map +1 -1
  814. package/pg-core/async/count.js +2 -9
  815. package/pg-core/async/count.js.map +1 -1
  816. package/pg-core/async/db.cjs +10 -27
  817. package/pg-core/async/db.cjs.map +1 -1
  818. package/pg-core/async/db.d.cts +5 -13
  819. package/pg-core/async/db.d.ts +8 -16
  820. package/pg-core/async/db.js +10 -27
  821. package/pg-core/async/db.js.map +1 -1
  822. package/pg-core/async/delete.cjs +8 -13
  823. package/pg-core/async/delete.cjs.map +1 -1
  824. package/pg-core/async/delete.js +8 -13
  825. package/pg-core/async/delete.js.map +1 -1
  826. package/pg-core/async/insert.cjs +7 -12
  827. package/pg-core/async/insert.cjs.map +1 -1
  828. package/pg-core/async/insert.js +7 -12
  829. package/pg-core/async/insert.js.map +1 -1
  830. package/pg-core/async/query.cjs +8 -14
  831. package/pg-core/async/query.cjs.map +1 -1
  832. package/pg-core/async/query.js +8 -14
  833. package/pg-core/async/query.js.map +1 -1
  834. package/pg-core/async/refresh-materialized-view.cjs +1 -9
  835. package/pg-core/async/refresh-materialized-view.cjs.map +1 -1
  836. package/pg-core/async/refresh-materialized-view.js +1 -9
  837. package/pg-core/async/refresh-materialized-view.js.map +1 -1
  838. package/pg-core/async/select.cjs +4 -13
  839. package/pg-core/async/select.cjs.map +1 -1
  840. package/pg-core/async/select.js +4 -13
  841. package/pg-core/async/select.js.map +1 -1
  842. package/pg-core/async/session.cjs +46 -22
  843. package/pg-core/async/session.cjs.map +1 -1
  844. package/pg-core/async/session.d.cts +25 -31
  845. package/pg-core/async/session.d.ts +26 -32
  846. package/pg-core/async/session.js +47 -23
  847. package/pg-core/async/session.js.map +1 -1
  848. package/pg-core/async/update.cjs +11 -15
  849. package/pg-core/async/update.cjs.map +1 -1
  850. package/pg-core/async/update.js +11 -15
  851. package/pg-core/async/update.js.map +1 -1
  852. package/pg-core/codecs.cjs +156 -0
  853. package/pg-core/codecs.cjs.map +1 -0
  854. package/pg-core/codecs.d.cts +27 -0
  855. package/pg-core/codecs.d.ts +27 -0
  856. package/pg-core/codecs.js +148 -0
  857. package/pg-core/codecs.js.map +1 -0
  858. package/pg-core/columns/bigint.cjs +10 -9
  859. package/pg-core/columns/bigint.cjs.map +1 -1
  860. package/pg-core/columns/bigint.d.cts +2 -3
  861. package/pg-core/columns/bigint.d.ts +2 -3
  862. package/pg-core/columns/bigint.js +10 -9
  863. package/pg-core/columns/bigint.js.map +1 -1
  864. package/pg-core/columns/bigserial.cjs +6 -6
  865. package/pg-core/columns/bigserial.cjs.map +1 -1
  866. package/pg-core/columns/bigserial.d.cts +1 -2
  867. package/pg-core/columns/bigserial.d.ts +1 -2
  868. package/pg-core/columns/bigserial.js +6 -6
  869. package/pg-core/columns/bigserial.js.map +1 -1
  870. package/pg-core/columns/boolean.cjs +2 -0
  871. package/pg-core/columns/boolean.cjs.map +1 -1
  872. package/pg-core/columns/boolean.js +2 -0
  873. package/pg-core/columns/boolean.js.map +1 -1
  874. package/pg-core/columns/bytea.cjs +2 -8
  875. package/pg-core/columns/bytea.cjs.map +1 -1
  876. package/pg-core/columns/bytea.d.cts +0 -1
  877. package/pg-core/columns/bytea.d.ts +0 -1
  878. package/pg-core/columns/bytea.js +2 -8
  879. package/pg-core/columns/bytea.js.map +1 -1
  880. package/pg-core/columns/char.cjs +2 -0
  881. package/pg-core/columns/char.cjs.map +1 -1
  882. package/pg-core/columns/char.js +2 -0
  883. package/pg-core/columns/char.js.map +1 -1
  884. package/pg-core/columns/cidr.cjs +2 -0
  885. package/pg-core/columns/cidr.cjs.map +1 -1
  886. package/pg-core/columns/cidr.js +2 -0
  887. package/pg-core/columns/cidr.js.map +1 -1
  888. package/pg-core/columns/common.cjs +11 -9
  889. package/pg-core/columns/common.cjs.map +1 -1
  890. package/pg-core/columns/common.d.cts +34 -39
  891. package/pg-core/columns/common.d.ts +34 -39
  892. package/pg-core/columns/common.js +11 -9
  893. package/pg-core/columns/common.js.map +1 -1
  894. package/pg-core/columns/custom.cjs +16 -46
  895. package/pg-core/columns/custom.cjs.map +1 -1
  896. package/pg-core/columns/custom.d.cts +17 -8
  897. package/pg-core/columns/custom.d.ts +17 -8
  898. package/pg-core/columns/custom.js +16 -46
  899. package/pg-core/columns/custom.js.map +1 -1
  900. package/pg-core/columns/date.cjs +11 -12
  901. package/pg-core/columns/date.cjs.map +1 -1
  902. package/pg-core/columns/date.d.cts +3 -4
  903. package/pg-core/columns/date.d.ts +3 -4
  904. package/pg-core/columns/date.js +11 -12
  905. package/pg-core/columns/date.js.map +1 -1
  906. package/pg-core/columns/double-precision.cjs +2 -4
  907. package/pg-core/columns/double-precision.cjs.map +1 -1
  908. package/pg-core/columns/double-precision.d.cts +0 -1
  909. package/pg-core/columns/double-precision.d.ts +0 -1
  910. package/pg-core/columns/double-precision.js +2 -4
  911. package/pg-core/columns/double-precision.js.map +1 -1
  912. package/pg-core/columns/enum.cjs +4 -0
  913. package/pg-core/columns/enum.cjs.map +1 -1
  914. package/pg-core/columns/enum.js +4 -0
  915. package/pg-core/columns/enum.js.map +1 -1
  916. package/pg-core/columns/index.d.cts +2 -2
  917. package/pg-core/columns/index.d.ts +2 -2
  918. package/pg-core/columns/inet.cjs +2 -0
  919. package/pg-core/columns/inet.cjs.map +1 -1
  920. package/pg-core/columns/inet.js +2 -0
  921. package/pg-core/columns/inet.js.map +1 -1
  922. package/pg-core/columns/integer.cjs +2 -4
  923. package/pg-core/columns/integer.cjs.map +1 -1
  924. package/pg-core/columns/integer.d.cts +0 -1
  925. package/pg-core/columns/integer.d.ts +0 -1
  926. package/pg-core/columns/integer.js +2 -4
  927. package/pg-core/columns/integer.js.map +1 -1
  928. package/pg-core/columns/interval.cjs +2 -0
  929. package/pg-core/columns/interval.cjs.map +1 -1
  930. package/pg-core/columns/interval.js +2 -0
  931. package/pg-core/columns/interval.js.map +1 -1
  932. package/pg-core/columns/json.cjs +2 -11
  933. package/pg-core/columns/json.cjs.map +1 -1
  934. package/pg-core/columns/json.d.cts +0 -2
  935. package/pg-core/columns/json.d.ts +0 -2
  936. package/pg-core/columns/json.js +2 -11
  937. package/pg-core/columns/json.js.map +1 -1
  938. package/pg-core/columns/jsonb.cjs +2 -11
  939. package/pg-core/columns/jsonb.cjs.map +1 -1
  940. package/pg-core/columns/jsonb.d.cts +0 -2
  941. package/pg-core/columns/jsonb.d.ts +0 -2
  942. package/pg-core/columns/jsonb.js +2 -11
  943. package/pg-core/columns/jsonb.js.map +1 -1
  944. package/pg-core/columns/line.cjs +12 -8
  945. package/pg-core/columns/line.cjs.map +1 -1
  946. package/pg-core/columns/line.d.cts +5 -5
  947. package/pg-core/columns/line.d.ts +5 -5
  948. package/pg-core/columns/line.js +12 -8
  949. package/pg-core/columns/line.js.map +1 -1
  950. package/pg-core/columns/macaddr.cjs +2 -0
  951. package/pg-core/columns/macaddr.cjs.map +1 -1
  952. package/pg-core/columns/macaddr.js +2 -0
  953. package/pg-core/columns/macaddr.js.map +1 -1
  954. package/pg-core/columns/macaddr8.cjs +2 -0
  955. package/pg-core/columns/macaddr8.cjs.map +1 -1
  956. package/pg-core/columns/macaddr8.js +2 -0
  957. package/pg-core/columns/macaddr8.js.map +1 -1
  958. package/pg-core/columns/numeric.cjs +12 -15
  959. package/pg-core/columns/numeric.cjs.map +1 -1
  960. package/pg-core/columns/numeric.d.cts +4 -5
  961. package/pg-core/columns/numeric.d.ts +4 -5
  962. package/pg-core/columns/numeric.js +12 -15
  963. package/pg-core/columns/numeric.js.map +1 -1
  964. package/pg-core/columns/point.cjs +19 -21
  965. package/pg-core/columns/point.cjs.map +1 -1
  966. package/pg-core/columns/point.d.cts +5 -11
  967. package/pg-core/columns/point.d.ts +5 -11
  968. package/pg-core/columns/point.js +19 -21
  969. package/pg-core/columns/point.js.map +1 -1
  970. package/pg-core/columns/postgis_extension/geometry.cjs +12 -9
  971. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  972. package/pg-core/columns/postgis_extension/geometry.d.cts +5 -5
  973. package/pg-core/columns/postgis_extension/geometry.d.ts +5 -5
  974. package/pg-core/columns/postgis_extension/geometry.js +12 -9
  975. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  976. package/pg-core/columns/real.cjs +2 -4
  977. package/pg-core/columns/real.cjs.map +1 -1
  978. package/pg-core/columns/real.d.cts +0 -1
  979. package/pg-core/columns/real.d.ts +0 -1
  980. package/pg-core/columns/real.js +2 -4
  981. package/pg-core/columns/real.js.map +1 -1
  982. package/pg-core/columns/serial.cjs +2 -0
  983. package/pg-core/columns/serial.cjs.map +1 -1
  984. package/pg-core/columns/serial.js +2 -0
  985. package/pg-core/columns/serial.js.map +1 -1
  986. package/pg-core/columns/smallint.cjs +2 -4
  987. package/pg-core/columns/smallint.cjs.map +1 -1
  988. package/pg-core/columns/smallint.d.cts +0 -1
  989. package/pg-core/columns/smallint.d.ts +0 -1
  990. package/pg-core/columns/smallint.js +2 -4
  991. package/pg-core/columns/smallint.js.map +1 -1
  992. package/pg-core/columns/smallserial.cjs +2 -0
  993. package/pg-core/columns/smallserial.cjs.map +1 -1
  994. package/pg-core/columns/smallserial.js +2 -0
  995. package/pg-core/columns/smallserial.js.map +1 -1
  996. package/pg-core/columns/text.cjs +2 -0
  997. package/pg-core/columns/text.cjs.map +1 -1
  998. package/pg-core/columns/text.js +2 -0
  999. package/pg-core/columns/text.js.map +1 -1
  1000. package/pg-core/columns/time.cjs +2 -0
  1001. package/pg-core/columns/time.cjs.map +1 -1
  1002. package/pg-core/columns/time.js +2 -0
  1003. package/pg-core/columns/time.js.map +1 -1
  1004. package/pg-core/columns/timestamp.cjs +13 -14
  1005. package/pg-core/columns/timestamp.cjs.map +1 -1
  1006. package/pg-core/columns/timestamp.d.cts +3 -4
  1007. package/pg-core/columns/timestamp.d.ts +3 -4
  1008. package/pg-core/columns/timestamp.js +13 -14
  1009. package/pg-core/columns/timestamp.js.map +1 -1
  1010. package/pg-core/columns/uuid.cjs +2 -0
  1011. package/pg-core/columns/uuid.cjs.map +1 -1
  1012. package/pg-core/columns/uuid.js +2 -0
  1013. package/pg-core/columns/uuid.js.map +1 -1
  1014. package/pg-core/columns/varchar.cjs +2 -0
  1015. package/pg-core/columns/varchar.cjs.map +1 -1
  1016. package/pg-core/columns/varchar.js +2 -0
  1017. package/pg-core/columns/varchar.js.map +1 -1
  1018. package/pg-core/columns/vector_extension/bit.cjs +2 -0
  1019. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  1020. package/pg-core/columns/vector_extension/bit.js +2 -0
  1021. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  1022. package/pg-core/columns/vector_extension/halfvec.cjs +6 -4
  1023. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  1024. package/pg-core/columns/vector_extension/halfvec.d.cts +2 -2
  1025. package/pg-core/columns/vector_extension/halfvec.d.ts +2 -2
  1026. package/pg-core/columns/vector_extension/halfvec.js +6 -4
  1027. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  1028. package/pg-core/columns/vector_extension/sparsevec.cjs +2 -0
  1029. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  1030. package/pg-core/columns/vector_extension/sparsevec.js +2 -0
  1031. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  1032. package/pg-core/columns/vector_extension/vector.cjs +6 -4
  1033. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  1034. package/pg-core/columns/vector_extension/vector.d.cts +2 -2
  1035. package/pg-core/columns/vector_extension/vector.d.ts +2 -2
  1036. package/pg-core/columns/vector_extension/vector.js +6 -4
  1037. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  1038. package/pg-core/dialect.cjs +52 -217
  1039. package/pg-core/dialect.cjs.map +1 -1
  1040. package/pg-core/dialect.d.cts +19 -30
  1041. package/pg-core/dialect.d.ts +20 -31
  1042. package/pg-core/dialect.js +57 -221
  1043. package/pg-core/dialect.js.map +1 -1
  1044. package/pg-core/effect/count.cjs +1 -1
  1045. package/pg-core/effect/count.cjs.map +1 -1
  1046. package/pg-core/effect/count.d.cts +2 -2
  1047. package/pg-core/effect/count.d.ts +2 -2
  1048. package/pg-core/effect/count.js +1 -1
  1049. package/pg-core/effect/count.js.map +1 -1
  1050. package/pg-core/effect/db.cjs +14 -20
  1051. package/pg-core/effect/db.cjs.map +1 -1
  1052. package/pg-core/effect/db.d.cts +7 -11
  1053. package/pg-core/effect/db.d.ts +9 -13
  1054. package/pg-core/effect/db.js +14 -20
  1055. package/pg-core/effect/db.js.map +1 -1
  1056. package/pg-core/effect/delete.cjs +8 -6
  1057. package/pg-core/effect/delete.cjs.map +1 -1
  1058. package/pg-core/effect/delete.d.cts +1 -1
  1059. package/pg-core/effect/delete.d.ts +1 -1
  1060. package/pg-core/effect/delete.js +8 -6
  1061. package/pg-core/effect/delete.js.map +1 -1
  1062. package/pg-core/effect/index.cjs +3 -3
  1063. package/pg-core/effect/index.js +3 -3
  1064. package/pg-core/effect/insert.cjs +7 -5
  1065. package/pg-core/effect/insert.cjs.map +1 -1
  1066. package/pg-core/effect/insert.d.cts +1 -1
  1067. package/pg-core/effect/insert.d.ts +1 -1
  1068. package/pg-core/effect/insert.js +7 -5
  1069. package/pg-core/effect/insert.js.map +1 -1
  1070. package/pg-core/effect/query.cjs +7 -6
  1071. package/pg-core/effect/query.cjs.map +1 -1
  1072. package/pg-core/effect/query.d.cts +1 -1
  1073. package/pg-core/effect/query.d.ts +1 -1
  1074. package/pg-core/effect/query.js +7 -6
  1075. package/pg-core/effect/query.js.map +1 -1
  1076. package/pg-core/effect/refresh-materialized-view.cjs +1 -2
  1077. package/pg-core/effect/refresh-materialized-view.cjs.map +1 -1
  1078. package/pg-core/effect/refresh-materialized-view.d.cts +1 -1
  1079. package/pg-core/effect/refresh-materialized-view.d.ts +1 -1
  1080. package/pg-core/effect/refresh-materialized-view.js +1 -2
  1081. package/pg-core/effect/refresh-materialized-view.js.map +1 -1
  1082. package/pg-core/effect/select.cjs +3 -5
  1083. package/pg-core/effect/select.cjs.map +1 -1
  1084. package/pg-core/effect/select.d.cts +1 -1
  1085. package/pg-core/effect/select.d.ts +1 -1
  1086. package/pg-core/effect/select.js +3 -5
  1087. package/pg-core/effect/select.js.map +1 -1
  1088. package/pg-core/effect/session.cjs +30 -19
  1089. package/pg-core/effect/session.cjs.map +1 -1
  1090. package/pg-core/effect/session.d.cts +24 -28
  1091. package/pg-core/effect/session.d.ts +25 -29
  1092. package/pg-core/effect/session.js +31 -20
  1093. package/pg-core/effect/session.js.map +1 -1
  1094. package/pg-core/effect/update.cjs +8 -8
  1095. package/pg-core/effect/update.cjs.map +1 -1
  1096. package/pg-core/effect/update.d.cts +1 -1
  1097. package/pg-core/effect/update.d.ts +1 -1
  1098. package/pg-core/effect/update.js +8 -8
  1099. package/pg-core/effect/update.js.map +1 -1
  1100. package/pg-core/index.cjs +16 -16
  1101. package/pg-core/index.d.cts +4 -4
  1102. package/pg-core/index.d.ts +4 -4
  1103. package/pg-core/index.js +13 -13
  1104. package/pg-core/query-builders/delete.cjs +1 -1
  1105. package/pg-core/query-builders/delete.cjs.map +1 -1
  1106. package/pg-core/query-builders/delete.js +1 -1
  1107. package/pg-core/query-builders/delete.js.map +1 -1
  1108. package/pg-core/query-builders/index.cjs +1 -1
  1109. package/pg-core/query-builders/index.js +1 -1
  1110. package/pg-core/query-builders/insert.cjs +1 -1
  1111. package/pg-core/query-builders/insert.cjs.map +1 -1
  1112. package/pg-core/query-builders/insert.js +1 -1
  1113. package/pg-core/query-builders/insert.js.map +1 -1
  1114. package/pg-core/query-builders/query.cjs +0 -1
  1115. package/pg-core/query-builders/query.cjs.map +1 -1
  1116. package/pg-core/query-builders/query.d.cts +2 -1
  1117. package/pg-core/query-builders/query.d.ts +2 -1
  1118. package/pg-core/query-builders/query.js +0 -1
  1119. package/pg-core/query-builders/query.js.map +1 -1
  1120. package/pg-core/query-builders/raw.cjs +0 -4
  1121. package/pg-core/query-builders/raw.cjs.map +1 -1
  1122. package/pg-core/query-builders/raw.js +0 -4
  1123. package/pg-core/query-builders/raw.js.map +1 -1
  1124. package/pg-core/query-builders/update.cjs +1 -1
  1125. package/pg-core/query-builders/update.cjs.map +1 -1
  1126. package/pg-core/query-builders/update.js +1 -1
  1127. package/pg-core/query-builders/update.js.map +1 -1
  1128. package/pg-core/schema.cjs +1 -1
  1129. package/pg-core/schema.js +1 -1
  1130. package/pg-core/session.cjs +3 -5
  1131. package/pg-core/session.cjs.map +1 -1
  1132. package/pg-core/session.d.cts +4 -7
  1133. package/pg-core/session.d.ts +4 -7
  1134. package/pg-core/session.js +3 -5
  1135. package/pg-core/session.js.map +1 -1
  1136. package/pg-core/table.cjs +1 -1
  1137. package/pg-core/table.cjs.map +1 -1
  1138. package/pg-core/table.js +1 -1
  1139. package/pg-core/table.js.map +1 -1
  1140. package/pg-core/utils.cjs +2 -2
  1141. package/pg-core/utils.cjs.map +1 -1
  1142. package/pg-core/utils.d.cts +7 -1
  1143. package/pg-core/utils.d.ts +7 -1
  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 +10 -15
  1149. package/pg-proxy/driver.cjs.map +1 -1
  1150. package/pg-proxy/driver.d.cts +6 -3
  1151. package/pg-proxy/driver.d.ts +7 -4
  1152. package/pg-proxy/driver.js +10 -14
  1153. package/pg-proxy/driver.js.map +1 -1
  1154. package/pg-proxy/index.cjs +0 -2
  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 +8 -84
  1163. package/pg-proxy/session.cjs.map +1 -1
  1164. package/pg-proxy/session.d.cts +9 -32
  1165. package/pg-proxy/session.d.ts +10 -33
  1166. package/pg-proxy/session.js +10 -84
  1167. package/pg-proxy/session.js.map +1 -1
  1168. package/pglite/driver.cjs +71 -33
  1169. package/pglite/driver.cjs.map +1 -1
  1170. package/pglite/driver.d.cts +12 -17
  1171. package/pglite/driver.d.ts +14 -19
  1172. package/pglite/driver.js +71 -32
  1173. package/pglite/driver.js.map +1 -1
  1174. package/pglite/index.cjs +2 -3
  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 +25 -86
  1183. package/pglite/session.cjs.map +1 -1
  1184. package/pglite/session.d.cts +9 -30
  1185. package/pglite/session.d.ts +11 -32
  1186. package/pglite/session.js +27 -87
  1187. package/pglite/session.js.map +1 -1
  1188. package/planetscale-serverless/driver.cjs +3 -2
  1189. package/planetscale-serverless/driver.cjs.map +1 -1
  1190. package/planetscale-serverless/driver.d.cts +1 -0
  1191. package/planetscale-serverless/driver.d.ts +1 -0
  1192. package/planetscale-serverless/driver.js +3 -2
  1193. package/planetscale-serverless/driver.js.map +1 -1
  1194. package/planetscale-serverless/session.cjs +27 -20
  1195. package/planetscale-serverless/session.cjs.map +1 -1
  1196. package/planetscale-serverless/session.d.cts +12 -6
  1197. package/planetscale-serverless/session.d.ts +14 -8
  1198. package/planetscale-serverless/session.js +28 -21
  1199. package/planetscale-serverless/session.js.map +1 -1
  1200. package/postgres-js/driver.cjs +124 -19
  1201. package/postgres-js/driver.cjs.map +1 -1
  1202. package/postgres-js/driver.d.cts +10 -6
  1203. package/postgres-js/driver.d.ts +11 -7
  1204. package/postgres-js/driver.js +124 -19
  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 +17 -112
  1215. package/postgres-js/session.cjs.map +1 -1
  1216. package/postgres-js/session.d.cts +10 -31
  1217. package/postgres-js/session.d.ts +11 -32
  1218. package/postgres-js/session.js +18 -112
  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 +2 -1
  1223. package/prisma/mysql/session.cjs.map +1 -1
  1224. package/prisma/mysql/session.d.cts +1 -0
  1225. package/prisma/mysql/session.d.ts +2 -1
  1226. package/prisma/mysql/session.js +2 -1
  1227. package/prisma/mysql/session.js.map +1 -1
  1228. package/prisma/pg/driver.cjs +9 -3
  1229. package/prisma/pg/driver.cjs.map +1 -1
  1230. package/prisma/pg/driver.d.cts +7 -3
  1231. package/prisma/pg/driver.d.ts +7 -3
  1232. package/prisma/pg/driver.js +9 -4
  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 +1 -25
  1239. package/prisma/pg/session.cjs.map +1 -1
  1240. package/prisma/pg/session.d.cts +3 -15
  1241. package/prisma/pg/session.d.ts +3 -15
  1242. package/prisma/pg/session.js +2 -25
  1243. package/prisma/pg/session.js.map +1 -1
  1244. package/prisma/sqlite/session.cjs +0 -3
  1245. package/prisma/sqlite/session.cjs.map +1 -1
  1246. package/prisma/sqlite/session.d.cts +0 -1
  1247. package/prisma/sqlite/session.d.ts +1 -2
  1248. package/prisma/sqlite/session.js +0 -3
  1249. package/prisma/sqlite/session.js.map +1 -1
  1250. package/relations.cjs +85 -24
  1251. package/relations.cjs.map +1 -1
  1252. package/relations.d.cts +41 -16
  1253. package/relations.d.ts +41 -16
  1254. package/relations.js +84 -25
  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 +4 -2
  1263. package/singlestore/driver.cjs.map +1 -1
  1264. package/singlestore/driver.d.cts +2 -1
  1265. package/singlestore/driver.d.ts +4 -3
  1266. package/singlestore/driver.js +4 -2
  1267. package/singlestore/driver.js.map +1 -1
  1268. package/singlestore/session.cjs +17 -7
  1269. package/singlestore/session.cjs.map +1 -1
  1270. package/singlestore/session.d.cts +8 -4
  1271. package/singlestore/session.d.ts +10 -6
  1272. package/singlestore/session.js +18 -8
  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 +13 -5
  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 +13 -5
  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 +5 -2
  1404. package/singlestore-proxy/driver.cjs.map +1 -1
  1405. package/singlestore-proxy/driver.js +5 -2
  1406. package/singlestore-proxy/driver.js.map +1 -1
  1407. package/singlestore-proxy/session.cjs +11 -6
  1408. package/singlestore-proxy/session.cjs.map +1 -1
  1409. package/singlestore-proxy/session.d.cts +9 -4
  1410. package/singlestore-proxy/session.d.ts +10 -5
  1411. package/singlestore-proxy/session.js +12 -7
  1412. package/singlestore-proxy/session.js.map +1 -1
  1413. package/sql/index.cjs +1 -0
  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 +32 -11
  1418. package/sql/sql.cjs.map +1 -1
  1419. package/sql/sql.d.cts +15 -5
  1420. package/sql/sql.d.ts +15 -5
  1421. package/sql/sql.js +32 -12
  1422. package/sql/sql.js.map +1 -1
  1423. package/sql-js/driver.cjs +5 -2
  1424. package/sql-js/driver.cjs.map +1 -1
  1425. package/sql-js/driver.d.ts +1 -1
  1426. package/sql-js/driver.js +5 -2
  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 +10 -6
  1431. package/sql-js/session.d.ts +10 -6
  1432. package/sql-js/session.js +15 -15
  1433. package/sql-js/session.js.map +1 -1
  1434. package/sqlite-cloud/driver.cjs +3 -2
  1435. package/sqlite-cloud/driver.cjs.map +1 -1
  1436. package/sqlite-cloud/driver.d.ts +1 -1
  1437. package/sqlite-cloud/driver.js +3 -2
  1438. package/sqlite-cloud/driver.js.map +1 -1
  1439. package/sqlite-cloud/session.cjs +21 -20
  1440. package/sqlite-cloud/session.cjs.map +1 -1
  1441. package/sqlite-cloud/session.d.cts +9 -6
  1442. package/sqlite-cloud/session.d.ts +10 -7
  1443. package/sqlite-cloud/session.js +22 -21
  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 +13 -5
  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 +13 -5
  1499. package/sqlite-core/query-builders/query.js.map +1 -1
  1500. package/sqlite-core/query-builders/raw.cjs +0 -4
  1501. package/sqlite-core/query-builders/raw.cjs.map +1 -1
  1502. package/sqlite-core/query-builders/raw.js +0 -4
  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 +3 -2
  1525. package/sqlite-proxy/driver.cjs.map +1 -1
  1526. package/sqlite-proxy/driver.d.ts +1 -1
  1527. package/sqlite-proxy/driver.js +3 -2
  1528. package/sqlite-proxy/driver.js.map +1 -1
  1529. package/sqlite-proxy/session.cjs +20 -17
  1530. package/sqlite-proxy/session.cjs.map +1 -1
  1531. package/sqlite-proxy/session.d.cts +11 -7
  1532. package/sqlite-proxy/session.d.ts +12 -8
  1533. package/sqlite-proxy/session.js +21 -18
  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 +3 -2
  1538. package/tidb-serverless/driver.cjs.map +1 -1
  1539. package/tidb-serverless/driver.d.cts +1 -0
  1540. package/tidb-serverless/driver.d.ts +1 -0
  1541. package/tidb-serverless/driver.js +3 -2
  1542. package/tidb-serverless/driver.js.map +1 -1
  1543. package/tidb-serverless/session.cjs +25 -37
  1544. package/tidb-serverless/session.cjs.map +1 -1
  1545. package/tidb-serverless/session.d.cts +10 -4
  1546. package/tidb-serverless/session.d.ts +12 -6
  1547. package/tidb-serverless/session.js +26 -38
  1548. package/tidb-serverless/session.js.map +1 -1
  1549. package/tursodatabase/driver-core.cjs +3 -2
  1550. package/tursodatabase/driver-core.cjs.map +1 -1
  1551. package/tursodatabase/driver-core.d.ts +1 -1
  1552. package/tursodatabase/driver-core.js +3 -2
  1553. package/tursodatabase/driver-core.js.map +1 -1
  1554. package/tursodatabase/session.cjs +20 -19
  1555. package/tursodatabase/session.cjs.map +1 -1
  1556. package/tursodatabase/session.d.cts +9 -6
  1557. package/tursodatabase/session.d.ts +10 -7
  1558. package/tursodatabase/session.js +21 -20
  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 +3 -8
  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 +3 -8
  1570. package/up-migrations/pg.js.map +1 -1
  1571. package/up-migrations/sqlite.d.ts +2 -2
  1572. package/utils.cjs +129 -7
  1573. package/utils.cjs.map +1 -1
  1574. package/utils.d.cts +10 -3
  1575. package/utils.d.ts +10 -3
  1576. package/utils.js +127 -8
  1577. package/utils.js.map +1 -1
  1578. package/vercel-postgres/driver.cjs +14 -32
  1579. package/vercel-postgres/driver.cjs.map +1 -1
  1580. package/vercel-postgres/driver.d.cts +12 -17
  1581. package/vercel-postgres/driver.d.ts +13 -18
  1582. package/vercel-postgres/driver.js +14 -31
  1583. package/vercel-postgres/driver.js.map +1 -1
  1584. package/vercel-postgres/index.cjs +2 -3
  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 +32 -110
  1593. package/vercel-postgres/session.cjs.map +1 -1
  1594. package/vercel-postgres/session.d.cts +9 -32
  1595. package/vercel-postgres/session.d.ts +10 -33
  1596. package/vercel-postgres/session.js +34 -111
  1597. package/vercel-postgres/session.js.map +1 -1
  1598. package/xata-http/driver.cjs +91 -31
  1599. package/xata-http/driver.cjs.map +1 -1
  1600. package/xata-http/driver.d.cts +10 -16
  1601. package/xata-http/driver.d.ts +11 -17
  1602. package/xata-http/driver.js +91 -30
  1603. package/xata-http/driver.js.map +1 -1
  1604. package/xata-http/index.cjs +2 -4
  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 +24 -110
  1615. package/xata-http/session.cjs.map +1 -1
  1616. package/xata-http/session.d.cts +7 -33
  1617. package/xata-http/session.d.ts +8 -34
  1618. package/xata-http/session.js +26 -110
  1619. package/xata-http/session.js.map +1 -1
  1620. package/pg-core/query-builders/_query.cjs +0 -101
  1621. package/pg-core/query-builders/_query.cjs.map +0 -1
  1622. package/pg-core/query-builders/_query.d.cts +0 -55
  1623. package/pg-core/query-builders/_query.d.ts +0 -55
  1624. package/pg-core/query-builders/_query.js +0 -97
  1625. package/pg-core/query-builders/_query.js.map +0 -1
  1626. package/pg-core/utils/array.cjs.map +0 -1
  1627. package/pg-core/utils/array.js.map +0 -1
  1628. package/pg-core/utils/index.cjs +0 -6
  1629. package/pg-core/utils/index.d.cts +0 -2
  1630. package/pg-core/utils/index.d.ts +0 -2
  1631. package/pg-core/utils/index.js +0 -3
@@ -1,11 +1,11 @@
1
1
  import { entityKind } from "../entity.js";
2
2
  import { sql } from "../sql/sql.js";
3
3
  import { NoopLogger } from "../logger.js";
4
- import { PgAsyncSession, PgAsyncTransaction } from "../pg-core/async/session.js";
4
+ import { PgAsyncPreparedQuery, PgAsyncSession, PgAsyncTransaction } from "../pg-core/async/session.js";
5
+ import { PgDialect } from "../pg-core/dialect.js";
5
6
  import { NoopCache } from "../cache/core/cache.js";
6
- import { neonConfig } from "@neondatabase/serverless";
7
- import { NeonHttpPreparedQuery } from "../neon-http/session.js";
8
- import { NeonPreparedQuery } from "../neon-serverless/session.js";
7
+ import { preparedStatementName } from "../query-name-generator.js";
8
+ import { neonConfig, types } from "@neondatabase/serverless";
9
9
 
10
10
  //#region src/netlify-db/session.ts
11
11
  /**
@@ -18,45 +18,54 @@ function ensureWebSocket() {
18
18
  if (neonConfig.webSocketConstructor) return;
19
19
  if (typeof WebSocket !== "undefined") neonConfig.webSocketConstructor = WebSocket;
20
20
  }
21
- const queryConfig = {
22
- arrayMode: true,
23
- fullResults: true
24
- };
25
21
  var NetlifyDbSession = class extends PgAsyncSession {
26
22
  static [entityKind] = "NetlifyDbSession";
27
23
  clientQuery;
28
24
  logger;
29
25
  cache;
30
- constructor(httpClient, pool, dialect, relations, schema, options = {}) {
26
+ constructor(httpClient, pool, dialect, relations, options) {
31
27
  super(dialect);
32
28
  this.httpClient = httpClient;
33
29
  this.pool = pool;
34
30
  this.relations = relations;
35
- this.schema = schema;
36
31
  this.options = options;
37
32
  this.clientQuery = httpClient.query ?? httpClient;
38
33
  this.logger = options.logger ?? new NoopLogger();
39
34
  this.cache = options.cache ?? new NoopCache();
40
35
  }
41
- prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
42
- return new NeonHttpPreparedQuery(this.httpClient, query, this.logger, this.cache, queryMetadata, cacheConfig, fields, isResponseInArrayMode, customResultMapper);
43
- }
44
- prepareRelationalQuery(query, fields, name, customResultMapper) {
45
- return new NeonHttpPreparedQuery(this.httpClient, query, this.logger, this.cache, void 0, void 0, fields, false, customResultMapper, true);
36
+ prepareQuery(query, mode, _name, mapper, queryMetadata, cacheConfig) {
37
+ const executor = (params) => {
38
+ if (mode === "raw") return (async () => this.httpClient(query.sql, params, {
39
+ arrayMode: false,
40
+ fullResults: true,
41
+ authToken: this.options.authToken
42
+ }))();
43
+ return this.httpClient(query.sql, params, {
44
+ arrayMode: mode === "arrays",
45
+ fullResults: true,
46
+ authToken: this.options.authToken
47
+ }).then((it) => it.rows);
48
+ };
49
+ return new PgAsyncPreparedQuery(executor, query, mapper, mode, this.logger, this.cache, queryMetadata, cacheConfig);
46
50
  }
47
51
  async batch(queries) {
48
52
  const preparedQueries = [];
49
53
  const builtQueries = [];
54
+ const q = this.httpClient;
50
55
  for (const query of queries) {
51
56
  const preparedQuery = query._prepare();
52
57
  const builtQuery = preparedQuery.getQuery();
53
58
  preparedQueries.push(preparedQuery);
54
- builtQueries.push(this.clientQuery(builtQuery.sql, builtQuery.params, {
59
+ builtQueries.push(q(builtQuery.sql, builtQuery.params, {
55
60
  fullResults: true,
56
- arrayMode: preparedQuery.isResponseInArrayMode()
61
+ arrayMode: preparedQuery.mode === "arrays"
57
62
  }));
58
63
  }
59
- return (await this.httpClient.transaction(builtQueries, queryConfig)).map((result, i) => preparedQueries[i].mapResult(result, true));
64
+ return (await this.httpClient.transaction(builtQueries, {
65
+ authToken: this.options.authToken,
66
+ fullResults: true,
67
+ arrayMode: true
68
+ })).map((result, i) => preparedQueries[i].mapper ? preparedQueries[i].mapper(result.rows) : result);
60
69
  }
61
70
  async query(query, params) {
62
71
  this.logger.logQuery(query, params);
@@ -74,8 +83,12 @@ var NetlifyDbSession = class extends PgAsyncSession {
74
83
  async transaction(transaction, config = {}) {
75
84
  ensureWebSocket();
76
85
  const poolClient = await this.pool.connect();
77
- const session = new NetlifyDbWsSession(poolClient, this.dialect, this.relations, this.schema, this.options);
78
- const tx = new NetlifyDbTransaction(this.dialect, session, this.relations, this.schema);
86
+ const dialect = new PgDialect({
87
+ casing: this.options.casing,
88
+ useJitMappers: this.options.useJitMapper,
89
+ codecs: this.options.transactionCodecs
90
+ });
91
+ const tx = new NetlifyDbTransaction(dialect, new NetlifyDbWsSession(poolClient, dialect, this.relations, this.options), this.relations, void 0, false);
79
92
  await tx.execute(sql`begin ${tx.getTransactionConfigSQL(config)}`);
80
93
  try {
81
94
  const result = await transaction(tx);
@@ -89,6 +102,21 @@ var NetlifyDbSession = class extends PgAsyncSession {
89
102
  }
90
103
  }
91
104
  };
105
+ const noop = (val) => val;
106
+ const typeConfig = { getTypeParser: ((typeId, format) => {
107
+ switch (typeId) {
108
+ case types.builtins.TIMESTAMPTZ:
109
+ case types.builtins.TIMESTAMP:
110
+ case types.builtins.DATE:
111
+ case types.builtins.INTERVAL:
112
+ case 1231:
113
+ case 1115:
114
+ case 1185:
115
+ case 1187:
116
+ case 1182: return noop;
117
+ default: return types.getTypeParser(typeId, format);
118
+ }
119
+ }) };
92
120
  /**
93
121
  * Internal WebSocket-based session used only within transactions.
94
122
  * Delegates all queries to a PoolClient over WebSocket, using
@@ -98,30 +126,24 @@ var NetlifyDbWsSession = class extends PgAsyncSession {
98
126
  static [entityKind] = "NetlifyDbWsSession";
99
127
  logger;
100
128
  cache;
101
- constructor(client, dialect, relations, schema, options = {}) {
129
+ constructor(client, dialect, relations, options = {}) {
102
130
  super(dialect);
103
131
  this.client = client;
104
132
  this.relations = relations;
105
- this.schema = schema;
106
133
  this.logger = options.logger ?? new NoopLogger();
107
134
  this.cache = options.cache ?? new NoopCache();
108
135
  }
109
- prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
110
- return new NeonPreparedQuery(this.client, query, this.logger, this.cache, queryMetadata, cacheConfig, fields, name, isResponseInArrayMode, customResultMapper);
111
- }
112
- prepareRelationalQuery(query, fields, name, customResultMapper) {
113
- return new NeonPreparedQuery(this.client, query, this.logger, this.cache, void 0, void 0, fields, name, false, customResultMapper, true);
114
- }
115
- async query(query, params) {
116
- this.logger.logQuery(query, params);
117
- return await this.client.query({
118
- rowMode: "array",
119
- text: query,
120
- values: params
121
- });
122
- }
123
- async queryObjects(query, params) {
124
- return this.client.query(query, params);
136
+ prepareQuery(query, mode, name, mapper, queryMetadata, cacheConfig) {
137
+ const queryName = typeof name === "string" ? name : name === true ? preparedStatementName(query.sql, query.params) : void 0;
138
+ const executor = async (params) => {
139
+ return this.client.query({
140
+ name: queryName,
141
+ rowMode: mode === "arrays" ? "array" : void 0,
142
+ text: query.sql,
143
+ types: typeConfig
144
+ }, params).then((r) => mode === "raw" ? r : r.rows);
145
+ };
146
+ return new PgAsyncPreparedQuery(executor, query, mapper, mode, this.logger, this.cache, queryMetadata, cacheConfig);
125
147
  }
126
148
  async transaction(_transaction, _config) {
127
149
  throw new Error("Nested transactions are handled by NetlifyDbTransaction via savepoints");
@@ -129,9 +151,9 @@ var NetlifyDbWsSession = class extends PgAsyncSession {
129
151
  };
130
152
  var NetlifyDbTransaction = class NetlifyDbTransaction extends PgAsyncTransaction {
131
153
  static [entityKind] = "NetlifyDbTransaction";
132
- async transaction(transaction) {
154
+ transaction = async (transaction) => {
133
155
  const savepointName = `sp${this.nestedIndex + 1}`;
134
- const tx = new NetlifyDbTransaction(this.dialect, this.session, this.relations, this.schema, this.nestedIndex + 1);
156
+ const tx = new NetlifyDbTransaction(this.dialect, this.session, this._.relations, this.nestedIndex + 1, false);
135
157
  await tx.execute(sql.raw(`savepoint ${savepointName}`));
136
158
  try {
137
159
  const result = await transaction(tx);
@@ -141,7 +163,7 @@ var NetlifyDbTransaction = class NetlifyDbTransaction extends PgAsyncTransaction
141
163
  await tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));
142
164
  throw e;
143
165
  }
144
- }
166
+ };
145
167
  };
146
168
 
147
169
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","names":[],"sources":["../../src/netlify-db/session.ts"],"sourcesContent":["import type {\n\tFullQueryResults,\n\tNeonQueryPromise,\n\tPool,\n\tPoolClient,\n\tQueryResult,\n\tQueryResultRow,\n} from '@neondatabase/serverless';\nimport { neonConfig } from '@neondatabase/serverless';\nimport type * as V1 from '~/_relations.ts';\nimport type { BatchItem } from '~/batch.ts';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT, NeonHttpSessionOptions } from '~/neon-http/session.ts';\nimport { NeonHttpPreparedQuery } from '~/neon-http/session.ts';\nimport { NeonPreparedQuery } from '~/neon-serverless/session.ts';\nimport { type PgAsyncPreparedQuery, PgAsyncSession, PgAsyncTransaction } from '~/pg-core/async/session.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport type { Query } from '~/sql/sql.ts';\nimport { sql } from '~/sql/sql.ts';\n\n/**\n * Ensures a WebSocket implementation is available for Neon's\n * serverless driver. The Neon driver checks for a global WebSocket\n * automatically, but this sets it on neonConfig explicitly so the\n * check only happens once.\n */\nfunction ensureWebSocket(): void {\n\tif (neonConfig.webSocketConstructor) return;\n\n\tif (typeof WebSocket !== 'undefined') {\n\t\tneonConfig.webSocketConstructor = WebSocket as any;\n\t}\n}\n\nexport type NetlifyDbClient = {\n\thttp: NeonHttpClient;\n\tpool: Pool;\n};\n\nconst queryConfig = {\n\tarrayMode: true,\n\tfullResults: true,\n} as const;\n\nexport class NetlifyDbSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends PgAsyncSession<NeonHttpQueryResultHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbSession';\n\n\tprivate clientQuery: (sql: string, params: any[], opts: Record<string, any>) => NeonQueryPromise<any, any>;\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate httpClient: NeonHttpClient,\n\t\tprivate pool: Pool,\n\t\tdialect: PgDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: NeonHttpSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\t// `httpClient.query` is for @neondatabase/serverless v1.0.0 and up, where the\n\t\t// root query function `httpClient` is only usable as a template function;\n\t\t// `httpClient` is a fallback for earlier versions\n\t\tthis.clientQuery = (httpClient as any).query ?? httpClient as any;\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PgAsyncPreparedQuery<T> {\n\t\treturn new NeonHttpPreparedQuery(\n\t\t\tthis.httpClient,\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\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t): PgAsyncPreparedQuery<T> {\n\t\treturn new NeonHttpPreparedQuery(\n\t\t\tthis.httpClient,\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\tfalse,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tqueries: T,\n\t) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: NeonQueryPromise<any, true>[] = [];\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tbuiltQueries.push(\n\t\t\t\tthis.clientQuery(builtQuery.sql, builtQuery.params, {\n\t\t\t\t\tfullResults: true,\n\t\t\t\t\tarrayMode: preparedQuery.isResponseInArrayMode(),\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tconst batchResults = await this.httpClient.transaction(builtQueries, queryConfig);\n\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true)) as any;\n\t}\n\n\tasync query(query: string, params: unknown[]): Promise<FullQueryResults<true>> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.clientQuery(query, params, { arrayMode: true, fullResults: true });\n\t\treturn result;\n\t}\n\n\tasync queryObjects(\n\t\tquery: string,\n\t\tparams: unknown[],\n\t): Promise<FullQueryResults<false>> {\n\t\treturn this.clientQuery(query, params, { arrayMode: false, fullResults: true });\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: NetlifyDbTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\tconfig: PgTransactionConfig = {},\n\t): Promise<T> {\n\t\tensureWebSocket();\n\t\tconst poolClient = await this.pool.connect();\n\t\tconst session = new NetlifyDbWsSession<TFullSchema, TRelations, TSchema>(\n\t\t\tpoolClient,\n\t\t\tthis.dialect,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.options,\n\t\t);\n\t\tconst tx = new NetlifyDbTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t);\n\t\tawait tx.execute(sql`begin ${tx.getTransactionConfigSQL(config)}`);\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tpoolClient.release();\n\t\t}\n\t}\n}\n\n/**\n * Internal WebSocket-based session used only within transactions.\n * Delegates all queries to a PoolClient over WebSocket, using\n * NeonPreparedQuery from the neon-serverless adapter.\n */\nexport class NetlifyDbWsSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends PgAsyncSession<NeonHttpQueryResultHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbWsSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: PoolClient,\n\t\tdialect: PgDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: NeonHttpSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PgAsyncPreparedQuery<T> {\n\t\treturn new NeonPreparedQuery(\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\tname,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tcustomResultMapper?: (rows: Record<string, unknown>[]) => T['execute'],\n\t): PgAsyncPreparedQuery<T> {\n\t\treturn new NeonPreparedQuery(\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\tname,\n\t\t\tfalse,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\tasync query(query: string, params: unknown[]): Promise<QueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.query({\n\t\t\trowMode: 'array',\n\t\t\ttext: query,\n\t\t\tvalues: params,\n\t\t});\n\t\treturn result;\n\t}\n\n\tasync queryObjects<T extends QueryResultRow>(\n\t\tquery: string,\n\t\tparams: unknown[],\n\t): Promise<QueryResult<T>> {\n\t\treturn this.client.query<T>(query, params);\n\t}\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: NetlifyDbTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\t_config?: PgTransactionConfig,\n\t): Promise<T> {\n\t\tthrow new Error('Nested transactions are handled by NetlifyDbTransaction via savepoints');\n\t}\n}\n\nexport class NetlifyDbTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends PgAsyncTransaction<NeonHttpQueryResultHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: NetlifyDbTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new NetlifyDbTransaction<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);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (e) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAmCA,SAAS,kBAAwB;AAChC,KAAI,WAAW,qBAAsB;AAErC,KAAI,OAAO,cAAc,YACxB,YAAW,uBAAuB;;AASpC,MAAM,cAAc;CACnB,WAAW;CACX,aAAa;CACb;AAED,IAAa,mBAAb,cAIU,eAAyE;CAClF,QAA0B,cAAsB;CAEhD,AAAQ;CACR,AAAQ;CACR,AAAQ;CAER,YACC,AAAQ,YACR,AAAQ,MACR,SACA,AAAQ,WACR,AAAQ,QACR,AAAQ,UAAkC,EAAE,EAC3C;AACD,QAAM,QAAQ;EAPN;EACA;EAEA;EACA;EACA;AAMR,OAAK,cAAe,WAAmB,SAAS;AAChD,OAAK,SAAS,QAAQ,UAAU,IAAI,YAAY;AAChD,OAAK,QAAQ,QAAQ,SAAS,IAAI,WAAW;;CAG9C,aACC,OACA,QACA,MACA,uBACA,oBACA,eAIA,aAC0B;AAC1B,SAAO,IAAI,sBACV,KAAK,YACL,OACA,KAAK,QACL,KAAK,OACL,eACA,aACA,QACA,uBACA,mBACA;;CAGF,uBACC,OACA,QACA,MACA,oBAC0B;AAC1B,SAAO,IAAI,sBACV,KAAK,YACL,OACA,KAAK,QACL,KAAK,OACL,QACA,QACA,QACA,OACA,oBACA,KACA;;CAGF,MAAM,MACL,SACC;EACD,MAAM,kBAAmC,EAAE;EAC3C,MAAM,eAA8C,EAAE;AACtD,OAAK,MAAM,SAAS,SAAS;GAC5B,MAAM,gBAAgB,MAAM,UAAU;GACtC,MAAM,aAAa,cAAc,UAAU;AAC3C,mBAAgB,KAAK,cAAc;AACnC,gBAAa,KACZ,KAAK,YAAY,WAAW,KAAK,WAAW,QAAQ;IACnD,aAAa;IACb,WAAW,cAAc,uBAAuB;IAChD,CAAC,CACF;;AAKF,UAFqB,MAAM,KAAK,WAAW,YAAY,cAAc,YAAY,EAE7D,KAAK,QAAQ,MAAM,gBAAgB,GAAI,UAAU,QAAQ,KAAK,CAAC;;CAGpF,MAAM,MAAM,OAAe,QAAoD;AAC9E,OAAK,OAAO,SAAS,OAAO,OAAO;AAEnC,SADe,MAAM,KAAK,YAAY,OAAO,QAAQ;GAAE,WAAW;GAAM,aAAa;GAAM,CAAC;;CAI7F,MAAM,aACL,OACA,QACmC;AACnC,SAAO,KAAK,YAAY,OAAO,QAAQ;GAAE,WAAW;GAAO,aAAa;GAAM,CAAC;;CAGhF,MAAe,YACd,aACA,SAA8B,EAAE,EACnB;AACb,mBAAiB;EACjB,MAAM,aAAa,MAAM,KAAK,KAAK,SAAS;EAC5C,MAAM,UAAU,IAAI,mBACnB,YACA,KAAK,SACL,KAAK,WACL,KAAK,QACL,KAAK,QACL;EACD,MAAM,KAAK,IAAI,qBACd,KAAK,SACL,SACA,KAAK,WACL,KAAK,OACL;AACD,QAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,wBAAwB,OAAO,GAAG;AAClE,MAAI;GACH,MAAM,SAAS,MAAM,YAAY,GAAG;AACpC,SAAM,GAAG,QAAQ,GAAG,SAAS;AAC7B,UAAO;WACC,OAAO;AACf,SAAM,GAAG,QAAQ,GAAG,WAAW;AAC/B,SAAM;YACG;AACT,cAAW,SAAS;;;;;;;;;AAUvB,IAAa,qBAAb,cAIU,eAAyE;CAClF,QAA0B,cAAsB;CAEhD,AAAQ;CACR,AAAQ;CAER,YACC,AAAQ,QACR,SACA,AAAQ,WACR,AAAQ,QACR,UAAkC,EAAE,EACnC;AACD,QAAM,QAAQ;EANN;EAEA;EACA;AAIR,OAAK,SAAS,QAAQ,UAAU,IAAI,YAAY;AAChD,OAAK,QAAQ,QAAQ,SAAS,IAAI,WAAW;;CAG9C,aACC,OACA,QACA,MACA,uBACA,oBACA,eAIA,aAC0B;AAC1B,SAAO,IAAI,kBACV,KAAK,QACL,OACA,KAAK,QACL,KAAK,OACL,eACA,aACA,QACA,MACA,uBACA,mBACA;;CAGF,uBACC,OACA,QACA,MACA,oBAC0B;AAC1B,SAAO,IAAI,kBACV,KAAK,QACL,OACA,KAAK,QACL,KAAK,OACL,QACA,QACA,QACA,MACA,OACA,oBACA,KACA;;CAGF,MAAM,MAAM,OAAe,QAAyC;AACnE,OAAK,OAAO,SAAS,OAAO,OAAO;AAMnC,SALe,MAAM,KAAK,OAAO,MAAM;GACtC,SAAS;GACT,MAAM;GACN,QAAQ;GACR,CAAC;;CAIH,MAAM,aACL,OACA,QAC0B;AAC1B,SAAO,KAAK,OAAO,MAAS,OAAO,OAAO;;CAG3C,MAAe,YACd,cACA,SACa;AACb,QAAM,IAAI,MAAM,yEAAyE;;;AAI3F,IAAa,uBAAb,MAAa,6BAIH,mBAA6E;CACtF,QAA0B,cAAsB;CAEhD,MAAe,YACd,aACa;EACb,MAAM,gBAAgB,KAAK,KAAK,cAAc;EAC9C,MAAM,KAAK,IAAI,qBACd,KAAK,SACL,KAAK,SACL,KAAK,WACL,KAAK,QACL,KAAK,cAAc,EACnB;AACD,QAAM,GAAG,QAAQ,IAAI,IAAI,aAAa,gBAAgB,CAAC;AACvD,MAAI;GACH,MAAM,SAAS,MAAM,YAAY,GAAG;AACpC,SAAM,GAAG,QAAQ,IAAI,IAAI,qBAAqB,gBAAgB,CAAC;AAC/D,UAAO;WACC,GAAG;AACX,SAAM,GAAG,QAAQ,IAAI,IAAI,yBAAyB,gBAAgB,CAAC;AACnE,SAAM"}
1
+ {"version":3,"file":"session.js","names":[],"sources":["../../src/netlify-db/session.ts"],"sourcesContent":["import type { CustomTypesConfig, FullQueryResults, NeonQueryPromise, Pool, PoolClient } from '@neondatabase/serverless';\nimport { neonConfig, types } from '@neondatabase/serverless';\nimport type { BatchItem } from '~/batch.ts';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT, NeonHttpSessionOptions } from '~/neon-http/session.ts';\nimport { PgAsyncPreparedQuery, PgAsyncSession, PgAsyncTransaction } from '~/pg-core/async/session.ts';\nimport type { PgCodecs } from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { Query } from '~/sql/sql.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { Casing } from '~/utils.ts';\n\n/**\n * Ensures a WebSocket implementation is available for Neon's\n * serverless driver. The Neon driver checks for a global WebSocket\n * automatically, but this sets it on neonConfig explicitly so the\n * check only happens once.\n */\nfunction ensureWebSocket(): void {\n\tif (neonConfig.webSocketConstructor) return;\n\n\tif (typeof WebSocket !== 'undefined') {\n\t\tneonConfig.webSocketConstructor = WebSocket as any;\n\t}\n}\n\nexport type NetlifyDbClient = {\n\thttp: NeonHttpClient;\n\tpool: Pool;\n};\n\nexport interface NetlifyDbSessionOptions extends NeonHttpSessionOptions {\n\tuseJitMappers?: boolean | undefined;\n\tcasing?: Casing | undefined;\n\ttransactionCodecs?: PgCodecs | undefined;\n}\n\nexport class NetlifyDbSession<TRelations extends AnyRelations>\n\textends PgAsyncSession<NeonHttpQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NetlifyDbSession';\n\n\tprivate clientQuery: (sql: string, params: any[], opts: Record<string, any>) => NeonQueryPromise<any, any>;\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\treadonly httpClient: NeonHttpClient,\n\t\treadonly pool: Pool,\n\t\tdialect: PgDialect,\n\t\tprivate relations: TRelations,\n\t\treadonly options: NetlifyDbSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\t// `httpClient.query` is for @neondatabase/serverless v1.0.0 and up, where the\n\t\t// root query function `httpClient` is only usable as a template function;\n\t\t// `httpClient` is a fallback for earlier versions\n\t\tthis.clientQuery = (httpClient as any).query ?? httpClient as any;\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\t_name: string | boolean,\n\t\tmapper: ((rows: any[]) => any) | undefined,\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): PgAsyncPreparedQuery<T> {\n\t\tconst executor = (params?: unknown[]) => {\n\t\t\tif (mode === 'raw') {\n\t\t\t\t// otherwise raw queries with .then crash due to .then not existing on raw mode queries\n\t\t\t\treturn (async () =>\n\t\t\t\t\tthis.httpClient(query.sql, params, {\n\t\t\t\t\t\tarrayMode: false,\n\t\t\t\t\t\tfullResults: true,\n\t\t\t\t\t\tauthToken: this.options.authToken,\n\t\t\t\t\t}))();\n\t\t\t}\n\n\t\t\treturn this.httpClient(query.sql, params, {\n\t\t\t\tarrayMode: mode === 'arrays',\n\t\t\t\tfullResults: true,\n\t\t\t\tauthToken: this.options.authToken,\n\t\t\t}).then((it: any) => it.rows);\n\t\t};\n\n\t\treturn new PgAsyncPreparedQuery(executor, query, mapper, mode, this.logger, this.cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(queries: T) {\n\t\tconst preparedQueries: PgAsyncPreparedQuery<any>[] = [];\n\t\tconst builtQueries: NeonQueryPromise<any, true>[] = [];\n\t\tconst q = this.httpClient;\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare() as PgAsyncPreparedQuery<any>;\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tbuiltQueries.push(\n\t\t\t\tq(builtQuery.sql, builtQuery.params, {\n\t\t\t\t\tfullResults: true,\n\t\t\t\t\tarrayMode: preparedQuery.mode === 'arrays',\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tconst batchResults = await this.httpClient.transaction(builtQueries, {\n\t\t\tauthToken: this.options.authToken,\n\t\t\tfullResults: true,\n\t\t\tarrayMode: true,\n\t\t});\n\t\treturn batchResults.map((result, i) =>\n\t\t\tpreparedQueries[i]!.mapper ? preparedQueries[i]!.mapper(result.rows) : result\n\t\t) as any;\n\t}\n\n\tasync query(query: string, params: unknown[]): Promise<FullQueryResults<true>> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.clientQuery(query, params, { arrayMode: true, fullResults: true });\n\t\treturn result;\n\t}\n\n\tasync queryObjects(\n\t\tquery: string,\n\t\tparams: unknown[],\n\t): Promise<FullQueryResults<false>> {\n\t\treturn this.clientQuery(query, params, { arrayMode: false, fullResults: true });\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: NetlifyDbTransaction<TRelations>) => Promise<T>,\n\t\tconfig: PgTransactionConfig = {},\n\t): Promise<T> {\n\t\tensureWebSocket();\n\t\tconst poolClient = await this.pool.connect();\n\t\tconst dialect = new PgDialect({\n\t\t\tcasing: this.options.casing,\n\t\t\tuseJitMappers: this.options.useJitMapper,\n\t\t\tcodecs: this.options.transactionCodecs,\n\t\t});\n\t\tconst session = new NetlifyDbWsSession<TRelations>(\n\t\t\tpoolClient,\n\t\t\tdialect,\n\t\t\tthis.relations,\n\t\t\tthis.options,\n\t\t);\n\t\tconst tx = new NetlifyDbTransaction<TRelations>(\n\t\t\tdialect,\n\t\t\tsession,\n\t\t\tthis.relations,\n\t\t\tundefined,\n\t\t\tfalse,\n\t\t);\n\t\tawait tx.execute(sql`begin ${tx.getTransactionConfigSQL(config)}`);\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tpoolClient.release();\n\t\t}\n\t}\n}\n\nconst noop = (val: any) => val;\nconst typeConfig: CustomTypesConfig = {\n\tgetTypeParser: <CustomTypesConfig['getTypeParser']> ((typeId, format) => {\n\t\tswitch (typeId as number) {\n\t\t\tcase types.builtins.TIMESTAMPTZ:\n\t\t\tcase types.builtins.TIMESTAMP:\n\t\t\tcase types.builtins.DATE:\n\t\t\tcase types.builtins.INTERVAL:\n\t\t\tcase 1231: // numeric[]\n\t\t\tcase 1115: // timestamp[]\n\t\t\tcase 1185: // timestamp with timezone[]\n\t\t\tcase 1187: // interval[]\n\t\t\tcase 1182: // date[]\n\t\t\t\treturn noop;\n\t\t\tdefault:\n\t\t\t\treturn types.getTypeParser(typeId, format as any);\n\t\t}\n\t}),\n};\n\n/**\n * Internal WebSocket-based session used only within transactions.\n * Delegates all queries to a PoolClient over WebSocket, using\n * NeonPreparedQuery from the neon-serverless adapter.\n */\nexport class NetlifyDbWsSession<TRelations extends AnyRelations>\n\textends PgAsyncSession<NeonHttpQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NetlifyDbWsSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: PoolClient,\n\t\tdialect: PgDialect,\n\t\tprivate relations: TRelations,\n\t\toptions: NeonHttpSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\tname: string | boolean,\n\t\tmapper: ((rows: any[]) => any) | undefined,\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): PgAsyncPreparedQuery<T> {\n\t\tconst queryName = typeof name === 'string'\n\t\t\t? name\n\t\t\t: name === true\n\t\t\t? preparedStatementName(query.sql, query.params)\n\t\t\t: undefined;\n\n\t\tconst executor = async (params?: unknown[]) => {\n\t\t\treturn this.client.query({\n\t\t\t\tname: queryName,\n\t\t\t\trowMode: mode === 'arrays' ? 'array' : undefined as any,\n\t\t\t\ttext: query.sql,\n\t\t\t\ttypes: typeConfig,\n\t\t\t}, params).then((r) => mode === 'raw' ? r : r.rows);\n\t\t};\n\n\t\treturn new PgAsyncPreparedQuery<T>(\n\t\t\texecutor,\n\t\t\tquery,\n\t\t\tmapper,\n\t\t\tmode,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\toverride async transaction<T>(\n\t\t_transaction: (tx: NetlifyDbTransaction<TRelations>) => Promise<T>,\n\t\t_config?: PgTransactionConfig,\n\t): Promise<T> {\n\t\tthrow new Error('Nested transactions are handled by NetlifyDbTransaction via savepoints');\n\t}\n}\n\nexport class NetlifyDbTransaction<TRelations extends AnyRelations>\n\textends PgAsyncTransaction<NeonHttpQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NetlifyDbTransaction';\n\n\toverride transaction = async <T>(\n\t\ttransaction: (tx: NetlifyDbTransaction<TRelations>) => Promise<T>,\n\t): Promise<T> => {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new NetlifyDbTransaction<TRelations>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis._.relations,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tfalse,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (e) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow e;\n\t\t}\n\t};\n}\n"],"mappings":"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"}
@@ -3,9 +3,9 @@ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
3
  const require_node_mssql_pool = require('./pool.cjs');
4
4
  const require_node_mssql_session = require('./session.cjs');
5
5
  let __entity_ts = require("../entity.cjs");
6
+ let __logger_ts = require("../logger.cjs");
6
7
  let ___relations_ts = require("../_relations.cjs");
7
8
  ___relations_ts = require_runtime.__toESM(___relations_ts);
8
- let __logger_ts = require("../logger.cjs");
9
9
  let __mssql_core_db_ts = require("../mssql-core/db.cjs");
10
10
  let __mssql_core_dialect_ts = require("../mssql-core/dialect.cjs");
11
11
 
@@ -18,7 +18,10 @@ var NodeMsSqlDriver = class {
18
18
  this.options = options;
19
19
  }
20
20
  createSession(schema) {
21
- return new require_node_mssql_session.NodeMsSqlSession(this.client, this.dialect, schema, { logger: this.options.logger });
21
+ return new require_node_mssql_session.NodeMsSqlSession(this.client, this.dialect, schema, {
22
+ logger: this.options.logger,
23
+ useJitMapper: this.options.useJitMapper
24
+ });
22
25
  }
23
26
  };
24
27
  function construct(client, config = {}) {
@@ -36,7 +39,10 @@ function construct(client, config = {}) {
36
39
  tableNamesMap: tablesConfig.tableNamesMap
37
40
  };
38
41
  }
39
- const db = new __mssql_core_db_ts.MsSqlDatabase(dialect, new NodeMsSqlDriver(client, dialect, { logger }).createSession(schema), schema);
42
+ const db = new __mssql_core_db_ts.MsSqlDatabase(dialect, new NodeMsSqlDriver(client, dialect, {
43
+ logger,
44
+ useJitMapper: config.useJitMappers
45
+ }).createSession(schema), schema);
40
46
  db.$client = client;
41
47
  return db;
42
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["entityKind","NodeMsSqlSession","MsSqlDialect","DefaultLogger","V1","MsSqlDatabase","AutoPool"],"sources":["../../src/node-mssql/driver.ts"],"sourcesContent":["import type mssql from 'mssql';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MsSqlDatabase } from '~/mssql-core/db.ts';\nimport { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport type { DrizzleConfig, Equal } from '~/utils.ts';\nimport { AutoPool } from './pool.ts';\nimport type { NodeMsSqlClient, NodeMsSqlPreparedQueryHKT, NodeMsSqlQueryResultHKT } from './session.ts';\nimport { NodeMsSqlSession } from './session.ts';\n\nexport interface MsSqlDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class NodeMsSqlDriver {\n\tstatic readonly [entityKind]: string = 'NodeMsSqlDriver';\n\n\tconstructor(\n\t\tprivate client: NodeMsSqlClient,\n\t\tprivate dialect: MsSqlDialect,\n\t\tprivate options: MsSqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NodeMsSqlSession<Record<string, unknown>, V1.TablesRelationalConfig> {\n\t\treturn new NodeMsSqlSession(this.client, this.dialect, schema, { logger: this.options.logger });\n\t}\n}\n\nexport { MsSqlDatabase } from '~/mssql-core/db.ts';\n\nexport type NodeMsSqlDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> = MsSqlDatabase<NodeMsSqlQueryResultHKT, NodeMsSqlPreparedQueryHKT, TSchema>;\n\nexport type NodeMsSqlDrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> =\n\t& Omit<DrizzleConfig<TSchema>, 'schema'>\n\t& ({ schema: TSchema } | { schema?: undefined });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = NodeMsSqlClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tconst dialect = new MsSqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\tif (isCallbackClient(client)) {\n\t\tclient = client.promise() as any;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst driver = new NodeMsSqlDriver(client as NodeMsSqlClient, dialect, { logger });\n\tconst session = driver.createSession(schema);\n\tconst db = new MsSqlDatabase(dialect, session, schema) as NodeMsSqlDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function getMsSqlConnectionParams(connectionString: string): mssql.config | string {\n\ttry {\n\t\tconst url = new URL(connectionString);\n\t\treturn {\n\t\t\tuser: url.username,\n\t\t\tpassword: url.password,\n\t\t\tserver: url.hostname,\n\t\t\tport: Number.parseInt(url.port, 10),\n\t\t\tdatabase: url.pathname.replace(/^\\//, ''),\n\t\t\toptions: {\n\t\t\t\tencrypt: url.searchParams.get('encrypt') === 'true',\n\t\t\t\ttrustServerCertificate: url.searchParams.get('trustServerCertificate') === 'true',\n\t\t\t},\n\t\t};\n\t} catch {\n\t\treturn connectionString;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = AutoPool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new AutoPool(getMsSqlConnectionParams(params[0]));\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: mssql.config | string; client?: TClient })\n\t\t& DrizzleConfig<TSchema>\n\t);\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new AutoPool(getMsSqlConnectionParams(connection))\n\t\t: new AutoPool(connection!);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\ninterface CallbackClient {\n\tpromise(): NodeMsSqlClient;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): NodeMsSqlDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAgBA,IAAa,kBAAb,MAA6B;CAC5B,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA8B,EAAE,EACvC;EAHO;EACA;EACA;;CAIT,cACC,QACuE;AACvE,SAAO,IAAIC,4CAAiB,KAAK,QAAQ,KAAK,SAAS,QAAQ,EAAE,QAAQ,KAAK,QAAQ,QAAQ,CAAC;;;AAcjG,SAAS,UAIR,QACA,SAAiC,EAAE,EAGlC;CACD,MAAM,UAAU,IAAIC,qCAAa,EAAE,QAAQ,OAAO,QAAQ,CAAC;CAC3D,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;AAEjB,KAAI,iBAAiB,OAAO,CAC3B,UAAS,OAAO,SAAS;CAG1B,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAKF,MAAM,KAAK,IAAIC,iCAAc,SAFd,IAAI,gBAAgB,QAA2B,SAAS,EAAE,QAAQ,CAAC,CAC3D,cAAc,OAAO,EACG,OAAO;AACtD,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,yBAAyB,kBAAiD;AACzF,KAAI;EACH,MAAM,MAAM,IAAI,IAAI,iBAAiB;AACrC,SAAO;GACN,MAAM,IAAI;GACV,UAAU,IAAI;GACd,QAAQ,IAAI;GACZ,MAAM,OAAO,SAAS,IAAI,MAAM,GAAG;GACnC,UAAU,IAAI,SAAS,QAAQ,OAAO,GAAG;GACzC,SAAS;IACR,SAAS,IAAI,aAAa,IAAI,UAAU,KAAK;IAC7C,wBAAwB,IAAI,aAAa,IAAI,yBAAyB,KAAK;IAC3E;GACD;SACM;AACP,SAAO;;;AAIT,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAIC,iCAAS,yBAAyB,OAAO,GAAG,CAAC,EAEvC,OAAO,GAAyC;CAG5E,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAMnD,QAAO,UAJU,OAAO,eAAe,WACpC,IAAIA,iCAAS,yBAAyB,WAAW,CAAC,GAClD,IAAIA,iCAAS,WAAY,EAED,cAAc;;AAO1C,SAAS,iBAAiB,QAAuC;AAChE,QAAO,OAAO,OAAO,YAAY;;;CAI1B,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["entityKind","NodeMsSqlSession","MsSqlDialect","DefaultLogger","V1","MsSqlDatabase","AutoPool"],"sources":["../../src/node-mssql/driver.ts"],"sourcesContent":["import type mssql from 'mssql';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MsSqlDatabase } from '~/mssql-core/db.ts';\nimport { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport type { DrizzleConfig, Equal } from '~/utils.ts';\nimport { AutoPool } from './pool.ts';\nimport type { NodeMsSqlClient, NodeMsSqlPreparedQueryHKT, NodeMsSqlQueryResultHKT } from './session.ts';\nimport { NodeMsSqlSession } from './session.ts';\n\nexport interface MsSqlDriverOptions {\n\tlogger?: Logger;\n\tuseJitMapper?: boolean;\n}\n\nexport class NodeMsSqlDriver {\n\tstatic readonly [entityKind]: string = 'NodeMsSqlDriver';\n\n\tconstructor(\n\t\tprivate client: NodeMsSqlClient,\n\t\tprivate dialect: MsSqlDialect,\n\t\tprivate options: MsSqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NodeMsSqlSession<Record<string, unknown>, V1.TablesRelationalConfig> {\n\t\treturn new NodeMsSqlSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tuseJitMapper: this.options.useJitMapper,\n\t\t});\n\t}\n}\n\nexport { MsSqlDatabase } from '~/mssql-core/db.ts';\n\nexport type NodeMsSqlDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> = MsSqlDatabase<NodeMsSqlQueryResultHKT, NodeMsSqlPreparedQueryHKT, TSchema>;\n\nexport type NodeMsSqlDrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> =\n\t& Omit<DrizzleConfig<TSchema>, 'schema'>\n\t& ({ schema: TSchema } | { schema?: undefined });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = NodeMsSqlClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tconst dialect = new MsSqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\tif (isCallbackClient(client)) {\n\t\tclient = client.promise() as any;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst driver = new NodeMsSqlDriver(client as NodeMsSqlClient, dialect, {\n\t\tlogger,\n\t\tuseJitMapper: config.useJitMappers,\n\t});\n\tconst session = driver.createSession(schema);\n\tconst db = new MsSqlDatabase(dialect, session, schema) as NodeMsSqlDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function getMsSqlConnectionParams(connectionString: string): mssql.config | string {\n\ttry {\n\t\tconst url = new URL(connectionString);\n\t\treturn {\n\t\t\tuser: url.username,\n\t\t\tpassword: url.password,\n\t\t\tserver: url.hostname,\n\t\t\tport: Number.parseInt(url.port, 10),\n\t\t\tdatabase: url.pathname.replace(/^\\//, ''),\n\t\t\toptions: {\n\t\t\t\tencrypt: url.searchParams.get('encrypt') === 'true',\n\t\t\t\ttrustServerCertificate: url.searchParams.get('trustServerCertificate') === 'true',\n\t\t\t},\n\t\t};\n\t} catch {\n\t\treturn connectionString;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = AutoPool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new AutoPool(getMsSqlConnectionParams(params[0]));\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: mssql.config | string; client?: TClient })\n\t\t& DrizzleConfig<TSchema>\n\t);\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new AutoPool(getMsSqlConnectionParams(connection))\n\t\t: new AutoPool(connection!);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\ninterface CallbackClient {\n\tpromise(): NodeMsSqlClient;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): NodeMsSqlDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAiBA,IAAa,kBAAb,MAA6B;CAC5B,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA8B,EAAE,EACvC;EAHO;EACA;EACA;;CAIT,cACC,QACuE;AACvE,SAAO,IAAIC,4CAAiB,KAAK,QAAQ,KAAK,SAAS,QAAQ;GAC9D,QAAQ,KAAK,QAAQ;GACrB,cAAc,KAAK,QAAQ;GAC3B,CAAC;;;AAcJ,SAAS,UAIR,QACA,SAAiC,EAAE,EAGlC;CACD,MAAM,UAAU,IAAIC,qCAAa,EAAE,QAAQ,OAAO,QAAQ,CAAC;CAC3D,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;AAEjB,KAAI,iBAAiB,OAAO,CAC3B,UAAS,OAAO,SAAS;CAG1B,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAQF,MAAM,KAAK,IAAIC,iCAAc,SALd,IAAI,gBAAgB,QAA2B,SAAS;EACtE;EACA,cAAc,OAAO;EACrB,CAAC,CACqB,cAAc,OAAO,EACG,OAAO;AACtD,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,yBAAyB,kBAAiD;AACzF,KAAI;EACH,MAAM,MAAM,IAAI,IAAI,iBAAiB;AACrC,SAAO;GACN,MAAM,IAAI;GACV,UAAU,IAAI;GACd,QAAQ,IAAI;GACZ,MAAM,OAAO,SAAS,IAAI,MAAM,GAAG;GACnC,UAAU,IAAI,SAAS,QAAQ,OAAO,GAAG;GACzC,SAAS;IACR,SAAS,IAAI,aAAa,IAAI,UAAU,KAAK;IAC7C,wBAAwB,IAAI,aAAa,IAAI,yBAAyB,KAAK;IAC3E;GACD;SACM;AACP,SAAO;;;AAIT,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAIC,iCAAS,yBAAyB,OAAO,GAAG,CAAC,EAEvC,OAAO,GAAyC;CAG5E,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAMnD,QAAO,UAJU,OAAO,eAAe,WACpC,IAAIA,iCAAS,yBAAyB,WAAW,CAAC,GAClD,IAAIA,iCAAS,WAAY,EAED,cAAc;;AAO1C,SAAS,iBAAiB,QAAuC;AAChE,QAAO,OAAO,OAAO,YAAY;;;CAI1B,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -11,6 +11,7 @@ import { MsSqlDatabase, MsSqlDatabase as MsSqlDatabase$1 } from "../mssql-core/d
11
11
  //#region src/node-mssql/driver.d.ts
12
12
  interface MsSqlDriverOptions {
13
13
  logger?: Logger;
14
+ useJitMapper?: boolean;
14
15
  }
15
16
  declare class NodeMsSqlDriver {
16
17
  private client;
@@ -2,15 +2,16 @@ import { AutoPool } from "./pool.js";
2
2
  import { NodeMsSqlClient, NodeMsSqlPreparedQueryHKT, NodeMsSqlQueryResultHKT, NodeMsSqlSession } from "./session.js";
3
3
  import { entityKind } from "../entity.js";
4
4
  import { DrizzleConfig, Equal } from "../utils.js";
5
- import * as V1 from "../_relations.js";
6
5
  import { Logger } from "../logger.js";
6
+ import * as V1 from "../_relations.js";
7
+ import mssql from "mssql";
7
8
  import { MsSqlDatabase, MsSqlDatabase as MsSqlDatabase$1 } from "../mssql-core/db.js";
8
9
  import { MsSqlDialect } from "../mssql-core/dialect.js";
9
- import mssql from "mssql";
10
10
 
11
11
  //#region src/node-mssql/driver.d.ts
12
12
  interface MsSqlDriverOptions {
13
13
  logger?: Logger;
14
+ useJitMapper?: boolean;
14
15
  }
15
16
  declare class NodeMsSqlDriver {
16
17
  private client;
@@ -1,8 +1,8 @@
1
1
  import { AutoPool } from "./pool.js";
2
2
  import { NodeMsSqlSession } from "./session.js";
3
3
  import { entityKind } from "../entity.js";
4
- import * as V1 from "../_relations.js";
5
4
  import { DefaultLogger } from "../logger.js";
5
+ import * as V1 from "../_relations.js";
6
6
  import { MsSqlDatabase, MsSqlDatabase as MsSqlDatabase$1 } from "../mssql-core/db.js";
7
7
  import { MsSqlDialect } from "../mssql-core/dialect.js";
8
8
 
@@ -15,7 +15,10 @@ var NodeMsSqlDriver = class {
15
15
  this.options = options;
16
16
  }
17
17
  createSession(schema) {
18
- return new NodeMsSqlSession(this.client, this.dialect, schema, { logger: this.options.logger });
18
+ return new NodeMsSqlSession(this.client, this.dialect, schema, {
19
+ logger: this.options.logger,
20
+ useJitMapper: this.options.useJitMapper
21
+ });
19
22
  }
20
23
  };
21
24
  function construct(client, config = {}) {
@@ -33,7 +36,10 @@ function construct(client, config = {}) {
33
36
  tableNamesMap: tablesConfig.tableNamesMap
34
37
  };
35
38
  }
36
- const db = new MsSqlDatabase$1(dialect, new NodeMsSqlDriver(client, dialect, { logger }).createSession(schema), schema);
39
+ const db = new MsSqlDatabase$1(dialect, new NodeMsSqlDriver(client, dialect, {
40
+ logger,
41
+ useJitMapper: config.useJitMappers
42
+ }).createSession(schema), schema);
37
43
  db.$client = client;
38
44
  return db;
39
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":["MsSqlDatabase"],"sources":["../../src/node-mssql/driver.ts"],"sourcesContent":["import type mssql from 'mssql';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MsSqlDatabase } from '~/mssql-core/db.ts';\nimport { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport type { DrizzleConfig, Equal } from '~/utils.ts';\nimport { AutoPool } from './pool.ts';\nimport type { NodeMsSqlClient, NodeMsSqlPreparedQueryHKT, NodeMsSqlQueryResultHKT } from './session.ts';\nimport { NodeMsSqlSession } from './session.ts';\n\nexport interface MsSqlDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class NodeMsSqlDriver {\n\tstatic readonly [entityKind]: string = 'NodeMsSqlDriver';\n\n\tconstructor(\n\t\tprivate client: NodeMsSqlClient,\n\t\tprivate dialect: MsSqlDialect,\n\t\tprivate options: MsSqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NodeMsSqlSession<Record<string, unknown>, V1.TablesRelationalConfig> {\n\t\treturn new NodeMsSqlSession(this.client, this.dialect, schema, { logger: this.options.logger });\n\t}\n}\n\nexport { MsSqlDatabase } from '~/mssql-core/db.ts';\n\nexport type NodeMsSqlDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> = MsSqlDatabase<NodeMsSqlQueryResultHKT, NodeMsSqlPreparedQueryHKT, TSchema>;\n\nexport type NodeMsSqlDrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> =\n\t& Omit<DrizzleConfig<TSchema>, 'schema'>\n\t& ({ schema: TSchema } | { schema?: undefined });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = NodeMsSqlClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tconst dialect = new MsSqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\tif (isCallbackClient(client)) {\n\t\tclient = client.promise() as any;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst driver = new NodeMsSqlDriver(client as NodeMsSqlClient, dialect, { logger });\n\tconst session = driver.createSession(schema);\n\tconst db = new MsSqlDatabase(dialect, session, schema) as NodeMsSqlDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function getMsSqlConnectionParams(connectionString: string): mssql.config | string {\n\ttry {\n\t\tconst url = new URL(connectionString);\n\t\treturn {\n\t\t\tuser: url.username,\n\t\t\tpassword: url.password,\n\t\t\tserver: url.hostname,\n\t\t\tport: Number.parseInt(url.port, 10),\n\t\t\tdatabase: url.pathname.replace(/^\\//, ''),\n\t\t\toptions: {\n\t\t\t\tencrypt: url.searchParams.get('encrypt') === 'true',\n\t\t\t\ttrustServerCertificate: url.searchParams.get('trustServerCertificate') === 'true',\n\t\t\t},\n\t\t};\n\t} catch {\n\t\treturn connectionString;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = AutoPool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new AutoPool(getMsSqlConnectionParams(params[0]));\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: mssql.config | string; client?: TClient })\n\t\t& DrizzleConfig<TSchema>\n\t);\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new AutoPool(getMsSqlConnectionParams(connection))\n\t\t: new AutoPool(connection!);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\ninterface CallbackClient {\n\tpromise(): NodeMsSqlClient;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): NodeMsSqlDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;AAgBA,IAAa,kBAAb,MAA6B;CAC5B,QAAiB,cAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA8B,EAAE,EACvC;EAHO;EACA;EACA;;CAIT,cACC,QACuE;AACvE,SAAO,IAAI,iBAAiB,KAAK,QAAQ,KAAK,SAAS,QAAQ,EAAE,QAAQ,KAAK,QAAQ,QAAQ,CAAC;;;AAcjG,SAAS,UAIR,QACA,SAAiC,EAAE,EAGlC;CACD,MAAM,UAAU,IAAI,aAAa,EAAE,QAAQ,OAAO,QAAQ,CAAC;CAC3D,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;AAEjB,KAAI,iBAAiB,OAAO,CAC3B,UAAS,OAAO,SAAS;CAG1B,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAe,GAAG,8BACvB,OAAO,QACP,GAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAKF,MAAM,KAAK,IAAIA,gBAAc,SAFd,IAAI,gBAAgB,QAA2B,SAAS,EAAE,QAAQ,CAAC,CAC3D,cAAc,OAAO,EACG,OAAO;AACtD,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,yBAAyB,kBAAiD;AACzF,KAAI;EACH,MAAM,MAAM,IAAI,IAAI,iBAAiB;AACrC,SAAO;GACN,MAAM,IAAI;GACV,UAAU,IAAI;GACd,QAAQ,IAAI;GACZ,MAAM,OAAO,SAAS,IAAI,MAAM,GAAG;GACnC,UAAU,IAAI,SAAS,QAAQ,OAAO,GAAG;GACzC,SAAS;IACR,SAAS,IAAI,aAAa,IAAI,UAAU,KAAK;IAC7C,wBAAwB,IAAI,aAAa,IAAI,yBAAyB,KAAK;IAC3E;GACD;SACM;AACP,SAAO;;;AAIT,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAI,SAAS,yBAAyB,OAAO,GAAG,CAAC,EAEvC,OAAO,GAAyC;CAG5E,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAMnD,QAAO,UAJU,OAAO,eAAe,WACpC,IAAI,SAAS,yBAAyB,WAAW,CAAC,GAClD,IAAI,SAAS,WAAY,EAED,cAAc;;AAO1C,SAAS,iBAAiB,QAAuC;AAChE,QAAO,OAAO,OAAO,YAAY;;;CAI1B,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":["MsSqlDatabase"],"sources":["../../src/node-mssql/driver.ts"],"sourcesContent":["import type mssql from 'mssql';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MsSqlDatabase } from '~/mssql-core/db.ts';\nimport { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport type { DrizzleConfig, Equal } from '~/utils.ts';\nimport { AutoPool } from './pool.ts';\nimport type { NodeMsSqlClient, NodeMsSqlPreparedQueryHKT, NodeMsSqlQueryResultHKT } from './session.ts';\nimport { NodeMsSqlSession } from './session.ts';\n\nexport interface MsSqlDriverOptions {\n\tlogger?: Logger;\n\tuseJitMapper?: boolean;\n}\n\nexport class NodeMsSqlDriver {\n\tstatic readonly [entityKind]: string = 'NodeMsSqlDriver';\n\n\tconstructor(\n\t\tprivate client: NodeMsSqlClient,\n\t\tprivate dialect: MsSqlDialect,\n\t\tprivate options: MsSqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NodeMsSqlSession<Record<string, unknown>, V1.TablesRelationalConfig> {\n\t\treturn new NodeMsSqlSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tuseJitMapper: this.options.useJitMapper,\n\t\t});\n\t}\n}\n\nexport { MsSqlDatabase } from '~/mssql-core/db.ts';\n\nexport type NodeMsSqlDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> = MsSqlDatabase<NodeMsSqlQueryResultHKT, NodeMsSqlPreparedQueryHKT, TSchema>;\n\nexport type NodeMsSqlDrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> =\n\t& Omit<DrizzleConfig<TSchema>, 'schema'>\n\t& ({ schema: TSchema } | { schema?: undefined });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = NodeMsSqlClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tconst dialect = new MsSqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\tif (isCallbackClient(client)) {\n\t\tclient = client.promise() as any;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst driver = new NodeMsSqlDriver(client as NodeMsSqlClient, dialect, {\n\t\tlogger,\n\t\tuseJitMapper: config.useJitMappers,\n\t});\n\tconst session = driver.createSession(schema);\n\tconst db = new MsSqlDatabase(dialect, session, schema) as NodeMsSqlDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function getMsSqlConnectionParams(connectionString: string): mssql.config | string {\n\ttry {\n\t\tconst url = new URL(connectionString);\n\t\treturn {\n\t\t\tuser: url.username,\n\t\t\tpassword: url.password,\n\t\t\tserver: url.hostname,\n\t\t\tport: Number.parseInt(url.port, 10),\n\t\t\tdatabase: url.pathname.replace(/^\\//, ''),\n\t\t\toptions: {\n\t\t\t\tencrypt: url.searchParams.get('encrypt') === 'true',\n\t\t\t\ttrustServerCertificate: url.searchParams.get('trustServerCertificate') === 'true',\n\t\t\t},\n\t\t};\n\t} catch {\n\t\treturn connectionString;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = AutoPool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new AutoPool(getMsSqlConnectionParams(params[0]));\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: mssql.config | string; client?: TClient })\n\t\t& DrizzleConfig<TSchema>\n\t);\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new AutoPool(getMsSqlConnectionParams(connection))\n\t\t: new AutoPool(connection!);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\ninterface CallbackClient {\n\tpromise(): NodeMsSqlClient;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): NodeMsSqlDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;AAiBA,IAAa,kBAAb,MAA6B;CAC5B,QAAiB,cAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA8B,EAAE,EACvC;EAHO;EACA;EACA;;CAIT,cACC,QACuE;AACvE,SAAO,IAAI,iBAAiB,KAAK,QAAQ,KAAK,SAAS,QAAQ;GAC9D,QAAQ,KAAK,QAAQ;GACrB,cAAc,KAAK,QAAQ;GAC3B,CAAC;;;AAcJ,SAAS,UAIR,QACA,SAAiC,EAAE,EAGlC;CACD,MAAM,UAAU,IAAI,aAAa,EAAE,QAAQ,OAAO,QAAQ,CAAC;CAC3D,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;AAEjB,KAAI,iBAAiB,OAAO,CAC3B,UAAS,OAAO,SAAS;CAG1B,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAe,GAAG,8BACvB,OAAO,QACP,GAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAQF,MAAM,KAAK,IAAIA,gBAAc,SALd,IAAI,gBAAgB,QAA2B,SAAS;EACtE;EACA,cAAc,OAAO;EACrB,CAAC,CACqB,cAAc,OAAO,EACG,OAAO;AACtD,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,yBAAyB,kBAAiD;AACzF,KAAI;EACH,MAAM,MAAM,IAAI,IAAI,iBAAiB;AACrC,SAAO;GACN,MAAM,IAAI;GACV,UAAU,IAAI;GACd,QAAQ,IAAI;GACZ,MAAM,OAAO,SAAS,IAAI,MAAM,GAAG;GACnC,UAAU,IAAI,SAAS,QAAQ,OAAO,GAAG;GACzC,SAAS;IACR,SAAS,IAAI,aAAa,IAAI,UAAU,KAAK;IAC7C,wBAAwB,IAAI,aAAa,IAAI,yBAAyB,KAAK;IAC3E;GACD;SACM;AACP,SAAO;;;AAIT,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAI,SAAS,yBAAyB,OAAO,GAAG,CAAC,EAEvC,OAAO,GAAyC;CAG5E,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAMnD,QAAO,UAJU,OAAO,eAAe,WACpC,IAAI,SAAS,yBAAyB,WAAW,CAAC,GAClD,IAAI,SAAS,WAAY,EAED,cAAc;;AAO1C,SAAS,iBAAiB,QAAuC;AAChE,QAAO,OAAO,OAAO,YAAY;;;CAI1B,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -13,13 +13,15 @@ let __mssql_core_session_ts = require("../mssql-core/session.cjs");
13
13
  //#region src/node-mssql/session.ts
14
14
  var NodeMsSqlPreparedQuery = class extends __mssql_core_session_ts.PreparedQuery {
15
15
  static [__entity_ts.entityKind] = "NodeMsSqlPreparedQuery";
16
+ jitMapper;
16
17
  rawQuery;
17
- constructor(client, queryString, params, logger, fields, customResultMapper) {
18
+ constructor(client, queryString, params, logger, fields, useJitMapper, customResultMapper) {
18
19
  super();
19
20
  this.client = client;
20
21
  this.params = params;
21
22
  this.logger = logger;
22
23
  this.fields = fields;
24
+ this.useJitMapper = useJitMapper;
23
25
  this.customResultMapper = customResultMapper;
24
26
  this.rawQuery = {
25
27
  sql: queryString,
@@ -38,7 +40,7 @@ var NodeMsSqlPreparedQuery = class extends __mssql_core_session_ts.PreparedQuery
38
40
  request.arrayRowMode = true;
39
41
  const rows = await request.query(rawQuery.sql);
40
42
  if (customResultMapper) return customResultMapper(rows.recordset);
41
- return rows.recordset.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
43
+ return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))(rows.recordset) : rows.recordset.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
42
44
  }
43
45
  async *iterator(placeholderValues = {}) {
44
46
  const params = (0, __sql_sql_ts.fillPlaceholders)(this.params, placeholderValues);
@@ -71,7 +73,7 @@ var NodeMsSqlPreparedQuery = class extends __mssql_core_session_ts.PreparedQuery
71
73
  else if (hasRowsMapper) if (customResultMapper) {
72
74
  const mappedRow = customResultMapper([row]);
73
75
  yield Array.isArray(mappedRow) ? mappedRow[0] : mappedRow;
74
- } else yield (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap);
76
+ } else yield this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))([row])[0] : (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap);
75
77
  else yield row;
76
78
  }
77
79
  } finally {
@@ -91,7 +93,7 @@ var NodeMsSqlSession = class NodeMsSqlSession extends __mssql_core_session_ts.Ms
91
93
  this.logger = options.logger ?? new __logger_ts.NoopLogger();
92
94
  }
93
95
  prepareQuery(query, fields, customResultMapper) {
94
- return new NodeMsSqlPreparedQuery(this.client, query.sql, query.params, this.logger, fields, customResultMapper);
96
+ return new NodeMsSqlPreparedQuery(this.client, query.sql, query.params, this.logger, fields, this.options.useJitMapper, customResultMapper);
95
97
  }
96
98
  /**
97
99
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"session.cjs","names":["PreparedQuery","entityKind","AutoPool","MsSqlSession","NoopLogger","MsSqlTransaction","sql"],"sources":["../../src/node-mssql/session.ts"],"sourcesContent":["import type { ConnectionPool, IResult, Request } from 'mssql';\nimport mssql from 'mssql';\nimport { once } from 'node:events';\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mssql-core/query-builders/select.types.ts';\nimport {\n\tMsSqlSession,\n\tMsSqlTransaction,\n\ttype MsSqlTransactionConfig,\n\tPreparedQuery,\n\ttype PreparedQueryConfig,\n\ttype PreparedQueryHKT,\n\ttype PreparedQueryKind,\n\ttype QueryResultHKT,\n} from '~/mssql-core/session.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\nimport { AutoPool } from './pool.ts';\n\nexport type NodeMsSqlClient = Pick<ConnectionPool, 'request'> | AutoPool;\n\nexport type MsSqlQueryResult<T extends unknown | unknown[] = any> = IResult<T>;\n\nexport class NodeMsSqlPreparedQuery<\n\tT extends PreparedQueryConfig,\n> extends PreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'NodeMsSqlPreparedQuery';\n\n\tprivate rawQuery: {\n\t\tsql: string;\n\t\tparameters: unknown[];\n\t};\n\n\tconstructor(\n\t\tprivate client: NodeMsSqlClient,\n\t\tqueryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper();\n\t\tthis.rawQuery = {\n\t\t\tsql: queryString,\n\t\t\tparameters: params,\n\t\t};\n\t}\n\n\tasync execute(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): 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 {\n\t\t\tfields,\n\t\t\tclient,\n\t\t\trawQuery,\n\t\t\tjoinsNotNullableMap,\n\t\t\tcustomResultMapper,\n\t\t} = this;\n\t\tlet queryClient = client as ConnectionPool;\n\t\tif (is(client, AutoPool)) {\n\t\t\tqueryClient = await client.$instance();\n\t\t}\n\t\tconst request = queryClient.request() as Request & { arrayRowMode: boolean };\n\t\tfor (const [index, param] of params.entries()) {\n\t\t\trequest.input(`par${index}`, param);\n\t\t}\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn request.query(rawQuery.sql) as Promise<T['execute']>;\n\t\t}\n\n\t\trequest.arrayRowMode = true;\n\t\tconst rows = await request.query<any[]>(rawQuery.sql);\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows.recordset);\n\t\t}\n\n\t\treturn rows.recordset.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tasync *iterator(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<\n\t\tT['execute'] extends any[] ? T['execute'][number] : T['execute']\n\t> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tconst {\n\t\t\tfields,\n\t\t\trawQuery,\n\t\t\tjoinsNotNullableMap,\n\t\t\tclient,\n\t\t\tcustomResultMapper,\n\t\t} = this;\n\t\tlet queryClient = client as ConnectionPool;\n\t\tif (is(client, AutoPool)) {\n\t\t\tqueryClient = await client.$instance();\n\t\t}\n\t\tconst request = queryClient.request() as Request & { arrayRowMode: boolean };\n\t\trequest.stream = true;\n\t\tconst hasRowsMapper = Boolean(fields || customResultMapper);\n\n\t\tif (hasRowsMapper) {\n\t\t\trequest.arrayRowMode = true;\n\t\t}\n\n\t\tfor (const [index, param] of params.entries()) {\n\t\t\trequest.input(`par${index}`, param);\n\t\t}\n\n\t\tconst stream = request.toReadableStream();\n\n\t\trequest.query(rawQuery.sql);\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([\n\t\t\t\t\tonEnd,\n\t\t\t\t\tonError,\n\t\t\t\t\tnew Promise((resolve) => stream.once('data', resolve)),\n\t\t\t\t]);\n\t\t\t\tif (row === undefined || (Array.isArray(row) && row.length === 0)) {\n\t\t\t\t\tbreak;\n\t\t\t\t\t// oxlint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\t} else if (row instanceof Error) {\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([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(\n\t\t\t\t\t\t\t\tfields!,\n\t\t\t\t\t\t\t\trow as unknown[],\n\t\t\t\t\t\t\t\tjoinsNotNullableMap,\n\t\t\t\t\t\t\t);\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\trequest.cancel();\n\t\t}\n\t}\n}\n\nexport interface NodeMsSqlSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class NodeMsSqlSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MsSqlSession<\n\tNodeMsSqlQueryResultHKT,\n\tNodeMsSqlPreparedQueryHKT,\n\tTFullSchema,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'NodeMsSqlSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: NodeMsSqlClient,\n\t\tdialect: MsSqlDialect,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: NodeMsSqlSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PreparedQueryKind<NodeMsSqlPreparedQueryHKT, T> {\n\t\treturn new NodeMsSqlPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t) as PreparedQueryKind<NodeMsSqlPreparedQueryHKT, T>;\n\t}\n\n\t/**\n\t * @internal\n\t * What is its purpose?\n\t */\n\tasync query(query: string, params: unknown[]): Promise<MsSqlQueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\n\t\tlet queryClient = this.client as ConnectionPool;\n\t\tif (is(this.client, AutoPool)) {\n\t\t\tqueryClient = await this.client.$instance();\n\t\t}\n\t\tconst request = queryClient.request() as Request & {\n\t\t\tarrayRowMode: boolean;\n\t\t};\n\t\trequest.arrayRowMode = true;\n\n\t\tfor (const [index, param] of params.entries()) {\n\t\t\trequest.input(`par${index}`, param);\n\t\t}\n\n\t\treturn request.query(query);\n\t}\n\n\toverride async 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 await this.query(querySql.sql, querySql.params).then(\n\t\t\t(result) => result.recordset,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: NodeMsSqlTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: MsSqlTransactionConfig,\n\t): Promise<T> {\n\t\tlet queryClient = this.client as ConnectionPool;\n\n\t\tif (is(this.client, AutoPool)) {\n\t\t\tqueryClient = await this.client.$instance();\n\t\t}\n\n\t\tconst mssqlTransaction = queryClient.transaction();\n\t\tconst session = new NodeMsSqlSession(\n\t\t\tmssqlTransaction,\n\t\t\tthis.dialect,\n\t\t\tthis.schema,\n\t\t\tthis.options,\n\t\t);\n\t\tconst tx = new NodeMsSqlTransaction(\n\t\t\tthis.dialect,\n\t\t\tsession as MsSqlSession<any, any, any, any>,\n\t\t\tthis.schema,\n\t\t\t0,\n\t\t);\n\n\t\tawait mssqlTransaction.begin(\n\t\t\tconfig?.isolationLevel\n\t\t\t\t? isolationLevelMap[config.isolationLevel]\n\t\t\t\t: undefined,\n\t\t);\n\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait mssqlTransaction.commit();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait mssqlTransaction.rollback();\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class NodeMsSqlTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MsSqlTransaction<\n\tNodeMsSqlQueryResultHKT,\n\tNodeMsSqlPreparedQueryHKT,\n\tTFullSchema,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'NodeMsSqlTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: NodeMsSqlTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new NodeMsSqlTransaction(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\n\t\tawait tx.execute(sql.raw(`save transaction ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback transaction ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nconst isolationLevelMap: Record<\n\tMsSqlTransactionConfig['isolationLevel'],\n\t(typeof mssql.ISOLATION_LEVEL)[keyof (typeof mssql)['ISOLATION_LEVEL']]\n> = {\n\t'read uncommitted': mssql.ISOLATION_LEVEL.READ_UNCOMMITTED,\n\t'read committed': mssql.ISOLATION_LEVEL.READ_COMMITTED,\n\t'repeatable read': mssql.ISOLATION_LEVEL.REPEATABLE_READ,\n\tserializable: mssql.ISOLATION_LEVEL.SERIALIZABLE,\n\tsnapshot: mssql.ISOLATION_LEVEL.SNAPSHOT,\n};\n\nexport interface NodeMsSqlQueryResultHKT extends QueryResultHKT {\n\ttype: MsSqlQueryResult<this['row']>;\n}\n\nexport interface NodeMsSqlPreparedQueryHKT extends PreparedQueryHKT {\n\ttype: NodeMsSqlPreparedQuery<Assume<this['config'], PreparedQueryConfig>>;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"session.cjs","names":["PreparedQuery","entityKind","AutoPool","MsSqlSession","NoopLogger","MsSqlTransaction","sql"],"sources":["../../src/node-mssql/session.ts"],"sourcesContent":["import type { ConnectionPool, IResult, Request } from 'mssql';\nimport mssql from 'mssql';\nimport { once } from 'node:events';\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mssql-core/query-builders/select.types.ts';\nimport {\n\tMsSqlSession,\n\tMsSqlTransaction,\n\ttype MsSqlTransactionConfig,\n\tPreparedQuery,\n\ttype PreparedQueryConfig,\n\ttype PreparedQueryHKT,\n\ttype PreparedQueryKind,\n\ttype QueryResultHKT,\n} from '~/mssql-core/session.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { type Assume, makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\nimport { AutoPool } from './pool.ts';\n\nexport type NodeMsSqlClient = Pick<ConnectionPool, 'request'> | AutoPool;\n\nexport type MsSqlQueryResult<T extends unknown | unknown[] = any> = IResult<T>;\n\nexport class NodeMsSqlPreparedQuery<\n\tT extends PreparedQueryConfig,\n> extends PreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'NodeMsSqlPreparedQuery';\n\tprivate jitMapper?: RowsMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>;\n\n\tprivate rawQuery: {\n\t\tsql: string;\n\t\tparameters: unknown[];\n\t};\n\n\tconstructor(\n\t\tprivate client: NodeMsSqlClient,\n\t\tqueryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate useJitMapper: boolean | undefined,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper();\n\t\tthis.rawQuery = {\n\t\t\tsql: queryString,\n\t\t\tparameters: params,\n\t\t};\n\t}\n\n\tasync execute(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): 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 {\n\t\t\tfields,\n\t\t\tclient,\n\t\t\trawQuery,\n\t\t\tjoinsNotNullableMap,\n\t\t\tcustomResultMapper,\n\t\t} = this;\n\t\tlet queryClient = client as ConnectionPool;\n\t\tif (is(client, AutoPool)) {\n\t\t\tqueryClient = await client.$instance();\n\t\t}\n\t\tconst request = queryClient.request() as Request & { arrayRowMode: boolean };\n\t\tfor (const [index, param] of params.entries()) {\n\t\t\trequest.input(`par${index}`, param);\n\t\t}\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn request.query(rawQuery.sql) as Promise<T['execute']>;\n\t\t}\n\n\t\trequest.arrayRowMode = true;\n\t\tconst rows = await request.query<any[]>(rawQuery.sql);\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows.recordset);\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper =\n\t\t\t\tthis.jitMapper as RowsMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>\n\t\t\t\t\t?? makeJitQueryMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>(\n\t\t\t\t\t\tfields!,\n\t\t\t\t\t\tjoinsNotNullableMap,\n\t\t\t\t\t))(\n\t\t\t\t\trows.recordset,\n\t\t\t\t)\n\t\t\t: rows.recordset.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tasync *iterator(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<\n\t\tT['execute'] extends any[] ? T['execute'][number] : T['execute']\n\t> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tconst {\n\t\t\tfields,\n\t\t\trawQuery,\n\t\t\tjoinsNotNullableMap,\n\t\t\tclient,\n\t\t\tcustomResultMapper,\n\t\t} = this;\n\t\tlet queryClient = client as ConnectionPool;\n\t\tif (is(client, AutoPool)) {\n\t\t\tqueryClient = await client.$instance();\n\t\t}\n\t\tconst request = queryClient.request() as Request & { arrayRowMode: boolean };\n\t\trequest.stream = true;\n\t\tconst hasRowsMapper = Boolean(fields || customResultMapper);\n\n\t\tif (hasRowsMapper) {\n\t\t\trequest.arrayRowMode = true;\n\t\t}\n\n\t\tfor (const [index, param] of params.entries()) {\n\t\t\trequest.input(`par${index}`, param);\n\t\t}\n\n\t\tconst stream = request.toReadableStream();\n\n\t\trequest.query(rawQuery.sql);\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([\n\t\t\t\t\tonEnd,\n\t\t\t\t\tonError,\n\t\t\t\t\tnew Promise((resolve) => stream.once('data', resolve)),\n\t\t\t\t]);\n\t\t\t\tif (row === undefined || (Array.isArray(row) && row.length === 0)) {\n\t\t\t\t\tbreak;\n\t\t\t\t\t// oxlint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\t} else if (row instanceof Error) {\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([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))([\n\t\t\t\t\t\t\t\t\t\trow as unknown[],\n\t\t\t\t\t\t\t\t\t])[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\trequest.cancel();\n\t\t}\n\t}\n}\n\nexport interface NodeMsSqlSessionOptions {\n\tlogger?: Logger;\n\tuseJitMapper?: boolean;\n}\n\nexport class NodeMsSqlSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MsSqlSession<\n\tNodeMsSqlQueryResultHKT,\n\tNodeMsSqlPreparedQueryHKT,\n\tTFullSchema,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'NodeMsSqlSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: NodeMsSqlClient,\n\t\tdialect: MsSqlDialect,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: NodeMsSqlSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PreparedQueryKind<NodeMsSqlPreparedQueryHKT, T> {\n\t\treturn new NodeMsSqlPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t) as PreparedQueryKind<NodeMsSqlPreparedQueryHKT, T>;\n\t}\n\n\t/**\n\t * @internal\n\t * What is its purpose?\n\t */\n\tasync query(query: string, params: unknown[]): Promise<MsSqlQueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\n\t\tlet queryClient = this.client as ConnectionPool;\n\t\tif (is(this.client, AutoPool)) {\n\t\t\tqueryClient = await this.client.$instance();\n\t\t}\n\t\tconst request = queryClient.request() as Request & {\n\t\t\tarrayRowMode: boolean;\n\t\t};\n\t\trequest.arrayRowMode = true;\n\n\t\tfor (const [index, param] of params.entries()) {\n\t\t\trequest.input(`par${index}`, param);\n\t\t}\n\n\t\treturn request.query(query);\n\t}\n\n\toverride async 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 await this.query(querySql.sql, querySql.params).then(\n\t\t\t(result) => result.recordset,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: NodeMsSqlTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: MsSqlTransactionConfig,\n\t): Promise<T> {\n\t\tlet queryClient = this.client as ConnectionPool;\n\n\t\tif (is(this.client, AutoPool)) {\n\t\t\tqueryClient = await this.client.$instance();\n\t\t}\n\n\t\tconst mssqlTransaction = queryClient.transaction();\n\t\tconst session = new NodeMsSqlSession(\n\t\t\tmssqlTransaction,\n\t\t\tthis.dialect,\n\t\t\tthis.schema,\n\t\t\tthis.options,\n\t\t);\n\t\tconst tx = new NodeMsSqlTransaction(\n\t\t\tthis.dialect,\n\t\t\tsession as MsSqlSession<any, any, any, any>,\n\t\t\tthis.schema,\n\t\t\t0,\n\t\t);\n\n\t\tawait mssqlTransaction.begin(\n\t\t\tconfig?.isolationLevel\n\t\t\t\t? isolationLevelMap[config.isolationLevel]\n\t\t\t\t: undefined,\n\t\t);\n\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait mssqlTransaction.commit();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait mssqlTransaction.rollback();\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class NodeMsSqlTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MsSqlTransaction<\n\tNodeMsSqlQueryResultHKT,\n\tNodeMsSqlPreparedQueryHKT,\n\tTFullSchema,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'NodeMsSqlTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: NodeMsSqlTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new NodeMsSqlTransaction(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\n\t\tawait tx.execute(sql.raw(`save transaction ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback transaction ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nconst isolationLevelMap: Record<\n\tMsSqlTransactionConfig['isolationLevel'],\n\t(typeof mssql.ISOLATION_LEVEL)[keyof (typeof mssql)['ISOLATION_LEVEL']]\n> = {\n\t'read uncommitted': mssql.ISOLATION_LEVEL.READ_UNCOMMITTED,\n\t'read committed': mssql.ISOLATION_LEVEL.READ_COMMITTED,\n\t'repeatable read': mssql.ISOLATION_LEVEL.REPEATABLE_READ,\n\tserializable: mssql.ISOLATION_LEVEL.SERIALIZABLE,\n\tsnapshot: mssql.ISOLATION_LEVEL.SNAPSHOT,\n};\n\nexport interface NodeMsSqlQueryResultHKT extends QueryResultHKT {\n\ttype: MsSqlQueryResult<this['row']>;\n}\n\nexport interface NodeMsSqlPreparedQueryHKT extends PreparedQueryHKT {\n\ttype: NodeMsSqlPreparedQuery<Assume<this['config'], PreparedQueryConfig>>;\n}\n"],"mappings":"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"}
@@ -17,15 +17,18 @@ declare class NodeMsSqlPreparedQuery<T extends PreparedQueryConfig> extends Prep
17
17
  private params;
18
18
  private logger;
19
19
  private fields;
20
+ private useJitMapper;
20
21
  private customResultMapper?;
21
22
  static readonly [entityKind]: string;
23
+ private jitMapper?;
22
24
  private rawQuery;
23
- constructor(client: NodeMsSqlClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
25
+ constructor(client: NodeMsSqlClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, useJitMapper: boolean | undefined, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
24
26
  execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
25
27
  iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']>;
26
28
  }
27
29
  interface NodeMsSqlSessionOptions {
28
30
  logger?: Logger;
31
+ useJitMapper?: boolean;
29
32
  }
30
33
  declare class NodeMsSqlSession<TFullSchema extends Record<string, unknown>, TSchema extends V1.TablesRelationalConfig> extends MsSqlSession<NodeMsSqlQueryResultHKT, NodeMsSqlPreparedQueryHKT, TFullSchema, TSchema> {
31
34
  private client;
@@ -2,11 +2,11 @@ import { AutoPool } from "./pool.js";
2
2
  import { entityKind } from "../entity.js";
3
3
  import { Assume } from "../utils.js";
4
4
  import { Query, SQL } from "../sql/sql.js";
5
- import * as V1 from "../_relations.js";
6
5
  import { Logger } from "../logger.js";
7
- import { MsSqlDialect } from "../mssql-core/dialect.js";
6
+ import * as V1 from "../_relations.js";
8
7
  import { ConnectionPool, IResult } from "mssql";
9
8
  import { MsSqlSession, MsSqlTransaction, MsSqlTransactionConfig, PreparedQuery, PreparedQueryConfig, PreparedQueryHKT, PreparedQueryKind, QueryResultHKT } from "../mssql-core/session.js";
9
+ import { MsSqlDialect } from "../mssql-core/dialect.js";
10
10
  import { SelectedFieldsOrdered } from "../mssql-core/query-builders/select.types.js";
11
11
 
12
12
  //#region src/node-mssql/session.d.ts
@@ -17,15 +17,18 @@ declare class NodeMsSqlPreparedQuery<T extends PreparedQueryConfig> extends Prep
17
17
  private params;
18
18
  private logger;
19
19
  private fields;
20
+ private useJitMapper;
20
21
  private customResultMapper?;
21
22
  static readonly [entityKind]: string;
23
+ private jitMapper?;
22
24
  private rawQuery;
23
- constructor(client: NodeMsSqlClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
25
+ constructor(client: NodeMsSqlClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, useJitMapper: boolean | undefined, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
24
26
  execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
25
27
  iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']>;
26
28
  }
27
29
  interface NodeMsSqlSessionOptions {
28
30
  logger?: Logger;
31
+ useJitMapper?: boolean;
29
32
  }
30
33
  declare class NodeMsSqlSession<TFullSchema extends Record<string, unknown>, TSchema extends V1.TablesRelationalConfig> extends MsSqlSession<NodeMsSqlQueryResultHKT, NodeMsSqlPreparedQueryHKT, TFullSchema, TSchema> {
31
34
  private client;