drizzle-orm 1.0.0-beta.1-02522e1 → 1.0.0-beta.1-37e2608

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 (1794) hide show
  1. package/_relations.cjs +6 -50
  2. package/_relations.cjs.map +1 -1
  3. package/_relations.d.cts +0 -1
  4. package/_relations.d.ts +0 -1
  5. package/_relations.js +6 -49
  6. package/_relations.js.map +1 -1
  7. package/aws-data-api/common/index.cjs.map +1 -1
  8. package/aws-data-api/common/index.js.map +1 -1
  9. package/aws-data-api/pg/driver.cjs +4 -1
  10. package/aws-data-api/pg/driver.cjs.map +1 -1
  11. package/aws-data-api/pg/driver.d.cts +3 -0
  12. package/aws-data-api/pg/driver.d.ts +3 -0
  13. package/aws-data-api/pg/driver.js +4 -1
  14. package/aws-data-api/pg/driver.js.map +1 -1
  15. package/aws-data-api/pg/session.cjs +12 -3
  16. package/aws-data-api/pg/session.cjs.map +1 -1
  17. package/aws-data-api/pg/session.d.cts +1 -0
  18. package/aws-data-api/pg/session.d.ts +1 -0
  19. package/aws-data-api/pg/session.js +12 -3
  20. package/aws-data-api/pg/session.js.map +1 -1
  21. package/better-sqlite3/driver.cjs +14 -10
  22. package/better-sqlite3/driver.cjs.map +1 -1
  23. package/better-sqlite3/driver.d.cts +3 -3
  24. package/better-sqlite3/driver.d.ts +3 -3
  25. package/better-sqlite3/driver.js +14 -10
  26. package/better-sqlite3/driver.js.map +1 -1
  27. package/bun-sql/driver.cjs.map +1 -1
  28. package/bun-sql/driver.d.cts +8 -8
  29. package/bun-sql/driver.d.ts +8 -8
  30. package/bun-sql/driver.js.map +1 -1
  31. package/bun-sql/mysql/driver.cjs +14 -10
  32. package/bun-sql/mysql/driver.cjs.map +1 -1
  33. package/bun-sql/mysql/driver.d.cts +3 -3
  34. package/bun-sql/mysql/driver.d.ts +3 -3
  35. package/bun-sql/mysql/driver.js +14 -10
  36. package/bun-sql/mysql/driver.js.map +1 -1
  37. package/bun-sql/postgres/driver.cjs +14 -10
  38. package/bun-sql/postgres/driver.cjs.map +1 -1
  39. package/bun-sql/postgres/driver.d.cts +3 -3
  40. package/bun-sql/postgres/driver.d.ts +3 -3
  41. package/bun-sql/postgres/driver.js +14 -10
  42. package/bun-sql/postgres/driver.js.map +1 -1
  43. package/bun-sql/sqlite/driver.cjs +14 -10
  44. package/bun-sql/sqlite/driver.cjs.map +1 -1
  45. package/bun-sql/sqlite/driver.d.cts +3 -3
  46. package/bun-sql/sqlite/driver.d.ts +3 -3
  47. package/bun-sql/sqlite/driver.js +14 -10
  48. package/bun-sql/sqlite/driver.js.map +1 -1
  49. package/bun-sql/sqlite/session.cjs +2 -0
  50. package/bun-sql/sqlite/session.cjs.map +1 -1
  51. package/bun-sql/sqlite/session.js +2 -0
  52. package/bun-sql/sqlite/session.js.map +1 -1
  53. package/bun-sqlite/driver.cjs +15 -11
  54. package/bun-sqlite/driver.cjs.map +1 -1
  55. package/bun-sqlite/driver.d.cts +3 -3
  56. package/bun-sqlite/driver.d.ts +3 -3
  57. package/bun-sqlite/driver.js +15 -11
  58. package/bun-sqlite/driver.js.map +1 -1
  59. package/column-builder.cjs.map +1 -1
  60. package/column-builder.d.cts +8 -9
  61. package/column-builder.d.ts +8 -9
  62. package/column-builder.js.map +1 -1
  63. package/durable-sqlite/migrator.cjs +7 -10
  64. package/durable-sqlite/migrator.cjs.map +1 -1
  65. package/durable-sqlite/migrator.d.cts +8 -0
  66. package/durable-sqlite/migrator.d.ts +8 -0
  67. package/durable-sqlite/migrator.js +7 -10
  68. package/durable-sqlite/migrator.js.map +1 -1
  69. package/durable-sqlite/session.cjs +3 -6
  70. package/durable-sqlite/session.cjs.map +1 -1
  71. package/durable-sqlite/session.d.cts +2 -1
  72. package/durable-sqlite/session.d.ts +2 -1
  73. package/durable-sqlite/session.js +2 -6
  74. package/durable-sqlite/session.js.map +1 -1
  75. package/entity.cjs.map +1 -1
  76. package/entity.js.map +1 -1
  77. package/expo-sqlite/migrator.cjs +7 -10
  78. package/expo-sqlite/migrator.cjs.map +1 -1
  79. package/expo-sqlite/migrator.d.cts +8 -0
  80. package/expo-sqlite/migrator.d.ts +8 -0
  81. package/expo-sqlite/migrator.js +7 -10
  82. package/expo-sqlite/migrator.js.map +1 -1
  83. package/gel/driver.cjs +10 -6
  84. package/gel/driver.cjs.map +1 -1
  85. package/gel/driver.d.cts +2 -2
  86. package/gel/driver.d.ts +2 -2
  87. package/gel/driver.js +10 -6
  88. package/gel/driver.js.map +1 -1
  89. package/gel-core/columns/bigint.cjs.map +1 -1
  90. package/gel-core/columns/bigint.d.cts +1 -0
  91. package/gel-core/columns/bigint.d.ts +1 -0
  92. package/gel-core/columns/bigint.js.map +1 -1
  93. package/gel-core/columns/bigintT.cjs.map +1 -1
  94. package/gel-core/columns/bigintT.d.cts +1 -0
  95. package/gel-core/columns/bigintT.d.ts +1 -0
  96. package/gel-core/columns/bigintT.js.map +1 -1
  97. package/gel-core/columns/boolean.cjs.map +1 -1
  98. package/gel-core/columns/boolean.d.cts +1 -0
  99. package/gel-core/columns/boolean.d.ts +1 -0
  100. package/gel-core/columns/boolean.js.map +1 -1
  101. package/gel-core/columns/bytes.cjs.map +1 -1
  102. package/gel-core/columns/bytes.d.cts +1 -0
  103. package/gel-core/columns/bytes.d.ts +1 -0
  104. package/gel-core/columns/bytes.js.map +1 -1
  105. package/gel-core/columns/common.cjs +4 -0
  106. package/gel-core/columns/common.cjs.map +1 -1
  107. package/gel-core/columns/common.d.cts +1 -1
  108. package/gel-core/columns/common.d.ts +1 -1
  109. package/gel-core/columns/common.js +4 -0
  110. package/gel-core/columns/common.js.map +1 -1
  111. package/gel-core/columns/custom.cjs.map +1 -1
  112. package/gel-core/columns/custom.d.cts +1 -0
  113. package/gel-core/columns/custom.d.ts +1 -0
  114. package/gel-core/columns/custom.js.map +1 -1
  115. package/gel-core/columns/date-duration.cjs.map +1 -1
  116. package/gel-core/columns/date-duration.d.cts +1 -0
  117. package/gel-core/columns/date-duration.d.ts +1 -0
  118. package/gel-core/columns/date-duration.js.map +1 -1
  119. package/gel-core/columns/decimal.cjs.map +1 -1
  120. package/gel-core/columns/decimal.d.cts +1 -0
  121. package/gel-core/columns/decimal.d.ts +1 -0
  122. package/gel-core/columns/decimal.js.map +1 -1
  123. package/gel-core/columns/double-precision.cjs.map +1 -1
  124. package/gel-core/columns/double-precision.d.cts +1 -0
  125. package/gel-core/columns/double-precision.d.ts +1 -0
  126. package/gel-core/columns/double-precision.js.map +1 -1
  127. package/gel-core/columns/duration.cjs.map +1 -1
  128. package/gel-core/columns/duration.d.cts +1 -0
  129. package/gel-core/columns/duration.d.ts +1 -0
  130. package/gel-core/columns/duration.js.map +1 -1
  131. package/gel-core/columns/integer.cjs.map +1 -1
  132. package/gel-core/columns/integer.d.cts +1 -0
  133. package/gel-core/columns/integer.d.ts +1 -0
  134. package/gel-core/columns/integer.js.map +1 -1
  135. package/gel-core/columns/json.cjs.map +1 -1
  136. package/gel-core/columns/json.d.cts +1 -0
  137. package/gel-core/columns/json.d.ts +1 -0
  138. package/gel-core/columns/json.js.map +1 -1
  139. package/gel-core/columns/localdate.cjs.map +1 -1
  140. package/gel-core/columns/localdate.d.cts +1 -0
  141. package/gel-core/columns/localdate.d.ts +1 -0
  142. package/gel-core/columns/localdate.js.map +1 -1
  143. package/gel-core/columns/localtime.cjs.map +1 -1
  144. package/gel-core/columns/localtime.d.cts +1 -0
  145. package/gel-core/columns/localtime.d.ts +1 -0
  146. package/gel-core/columns/localtime.js.map +1 -1
  147. package/gel-core/columns/real.cjs.map +1 -1
  148. package/gel-core/columns/real.d.cts +1 -0
  149. package/gel-core/columns/real.d.ts +1 -0
  150. package/gel-core/columns/real.js.map +1 -1
  151. package/gel-core/columns/relative-duration.cjs.map +1 -1
  152. package/gel-core/columns/relative-duration.d.cts +1 -0
  153. package/gel-core/columns/relative-duration.d.ts +1 -0
  154. package/gel-core/columns/relative-duration.js.map +1 -1
  155. package/gel-core/columns/smallint.cjs.map +1 -1
  156. package/gel-core/columns/smallint.d.cts +1 -0
  157. package/gel-core/columns/smallint.d.ts +1 -0
  158. package/gel-core/columns/smallint.js.map +1 -1
  159. package/gel-core/columns/text.cjs.map +1 -1
  160. package/gel-core/columns/text.d.cts +1 -0
  161. package/gel-core/columns/text.d.ts +1 -0
  162. package/gel-core/columns/text.js.map +1 -1
  163. package/gel-core/columns/timestamp.cjs.map +1 -1
  164. package/gel-core/columns/timestamp.d.cts +1 -0
  165. package/gel-core/columns/timestamp.d.ts +1 -0
  166. package/gel-core/columns/timestamp.js.map +1 -1
  167. package/gel-core/columns/timestamptz.cjs.map +1 -1
  168. package/gel-core/columns/timestamptz.d.cts +1 -0
  169. package/gel-core/columns/timestamptz.d.ts +1 -0
  170. package/gel-core/columns/timestamptz.js.map +1 -1
  171. package/gel-core/columns/uuid.cjs.map +1 -1
  172. package/gel-core/columns/uuid.d.cts +1 -0
  173. package/gel-core/columns/uuid.d.ts +1 -0
  174. package/gel-core/columns/uuid.js.map +1 -1
  175. package/gel-core/query-builders/count.cjs.map +1 -1
  176. package/gel-core/query-builders/count.d.cts +3 -4
  177. package/gel-core/query-builders/count.d.ts +3 -4
  178. package/gel-core/query-builders/count.js.map +1 -1
  179. package/gel-core/query-builders/insert.cjs.map +1 -1
  180. package/gel-core/query-builders/insert.d.cts +9 -6
  181. package/gel-core/query-builders/insert.d.ts +9 -6
  182. package/gel-core/query-builders/insert.js.map +1 -1
  183. package/gel-core/query-builders/select.cjs +9 -8
  184. package/gel-core/query-builders/select.cjs.map +1 -1
  185. package/gel-core/query-builders/select.js +4 -4
  186. package/gel-core/query-builders/select.js.map +1 -1
  187. package/gel-core/query-builders/update.cjs +2 -2
  188. package/gel-core/query-builders/update.cjs.map +1 -1
  189. package/gel-core/query-builders/update.d.cts +1 -1
  190. package/gel-core/query-builders/update.d.ts +1 -1
  191. package/gel-core/query-builders/update.js +2 -2
  192. package/gel-core/query-builders/update.js.map +1 -1
  193. package/gel-core/schema.cjs +4 -4
  194. package/gel-core/schema.cjs.map +1 -1
  195. package/gel-core/schema.js +4 -4
  196. package/gel-core/schema.js.map +1 -1
  197. package/gel-core/utils.cjs +2 -1
  198. package/gel-core/utils.cjs.map +1 -1
  199. package/gel-core/utils.d.cts +1 -1
  200. package/gel-core/utils.d.ts +1 -1
  201. package/gel-core/utils.js +2 -1
  202. package/gel-core/utils.js.map +1 -1
  203. package/gel-core/view-common.cjs +0 -3
  204. package/gel-core/view-common.cjs.map +1 -1
  205. package/gel-core/view-common.d.cts +0 -1
  206. package/gel-core/view-common.d.ts +0 -1
  207. package/gel-core/view-common.js +0 -2
  208. package/gel-core/view-common.js.map +1 -1
  209. package/gel-core/view.cjs +5 -2
  210. package/gel-core/view.cjs.map +1 -1
  211. package/gel-core/view.d.cts +2 -1
  212. package/gel-core/view.d.ts +2 -1
  213. package/gel-core/view.js +3 -1
  214. package/gel-core/view.js.map +1 -1
  215. package/libsql/driver.cjs +10 -6
  216. package/libsql/driver.cjs.map +1 -1
  217. package/libsql/driver.d.cts +3 -3
  218. package/libsql/driver.d.ts +3 -3
  219. package/libsql/driver.js +10 -6
  220. package/libsql/driver.js.map +1 -1
  221. package/libsql/http/index.cjs +10 -6
  222. package/libsql/http/index.cjs.map +1 -1
  223. package/libsql/http/index.d.cts +3 -3
  224. package/libsql/http/index.d.ts +3 -3
  225. package/libsql/http/index.js +10 -6
  226. package/libsql/http/index.js.map +1 -1
  227. package/libsql/node/index.cjs +10 -6
  228. package/libsql/node/index.cjs.map +1 -1
  229. package/libsql/node/index.d.cts +3 -3
  230. package/libsql/node/index.d.ts +3 -3
  231. package/libsql/node/index.js +10 -6
  232. package/libsql/node/index.js.map +1 -1
  233. package/libsql/session.cjs +2 -0
  234. package/libsql/session.cjs.map +1 -1
  235. package/libsql/session.d.cts +1 -1
  236. package/libsql/session.d.ts +1 -1
  237. package/libsql/session.js +2 -0
  238. package/libsql/session.js.map +1 -1
  239. package/libsql/sqlite3/index.cjs +10 -6
  240. package/libsql/sqlite3/index.cjs.map +1 -1
  241. package/libsql/sqlite3/index.d.cts +3 -3
  242. package/libsql/sqlite3/index.d.ts +3 -3
  243. package/libsql/sqlite3/index.js +10 -6
  244. package/libsql/sqlite3/index.js.map +1 -1
  245. package/libsql/wasm/index.cjs +10 -6
  246. package/libsql/wasm/index.cjs.map +1 -1
  247. package/libsql/wasm/index.d.cts +3 -3
  248. package/libsql/wasm/index.d.ts +3 -3
  249. package/libsql/wasm/index.js +10 -6
  250. package/libsql/wasm/index.js.map +1 -1
  251. package/libsql/web/index.cjs +10 -6
  252. package/libsql/web/index.cjs.map +1 -1
  253. package/libsql/web/index.d.cts +3 -3
  254. package/libsql/web/index.d.ts +3 -3
  255. package/libsql/web/index.js +10 -6
  256. package/libsql/web/index.js.map +1 -1
  257. package/libsql/ws/index.cjs +10 -6
  258. package/libsql/ws/index.cjs.map +1 -1
  259. package/libsql/ws/index.d.cts +3 -3
  260. package/libsql/ws/index.d.ts +3 -3
  261. package/libsql/ws/index.js +10 -6
  262. package/libsql/ws/index.js.map +1 -1
  263. package/migrator.cjs +5 -42
  264. package/migrator.cjs.map +1 -1
  265. package/migrator.d.cts +0 -1
  266. package/migrator.d.ts +0 -1
  267. package/migrator.js +6 -42
  268. package/migrator.js.map +1 -1
  269. package/mysql-core/columns/all.cjs +1 -6
  270. package/mysql-core/columns/all.cjs.map +1 -1
  271. package/mysql-core/columns/all.d.cts +0 -5
  272. package/mysql-core/columns/all.d.ts +0 -5
  273. package/mysql-core/columns/all.js +1 -6
  274. package/mysql-core/columns/all.js.map +1 -1
  275. package/mysql-core/columns/bigint.cjs.map +1 -1
  276. package/mysql-core/columns/bigint.d.cts +2 -0
  277. package/mysql-core/columns/bigint.d.ts +2 -0
  278. package/mysql-core/columns/bigint.js.map +1 -1
  279. package/mysql-core/columns/binary.cjs +1 -0
  280. package/mysql-core/columns/binary.cjs.map +1 -1
  281. package/mysql-core/columns/binary.d.cts +2 -0
  282. package/mysql-core/columns/binary.d.ts +2 -0
  283. package/mysql-core/columns/binary.js +1 -0
  284. package/mysql-core/columns/binary.js.map +1 -1
  285. package/mysql-core/columns/boolean.cjs.map +1 -1
  286. package/mysql-core/columns/boolean.d.cts +1 -0
  287. package/mysql-core/columns/boolean.d.ts +1 -0
  288. package/mysql-core/columns/boolean.js.map +1 -1
  289. package/mysql-core/columns/char.cjs +4 -3
  290. package/mysql-core/columns/char.cjs.map +1 -1
  291. package/mysql-core/columns/char.d.cts +5 -3
  292. package/mysql-core/columns/char.d.ts +5 -3
  293. package/mysql-core/columns/char.js +4 -3
  294. package/mysql-core/columns/char.js.map +1 -1
  295. package/mysql-core/columns/common.cjs +4 -0
  296. package/mysql-core/columns/common.cjs.map +1 -1
  297. package/mysql-core/columns/common.d.cts +1 -1
  298. package/mysql-core/columns/common.d.ts +1 -1
  299. package/mysql-core/columns/common.js +4 -0
  300. package/mysql-core/columns/common.js.map +1 -1
  301. package/mysql-core/columns/custom.cjs.map +1 -1
  302. package/mysql-core/columns/custom.d.cts +1 -0
  303. package/mysql-core/columns/custom.d.ts +1 -0
  304. package/mysql-core/columns/custom.js.map +1 -1
  305. package/mysql-core/columns/date.cjs.map +1 -1
  306. package/mysql-core/columns/date.common.cjs +1 -3
  307. package/mysql-core/columns/date.common.cjs.map +1 -1
  308. package/mysql-core/columns/date.common.d.cts +1 -6
  309. package/mysql-core/columns/date.common.d.ts +1 -6
  310. package/mysql-core/columns/date.common.js +1 -3
  311. package/mysql-core/columns/date.common.js.map +1 -1
  312. package/mysql-core/columns/date.d.cts +2 -0
  313. package/mysql-core/columns/date.d.ts +2 -0
  314. package/mysql-core/columns/date.js.map +1 -1
  315. package/mysql-core/columns/datetime.cjs.map +1 -1
  316. package/mysql-core/columns/datetime.d.cts +2 -0
  317. package/mysql-core/columns/datetime.d.ts +2 -0
  318. package/mysql-core/columns/datetime.js.map +1 -1
  319. package/mysql-core/columns/decimal.cjs.map +1 -1
  320. package/mysql-core/columns/decimal.d.cts +3 -0
  321. package/mysql-core/columns/decimal.d.ts +3 -0
  322. package/mysql-core/columns/decimal.js.map +1 -1
  323. package/mysql-core/columns/double.cjs.map +1 -1
  324. package/mysql-core/columns/double.d.cts +1 -0
  325. package/mysql-core/columns/double.d.ts +1 -0
  326. package/mysql-core/columns/double.js.map +1 -1
  327. package/mysql-core/columns/enum.cjs +5 -5
  328. package/mysql-core/columns/enum.cjs.map +1 -1
  329. package/mysql-core/columns/enum.d.cts +7 -5
  330. package/mysql-core/columns/enum.d.ts +7 -5
  331. package/mysql-core/columns/enum.js +5 -5
  332. package/mysql-core/columns/enum.js.map +1 -1
  333. package/mysql-core/columns/float.cjs.map +1 -1
  334. package/mysql-core/columns/float.d.cts +1 -0
  335. package/mysql-core/columns/float.d.ts +1 -0
  336. package/mysql-core/columns/float.js.map +1 -1
  337. package/mysql-core/columns/index.cjs +0 -2
  338. package/mysql-core/columns/index.cjs.map +1 -1
  339. package/mysql-core/columns/index.d.cts +0 -1
  340. package/mysql-core/columns/index.d.ts +0 -1
  341. package/mysql-core/columns/index.js +0 -1
  342. package/mysql-core/columns/index.js.map +1 -1
  343. package/mysql-core/columns/int.cjs.map +1 -1
  344. package/mysql-core/columns/int.d.cts +1 -0
  345. package/mysql-core/columns/int.d.ts +1 -0
  346. package/mysql-core/columns/int.js.map +1 -1
  347. package/mysql-core/columns/json.cjs.map +1 -1
  348. package/mysql-core/columns/json.d.cts +1 -0
  349. package/mysql-core/columns/json.d.ts +1 -0
  350. package/mysql-core/columns/json.js.map +1 -1
  351. package/mysql-core/columns/mediumint.cjs.map +1 -1
  352. package/mysql-core/columns/mediumint.d.cts +1 -0
  353. package/mysql-core/columns/mediumint.d.ts +1 -0
  354. package/mysql-core/columns/mediumint.js.map +1 -1
  355. package/mysql-core/columns/real.cjs.map +1 -1
  356. package/mysql-core/columns/real.d.cts +1 -0
  357. package/mysql-core/columns/real.d.ts +1 -0
  358. package/mysql-core/columns/real.js.map +1 -1
  359. package/mysql-core/columns/serial.cjs.map +1 -1
  360. package/mysql-core/columns/serial.d.cts +1 -0
  361. package/mysql-core/columns/serial.d.ts +1 -0
  362. package/mysql-core/columns/serial.js.map +1 -1
  363. package/mysql-core/columns/smallint.cjs.map +1 -1
  364. package/mysql-core/columns/smallint.d.cts +1 -0
  365. package/mysql-core/columns/smallint.d.ts +1 -0
  366. package/mysql-core/columns/smallint.js.map +1 -1
  367. package/mysql-core/columns/text.cjs +3 -3
  368. package/mysql-core/columns/text.cjs.map +1 -1
  369. package/mysql-core/columns/text.d.cts +4 -3
  370. package/mysql-core/columns/text.d.ts +4 -3
  371. package/mysql-core/columns/text.js +3 -3
  372. package/mysql-core/columns/text.js.map +1 -1
  373. package/mysql-core/columns/time.cjs.map +1 -1
  374. package/mysql-core/columns/time.d.cts +1 -0
  375. package/mysql-core/columns/time.d.ts +1 -0
  376. package/mysql-core/columns/time.js.map +1 -1
  377. package/mysql-core/columns/timestamp.cjs.map +1 -1
  378. package/mysql-core/columns/timestamp.d.cts +2 -0
  379. package/mysql-core/columns/timestamp.d.ts +2 -0
  380. package/mysql-core/columns/timestamp.js.map +1 -1
  381. package/mysql-core/columns/tinyint.cjs.map +1 -1
  382. package/mysql-core/columns/tinyint.d.cts +1 -0
  383. package/mysql-core/columns/tinyint.d.ts +1 -0
  384. package/mysql-core/columns/tinyint.js.map +1 -1
  385. package/mysql-core/columns/varbinary.cjs.map +1 -1
  386. package/mysql-core/columns/varbinary.d.cts +1 -0
  387. package/mysql-core/columns/varbinary.d.ts +1 -0
  388. package/mysql-core/columns/varbinary.js.map +1 -1
  389. package/mysql-core/columns/varchar.cjs +4 -4
  390. package/mysql-core/columns/varchar.cjs.map +1 -1
  391. package/mysql-core/columns/varchar.d.cts +5 -4
  392. package/mysql-core/columns/varchar.d.ts +5 -4
  393. package/mysql-core/columns/varchar.js +4 -4
  394. package/mysql-core/columns/varchar.js.map +1 -1
  395. package/mysql-core/columns/year.cjs.map +1 -1
  396. package/mysql-core/columns/year.d.cts +1 -0
  397. package/mysql-core/columns/year.d.ts +1 -0
  398. package/mysql-core/columns/year.js.map +1 -1
  399. package/mysql-core/dialect.cjs +0 -3
  400. package/mysql-core/dialect.cjs.map +1 -1
  401. package/mysql-core/dialect.d.cts +0 -1
  402. package/mysql-core/dialect.d.ts +0 -1
  403. package/mysql-core/dialect.js +0 -3
  404. package/mysql-core/dialect.js.map +1 -1
  405. package/mysql-core/foreign-keys.cjs +0 -3
  406. package/mysql-core/foreign-keys.cjs.map +1 -1
  407. package/mysql-core/foreign-keys.d.cts +0 -1
  408. package/mysql-core/foreign-keys.d.ts +0 -1
  409. package/mysql-core/foreign-keys.js +0 -3
  410. package/mysql-core/foreign-keys.js.map +1 -1
  411. package/mysql-core/indexes.cjs +0 -2
  412. package/mysql-core/indexes.cjs.map +1 -1
  413. package/mysql-core/indexes.d.cts +0 -1
  414. package/mysql-core/indexes.d.ts +0 -1
  415. package/mysql-core/indexes.js +0 -2
  416. package/mysql-core/indexes.js.map +1 -1
  417. package/mysql-core/primary-keys.cjs +13 -4
  418. package/mysql-core/primary-keys.cjs.map +1 -1
  419. package/mysql-core/primary-keys.d.cts +6 -3
  420. package/mysql-core/primary-keys.d.ts +6 -3
  421. package/mysql-core/primary-keys.js +13 -4
  422. package/mysql-core/primary-keys.js.map +1 -1
  423. package/mysql-core/query-builders/count.cjs.map +1 -1
  424. package/mysql-core/query-builders/count.d.cts +1 -1
  425. package/mysql-core/query-builders/count.d.ts +1 -1
  426. package/mysql-core/query-builders/count.js.map +1 -1
  427. package/mysql-core/query-builders/insert.cjs.map +1 -1
  428. package/mysql-core/query-builders/insert.d.cts +2 -2
  429. package/mysql-core/query-builders/insert.d.ts +2 -2
  430. package/mysql-core/query-builders/insert.js.map +1 -1
  431. package/mysql-core/query-builders/select.cjs +2 -2
  432. package/mysql-core/query-builders/select.cjs.map +1 -1
  433. package/mysql-core/query-builders/select.js +2 -2
  434. package/mysql-core/query-builders/select.js.map +1 -1
  435. package/mysql-core/query-builders/update.cjs.map +1 -1
  436. package/mysql-core/query-builders/update.d.cts +1 -1
  437. package/mysql-core/query-builders/update.d.ts +1 -1
  438. package/mysql-core/query-builders/update.js.map +1 -1
  439. package/mysql-core/schema.cjs +2 -2
  440. package/mysql-core/schema.cjs.map +1 -1
  441. package/mysql-core/schema.js +2 -2
  442. package/mysql-core/schema.js.map +1 -1
  443. package/mysql-core/unique-constraint.cjs +0 -2
  444. package/mysql-core/unique-constraint.cjs.map +1 -1
  445. package/mysql-core/unique-constraint.d.cts +2 -3
  446. package/mysql-core/unique-constraint.d.ts +2 -3
  447. package/mysql-core/unique-constraint.js +0 -2
  448. package/mysql-core/unique-constraint.js.map +1 -1
  449. package/mysql-proxy/driver.cjs +2 -2
  450. package/mysql-proxy/driver.cjs.map +1 -1
  451. package/mysql-proxy/driver.d.cts +1 -2
  452. package/mysql-proxy/driver.d.ts +1 -2
  453. package/mysql-proxy/driver.js +2 -2
  454. package/mysql-proxy/driver.js.map +1 -1
  455. package/mysql2/driver.cjs +14 -10
  456. package/mysql2/driver.cjs.map +1 -1
  457. package/mysql2/driver.d.cts +3 -3
  458. package/mysql2/driver.d.ts +3 -3
  459. package/mysql2/driver.js +14 -10
  460. package/mysql2/driver.js.map +1 -1
  461. package/mysql2/session.cjs.map +1 -1
  462. package/mysql2/session.js.map +1 -1
  463. package/neon-http/driver.cjs +14 -10
  464. package/neon-http/driver.cjs.map +1 -1
  465. package/neon-http/driver.d.cts +3 -3
  466. package/neon-http/driver.d.ts +3 -3
  467. package/neon-http/driver.js +14 -10
  468. package/neon-http/driver.js.map +1 -1
  469. package/neon-http/session.cjs.map +1 -1
  470. package/neon-http/session.d.cts +1 -1
  471. package/neon-http/session.d.ts +1 -1
  472. package/neon-http/session.js.map +1 -1
  473. package/neon-serverless/driver.cjs +14 -10
  474. package/neon-serverless/driver.cjs.map +1 -1
  475. package/neon-serverless/driver.d.cts +3 -3
  476. package/neon-serverless/driver.d.ts +3 -3
  477. package/neon-serverless/driver.js +14 -10
  478. package/neon-serverless/driver.js.map +1 -1
  479. package/neon-serverless/session.cjs.map +1 -1
  480. package/neon-serverless/session.js.map +1 -1
  481. package/node-postgres/driver.cjs +12 -8
  482. package/node-postgres/driver.cjs.map +1 -1
  483. package/node-postgres/driver.d.cts +3 -3
  484. package/node-postgres/driver.d.ts +3 -3
  485. package/node-postgres/driver.js +12 -8
  486. package/node-postgres/driver.js.map +1 -1
  487. package/node-postgres/session.cjs.map +1 -1
  488. package/node-postgres/session.js.map +1 -1
  489. package/op-sqlite/migrator.cjs +7 -10
  490. package/op-sqlite/migrator.cjs.map +1 -1
  491. package/op-sqlite/migrator.d.cts +16 -0
  492. package/op-sqlite/migrator.d.ts +16 -0
  493. package/op-sqlite/migrator.js +7 -10
  494. package/op-sqlite/migrator.js.map +1 -1
  495. package/package.json +75 -1488
  496. package/pg-core/columns/bigint.cjs.map +1 -1
  497. package/pg-core/columns/bigint.d.cts +2 -0
  498. package/pg-core/columns/bigint.d.ts +2 -0
  499. package/pg-core/columns/bigint.js.map +1 -1
  500. package/pg-core/columns/bigserial.cjs +0 -1
  501. package/pg-core/columns/bigserial.cjs.map +1 -1
  502. package/pg-core/columns/bigserial.d.cts +2 -0
  503. package/pg-core/columns/bigserial.d.ts +2 -0
  504. package/pg-core/columns/bigserial.js +0 -1
  505. package/pg-core/columns/bigserial.js.map +1 -1
  506. package/pg-core/columns/boolean.cjs.map +1 -1
  507. package/pg-core/columns/boolean.d.cts +1 -0
  508. package/pg-core/columns/boolean.d.ts +1 -0
  509. package/pg-core/columns/boolean.js.map +1 -1
  510. package/pg-core/columns/bytea.cjs.map +1 -1
  511. package/pg-core/columns/bytea.d.cts +1 -0
  512. package/pg-core/columns/bytea.d.ts +1 -0
  513. package/pg-core/columns/bytea.js.map +1 -1
  514. package/pg-core/columns/char.cjs +1 -0
  515. package/pg-core/columns/char.cjs.map +1 -1
  516. package/pg-core/columns/char.d.cts +2 -0
  517. package/pg-core/columns/char.d.ts +2 -0
  518. package/pg-core/columns/char.js +1 -0
  519. package/pg-core/columns/char.js.map +1 -1
  520. package/pg-core/columns/cidr.cjs.map +1 -1
  521. package/pg-core/columns/cidr.d.cts +1 -0
  522. package/pg-core/columns/cidr.d.ts +1 -0
  523. package/pg-core/columns/cidr.js.map +1 -1
  524. package/pg-core/columns/common.cjs +14 -10
  525. package/pg-core/columns/common.cjs.map +1 -1
  526. package/pg-core/columns/common.d.cts +3 -4
  527. package/pg-core/columns/common.d.ts +3 -4
  528. package/pg-core/columns/common.js +14 -10
  529. package/pg-core/columns/common.js.map +1 -1
  530. package/pg-core/columns/custom.cjs.map +1 -1
  531. package/pg-core/columns/custom.d.cts +1 -0
  532. package/pg-core/columns/custom.d.ts +1 -0
  533. package/pg-core/columns/custom.js.map +1 -1
  534. package/pg-core/columns/date.cjs.map +1 -1
  535. package/pg-core/columns/date.d.cts +2 -0
  536. package/pg-core/columns/date.d.ts +2 -0
  537. package/pg-core/columns/date.js.map +1 -1
  538. package/pg-core/columns/double-precision.cjs.map +1 -1
  539. package/pg-core/columns/double-precision.d.cts +1 -0
  540. package/pg-core/columns/double-precision.d.ts +1 -0
  541. package/pg-core/columns/double-precision.js.map +1 -1
  542. package/pg-core/columns/enum.cjs.map +1 -1
  543. package/pg-core/columns/enum.d.cts +2 -0
  544. package/pg-core/columns/enum.d.ts +2 -0
  545. package/pg-core/columns/enum.js.map +1 -1
  546. package/pg-core/columns/inet.cjs.map +1 -1
  547. package/pg-core/columns/inet.d.cts +1 -0
  548. package/pg-core/columns/inet.d.ts +1 -0
  549. package/pg-core/columns/inet.js.map +1 -1
  550. package/pg-core/columns/integer.cjs.map +1 -1
  551. package/pg-core/columns/integer.d.cts +1 -0
  552. package/pg-core/columns/integer.d.ts +1 -0
  553. package/pg-core/columns/integer.js.map +1 -1
  554. package/pg-core/columns/interval.cjs.map +1 -1
  555. package/pg-core/columns/interval.d.cts +1 -0
  556. package/pg-core/columns/interval.d.ts +1 -0
  557. package/pg-core/columns/interval.js.map +1 -1
  558. package/pg-core/columns/json.cjs.map +1 -1
  559. package/pg-core/columns/json.d.cts +1 -0
  560. package/pg-core/columns/json.d.ts +1 -0
  561. package/pg-core/columns/json.js.map +1 -1
  562. package/pg-core/columns/jsonb.cjs.map +1 -1
  563. package/pg-core/columns/jsonb.d.cts +1 -0
  564. package/pg-core/columns/jsonb.d.ts +1 -0
  565. package/pg-core/columns/jsonb.js.map +1 -1
  566. package/pg-core/columns/line.cjs +0 -2
  567. package/pg-core/columns/line.cjs.map +1 -1
  568. package/pg-core/columns/line.d.cts +2 -2
  569. package/pg-core/columns/line.d.ts +2 -2
  570. package/pg-core/columns/line.js +0 -2
  571. package/pg-core/columns/line.js.map +1 -1
  572. package/pg-core/columns/macaddr.cjs.map +1 -1
  573. package/pg-core/columns/macaddr.d.cts +1 -0
  574. package/pg-core/columns/macaddr.d.ts +1 -0
  575. package/pg-core/columns/macaddr.js.map +1 -1
  576. package/pg-core/columns/macaddr8.cjs.map +1 -1
  577. package/pg-core/columns/macaddr8.d.cts +1 -0
  578. package/pg-core/columns/macaddr8.d.ts +1 -0
  579. package/pg-core/columns/macaddr8.js.map +1 -1
  580. package/pg-core/columns/numeric.cjs.map +1 -1
  581. package/pg-core/columns/numeric.d.cts +3 -0
  582. package/pg-core/columns/numeric.d.ts +3 -0
  583. package/pg-core/columns/numeric.js.map +1 -1
  584. package/pg-core/columns/point.cjs +0 -2
  585. package/pg-core/columns/point.cjs.map +1 -1
  586. package/pg-core/columns/point.d.cts +2 -2
  587. package/pg-core/columns/point.d.ts +2 -2
  588. package/pg-core/columns/point.js +0 -2
  589. package/pg-core/columns/point.js.map +1 -1
  590. package/pg-core/columns/postgis_extension/geometry.cjs +8 -14
  591. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  592. package/pg-core/columns/postgis_extension/geometry.d.cts +6 -16
  593. package/pg-core/columns/postgis_extension/geometry.d.ts +6 -16
  594. package/pg-core/columns/postgis_extension/geometry.js +8 -14
  595. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  596. package/pg-core/columns/postgis_extension/utils.cjs +3 -3
  597. package/pg-core/columns/postgis_extension/utils.cjs.map +1 -1
  598. package/pg-core/columns/postgis_extension/utils.d.cts +1 -4
  599. package/pg-core/columns/postgis_extension/utils.d.ts +1 -4
  600. package/pg-core/columns/postgis_extension/utils.js +3 -3
  601. package/pg-core/columns/postgis_extension/utils.js.map +1 -1
  602. package/pg-core/columns/real.cjs.map +1 -1
  603. package/pg-core/columns/real.d.cts +1 -0
  604. package/pg-core/columns/real.d.ts +1 -0
  605. package/pg-core/columns/real.js.map +1 -1
  606. package/pg-core/columns/serial.cjs.map +1 -1
  607. package/pg-core/columns/serial.d.cts +1 -0
  608. package/pg-core/columns/serial.d.ts +1 -0
  609. package/pg-core/columns/serial.js.map +1 -1
  610. package/pg-core/columns/smallint.cjs.map +1 -1
  611. package/pg-core/columns/smallint.d.cts +1 -0
  612. package/pg-core/columns/smallint.d.ts +1 -0
  613. package/pg-core/columns/smallint.js.map +1 -1
  614. package/pg-core/columns/smallserial.cjs.map +1 -1
  615. package/pg-core/columns/smallserial.d.cts +1 -0
  616. package/pg-core/columns/smallserial.d.ts +1 -0
  617. package/pg-core/columns/smallserial.js.map +1 -1
  618. package/pg-core/columns/text.cjs.map +1 -1
  619. package/pg-core/columns/text.d.cts +1 -0
  620. package/pg-core/columns/text.d.ts +1 -0
  621. package/pg-core/columns/text.js.map +1 -1
  622. package/pg-core/columns/time.cjs.map +1 -1
  623. package/pg-core/columns/time.d.cts +1 -0
  624. package/pg-core/columns/time.d.ts +1 -0
  625. package/pg-core/columns/time.js.map +1 -1
  626. package/pg-core/columns/timestamp.cjs.map +1 -1
  627. package/pg-core/columns/timestamp.d.cts +2 -0
  628. package/pg-core/columns/timestamp.d.ts +2 -0
  629. package/pg-core/columns/timestamp.js.map +1 -1
  630. package/pg-core/columns/uuid.cjs.map +1 -1
  631. package/pg-core/columns/uuid.d.cts +1 -0
  632. package/pg-core/columns/uuid.d.ts +1 -0
  633. package/pg-core/columns/uuid.js.map +1 -1
  634. package/pg-core/columns/varchar.cjs.map +1 -1
  635. package/pg-core/columns/varchar.d.cts +1 -0
  636. package/pg-core/columns/varchar.d.ts +1 -0
  637. package/pg-core/columns/varchar.js.map +1 -1
  638. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  639. package/pg-core/columns/vector_extension/bit.d.cts +1 -0
  640. package/pg-core/columns/vector_extension/bit.d.ts +1 -0
  641. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  642. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  643. package/pg-core/columns/vector_extension/halfvec.d.cts +1 -0
  644. package/pg-core/columns/vector_extension/halfvec.d.ts +1 -0
  645. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  646. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  647. package/pg-core/columns/vector_extension/sparsevec.d.cts +1 -0
  648. package/pg-core/columns/vector_extension/sparsevec.d.ts +1 -0
  649. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  650. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  651. package/pg-core/columns/vector_extension/vector.d.cts +1 -0
  652. package/pg-core/columns/vector_extension/vector.d.ts +1 -0
  653. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  654. package/pg-core/db.cjs +3 -2
  655. package/pg-core/db.cjs.map +1 -1
  656. package/pg-core/db.d.cts +1 -1
  657. package/pg-core/db.d.ts +1 -1
  658. package/pg-core/db.js +3 -2
  659. package/pg-core/db.js.map +1 -1
  660. package/pg-core/foreign-keys.cjs +0 -4
  661. package/pg-core/foreign-keys.cjs.map +1 -1
  662. package/pg-core/foreign-keys.d.cts +0 -2
  663. package/pg-core/foreign-keys.d.ts +0 -2
  664. package/pg-core/foreign-keys.js +0 -4
  665. package/pg-core/foreign-keys.js.map +1 -1
  666. package/pg-core/indexes.cjs +0 -2
  667. package/pg-core/indexes.cjs.map +1 -1
  668. package/pg-core/indexes.d.cts +0 -1
  669. package/pg-core/indexes.d.ts +0 -1
  670. package/pg-core/indexes.js +0 -2
  671. package/pg-core/indexes.js.map +1 -1
  672. package/pg-core/primary-keys.cjs +0 -2
  673. package/pg-core/primary-keys.cjs.map +1 -1
  674. package/pg-core/primary-keys.d.cts +0 -1
  675. package/pg-core/primary-keys.d.ts +0 -1
  676. package/pg-core/primary-keys.js +0 -2
  677. package/pg-core/primary-keys.js.map +1 -1
  678. package/pg-core/query-builders/count.cjs.map +1 -1
  679. package/pg-core/query-builders/count.d.cts +3 -4
  680. package/pg-core/query-builders/count.d.ts +3 -4
  681. package/pg-core/query-builders/count.js.map +1 -1
  682. package/pg-core/query-builders/insert.cjs.map +1 -1
  683. package/pg-core/query-builders/insert.d.cts +9 -6
  684. package/pg-core/query-builders/insert.d.ts +9 -6
  685. package/pg-core/query-builders/insert.js.map +1 -1
  686. package/pg-core/query-builders/query.cjs +9 -5
  687. package/pg-core/query-builders/query.cjs.map +1 -1
  688. package/pg-core/query-builders/query.d.cts +4 -2
  689. package/pg-core/query-builders/query.d.ts +4 -2
  690. package/pg-core/query-builders/query.js +9 -5
  691. package/pg-core/query-builders/query.js.map +1 -1
  692. package/pg-core/query-builders/select.cjs +9 -8
  693. package/pg-core/query-builders/select.cjs.map +1 -1
  694. package/pg-core/query-builders/select.js +4 -4
  695. package/pg-core/query-builders/select.js.map +1 -1
  696. package/pg-core/query-builders/update.cjs +2 -2
  697. package/pg-core/query-builders/update.cjs.map +1 -1
  698. package/pg-core/query-builders/update.d.cts +1 -1
  699. package/pg-core/query-builders/update.d.ts +1 -1
  700. package/pg-core/query-builders/update.js +2 -2
  701. package/pg-core/query-builders/update.js.map +1 -1
  702. package/pg-core/schema.cjs +8 -20
  703. package/pg-core/schema.cjs.map +1 -1
  704. package/pg-core/schema.d.cts +0 -2
  705. package/pg-core/schema.d.ts +0 -2
  706. package/pg-core/schema.js +9 -21
  707. package/pg-core/schema.js.map +1 -1
  708. package/pg-core/session.cjs +2 -2
  709. package/pg-core/session.cjs.map +1 -1
  710. package/pg-core/session.d.cts +1 -1
  711. package/pg-core/session.d.ts +1 -1
  712. package/pg-core/session.js +2 -2
  713. package/pg-core/session.js.map +1 -1
  714. package/pg-core/table.cjs +8 -16
  715. package/pg-core/table.cjs.map +1 -1
  716. package/pg-core/table.d.cts +4 -5
  717. package/pg-core/table.d.ts +4 -5
  718. package/pg-core/table.js +8 -16
  719. package/pg-core/table.js.map +1 -1
  720. package/pg-core/unique-constraint.cjs +0 -2
  721. package/pg-core/unique-constraint.cjs.map +1 -1
  722. package/pg-core/unique-constraint.d.cts +0 -1
  723. package/pg-core/unique-constraint.d.ts +0 -1
  724. package/pg-core/unique-constraint.js +0 -2
  725. package/pg-core/unique-constraint.js.map +1 -1
  726. package/pg-core/utils.cjs +2 -1
  727. package/pg-core/utils.cjs.map +1 -1
  728. package/pg-core/utils.d.cts +1 -1
  729. package/pg-core/utils.d.ts +1 -1
  730. package/pg-core/utils.js +2 -1
  731. package/pg-core/utils.js.map +1 -1
  732. package/pg-core/view-common.cjs +0 -3
  733. package/pg-core/view-common.cjs.map +1 -1
  734. package/pg-core/view-common.d.cts +0 -1
  735. package/pg-core/view-common.d.ts +0 -1
  736. package/pg-core/view-common.js +0 -2
  737. package/pg-core/view-common.js.map +1 -1
  738. package/pg-core/view.cjs +5 -2
  739. package/pg-core/view.cjs.map +1 -1
  740. package/pg-core/view.d.cts +2 -1
  741. package/pg-core/view.d.ts +2 -1
  742. package/pg-core/view.js +3 -1
  743. package/pg-core/view.js.map +1 -1
  744. package/pglite/driver.cjs +14 -10
  745. package/pglite/driver.cjs.map +1 -1
  746. package/pglite/driver.d.cts +3 -3
  747. package/pglite/driver.d.ts +3 -3
  748. package/pglite/driver.js +14 -10
  749. package/pglite/driver.js.map +1 -1
  750. package/planetscale-serverless/driver.cjs +15 -11
  751. package/planetscale-serverless/driver.cjs.map +1 -1
  752. package/planetscale-serverless/driver.d.cts +3 -3
  753. package/planetscale-serverless/driver.d.ts +3 -3
  754. package/planetscale-serverless/driver.js +15 -11
  755. package/planetscale-serverless/driver.js.map +1 -1
  756. package/postgres-js/driver.cjs +14 -10
  757. package/postgres-js/driver.cjs.map +1 -1
  758. package/postgres-js/driver.d.cts +3 -3
  759. package/postgres-js/driver.d.ts +3 -3
  760. package/postgres-js/driver.js +14 -10
  761. package/postgres-js/driver.js.map +1 -1
  762. package/relations.cjs +0 -2
  763. package/relations.cjs.map +1 -1
  764. package/relations.d.cts +3 -3
  765. package/relations.d.ts +3 -3
  766. package/relations.js +1 -3
  767. package/relations.js.map +1 -1
  768. package/singlestore/driver.cjs +26 -19
  769. package/singlestore/driver.cjs.map +1 -1
  770. package/singlestore/driver.d.cts +3 -3
  771. package/singlestore/driver.d.ts +3 -3
  772. package/singlestore/driver.js +26 -19
  773. package/singlestore/driver.js.map +1 -1
  774. package/singlestore/session.cjs.map +1 -1
  775. package/singlestore/session.js.map +1 -1
  776. package/singlestore-core/columns/bigint.cjs.map +1 -1
  777. package/singlestore-core/columns/bigint.d.cts +2 -0
  778. package/singlestore-core/columns/bigint.d.ts +2 -0
  779. package/singlestore-core/columns/bigint.js.map +1 -1
  780. package/singlestore-core/columns/binary.cjs +1 -0
  781. package/singlestore-core/columns/binary.cjs.map +1 -1
  782. package/singlestore-core/columns/binary.d.cts +2 -0
  783. package/singlestore-core/columns/binary.d.ts +2 -0
  784. package/singlestore-core/columns/binary.js +1 -0
  785. package/singlestore-core/columns/binary.js.map +1 -1
  786. package/singlestore-core/columns/boolean.cjs.map +1 -1
  787. package/singlestore-core/columns/boolean.d.cts +1 -0
  788. package/singlestore-core/columns/boolean.d.ts +1 -0
  789. package/singlestore-core/columns/boolean.js.map +1 -1
  790. package/singlestore-core/columns/char.cjs +1 -0
  791. package/singlestore-core/columns/char.cjs.map +1 -1
  792. package/singlestore-core/columns/char.d.cts +2 -0
  793. package/singlestore-core/columns/char.d.ts +2 -0
  794. package/singlestore-core/columns/char.js +1 -0
  795. package/singlestore-core/columns/char.js.map +1 -1
  796. package/singlestore-core/columns/common.cjs +4 -0
  797. package/singlestore-core/columns/common.cjs.map +1 -1
  798. package/singlestore-core/columns/common.d.cts +1 -1
  799. package/singlestore-core/columns/common.d.ts +1 -1
  800. package/singlestore-core/columns/common.js +4 -0
  801. package/singlestore-core/columns/common.js.map +1 -1
  802. package/singlestore-core/columns/custom.cjs.map +1 -1
  803. package/singlestore-core/columns/custom.d.cts +1 -0
  804. package/singlestore-core/columns/custom.d.ts +1 -0
  805. package/singlestore-core/columns/custom.js.map +1 -1
  806. package/singlestore-core/columns/date.cjs.map +1 -1
  807. package/singlestore-core/columns/date.d.cts +2 -0
  808. package/singlestore-core/columns/date.d.ts +2 -0
  809. package/singlestore-core/columns/date.js.map +1 -1
  810. package/singlestore-core/columns/datetime.cjs.map +1 -1
  811. package/singlestore-core/columns/datetime.d.cts +2 -0
  812. package/singlestore-core/columns/datetime.d.ts +2 -0
  813. package/singlestore-core/columns/datetime.js.map +1 -1
  814. package/singlestore-core/columns/decimal.cjs.map +1 -1
  815. package/singlestore-core/columns/decimal.d.cts +3 -0
  816. package/singlestore-core/columns/decimal.d.ts +3 -0
  817. package/singlestore-core/columns/decimal.js.map +1 -1
  818. package/singlestore-core/columns/double.cjs.map +1 -1
  819. package/singlestore-core/columns/double.d.cts +1 -0
  820. package/singlestore-core/columns/double.d.ts +1 -0
  821. package/singlestore-core/columns/double.js.map +1 -1
  822. package/singlestore-core/columns/enum.cjs.map +1 -1
  823. package/singlestore-core/columns/enum.d.cts +1 -0
  824. package/singlestore-core/columns/enum.d.ts +1 -0
  825. package/singlestore-core/columns/enum.js.map +1 -1
  826. package/singlestore-core/columns/float.cjs.map +1 -1
  827. package/singlestore-core/columns/float.d.cts +1 -0
  828. package/singlestore-core/columns/float.d.ts +1 -0
  829. package/singlestore-core/columns/float.js.map +1 -1
  830. package/singlestore-core/columns/int.cjs.map +1 -1
  831. package/singlestore-core/columns/int.d.cts +1 -0
  832. package/singlestore-core/columns/int.d.ts +1 -0
  833. package/singlestore-core/columns/int.js.map +1 -1
  834. package/singlestore-core/columns/json.cjs.map +1 -1
  835. package/singlestore-core/columns/json.d.cts +1 -0
  836. package/singlestore-core/columns/json.d.ts +1 -0
  837. package/singlestore-core/columns/json.js.map +1 -1
  838. package/singlestore-core/columns/mediumint.cjs.map +1 -1
  839. package/singlestore-core/columns/mediumint.d.cts +1 -0
  840. package/singlestore-core/columns/mediumint.d.ts +1 -0
  841. package/singlestore-core/columns/mediumint.js.map +1 -1
  842. package/singlestore-core/columns/real.cjs.map +1 -1
  843. package/singlestore-core/columns/real.d.cts +1 -0
  844. package/singlestore-core/columns/real.d.ts +1 -0
  845. package/singlestore-core/columns/real.js.map +1 -1
  846. package/singlestore-core/columns/serial.cjs.map +1 -1
  847. package/singlestore-core/columns/serial.d.cts +1 -0
  848. package/singlestore-core/columns/serial.d.ts +1 -0
  849. package/singlestore-core/columns/serial.js.map +1 -1
  850. package/singlestore-core/columns/smallint.cjs.map +1 -1
  851. package/singlestore-core/columns/smallint.d.cts +1 -0
  852. package/singlestore-core/columns/smallint.d.ts +1 -0
  853. package/singlestore-core/columns/smallint.js.map +1 -1
  854. package/singlestore-core/columns/text.cjs.map +1 -1
  855. package/singlestore-core/columns/text.d.cts +1 -0
  856. package/singlestore-core/columns/text.d.ts +1 -0
  857. package/singlestore-core/columns/text.js.map +1 -1
  858. package/singlestore-core/columns/time.cjs.map +1 -1
  859. package/singlestore-core/columns/time.d.cts +1 -0
  860. package/singlestore-core/columns/time.d.ts +1 -0
  861. package/singlestore-core/columns/time.js.map +1 -1
  862. package/singlestore-core/columns/timestamp.cjs.map +1 -1
  863. package/singlestore-core/columns/timestamp.d.cts +2 -0
  864. package/singlestore-core/columns/timestamp.d.ts +2 -0
  865. package/singlestore-core/columns/timestamp.js.map +1 -1
  866. package/singlestore-core/columns/tinyint.cjs.map +1 -1
  867. package/singlestore-core/columns/tinyint.d.cts +1 -0
  868. package/singlestore-core/columns/tinyint.d.ts +1 -0
  869. package/singlestore-core/columns/tinyint.js.map +1 -1
  870. package/singlestore-core/columns/varbinary.cjs.map +1 -1
  871. package/singlestore-core/columns/varbinary.d.cts +1 -0
  872. package/singlestore-core/columns/varbinary.d.ts +1 -0
  873. package/singlestore-core/columns/varbinary.js.map +1 -1
  874. package/singlestore-core/columns/varchar.cjs.map +1 -1
  875. package/singlestore-core/columns/varchar.d.cts +1 -0
  876. package/singlestore-core/columns/varchar.d.ts +1 -0
  877. package/singlestore-core/columns/varchar.js.map +1 -1
  878. package/singlestore-core/columns/vector.cjs.map +1 -1
  879. package/singlestore-core/columns/vector.d.cts +2 -0
  880. package/singlestore-core/columns/vector.d.ts +2 -0
  881. package/singlestore-core/columns/vector.js.map +1 -1
  882. package/singlestore-core/columns/year.cjs.map +1 -1
  883. package/singlestore-core/columns/year.d.cts +1 -0
  884. package/singlestore-core/columns/year.d.ts +1 -0
  885. package/singlestore-core/columns/year.js.map +1 -1
  886. package/singlestore-core/indexes.cjs +0 -2
  887. package/singlestore-core/indexes.cjs.map +1 -1
  888. package/singlestore-core/indexes.d.cts +0 -1
  889. package/singlestore-core/indexes.d.ts +0 -1
  890. package/singlestore-core/indexes.js +0 -2
  891. package/singlestore-core/indexes.js.map +1 -1
  892. package/singlestore-core/primary-keys.cjs +0 -2
  893. package/singlestore-core/primary-keys.cjs.map +1 -1
  894. package/singlestore-core/primary-keys.d.cts +0 -1
  895. package/singlestore-core/primary-keys.d.ts +0 -1
  896. package/singlestore-core/primary-keys.js +0 -2
  897. package/singlestore-core/primary-keys.js.map +1 -1
  898. package/singlestore-core/query-builders/count.cjs.map +1 -1
  899. package/singlestore-core/query-builders/count.d.cts +1 -1
  900. package/singlestore-core/query-builders/count.d.ts +1 -1
  901. package/singlestore-core/query-builders/count.js.map +1 -1
  902. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  903. package/singlestore-core/query-builders/insert.d.cts +1 -1
  904. package/singlestore-core/query-builders/insert.d.ts +1 -1
  905. package/singlestore-core/query-builders/insert.js.map +1 -1
  906. package/singlestore-core/query-builders/select.cjs +2 -2
  907. package/singlestore-core/query-builders/select.cjs.map +1 -1
  908. package/singlestore-core/query-builders/select.js +2 -2
  909. package/singlestore-core/query-builders/select.js.map +1 -1
  910. package/singlestore-core/query-builders/update.cjs.map +1 -1
  911. package/singlestore-core/query-builders/update.d.cts +1 -1
  912. package/singlestore-core/query-builders/update.d.ts +1 -1
  913. package/singlestore-core/query-builders/update.js.map +1 -1
  914. package/singlestore-core/unique-constraint.cjs +0 -2
  915. package/singlestore-core/unique-constraint.cjs.map +1 -1
  916. package/singlestore-core/unique-constraint.d.cts +2 -3
  917. package/singlestore-core/unique-constraint.d.ts +2 -3
  918. package/singlestore-core/unique-constraint.js +0 -2
  919. package/singlestore-core/unique-constraint.js.map +1 -1
  920. package/sql/sql.cjs +9 -10
  921. package/sql/sql.cjs.map +1 -1
  922. package/sql/sql.d.cts +3 -3
  923. package/sql/sql.d.ts +3 -3
  924. package/sql/sql.js +9 -10
  925. package/sql/sql.js.map +1 -1
  926. package/sql-js/session.cjs.map +1 -1
  927. package/sql-js/session.js.map +1 -1
  928. package/{cockroach → sqlite-cloud}/driver.cjs +39 -34
  929. package/sqlite-cloud/driver.cjs.map +1 -0
  930. package/sqlite-cloud/driver.d.cts +33 -0
  931. package/sqlite-cloud/driver.d.ts +33 -0
  932. package/sqlite-cloud/driver.js +78 -0
  933. package/sqlite-cloud/driver.js.map +1 -0
  934. package/{node-mssql → sqlite-cloud}/index.cjs +4 -4
  935. package/sqlite-cloud/index.cjs.map +1 -0
  936. package/sqlite-cloud/index.js.map +1 -0
  937. package/sqlite-cloud/migrator.cjs +69 -0
  938. package/sqlite-cloud/migrator.cjs.map +1 -0
  939. package/sqlite-cloud/migrator.d.cts +4 -0
  940. package/sqlite-cloud/migrator.d.ts +4 -0
  941. package/sqlite-cloud/migrator.js +45 -0
  942. package/sqlite-cloud/migrator.js.map +1 -0
  943. package/sqlite-cloud/session.cjs +254 -0
  944. package/sqlite-cloud/session.cjs.map +1 -0
  945. package/sqlite-cloud/session.d.cts +70 -0
  946. package/sqlite-cloud/session.d.ts +70 -0
  947. package/sqlite-cloud/session.js +228 -0
  948. package/sqlite-cloud/session.js.map +1 -0
  949. package/sqlite-core/columns/blob.cjs.map +1 -1
  950. package/sqlite-core/columns/blob.d.cts +3 -0
  951. package/sqlite-core/columns/blob.d.ts +3 -0
  952. package/sqlite-core/columns/blob.js.map +1 -1
  953. package/sqlite-core/columns/common.cjs +4 -0
  954. package/sqlite-core/columns/common.cjs.map +1 -1
  955. package/sqlite-core/columns/common.js +4 -0
  956. package/sqlite-core/columns/common.js.map +1 -1
  957. package/sqlite-core/columns/custom.cjs.map +1 -1
  958. package/sqlite-core/columns/custom.d.cts +1 -0
  959. package/sqlite-core/columns/custom.d.ts +1 -0
  960. package/sqlite-core/columns/custom.js.map +1 -1
  961. package/sqlite-core/columns/integer.cjs.map +1 -1
  962. package/sqlite-core/columns/integer.d.cts +3 -0
  963. package/sqlite-core/columns/integer.d.ts +3 -0
  964. package/sqlite-core/columns/integer.js.map +1 -1
  965. package/sqlite-core/columns/numeric.cjs.map +1 -1
  966. package/sqlite-core/columns/numeric.d.cts +3 -0
  967. package/sqlite-core/columns/numeric.d.ts +3 -0
  968. package/sqlite-core/columns/numeric.js.map +1 -1
  969. package/sqlite-core/columns/real.cjs.map +1 -1
  970. package/sqlite-core/columns/real.d.cts +1 -0
  971. package/sqlite-core/columns/real.d.ts +1 -0
  972. package/sqlite-core/columns/real.js.map +1 -1
  973. package/sqlite-core/columns/text.cjs.map +1 -1
  974. package/sqlite-core/columns/text.d.cts +2 -0
  975. package/sqlite-core/columns/text.d.ts +2 -0
  976. package/sqlite-core/columns/text.js.map +1 -1
  977. package/sqlite-core/foreign-keys.cjs +0 -3
  978. package/sqlite-core/foreign-keys.cjs.map +1 -1
  979. package/sqlite-core/foreign-keys.d.cts +14 -1
  980. package/sqlite-core/foreign-keys.d.ts +14 -1
  981. package/sqlite-core/foreign-keys.js +0 -3
  982. package/sqlite-core/foreign-keys.js.map +1 -1
  983. package/sqlite-core/indexes.cjs +0 -2
  984. package/sqlite-core/indexes.cjs.map +1 -1
  985. package/sqlite-core/indexes.d.cts +0 -1
  986. package/sqlite-core/indexes.d.ts +0 -1
  987. package/sqlite-core/indexes.js +0 -2
  988. package/sqlite-core/indexes.js.map +1 -1
  989. package/sqlite-core/primary-keys.cjs +0 -2
  990. package/sqlite-core/primary-keys.cjs.map +1 -1
  991. package/sqlite-core/primary-keys.d.cts +0 -1
  992. package/sqlite-core/primary-keys.d.ts +0 -1
  993. package/sqlite-core/primary-keys.js +0 -2
  994. package/sqlite-core/primary-keys.js.map +1 -1
  995. package/sqlite-core/query-builders/count.cjs.map +1 -1
  996. package/sqlite-core/query-builders/count.d.cts +1 -1
  997. package/sqlite-core/query-builders/count.d.ts +1 -1
  998. package/sqlite-core/query-builders/count.js.map +1 -1
  999. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  1000. package/sqlite-core/query-builders/insert.d.cts +2 -2
  1001. package/sqlite-core/query-builders/insert.d.ts +2 -2
  1002. package/sqlite-core/query-builders/insert.js.map +1 -1
  1003. package/sqlite-core/query-builders/update.cjs +2 -2
  1004. package/sqlite-core/query-builders/update.cjs.map +1 -1
  1005. package/sqlite-core/query-builders/update.d.cts +1 -1
  1006. package/sqlite-core/query-builders/update.d.ts +1 -1
  1007. package/sqlite-core/query-builders/update.js +2 -2
  1008. package/sqlite-core/query-builders/update.js.map +1 -1
  1009. package/sqlite-core/unique-constraint.cjs +0 -2
  1010. package/sqlite-core/unique-constraint.cjs.map +1 -1
  1011. package/sqlite-core/unique-constraint.d.cts +2 -3
  1012. package/sqlite-core/unique-constraint.d.ts +2 -3
  1013. package/sqlite-core/unique-constraint.js +0 -2
  1014. package/sqlite-core/unique-constraint.js.map +1 -1
  1015. package/sqlite-proxy/session.cjs +1 -0
  1016. package/sqlite-proxy/session.cjs.map +1 -1
  1017. package/sqlite-proxy/session.js +1 -0
  1018. package/sqlite-proxy/session.js.map +1 -1
  1019. package/table.cjs +1 -0
  1020. package/table.cjs.map +1 -1
  1021. package/table.d.cts +3 -2
  1022. package/table.d.ts +3 -2
  1023. package/table.js +1 -0
  1024. package/table.js.map +1 -1
  1025. package/tidb-serverless/driver.cjs +12 -8
  1026. package/tidb-serverless/driver.cjs.map +1 -1
  1027. package/tidb-serverless/driver.d.cts +3 -3
  1028. package/tidb-serverless/driver.d.ts +3 -3
  1029. package/tidb-serverless/driver.js +12 -8
  1030. package/tidb-serverless/driver.js.map +1 -1
  1031. package/tracing.cjs +3 -3
  1032. package/tracing.cjs.map +1 -1
  1033. package/tracing.js +3 -3
  1034. package/tracing.js.map +1 -1
  1035. package/tursodatabase/database.cjs +10 -6
  1036. package/tursodatabase/database.cjs.map +1 -1
  1037. package/tursodatabase/database.d.cts +3 -3
  1038. package/tursodatabase/database.d.ts +3 -3
  1039. package/tursodatabase/database.js +10 -6
  1040. package/tursodatabase/database.js.map +1 -1
  1041. package/tursodatabase/session.cjs +2 -0
  1042. package/tursodatabase/session.cjs.map +1 -1
  1043. package/tursodatabase/session.js +2 -0
  1044. package/tursodatabase/session.js.map +1 -1
  1045. package/tursodatabase/wasm.cjs +10 -6
  1046. package/tursodatabase/wasm.cjs.map +1 -1
  1047. package/tursodatabase/wasm.d.cts +3 -3
  1048. package/tursodatabase/wasm.d.ts +3 -3
  1049. package/tursodatabase/wasm.js +10 -6
  1050. package/tursodatabase/wasm.js.map +1 -1
  1051. package/vercel-postgres/session.cjs.map +1 -1
  1052. package/vercel-postgres/session.js.map +1 -1
  1053. package/version.cjs +2 -2
  1054. package/version.cjs.map +1 -1
  1055. package/version.d.cts +2 -2
  1056. package/version.d.ts +2 -2
  1057. package/version.js +2 -2
  1058. package/version.js.map +1 -1
  1059. package/cockroach/driver.cjs.map +0 -1
  1060. package/cockroach/driver.d.cts +0 -42
  1061. package/cockroach/driver.d.ts +0 -42
  1062. package/cockroach/driver.js +0 -73
  1063. package/cockroach/driver.js.map +0 -1
  1064. package/cockroach/index.cjs +0 -25
  1065. package/cockroach/index.cjs.map +0 -1
  1066. package/cockroach/index.js.map +0 -1
  1067. package/cockroach/migrator.cjs +0 -33
  1068. package/cockroach/migrator.cjs.map +0 -1
  1069. package/cockroach/migrator.d.cts +0 -3
  1070. package/cockroach/migrator.d.ts +0 -3
  1071. package/cockroach/migrator.js +0 -9
  1072. package/cockroach/migrator.js.map +0 -1
  1073. package/cockroach/session.cjs +0 -253
  1074. package/cockroach/session.cjs.map +0 -1
  1075. package/cockroach/session.d.cts +0 -48
  1076. package/cockroach/session.d.ts +0 -48
  1077. package/cockroach/session.js +0 -217
  1078. package/cockroach/session.js.map +0 -1
  1079. package/cockroach-core/alias.cjs +0 -32
  1080. package/cockroach-core/alias.cjs.map +0 -1
  1081. package/cockroach-core/alias.d.cts +0 -4
  1082. package/cockroach-core/alias.d.ts +0 -4
  1083. package/cockroach-core/alias.js +0 -8
  1084. package/cockroach-core/alias.js.map +0 -1
  1085. package/cockroach-core/checks.cjs +0 -58
  1086. package/cockroach-core/checks.cjs.map +0 -1
  1087. package/cockroach-core/checks.d.cts +0 -18
  1088. package/cockroach-core/checks.d.ts +0 -18
  1089. package/cockroach-core/checks.js +0 -32
  1090. package/cockroach-core/checks.js.map +0 -1
  1091. package/cockroach-core/columns/all.cjs +0 -81
  1092. package/cockroach-core/columns/all.cjs.map +0 -1
  1093. package/cockroach-core/columns/all.d.cts +0 -52
  1094. package/cockroach-core/columns/all.d.ts +0 -52
  1095. package/cockroach-core/columns/all.js +0 -57
  1096. package/cockroach-core/columns/all.js.map +0 -1
  1097. package/cockroach-core/columns/bigint.cjs +0 -104
  1098. package/cockroach-core/columns/bigint.cjs.map +0 -1
  1099. package/cockroach-core/columns/bigint.d.cts +0 -37
  1100. package/cockroach-core/columns/bigint.d.ts +0 -37
  1101. package/cockroach-core/columns/bigint.js +0 -75
  1102. package/cockroach-core/columns/bigint.js.map +0 -1
  1103. package/cockroach-core/columns/bit.cjs +0 -61
  1104. package/cockroach-core/columns/bit.cjs.map +0 -1
  1105. package/cockroach-core/columns/bit.d.cts +0 -29
  1106. package/cockroach-core/columns/bit.d.ts +0 -29
  1107. package/cockroach-core/columns/bit.js +0 -35
  1108. package/cockroach-core/columns/bit.js.map +0 -1
  1109. package/cockroach-core/columns/bool.cjs +0 -59
  1110. package/cockroach-core/columns/bool.cjs.map +0 -1
  1111. package/cockroach-core/columns/bool.d.cts +0 -17
  1112. package/cockroach-core/columns/bool.d.ts +0 -17
  1113. package/cockroach-core/columns/bool.js +0 -32
  1114. package/cockroach-core/columns/bool.js.map +0 -1
  1115. package/cockroach-core/columns/char.cjs +0 -62
  1116. package/cockroach-core/columns/char.cjs.map +0 -1
  1117. package/cockroach-core/columns/char.d.cts +0 -31
  1118. package/cockroach-core/columns/char.d.ts +0 -31
  1119. package/cockroach-core/columns/char.js +0 -36
  1120. package/cockroach-core/columns/char.js.map +0 -1
  1121. package/cockroach-core/columns/common.cjs +0 -198
  1122. package/cockroach-core/columns/common.cjs.map +0 -1
  1123. package/cockroach-core/columns/common.d.cts +0 -98
  1124. package/cockroach-core/columns/common.d.ts +0 -98
  1125. package/cockroach-core/columns/common.js +0 -168
  1126. package/cockroach-core/columns/common.js.map +0 -1
  1127. package/cockroach-core/columns/custom.cjs +0 -102
  1128. package/cockroach-core/columns/custom.cjs.map +0 -1
  1129. package/cockroach-core/columns/custom.d.cts +0 -261
  1130. package/cockroach-core/columns/custom.d.ts +0 -261
  1131. package/cockroach-core/columns/custom.js +0 -76
  1132. package/cockroach-core/columns/custom.js.map +0 -1
  1133. package/cockroach-core/columns/date.cjs +0 -91
  1134. package/cockroach-core/columns/date.cjs.map +0 -1
  1135. package/cockroach-core/columns/date.common.cjs +0 -37
  1136. package/cockroach-core/columns/date.common.cjs.map +0 -1
  1137. package/cockroach-core/columns/date.common.d.cts +0 -7
  1138. package/cockroach-core/columns/date.common.d.ts +0 -7
  1139. package/cockroach-core/columns/date.common.js +0 -13
  1140. package/cockroach-core/columns/date.common.js.map +0 -1
  1141. package/cockroach-core/columns/date.d.cts +0 -36
  1142. package/cockroach-core/columns/date.d.ts +0 -36
  1143. package/cockroach-core/columns/date.js +0 -63
  1144. package/cockroach-core/columns/date.js.map +0 -1
  1145. package/cockroach-core/columns/decimal.cjs +0 -164
  1146. package/cockroach-core/columns/decimal.cjs.map +0 -1
  1147. package/cockroach-core/columns/decimal.d.cts +0 -80
  1148. package/cockroach-core/columns/decimal.d.ts +0 -80
  1149. package/cockroach-core/columns/decimal.js +0 -133
  1150. package/cockroach-core/columns/decimal.js.map +0 -1
  1151. package/cockroach-core/columns/enum.cjs +0 -127
  1152. package/cockroach-core/columns/enum.cjs.map +0 -1
  1153. package/cockroach-core/columns/enum.d.cts +0 -64
  1154. package/cockroach-core/columns/enum.d.ts +0 -64
  1155. package/cockroach-core/columns/enum.js +0 -96
  1156. package/cockroach-core/columns/enum.js.map +0 -1
  1157. package/cockroach-core/columns/float.cjs +0 -65
  1158. package/cockroach-core/columns/float.cjs.map +0 -1
  1159. package/cockroach-core/columns/float.d.cts +0 -18
  1160. package/cockroach-core/columns/float.d.ts +0 -18
  1161. package/cockroach-core/columns/float.js +0 -38
  1162. package/cockroach-core/columns/float.js.map +0 -1
  1163. package/cockroach-core/columns/geometry.cjs +0 -105
  1164. package/cockroach-core/columns/geometry.cjs.map +0 -1
  1165. package/cockroach-core/columns/geometry.d.cts +0 -60
  1166. package/cockroach-core/columns/geometry.d.ts +0 -60
  1167. package/cockroach-core/columns/geometry.js +0 -77
  1168. package/cockroach-core/columns/geometry.js.map +0 -1
  1169. package/cockroach-core/columns/index.cjs +0 -71
  1170. package/cockroach-core/columns/index.cjs.map +0 -1
  1171. package/cockroach-core/columns/index.d.cts +0 -25
  1172. package/cockroach-core/columns/index.d.ts +0 -25
  1173. package/cockroach-core/columns/index.js +0 -26
  1174. package/cockroach-core/columns/index.js.map +0 -1
  1175. package/cockroach-core/columns/inet.cjs +0 -56
  1176. package/cockroach-core/columns/inet.cjs.map +0 -1
  1177. package/cockroach-core/columns/inet.d.cts +0 -16
  1178. package/cockroach-core/columns/inet.d.ts +0 -16
  1179. package/cockroach-core/columns/inet.js +0 -30
  1180. package/cockroach-core/columns/inet.js.map +0 -1
  1181. package/cockroach-core/columns/int.common.cjs +0 -55
  1182. package/cockroach-core/columns/int.common.cjs.map +0 -1
  1183. package/cockroach-core/columns/int.common.d.cts +0 -11
  1184. package/cockroach-core/columns/int.common.d.ts +0 -11
  1185. package/cockroach-core/columns/int.common.js +0 -31
  1186. package/cockroach-core/columns/int.common.js.map +0 -1
  1187. package/cockroach-core/columns/integer.cjs +0 -63
  1188. package/cockroach-core/columns/integer.cjs.map +0 -1
  1189. package/cockroach-core/columns/integer.d.cts +0 -18
  1190. package/cockroach-core/columns/integer.d.ts +0 -18
  1191. package/cockroach-core/columns/integer.js +0 -37
  1192. package/cockroach-core/columns/integer.js.map +0 -1
  1193. package/cockroach-core/columns/interval.cjs +0 -63
  1194. package/cockroach-core/columns/interval.cjs.map +0 -1
  1195. package/cockroach-core/columns/interval.d.cts +0 -28
  1196. package/cockroach-core/columns/interval.d.ts +0 -28
  1197. package/cockroach-core/columns/interval.js +0 -37
  1198. package/cockroach-core/columns/interval.js.map +0 -1
  1199. package/cockroach-core/columns/jsonb.cjs +0 -72
  1200. package/cockroach-core/columns/jsonb.cjs.map +0 -1
  1201. package/cockroach-core/columns/jsonb.d.cts +0 -20
  1202. package/cockroach-core/columns/jsonb.d.ts +0 -20
  1203. package/cockroach-core/columns/jsonb.js +0 -46
  1204. package/cockroach-core/columns/jsonb.js.map +0 -1
  1205. package/cockroach-core/columns/real.cjs +0 -66
  1206. package/cockroach-core/columns/real.cjs.map +0 -1
  1207. package/cockroach-core/columns/real.d.cts +0 -21
  1208. package/cockroach-core/columns/real.d.ts +0 -21
  1209. package/cockroach-core/columns/real.js +0 -40
  1210. package/cockroach-core/columns/real.js.map +0 -1
  1211. package/cockroach-core/columns/smallint.cjs +0 -68
  1212. package/cockroach-core/columns/smallint.cjs.map +0 -1
  1213. package/cockroach-core/columns/smallint.d.cts +0 -19
  1214. package/cockroach-core/columns/smallint.d.ts +0 -19
  1215. package/cockroach-core/columns/smallint.js +0 -41
  1216. package/cockroach-core/columns/smallint.js.map +0 -1
  1217. package/cockroach-core/columns/string.cjs +0 -67
  1218. package/cockroach-core/columns/string.cjs.map +0 -1
  1219. package/cockroach-core/columns/string.d.cts +0 -36
  1220. package/cockroach-core/columns/string.d.ts +0 -36
  1221. package/cockroach-core/columns/string.js +0 -40
  1222. package/cockroach-core/columns/string.js.map +0 -1
  1223. package/cockroach-core/columns/time.cjs +0 -70
  1224. package/cockroach-core/columns/time.cjs.map +0 -1
  1225. package/cockroach-core/columns/time.d.cts +0 -31
  1226. package/cockroach-core/columns/time.d.ts +0 -31
  1227. package/cockroach-core/columns/time.js +0 -44
  1228. package/cockroach-core/columns/time.js.map +0 -1
  1229. package/cockroach-core/columns/timestamp.cjs +0 -111
  1230. package/cockroach-core/columns/timestamp.cjs.map +0 -1
  1231. package/cockroach-core/columns/timestamp.d.cts +0 -52
  1232. package/cockroach-core/columns/timestamp.d.ts +0 -52
  1233. package/cockroach-core/columns/timestamp.js +0 -83
  1234. package/cockroach-core/columns/timestamp.js.map +0 -1
  1235. package/cockroach-core/columns/utils.cjs +0 -65
  1236. package/cockroach-core/columns/utils.cjs.map +0 -1
  1237. package/cockroach-core/columns/utils.d.cts +0 -4
  1238. package/cockroach-core/columns/utils.d.ts +0 -4
  1239. package/cockroach-core/columns/utils.js +0 -41
  1240. package/cockroach-core/columns/utils.js.map +0 -1
  1241. package/cockroach-core/columns/uuid.cjs +0 -63
  1242. package/cockroach-core/columns/uuid.cjs.map +0 -1
  1243. package/cockroach-core/columns/uuid.d.cts +0 -20
  1244. package/cockroach-core/columns/uuid.d.ts +0 -20
  1245. package/cockroach-core/columns/uuid.js +0 -37
  1246. package/cockroach-core/columns/uuid.js.map +0 -1
  1247. package/cockroach-core/columns/varbit.cjs +0 -59
  1248. package/cockroach-core/columns/varbit.cjs.map +0 -1
  1249. package/cockroach-core/columns/varbit.d.cts +0 -24
  1250. package/cockroach-core/columns/varbit.d.ts +0 -24
  1251. package/cockroach-core/columns/varbit.js +0 -33
  1252. package/cockroach-core/columns/varbit.js.map +0 -1
  1253. package/cockroach-core/columns/varchar.cjs +0 -61
  1254. package/cockroach-core/columns/varchar.cjs.map +0 -1
  1255. package/cockroach-core/columns/varchar.d.cts +0 -30
  1256. package/cockroach-core/columns/varchar.d.ts +0 -30
  1257. package/cockroach-core/columns/varchar.js +0 -35
  1258. package/cockroach-core/columns/varchar.js.map +0 -1
  1259. package/cockroach-core/columns/vector.cjs +0 -65
  1260. package/cockroach-core/columns/vector.cjs.map +0 -1
  1261. package/cockroach-core/columns/vector.d.cts +0 -26
  1262. package/cockroach-core/columns/vector.d.ts +0 -26
  1263. package/cockroach-core/columns/vector.js +0 -39
  1264. package/cockroach-core/columns/vector.js.map +0 -1
  1265. package/cockroach-core/db.cjs +0 -346
  1266. package/cockroach-core/db.cjs.map +0 -1
  1267. package/cockroach-core/db.d.cts +0 -282
  1268. package/cockroach-core/db.d.ts +0 -282
  1269. package/cockroach-core/db.js +0 -327
  1270. package/cockroach-core/db.js.map +0 -1
  1271. package/cockroach-core/dialect.cjs +0 -1146
  1272. package/cockroach-core/dialect.cjs.map +0 -1
  1273. package/cockroach-core/dialect.d.cts +0 -65
  1274. package/cockroach-core/dialect.d.ts +0 -65
  1275. package/cockroach-core/dialect.js +0 -1126
  1276. package/cockroach-core/dialect.js.map +0 -1
  1277. package/cockroach-core/expressions.cjs +0 -49
  1278. package/cockroach-core/expressions.cjs.map +0 -1
  1279. package/cockroach-core/expressions.d.cts +0 -8
  1280. package/cockroach-core/expressions.d.ts +0 -8
  1281. package/cockroach-core/expressions.js +0 -22
  1282. package/cockroach-core/expressions.js.map +0 -1
  1283. package/cockroach-core/foreign-keys.cjs +0 -95
  1284. package/cockroach-core/foreign-keys.cjs.map +0 -1
  1285. package/cockroach-core/foreign-keys.d.cts +0 -53
  1286. package/cockroach-core/foreign-keys.d.ts +0 -53
  1287. package/cockroach-core/foreign-keys.js +0 -69
  1288. package/cockroach-core/foreign-keys.js.map +0 -1
  1289. package/cockroach-core/index.cjs +0 -61
  1290. package/cockroach-core/index.cjs.map +0 -1
  1291. package/cockroach-core/index.d.cts +0 -20
  1292. package/cockroach-core/index.d.ts +0 -20
  1293. package/cockroach-core/index.js +0 -21
  1294. package/cockroach-core/index.js.map +0 -1
  1295. package/cockroach-core/indexes.cjs +0 -139
  1296. package/cockroach-core/indexes.cjs.map +0 -1
  1297. package/cockroach-core/indexes.d.cts +0 -65
  1298. package/cockroach-core/indexes.d.ts +0 -65
  1299. package/cockroach-core/indexes.js +0 -111
  1300. package/cockroach-core/indexes.js.map +0 -1
  1301. package/cockroach-core/policies.cjs +0 -58
  1302. package/cockroach-core/policies.cjs.map +0 -1
  1303. package/cockroach-core/policies.d.cts +0 -24
  1304. package/cockroach-core/policies.d.ts +0 -24
  1305. package/cockroach-core/policies.js +0 -33
  1306. package/cockroach-core/policies.js.map +0 -1
  1307. package/cockroach-core/primary-keys.cjs +0 -66
  1308. package/cockroach-core/primary-keys.cjs.map +0 -1
  1309. package/cockroach-core/primary-keys.d.cts +0 -24
  1310. package/cockroach-core/primary-keys.d.ts +0 -24
  1311. package/cockroach-core/primary-keys.js +0 -40
  1312. package/cockroach-core/primary-keys.js.map +0 -1
  1313. package/cockroach-core/query-builders/count.cjs +0 -79
  1314. package/cockroach-core/query-builders/count.cjs.map +0 -1
  1315. package/cockroach-core/query-builders/count.d.cts +0 -30
  1316. package/cockroach-core/query-builders/count.d.ts +0 -30
  1317. package/cockroach-core/query-builders/count.js +0 -55
  1318. package/cockroach-core/query-builders/count.js.map +0 -1
  1319. package/cockroach-core/query-builders/delete.cjs +0 -124
  1320. package/cockroach-core/query-builders/delete.cjs.map +0 -1
  1321. package/cockroach-core/query-builders/delete.d.cts +0 -103
  1322. package/cockroach-core/query-builders/delete.d.ts +0 -103
  1323. package/cockroach-core/query-builders/delete.js +0 -100
  1324. package/cockroach-core/query-builders/delete.js.map +0 -1
  1325. package/cockroach-core/query-builders/index.cjs +0 -35
  1326. package/cockroach-core/query-builders/index.cjs.map +0 -1
  1327. package/cockroach-core/query-builders/index.d.cts +0 -7
  1328. package/cockroach-core/query-builders/index.d.ts +0 -7
  1329. package/cockroach-core/query-builders/index.js +0 -8
  1330. package/cockroach-core/query-builders/index.js.map +0 -1
  1331. package/cockroach-core/query-builders/insert.cjs +0 -213
  1332. package/cockroach-core/query-builders/insert.cjs.map +0 -1
  1333. package/cockroach-core/query-builders/insert.d.cts +0 -168
  1334. package/cockroach-core/query-builders/insert.d.ts +0 -168
  1335. package/cockroach-core/query-builders/insert.js +0 -188
  1336. package/cockroach-core/query-builders/insert.js.map +0 -1
  1337. package/cockroach-core/query-builders/query-builder.cjs +0 -118
  1338. package/cockroach-core/query-builders/query-builder.cjs.map +0 -1
  1339. package/cockroach-core/query-builders/query-builder.d.cts +0 -37
  1340. package/cockroach-core/query-builders/query-builder.d.ts +0 -37
  1341. package/cockroach-core/query-builders/query-builder.js +0 -94
  1342. package/cockroach-core/query-builders/query-builder.js.map +0 -1
  1343. package/cockroach-core/query-builders/query.cjs +0 -145
  1344. package/cockroach-core/query-builders/query.cjs.map +0 -1
  1345. package/cockroach-core/query-builders/query.d.cts +0 -47
  1346. package/cockroach-core/query-builders/query.d.ts +0 -47
  1347. package/cockroach-core/query-builders/query.js +0 -122
  1348. package/cockroach-core/query-builders/query.js.map +0 -1
  1349. package/cockroach-core/query-builders/raw.cjs +0 -57
  1350. package/cockroach-core/query-builders/raw.cjs.map +0 -1
  1351. package/cockroach-core/query-builders/raw.d.cts +0 -22
  1352. package/cockroach-core/query-builders/raw.d.ts +0 -22
  1353. package/cockroach-core/query-builders/raw.js +0 -33
  1354. package/cockroach-core/query-builders/raw.js.map +0 -1
  1355. package/cockroach-core/query-builders/refresh-materialized-view.cjs +0 -83
  1356. package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +0 -1
  1357. package/cockroach-core/query-builders/refresh-materialized-view.d.cts +0 -28
  1358. package/cockroach-core/query-builders/refresh-materialized-view.d.ts +0 -28
  1359. package/cockroach-core/query-builders/refresh-materialized-view.js +0 -59
  1360. package/cockroach-core/query-builders/refresh-materialized-view.js.map +0 -1
  1361. package/cockroach-core/query-builders/select.cjs +0 -847
  1362. package/cockroach-core/query-builders/select.cjs.map +0 -1
  1363. package/cockroach-core/query-builders/select.d.cts +0 -787
  1364. package/cockroach-core/query-builders/select.d.ts +0 -787
  1365. package/cockroach-core/query-builders/select.js +0 -821
  1366. package/cockroach-core/query-builders/select.js.map +0 -1
  1367. package/cockroach-core/query-builders/select.types.cjs +0 -17
  1368. package/cockroach-core/query-builders/select.types.cjs.map +0 -1
  1369. package/cockroach-core/query-builders/select.types.d.cts +0 -140
  1370. package/cockroach-core/query-builders/select.types.d.ts +0 -140
  1371. package/cockroach-core/query-builders/select.types.js +0 -1
  1372. package/cockroach-core/query-builders/select.types.js.map +0 -1
  1373. package/cockroach-core/query-builders/update.cjs +0 -240
  1374. package/cockroach-core/query-builders/update.cjs.map +0 -1
  1375. package/cockroach-core/query-builders/update.d.cts +0 -170
  1376. package/cockroach-core/query-builders/update.d.ts +0 -170
  1377. package/cockroach-core/query-builders/update.js +0 -219
  1378. package/cockroach-core/query-builders/update.js.map +0 -1
  1379. package/cockroach-core/roles.cjs +0 -54
  1380. package/cockroach-core/roles.cjs.map +0 -1
  1381. package/cockroach-core/roles.d.cts +0 -12
  1382. package/cockroach-core/roles.d.ts +0 -12
  1383. package/cockroach-core/roles.js +0 -29
  1384. package/cockroach-core/roles.js.map +0 -1
  1385. package/cockroach-core/schema.cjs +0 -92
  1386. package/cockroach-core/schema.cjs.map +0 -1
  1387. package/cockroach-core/schema.d.cts +0 -24
  1388. package/cockroach-core/schema.d.ts +0 -24
  1389. package/cockroach-core/schema.js +0 -72
  1390. package/cockroach-core/schema.js.map +0 -1
  1391. package/cockroach-core/sequence.cjs +0 -52
  1392. package/cockroach-core/sequence.cjs.map +0 -1
  1393. package/cockroach-core/sequence.d.cts +0 -17
  1394. package/cockroach-core/sequence.d.ts +0 -17
  1395. package/cockroach-core/sequence.js +0 -25
  1396. package/cockroach-core/sequence.js.map +0 -1
  1397. package/cockroach-core/session.cjs +0 -120
  1398. package/cockroach-core/session.cjs.map +0 -1
  1399. package/cockroach-core/session.d.cts +0 -62
  1400. package/cockroach-core/session.d.ts +0 -62
  1401. package/cockroach-core/session.js +0 -94
  1402. package/cockroach-core/session.js.map +0 -1
  1403. package/cockroach-core/subquery.cjs +0 -17
  1404. package/cockroach-core/subquery.cjs.map +0 -1
  1405. package/cockroach-core/subquery.d.cts +0 -18
  1406. package/cockroach-core/subquery.d.ts +0 -18
  1407. package/cockroach-core/subquery.js +0 -1
  1408. package/cockroach-core/subquery.js.map +0 -1
  1409. package/cockroach-core/table.cjs +0 -121
  1410. package/cockroach-core/table.cjs.map +0 -1
  1411. package/cockroach-core/table.d.cts +0 -40
  1412. package/cockroach-core/table.d.ts +0 -40
  1413. package/cockroach-core/table.js +0 -94
  1414. package/cockroach-core/table.js.map +0 -1
  1415. package/cockroach-core/unique-constraint.cjs +0 -77
  1416. package/cockroach-core/unique-constraint.cjs.map +0 -1
  1417. package/cockroach-core/unique-constraint.d.cts +0 -23
  1418. package/cockroach-core/unique-constraint.d.ts +0 -23
  1419. package/cockroach-core/unique-constraint.js +0 -50
  1420. package/cockroach-core/unique-constraint.js.map +0 -1
  1421. package/cockroach-core/utils/array.cjs +0 -106
  1422. package/cockroach-core/utils/array.cjs.map +0 -1
  1423. package/cockroach-core/utils/array.d.cts +0 -3
  1424. package/cockroach-core/utils/array.d.ts +0 -3
  1425. package/cockroach-core/utils/array.js +0 -80
  1426. package/cockroach-core/utils/array.js.map +0 -1
  1427. package/cockroach-core/utils/index.cjs +0 -23
  1428. package/cockroach-core/utils/index.cjs.map +0 -1
  1429. package/cockroach-core/utils/index.d.cts +0 -1
  1430. package/cockroach-core/utils/index.d.ts +0 -1
  1431. package/cockroach-core/utils/index.js +0 -2
  1432. package/cockroach-core/utils/index.js.map +0 -1
  1433. package/cockroach-core/utils.cjs +0 -98
  1434. package/cockroach-core/utils.cjs.map +0 -1
  1435. package/cockroach-core/utils.d.cts +0 -47
  1436. package/cockroach-core/utils.d.ts +0 -47
  1437. package/cockroach-core/utils.js +0 -72
  1438. package/cockroach-core/utils.js.map +0 -1
  1439. package/cockroach-core/view-base.cjs +0 -33
  1440. package/cockroach-core/view-base.cjs.map +0 -1
  1441. package/cockroach-core/view-base.d.cts +0 -8
  1442. package/cockroach-core/view-base.d.ts +0 -8
  1443. package/cockroach-core/view-base.js +0 -9
  1444. package/cockroach-core/view-base.js.map +0 -1
  1445. package/cockroach-core/view.cjs +0 -271
  1446. package/cockroach-core/view.cjs.map +0 -1
  1447. package/cockroach-core/view.d.cts +0 -106
  1448. package/cockroach-core/view.d.ts +0 -106
  1449. package/cockroach-core/view.js +0 -233
  1450. package/cockroach-core/view.js.map +0 -1
  1451. package/mssql-core/alias.cjs +0 -32
  1452. package/mssql-core/alias.cjs.map +0 -1
  1453. package/mssql-core/alias.d.cts +0 -4
  1454. package/mssql-core/alias.d.ts +0 -4
  1455. package/mssql-core/alias.js +0 -8
  1456. package/mssql-core/alias.js.map +0 -1
  1457. package/mssql-core/checks.cjs +0 -58
  1458. package/mssql-core/checks.cjs.map +0 -1
  1459. package/mssql-core/checks.d.cts +0 -18
  1460. package/mssql-core/checks.d.ts +0 -18
  1461. package/mssql-core/checks.js +0 -32
  1462. package/mssql-core/checks.js.map +0 -1
  1463. package/mssql-core/columns/all.cjs +0 -74
  1464. package/mssql-core/columns/all.cjs.map +0 -1
  1465. package/mssql-core/columns/all.d.cts +0 -45
  1466. package/mssql-core/columns/all.d.ts +0 -45
  1467. package/mssql-core/columns/all.js +0 -50
  1468. package/mssql-core/columns/all.js.map +0 -1
  1469. package/mssql-core/columns/bigint.cjs +0 -72
  1470. package/mssql-core/columns/bigint.cjs.map +0 -1
  1471. package/mssql-core/columns/bigint.d.cts +0 -25
  1472. package/mssql-core/columns/bigint.d.ts +0 -25
  1473. package/mssql-core/columns/bigint.js +0 -46
  1474. package/mssql-core/columns/bigint.js.map +0 -1
  1475. package/mssql-core/columns/binary.cjs +0 -57
  1476. package/mssql-core/columns/binary.cjs.map +0 -1
  1477. package/mssql-core/columns/binary.d.cts +0 -24
  1478. package/mssql-core/columns/binary.d.ts +0 -24
  1479. package/mssql-core/columns/binary.js +0 -31
  1480. package/mssql-core/columns/binary.js.map +0 -1
  1481. package/mssql-core/columns/bit.cjs +0 -54
  1482. package/mssql-core/columns/bit.cjs.map +0 -1
  1483. package/mssql-core/columns/bit.d.cts +0 -17
  1484. package/mssql-core/columns/bit.d.ts +0 -17
  1485. package/mssql-core/columns/bit.js +0 -28
  1486. package/mssql-core/columns/bit.js.map +0 -1
  1487. package/mssql-core/columns/char.cjs +0 -73
  1488. package/mssql-core/columns/char.cjs.map +0 -1
  1489. package/mssql-core/columns/char.d.cts +0 -29
  1490. package/mssql-core/columns/char.d.ts +0 -29
  1491. package/mssql-core/columns/char.js +0 -46
  1492. package/mssql-core/columns/char.js.map +0 -1
  1493. package/mssql-core/columns/common.cjs +0 -112
  1494. package/mssql-core/columns/common.cjs.map +0 -1
  1495. package/mssql-core/columns/common.d.cts +0 -57
  1496. package/mssql-core/columns/common.d.ts +0 -57
  1497. package/mssql-core/columns/common.js +0 -85
  1498. package/mssql-core/columns/common.js.map +0 -1
  1499. package/mssql-core/columns/custom.cjs +0 -105
  1500. package/mssql-core/columns/custom.cjs.map +0 -1
  1501. package/mssql-core/columns/custom.d.cts +0 -261
  1502. package/mssql-core/columns/custom.d.ts +0 -261
  1503. package/mssql-core/columns/custom.js +0 -79
  1504. package/mssql-core/columns/custom.js.map +0 -1
  1505. package/mssql-core/columns/date.cjs +0 -94
  1506. package/mssql-core/columns/date.cjs.map +0 -1
  1507. package/mssql-core/columns/date.common.cjs +0 -37
  1508. package/mssql-core/columns/date.common.cjs.map +0 -1
  1509. package/mssql-core/columns/date.common.d.cts +0 -12
  1510. package/mssql-core/columns/date.common.d.ts +0 -12
  1511. package/mssql-core/columns/date.common.js +0 -13
  1512. package/mssql-core/columns/date.common.js.map +0 -1
  1513. package/mssql-core/columns/date.d.cts +0 -39
  1514. package/mssql-core/columns/date.d.ts +0 -39
  1515. package/mssql-core/columns/date.js +0 -66
  1516. package/mssql-core/columns/date.js.map +0 -1
  1517. package/mssql-core/columns/datetime.cjs +0 -94
  1518. package/mssql-core/columns/datetime.cjs.map +0 -1
  1519. package/mssql-core/columns/datetime.d.cts +0 -38
  1520. package/mssql-core/columns/datetime.d.ts +0 -38
  1521. package/mssql-core/columns/datetime.js +0 -66
  1522. package/mssql-core/columns/datetime.js.map +0 -1
  1523. package/mssql-core/columns/datetime2.cjs +0 -102
  1524. package/mssql-core/columns/datetime2.cjs.map +0 -1
  1525. package/mssql-core/columns/datetime2.d.cts +0 -38
  1526. package/mssql-core/columns/datetime2.d.ts +0 -38
  1527. package/mssql-core/columns/datetime2.js +0 -74
  1528. package/mssql-core/columns/datetime2.js.map +0 -1
  1529. package/mssql-core/columns/datetimeoffset.cjs +0 -102
  1530. package/mssql-core/columns/datetimeoffset.cjs.map +0 -1
  1531. package/mssql-core/columns/datetimeoffset.d.cts +0 -39
  1532. package/mssql-core/columns/datetimeoffset.d.ts +0 -39
  1533. package/mssql-core/columns/datetimeoffset.js +0 -74
  1534. package/mssql-core/columns/datetimeoffset.js.map +0 -1
  1535. package/mssql-core/columns/decimal.cjs +0 -146
  1536. package/mssql-core/columns/decimal.cjs.map +0 -1
  1537. package/mssql-core/columns/decimal.d.cts +0 -58
  1538. package/mssql-core/columns/decimal.d.ts +0 -58
  1539. package/mssql-core/columns/decimal.js +0 -116
  1540. package/mssql-core/columns/decimal.js.map +0 -1
  1541. package/mssql-core/columns/float.cjs +0 -58
  1542. package/mssql-core/columns/float.cjs.map +0 -1
  1543. package/mssql-core/columns/float.d.cts +0 -21
  1544. package/mssql-core/columns/float.d.ts +0 -21
  1545. package/mssql-core/columns/float.js +0 -32
  1546. package/mssql-core/columns/float.js.map +0 -1
  1547. package/mssql-core/columns/index.cjs +0 -63
  1548. package/mssql-core/columns/index.cjs.map +0 -1
  1549. package/mssql-core/columns/index.d.cts +0 -21
  1550. package/mssql-core/columns/index.d.ts +0 -21
  1551. package/mssql-core/columns/index.js +0 -22
  1552. package/mssql-core/columns/index.js.map +0 -1
  1553. package/mssql-core/columns/int.cjs +0 -53
  1554. package/mssql-core/columns/int.cjs.map +0 -1
  1555. package/mssql-core/columns/int.d.cts +0 -16
  1556. package/mssql-core/columns/int.d.ts +0 -16
  1557. package/mssql-core/columns/int.js +0 -27
  1558. package/mssql-core/columns/int.js.map +0 -1
  1559. package/mssql-core/columns/numeric.cjs +0 -146
  1560. package/mssql-core/columns/numeric.cjs.map +0 -1
  1561. package/mssql-core/columns/numeric.d.cts +0 -58
  1562. package/mssql-core/columns/numeric.d.ts +0 -58
  1563. package/mssql-core/columns/numeric.js +0 -116
  1564. package/mssql-core/columns/numeric.js.map +0 -1
  1565. package/mssql-core/columns/real.cjs +0 -53
  1566. package/mssql-core/columns/real.cjs.map +0 -1
  1567. package/mssql-core/columns/real.d.cts +0 -16
  1568. package/mssql-core/columns/real.d.ts +0 -16
  1569. package/mssql-core/columns/real.js +0 -27
  1570. package/mssql-core/columns/real.js.map +0 -1
  1571. package/mssql-core/columns/smallint.cjs +0 -62
  1572. package/mssql-core/columns/smallint.cjs.map +0 -1
  1573. package/mssql-core/columns/smallint.d.cts +0 -17
  1574. package/mssql-core/columns/smallint.d.ts +0 -17
  1575. package/mssql-core/columns/smallint.js +0 -36
  1576. package/mssql-core/columns/smallint.js.map +0 -1
  1577. package/mssql-core/columns/text.cjs +0 -68
  1578. package/mssql-core/columns/text.cjs.map +0 -1
  1579. package/mssql-core/columns/text.d.cts +0 -36
  1580. package/mssql-core/columns/text.d.ts +0 -36
  1581. package/mssql-core/columns/text.js +0 -41
  1582. package/mssql-core/columns/text.js.map +0 -1
  1583. package/mssql-core/columns/time.cjs +0 -90
  1584. package/mssql-core/columns/time.cjs.map +0 -1
  1585. package/mssql-core/columns/time.d.cts +0 -37
  1586. package/mssql-core/columns/time.d.ts +0 -37
  1587. package/mssql-core/columns/time.js +0 -62
  1588. package/mssql-core/columns/time.js.map +0 -1
  1589. package/mssql-core/columns/tinyint.cjs +0 -62
  1590. package/mssql-core/columns/tinyint.cjs.map +0 -1
  1591. package/mssql-core/columns/tinyint.d.cts +0 -17
  1592. package/mssql-core/columns/tinyint.d.ts +0 -17
  1593. package/mssql-core/columns/tinyint.js +0 -36
  1594. package/mssql-core/columns/tinyint.js.map +0 -1
  1595. package/mssql-core/columns/varbinary.cjs +0 -61
  1596. package/mssql-core/columns/varbinary.cjs.map +0 -1
  1597. package/mssql-core/columns/varbinary.d.cts +0 -23
  1598. package/mssql-core/columns/varbinary.d.ts +0 -23
  1599. package/mssql-core/columns/varbinary.js +0 -35
  1600. package/mssql-core/columns/varbinary.js.map +0 -1
  1601. package/mssql-core/columns/varchar.cjs +0 -117
  1602. package/mssql-core/columns/varchar.cjs.map +0 -1
  1603. package/mssql-core/columns/varchar.d.cts +0 -59
  1604. package/mssql-core/columns/varchar.d.ts +0 -59
  1605. package/mssql-core/columns/varchar.js +0 -88
  1606. package/mssql-core/columns/varchar.js.map +0 -1
  1607. package/mssql-core/db.cjs +0 -254
  1608. package/mssql-core/db.cjs.map +0 -1
  1609. package/mssql-core/db.d.cts +0 -228
  1610. package/mssql-core/db.d.ts +0 -228
  1611. package/mssql-core/db.js +0 -235
  1612. package/mssql-core/db.js.map +0 -1
  1613. package/mssql-core/dialect.cjs +0 -633
  1614. package/mssql-core/dialect.cjs.map +0 -1
  1615. package/mssql-core/dialect.d.cts +0 -58
  1616. package/mssql-core/dialect.d.ts +0 -58
  1617. package/mssql-core/dialect.js +0 -599
  1618. package/mssql-core/dialect.js.map +0 -1
  1619. package/mssql-core/expressions.cjs +0 -49
  1620. package/mssql-core/expressions.cjs.map +0 -1
  1621. package/mssql-core/expressions.d.cts +0 -8
  1622. package/mssql-core/expressions.d.ts +0 -8
  1623. package/mssql-core/expressions.js +0 -22
  1624. package/mssql-core/expressions.js.map +0 -1
  1625. package/mssql-core/foreign-keys.cjs +0 -94
  1626. package/mssql-core/foreign-keys.cjs.map +0 -1
  1627. package/mssql-core/foreign-keys.d.cts +0 -52
  1628. package/mssql-core/foreign-keys.d.ts +0 -52
  1629. package/mssql-core/foreign-keys.js +0 -68
  1630. package/mssql-core/foreign-keys.js.map +0 -1
  1631. package/mssql-core/index.cjs +0 -55
  1632. package/mssql-core/index.cjs.map +0 -1
  1633. package/mssql-core/index.d.cts +0 -17
  1634. package/mssql-core/index.d.ts +0 -17
  1635. package/mssql-core/index.js +0 -18
  1636. package/mssql-core/index.js.map +0 -1
  1637. package/mssql-core/indexes.cjs +0 -82
  1638. package/mssql-core/indexes.cjs.map +0 -1
  1639. package/mssql-core/indexes.d.cts +0 -50
  1640. package/mssql-core/indexes.d.ts +0 -50
  1641. package/mssql-core/indexes.js +0 -54
  1642. package/mssql-core/indexes.js.map +0 -1
  1643. package/mssql-core/primary-keys.cjs +0 -66
  1644. package/mssql-core/primary-keys.cjs.map +0 -1
  1645. package/mssql-core/primary-keys.d.cts +0 -24
  1646. package/mssql-core/primary-keys.d.ts +0 -24
  1647. package/mssql-core/primary-keys.js +0 -40
  1648. package/mssql-core/primary-keys.js.map +0 -1
  1649. package/mssql-core/query-builders/delete.cjs +0 -107
  1650. package/mssql-core/query-builders/delete.cjs.map +0 -1
  1651. package/mssql-core/query-builders/delete.d.cts +0 -98
  1652. package/mssql-core/query-builders/delete.d.ts +0 -98
  1653. package/mssql-core/query-builders/delete.js +0 -83
  1654. package/mssql-core/query-builders/delete.js.map +0 -1
  1655. package/mssql-core/query-builders/index.cjs +0 -33
  1656. package/mssql-core/query-builders/index.cjs.map +0 -1
  1657. package/mssql-core/query-builders/index.d.cts +0 -6
  1658. package/mssql-core/query-builders/index.d.ts +0 -6
  1659. package/mssql-core/query-builders/index.js +0 -7
  1660. package/mssql-core/query-builders/index.js.map +0 -1
  1661. package/mssql-core/query-builders/insert.cjs +0 -105
  1662. package/mssql-core/query-builders/insert.cjs.map +0 -1
  1663. package/mssql-core/query-builders/insert.d.cts +0 -79
  1664. package/mssql-core/query-builders/insert.d.ts +0 -79
  1665. package/mssql-core/query-builders/insert.js +0 -80
  1666. package/mssql-core/query-builders/insert.js.map +0 -1
  1667. package/mssql-core/query-builders/query-builder.cjs +0 -95
  1668. package/mssql-core/query-builders/query-builder.cjs.map +0 -1
  1669. package/mssql-core/query-builders/query-builder.d.cts +0 -32
  1670. package/mssql-core/query-builders/query-builder.d.ts +0 -32
  1671. package/mssql-core/query-builders/query-builder.js +0 -71
  1672. package/mssql-core/query-builders/query-builder.js.map +0 -1
  1673. package/mssql-core/query-builders/query.cjs +0 -126
  1674. package/mssql-core/query-builders/query.cjs.map +0 -1
  1675. package/mssql-core/query-builders/query.d.cts +0 -42
  1676. package/mssql-core/query-builders/query.d.ts +0 -42
  1677. package/mssql-core/query-builders/query.js +0 -103
  1678. package/mssql-core/query-builders/query.js.map +0 -1
  1679. package/mssql-core/query-builders/select.cjs +0 -678
  1680. package/mssql-core/query-builders/select.cjs.map +0 -1
  1681. package/mssql-core/query-builders/select.d.cts +0 -549
  1682. package/mssql-core/query-builders/select.d.ts +0 -549
  1683. package/mssql-core/query-builders/select.js +0 -654
  1684. package/mssql-core/query-builders/select.js.map +0 -1
  1685. package/mssql-core/query-builders/select.types.cjs +0 -17
  1686. package/mssql-core/query-builders/select.types.cjs.map +0 -1
  1687. package/mssql-core/query-builders/select.types.d.cts +0 -142
  1688. package/mssql-core/query-builders/select.types.d.ts +0 -142
  1689. package/mssql-core/query-builders/select.types.js +0 -1
  1690. package/mssql-core/query-builders/select.types.js.map +0 -1
  1691. package/mssql-core/query-builders/update.cjs +0 -138
  1692. package/mssql-core/query-builders/update.cjs.map +0 -1
  1693. package/mssql-core/query-builders/update.d.cts +0 -142
  1694. package/mssql-core/query-builders/update.d.ts +0 -142
  1695. package/mssql-core/query-builders/update.js +0 -113
  1696. package/mssql-core/query-builders/update.js.map +0 -1
  1697. package/mssql-core/schema.cjs +0 -53
  1698. package/mssql-core/schema.cjs.map +0 -1
  1699. package/mssql-core/schema.d.cts +0 -13
  1700. package/mssql-core/schema.d.ts +0 -13
  1701. package/mssql-core/schema.js +0 -28
  1702. package/mssql-core/schema.js.map +0 -1
  1703. package/mssql-core/session.cjs +0 -74
  1704. package/mssql-core/session.cjs.map +0 -1
  1705. package/mssql-core/session.d.cts +0 -63
  1706. package/mssql-core/session.d.ts +0 -63
  1707. package/mssql-core/session.js +0 -48
  1708. package/mssql-core/session.js.map +0 -1
  1709. package/mssql-core/subquery.cjs +0 -17
  1710. package/mssql-core/subquery.cjs.map +0 -1
  1711. package/mssql-core/subquery.d.cts +0 -18
  1712. package/mssql-core/subquery.d.ts +0 -18
  1713. package/mssql-core/subquery.js +0 -1
  1714. package/mssql-core/subquery.js.map +0 -1
  1715. package/mssql-core/table.cjs +0 -81
  1716. package/mssql-core/table.cjs.map +0 -1
  1717. package/mssql-core/table.d.cts +0 -40
  1718. package/mssql-core/table.d.ts +0 -40
  1719. package/mssql-core/table.js +0 -55
  1720. package/mssql-core/table.js.map +0 -1
  1721. package/mssql-core/unique-constraint.cjs +0 -78
  1722. package/mssql-core/unique-constraint.cjs.map +0 -1
  1723. package/mssql-core/unique-constraint.d.cts +0 -24
  1724. package/mssql-core/unique-constraint.d.ts +0 -24
  1725. package/mssql-core/unique-constraint.js +0 -51
  1726. package/mssql-core/unique-constraint.js.map +0 -1
  1727. package/mssql-core/utils.cjs +0 -85
  1728. package/mssql-core/utils.cjs.map +0 -1
  1729. package/mssql-core/utils.d.cts +0 -31
  1730. package/mssql-core/utils.d.ts +0 -31
  1731. package/mssql-core/utils.js +0 -60
  1732. package/mssql-core/utils.js.map +0 -1
  1733. package/mssql-core/view-base.cjs +0 -33
  1734. package/mssql-core/view-base.cjs.map +0 -1
  1735. package/mssql-core/view-base.d.cts +0 -9
  1736. package/mssql-core/view-base.d.ts +0 -9
  1737. package/mssql-core/view-base.js +0 -9
  1738. package/mssql-core/view-base.js.map +0 -1
  1739. package/mssql-core/view-common.cjs +0 -29
  1740. package/mssql-core/view-common.cjs.map +0 -1
  1741. package/mssql-core/view-common.d.cts +0 -1
  1742. package/mssql-core/view-common.d.ts +0 -1
  1743. package/mssql-core/view-common.js +0 -5
  1744. package/mssql-core/view-common.js.map +0 -1
  1745. package/mssql-core/view.cjs +0 -154
  1746. package/mssql-core/view.cjs.map +0 -1
  1747. package/mssql-core/view.d.cts +0 -63
  1748. package/mssql-core/view.d.ts +0 -63
  1749. package/mssql-core/view.js +0 -125
  1750. package/mssql-core/view.js.map +0 -1
  1751. package/mysql-core/columns/blob.cjs +0 -158
  1752. package/mysql-core/columns/blob.cjs.map +0 -1
  1753. package/mysql-core/columns/blob.d.cts +0 -54
  1754. package/mysql-core/columns/blob.d.ts +0 -54
  1755. package/mysql-core/columns/blob.js +0 -127
  1756. package/mysql-core/columns/blob.js.map +0 -1
  1757. package/mysql-core/columns/string.common.cjs +0 -48
  1758. package/mysql-core/columns/string.common.cjs.map +0 -1
  1759. package/mysql-core/columns/string.common.d.cts +0 -21
  1760. package/mysql-core/columns/string.common.d.ts +0 -21
  1761. package/mysql-core/columns/string.common.js +0 -23
  1762. package/mysql-core/columns/string.common.js.map +0 -1
  1763. package/node-mssql/driver.cjs +0 -113
  1764. package/node-mssql/driver.cjs.map +0 -1
  1765. package/node-mssql/driver.d.cts +0 -46
  1766. package/node-mssql/driver.d.ts +0 -46
  1767. package/node-mssql/driver.js +0 -77
  1768. package/node-mssql/driver.js.map +0 -1
  1769. package/node-mssql/index.cjs.map +0 -1
  1770. package/node-mssql/index.d.cts +0 -2
  1771. package/node-mssql/index.d.ts +0 -2
  1772. package/node-mssql/index.js +0 -3
  1773. package/node-mssql/index.js.map +0 -1
  1774. package/node-mssql/migrator.cjs +0 -33
  1775. package/node-mssql/migrator.cjs.map +0 -1
  1776. package/node-mssql/migrator.d.cts +0 -3
  1777. package/node-mssql/migrator.d.ts +0 -3
  1778. package/node-mssql/migrator.js +0 -9
  1779. package/node-mssql/migrator.js.map +0 -1
  1780. package/node-mssql/pool.cjs +0 -54
  1781. package/node-mssql/pool.cjs.map +0 -1
  1782. package/node-mssql/pool.d.cts +0 -8
  1783. package/node-mssql/pool.d.ts +0 -8
  1784. package/node-mssql/pool.js +0 -20
  1785. package/node-mssql/pool.js.map +0 -1
  1786. package/node-mssql/session.cjs +0 -256
  1787. package/node-mssql/session.cjs.map +0 -1
  1788. package/node-mssql/session.d.cts +0 -48
  1789. package/node-mssql/session.d.ts +0 -48
  1790. package/node-mssql/session.js +0 -224
  1791. package/node-mssql/session.js.map +0 -1
  1792. /package/{cockroach → sqlite-cloud}/index.d.cts +0 -0
  1793. /package/{cockroach → sqlite-cloud}/index.d.ts +0 -0
  1794. /package/{cockroach → sqlite-cloud}/index.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql2/session.ts"],"sourcesContent":["import type { Connection as CallbackConnection } from 'mysql2';\nimport type {\n\tConnection,\n\tFieldPacket,\n\tOkPacket,\n\tPool,\n\tPoolConnection,\n\tQueryOptions,\n\tResultSetHeader,\n\tRowDataPacket,\n} from 'mysql2/promise';\nimport { once } from 'node:events';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\ttype Mode,\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n\ttype MySqlTransactionConfig,\n\ttype PreparedQueryKind,\n} from '~/mysql-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, sql } from '~/sql/sql.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nexport type MySql2Client = Pool | Connection;\n\nexport type MySqlRawQueryResult = [ResultSetHeader, FieldPacket[]];\nexport type MySqlQueryResultType = RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader;\nexport type MySqlQueryResult<\n\tT = any,\n> = [T extends ResultSetHeader ? T : T[], FieldPacket[]];\n\nexport class MySql2PreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'MySql2PreparedQuery';\n\n\tprivate rawQuery: QueryOptions;\n\tprivate query: QueryOptions;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tqueryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t\tthis.rawQuery = {\n\t\t\tsql: queryString,\n\t\t\t// rowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t};\n\t\tthis.query = {\n\t\t\tsql: queryString,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t};\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.sql, params);\n\n\t\tconst { fields, client, rawQuery, query, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } =\n\t\t\tthis;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(rawQuery.sql, params, async () => {\n\t\t\t\treturn await client.query<any>(rawQuery, params);\n\t\t\t});\n\n\t\t\tconst insertId = res[0].insertId;\n\t\t\tconst affectedRows = res[0].affectedRows;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst result = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await client.query<any[]>(query, params);\n\t\t});\n\n\t\tconst rows = result[0];\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.sql, params);\n\n\t\tconst { client, rawQuery, customResultMapper } = this;\n\t\tconst res = await client.query<any>(rawQuery, params);\n\n\t\tconst rows = res[0];\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(rows);\n\t}\n\n\tasync *iterator(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tconst conn = ((isPool(this.client) ? await this.client.getConnection() : this.client) as {} as {\n\t\t\tconnection: CallbackConnection;\n\t\t}).connection;\n\n\t\tconst { fields, query, rawQuery, joinsNotNullableMap, client, customResultMapper } = this;\n\t\tconst hasRowsMapper = Boolean(fields || customResultMapper);\n\t\tconst driverQuery = hasRowsMapper ? conn.query(query, params) : conn.query(rawQuery, params);\n\n\t\tconst stream = driverQuery.stream();\n\n\t\tfunction dataListener() {\n\t\t\tstream.pause();\n\t\t}\n\n\t\tstream.on('data', dataListener);\n\n\t\ttry {\n\t\t\tconst onEnd = once(stream, 'end');\n\t\t\tconst onError = once(stream, 'error');\n\n\t\t\twhile (true) {\n\t\t\t\tstream.resume();\n\t\t\t\tconst row = await Promise.race([onEnd, onError, new Promise((resolve) => stream.once('data', resolve))]);\n\t\t\t\tif (row === undefined || (Array.isArray(row) && row.length === 0)) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (row instanceof Error) { // oxlint-disable-line drizzle-internal/no-instanceof\n\t\t\t\t\tthrow row;\n\t\t\t\t} else {\n\t\t\t\t\tif (hasRowsMapper) {\n\t\t\t\t\t\tif (customResultMapper) {\n\t\t\t\t\t\t\tconst mappedRow = (customResultMapper as (rows: unknown[][]) => T['execute'])([row as unknown[]]);\n\t\t\t\t\t\t\tyield (Array.isArray(mappedRow) ? mappedRow[0] : mappedRow);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tyield mapResultRow(fields!, row as unknown[], joinsNotNullableMap);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tyield row as T['execute'];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tstream.off('data', dataListener);\n\t\t\tif (isPool(client)) {\n\t\t\t\tconn.end();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport interface MySql2SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tmode: Mode;\n}\n\nexport class MySql2Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<MySqlQueryResultHKT, MySql2PreparedQueryHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'MySql2Session';\n\n\tprivate logger: Logger;\n\tprivate mode: Mode;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tdialect: MySqlDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: MySql2SessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.mode = options.mode;\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t) as PreparedQueryKind<MySql2PreparedQueryHKT, T>;\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t) as any;\n\t}\n\n\t/**\n\t * @internal\n\t * What is its purpose?\n\t */\n\tasync query(query: string, params: unknown[]): Promise<MySqlQueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.query({\n\t\t\tsql: query,\n\t\t\tvalues: params,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t});\n\t\treturn result;\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.execute(querySql.sql, querySql.params).then((result) => result[0]) as Promise<T[]>;\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T> {\n\t\tconst session = isPool(this.client)\n\t\t\t? new MySql2Session(\n\t\t\t\tawait this.client.getConnection(),\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t)\n\t\t\t: this;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\t0,\n\t\t\tthis.mode,\n\t\t);\n\t\tif (config) {\n\t\t\tconst setTransactionConfigSql = this.getSetTransactionSQL(config);\n\t\t\tif (setTransactionConfigSql) {\n\t\t\t\tawait tx.execute(setTransactionConfigSql);\n\t\t\t}\n\t\t\tconst startTransactionSql = this.getStartTransactionSQL(config);\n\t\t\tawait (startTransactionSql ? tx.execute(startTransactionSql) : tx.execute(sql`begin`));\n\t\t} else {\n\t\t\tawait tx.execute(sql`begin`);\n\t\t}\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tif (isPool(this.client)) {\n\t\t\t\t(session.client as PoolConnection).release();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class MySql2Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tMySql2QueryResultHKT,\n\tMySql2PreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'MySql2Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tthis.mode,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nfunction isPool(client: MySql2Client): client is Pool {\n\treturn 'getConnection' in client;\n}\n\nexport interface MySql2QueryResultHKT extends MySqlQueryResultHKT {\n\ttype: MySqlRawQueryResult;\n}\n\nexport interface MySql2PreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: MySql2PreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA,yBAAqB;AAErB,kBAAsC;AAEtC,oBAAuB;AACvB,oBAA+B;AAE/B,oBAA2B;AAG3B,qBAUO;AAEP,iBAAsC;AAEtC,mBAA0C;AAUnC,MAAM,4BACJ,kCACT;AAAA,EAMC,YACS,QACR,aACQ,QACA,QACR,OACA,eAIA,aACQ,QACA,oBAIA,cAEA,cACA,cACP;AACD,UAAM,OAAO,eAAe,WAAW;AApB/B;AAEA;AACA;AAOA;AACA;AAIA;AAEA;AACA;AAGR,SAAK,WAAW;AAAA,MACf,KAAK;AAAA;AAAA,MAEL,UAAU,SAAS,OAAY,MAAW;AACzC,YAAI,MAAM,SAAS,eAAe,MAAM,SAAS,cAAc,MAAM,SAAS,QAAQ;AACrF,iBAAO,MAAM,OAAO;AAAA,QACrB;AACA,eAAO,KAAK;AAAA,MACb;AAAA,IACD;AACA,SAAK,QAAQ;AAAA,MACZ,KAAK;AAAA,MACL,aAAa;AAAA,MACb,UAAU,SAAS,OAAY,MAAW;AACzC,YAAI,MAAM,SAAS,eAAe,MAAM,SAAS,cAAc,MAAM,SAAS,QAAQ;AACrF,iBAAO,MAAM,OAAO;AAAA,QACrB;AACA,eAAO,KAAK;AAAA,MACb;AAAA,IACD;AAAA,EACD;AAAA,EA/CA,QAA0B,wBAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EA8CR,MAAM,QAAQ,oBAA6C,CAAC,GAA0B;AACrF,QAAI,KAAK,aAAc,QAAO,KAAK,aAAa,iBAAiB;AAEjE,UAAM,aAAS,6BAAiB,KAAK,QAAQ,iBAAiB;AAE9D,SAAK,OAAO,SAAS,KAAK,SAAS,KAAK,MAAM;AAE9C,UAAM,EAAE,QAAQ,QAAQ,UAAU,OAAO,qBAAqB,oBAAoB,cAAc,aAAa,IAC5G;AACD,QAAI,CAAC,UAAU,CAAC,oBAAoB;AACnC,YAAM,MAAM,MAAM,KAAK,eAAe,SAAS,KAAK,QAAQ,YAAY;AACvE,eAAO,MAAM,OAAO,MAAW,UAAU,MAAM;AAAA,MAChD,CAAC;AAED,YAAM,WAAW,IAAI,CAAC,EAAE;AACxB,YAAM,eAAe,IAAI,CAAC,EAAE;AAE5B,UAAI,cAAc;AACjB,cAAM,oBAAoB,CAAC;AAC3B,YAAI,IAAI;AACR,iBAAS,IAAI,UAAU,IAAI,WAAW,cAAc,KAAK;AACxD,qBAAW,UAAU,cAAc;AAClC,kBAAM,MAAM,aAAa,CAAC,EAAG,KAAK,CAAC;AACnC,oBAAI,kBAAG,OAAO,OAAO,oBAAM,GAAG;AAE7B,kBAAI,OAAO,MAAM,WAAW,OAAO,MAAM,eAAe;AACvD,kCAAkB,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;AAAA,cACpC;AACA,kBAAI,OAAO,MAAM,aAAa,cAAc;AAE3C,kCAAkB,KAAK,EAAE,CAAC,GAAG,GAAG,aAAa,CAAC,EAAG,GAAG,EAAE,CAAC;AAAA,cACxD;AAAA,YACD;AAAA,UACD;AACA;AAAA,QACD;AAEA,eAAO;AAAA,MACR;AACA,aAAO;AAAA,IACR;AAEA,UAAM,SAAS,MAAM,KAAK,eAAe,MAAM,KAAK,QAAQ,YAAY;AACvE,aAAO,MAAM,OAAO,MAAa,OAAO,MAAM;AAAA,IAC/C,CAAC;AAED,UAAM,OAAO,OAAO,CAAC;AAErB,QAAI,oBAAoB;AACvB,aAAO,mBAAmB,IAAI;AAAA,IAC/B;AAEA,WAAO,KAAK,IAAI,CAAC,YAAQ,2BAA2B,QAAS,KAAK,mBAAmB,CAAC;AAAA,EACvF;AAAA,EAEA,MAAc,aAAa,oBAA6C,CAAC,GAA0B;AAClG,UAAM,aAAS,6BAAiB,KAAK,QAAQ,iBAAiB;AAE9D,SAAK,OAAO,SAAS,KAAK,SAAS,KAAK,MAAM;AAE9C,UAAM,EAAE,QAAQ,UAAU,mBAAmB,IAAI;AACjD,UAAM,MAAM,MAAM,OAAO,MAAW,UAAU,MAAM;AAEpD,UAAM,OAAO,IAAI,CAAC;AAElB,WAAQ,mBAAyE,IAAI;AAAA,EACtF;AAAA,EAEA,OAAO,SACN,oBAA6C,CAAC,GACqC;AACnF,UAAM,aAAS,6BAAiB,KAAK,QAAQ,iBAAiB;AAC9D,UAAM,QAAS,OAAO,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO,cAAc,IAAI,KAAK,QAE3E;AAEH,UAAM,EAAE,QAAQ,OAAO,UAAU,qBAAqB,QAAQ,mBAAmB,IAAI;AACrF,UAAM,gBAAgB,QAAQ,UAAU,kBAAkB;AAC1D,UAAM,cAAc,gBAAgB,KAAK,MAAM,OAAO,MAAM,IAAI,KAAK,MAAM,UAAU,MAAM;AAE3F,UAAM,SAAS,YAAY,OAAO;AAElC,aAAS,eAAe;AACvB,aAAO,MAAM;AAAA,IACd;AAEA,WAAO,GAAG,QAAQ,YAAY;AAE9B,QAAI;AACH,YAAM,YAAQ,yBAAK,QAAQ,KAAK;AAChC,YAAM,cAAU,yBAAK,QAAQ,OAAO;AAEpC,aAAO,MAAM;AACZ,eAAO,OAAO;AACd,cAAM,MAAM,MAAM,QAAQ,KAAK,CAAC,OAAO,SAAS,IAAI,QAAQ,CAAC,YAAY,OAAO,KAAK,QAAQ,OAAO,CAAC,CAAC,CAAC;AACvG,YAAI,QAAQ,UAAc,MAAM,QAAQ,GAAG,KAAK,IAAI,WAAW,GAAI;AAClE;AAAA,QACD,WAAW,eAAe,OAAO;AAChC,gBAAM;AAAA,QACP,OAAO;AACN,cAAI,eAAe;AAClB,gBAAI,oBAAoB;AACvB,oBAAM,YAAa,mBAA2D,CAAC,GAAgB,CAAC;AAChG,oBAAO,MAAM,QAAQ,SAAS,IAAI,UAAU,CAAC,IAAI;AAAA,YAClD,OAAO;AACN,wBAAM,2BAAa,QAAS,KAAkB,mBAAmB;AAAA,YAClE;AAAA,UACD,OAAO;AACN,kBAAM;AAAA,UACP;AAAA,QACD;AAAA,MACD;AAAA,IACD,UAAE;AACD,aAAO,IAAI,QAAQ,YAAY;AAC/B,UAAI,OAAO,MAAM,GAAG;AACnB,aAAK,IAAI;AAAA,MACV;AAAA,IACD;AAAA,EACD;AACD;AAQO,MAAM,sBAIH,4BAA4F;AAAA,EAOrG,YACS,QACR,SACQ,WACA,QACA,SACP;AACD,UAAM,OAAO;AANL;AAEA;AACA;AACA;AAGR,SAAK,SAAS,QAAQ,UAAU,IAAI,yBAAW;AAC/C,SAAK,QAAQ,QAAQ,SAAS,IAAI,sBAAU;AAC5C,SAAK,OAAO,QAAQ;AAAA,EACrB;AAAA,EAjBA,QAA0B,wBAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EAeR,aACC,OACA,QACA,oBACA,cACA,cACA,eAIA,aAC+C;AAG/C,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAEA,uBACC,OACA,QACA,oBACA,cACA,cAC+C;AAG/C,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,MAAM,OAAe,QAA8C;AACxE,SAAK,OAAO,SAAS,OAAO,MAAM;AAClC,UAAM,SAAS,MAAM,KAAK,OAAO,MAAM;AAAA,MACtC,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,UAAU,SAAS,OAAY,MAAW;AACzC,YAAI,MAAM,SAAS,eAAe,MAAM,SAAS,cAAc,MAAM,SAAS,QAAQ;AACrF,iBAAO,MAAM,OAAO;AAAA,QACrB;AACA,eAAO,KAAK;AAAA,MACb;AAAA,IACD,CAAC;AACD,WAAO;AAAA,EACR;AAAA,EAES,IAAiB,OAA0B;AACnD,UAAM,WAAW,KAAK,QAAQ,WAAW,KAAK;AAC9C,SAAK,OAAO,SAAS,SAAS,KAAK,SAAS,MAAM;AAClD,WAAO,KAAK,OAAO,QAAQ,SAAS,KAAK,SAAS,MAAM,EAAE,KAAK,CAAC,WAAW,OAAO,CAAC,CAAC;AAAA,EACrF;AAAA,EAEA,MAAe,YACd,aACA,QACa;AACb,UAAM,UAAU,OAAO,KAAK,MAAM,IAC/B,IAAI;AAAA,MACL,MAAM,KAAK,OAAO,cAAc;AAAA,MAChC,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN,IACE;AACH,UAAM,KAAK,IAAI;AAAA,MACd,KAAK;AAAA,MACL;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA,KAAK;AAAA,IACN;AACA,QAAI,QAAQ;AACX,YAAM,0BAA0B,KAAK,qBAAqB,MAAM;AAChE,UAAI,yBAAyB;AAC5B,cAAM,GAAG,QAAQ,uBAAuB;AAAA,MACzC;AACA,YAAM,sBAAsB,KAAK,uBAAuB,MAAM;AAC9D,aAAO,sBAAsB,GAAG,QAAQ,mBAAmB,IAAI,GAAG,QAAQ,qBAAU;AAAA,IACrF,OAAO;AACN,YAAM,GAAG,QAAQ,qBAAU;AAAA,IAC5B;AACA,QAAI;AACH,YAAM,SAAS,MAAM,YAAY,EAAE;AACnC,YAAM,GAAG,QAAQ,sBAAW;AAC5B,aAAO;AAAA,IACR,SAAS,KAAK;AACb,YAAM,GAAG,QAAQ,wBAAa;AAC9B,YAAM;AAAA,IACP,UAAE;AACD,UAAI,OAAO,KAAK,MAAM,GAAG;AACxB,QAAC,QAAQ,OAA0B,QAAQ;AAAA,MAC5C;AAAA,IACD;AAAA,EACD;AACD;AAEO,MAAM,0BAIH,gCAMR;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,MAAe,YACd,aACa;AACb,UAAM,gBAAgB,KAAK,KAAK,cAAc,CAAC;AAC/C,UAAM,KAAK,IAAI;AAAA,MACd,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,cAAc;AAAA,MACnB,KAAK;AAAA,IACN;AACA,UAAM,GAAG,QAAQ,eAAI,IAAI,aAAa,aAAa,EAAE,CAAC;AACtD,QAAI;AACH,YAAM,SAAS,MAAM,YAAY,EAAE;AACnC,YAAM,GAAG,QAAQ,eAAI,IAAI,qBAAqB,aAAa,EAAE,CAAC;AAC9D,aAAO;AAAA,IACR,SAAS,KAAK;AACb,YAAM,GAAG,QAAQ,eAAI,IAAI,yBAAyB,aAAa,EAAE,CAAC;AAClE,YAAM;AAAA,IACP;AAAA,EACD;AACD;AAEA,SAAS,OAAO,QAAsC;AACrD,SAAO,mBAAmB;AAC3B;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql2/session.ts"],"sourcesContent":["import type { Connection as CallbackConnection } from 'mysql2';\nimport type {\n\tConnection,\n\tFieldPacket,\n\tOkPacket,\n\tPool,\n\tPoolConnection,\n\tQueryOptions,\n\tResultSetHeader,\n\tRowDataPacket,\n} from 'mysql2/promise';\nimport { once } from 'node:events';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\ttype Mode,\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n\ttype MySqlTransactionConfig,\n\ttype PreparedQueryKind,\n} from '~/mysql-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, sql } from '~/sql/sql.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nexport type MySql2Client = Pool | Connection;\n\nexport type MySqlRawQueryResult = [ResultSetHeader, FieldPacket[]];\nexport type MySqlQueryResultType = RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader;\nexport type MySqlQueryResult<\n\tT = any,\n> = [T extends ResultSetHeader ? T : T[], FieldPacket[]];\n\nexport class MySql2PreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'MySql2PreparedQuery';\n\n\tprivate rawQuery: QueryOptions;\n\tprivate query: QueryOptions;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tqueryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t\tthis.rawQuery = {\n\t\t\tsql: queryString,\n\t\t\t// rowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t};\n\t\tthis.query = {\n\t\t\tsql: queryString,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t};\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.sql, params);\n\n\t\tconst { fields, client, rawQuery, query, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } =\n\t\t\tthis;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(rawQuery.sql, params, async () => {\n\t\t\t\treturn await client.query<any>(rawQuery, params);\n\t\t\t});\n\n\t\t\tconst insertId = res[0].insertId;\n\t\t\tconst affectedRows = res[0].affectedRows;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst result = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await client.query<any[]>(query, params);\n\t\t});\n\n\t\tconst rows = result[0];\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.sql, params);\n\n\t\tconst { client, rawQuery, customResultMapper } = this;\n\t\tconst res = await client.query<any>(rawQuery, params);\n\n\t\tconst rows = res[0];\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(rows);\n\t}\n\n\tasync *iterator(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tconst conn = ((isPool(this.client) ? await this.client.getConnection() : this.client) as {} as {\n\t\t\tconnection: CallbackConnection;\n\t\t}).connection;\n\n\t\tconst { fields, query, rawQuery, joinsNotNullableMap, client, customResultMapper } = this;\n\t\tconst hasRowsMapper = Boolean(fields || customResultMapper);\n\t\tconst driverQuery = hasRowsMapper ? conn.query(query, params) : conn.query(rawQuery, params);\n\n\t\tconst stream = driverQuery.stream();\n\n\t\tfunction dataListener() {\n\t\t\tstream.pause();\n\t\t}\n\n\t\tstream.on('data', dataListener);\n\n\t\ttry {\n\t\t\tconst onEnd = once(stream, 'end');\n\t\t\tconst onError = once(stream, 'error');\n\n\t\t\twhile (true) {\n\t\t\t\tstream.resume();\n\t\t\t\tconst row = await Promise.race([onEnd, onError, new Promise((resolve) => stream.once('data', resolve))]);\n\t\t\t\tif (row === undefined || (Array.isArray(row) && row.length === 0)) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (row instanceof Error) { // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\t\tthrow row;\n\t\t\t\t} else {\n\t\t\t\t\tif (hasRowsMapper) {\n\t\t\t\t\t\tif (customResultMapper) {\n\t\t\t\t\t\t\tconst mappedRow = (customResultMapper as (rows: unknown[][]) => T['execute'])([row as unknown[]]);\n\t\t\t\t\t\t\tyield (Array.isArray(mappedRow) ? mappedRow[0] : mappedRow);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tyield mapResultRow(fields!, row as unknown[], joinsNotNullableMap);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tyield row as T['execute'];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tstream.off('data', dataListener);\n\t\t\tif (isPool(client)) {\n\t\t\t\tconn.end();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport interface MySql2SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tmode: Mode;\n}\n\nexport class MySql2Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<MySqlQueryResultHKT, MySql2PreparedQueryHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'MySql2Session';\n\n\tprivate logger: Logger;\n\tprivate mode: Mode;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tdialect: MySqlDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: MySql2SessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.mode = options.mode;\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t) as PreparedQueryKind<MySql2PreparedQueryHKT, T>;\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t) as any;\n\t}\n\n\t/**\n\t * @internal\n\t * What is its purpose?\n\t */\n\tasync query(query: string, params: unknown[]): Promise<MySqlQueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.query({\n\t\t\tsql: query,\n\t\t\tvalues: params,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t});\n\t\treturn result;\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.execute(querySql.sql, querySql.params).then((result) => result[0]) as Promise<T[]>;\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T> {\n\t\tconst session = isPool(this.client)\n\t\t\t? new MySql2Session(\n\t\t\t\tawait this.client.getConnection(),\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t)\n\t\t\t: this;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\t0,\n\t\t\tthis.mode,\n\t\t);\n\t\tif (config) {\n\t\t\tconst setTransactionConfigSql = this.getSetTransactionSQL(config);\n\t\t\tif (setTransactionConfigSql) {\n\t\t\t\tawait tx.execute(setTransactionConfigSql);\n\t\t\t}\n\t\t\tconst startTransactionSql = this.getStartTransactionSQL(config);\n\t\t\tawait (startTransactionSql ? tx.execute(startTransactionSql) : tx.execute(sql`begin`));\n\t\t} else {\n\t\t\tawait tx.execute(sql`begin`);\n\t\t}\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tif (isPool(this.client)) {\n\t\t\t\t(session.client as PoolConnection).release();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class MySql2Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tMySql2QueryResultHKT,\n\tMySql2PreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'MySql2Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tthis.mode,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nfunction isPool(client: MySql2Client): client is Pool {\n\treturn 'getConnection' in client;\n}\n\nexport interface MySql2QueryResultHKT extends MySqlQueryResultHKT {\n\ttype: MySqlRawQueryResult;\n}\n\nexport interface MySql2PreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: MySql2PreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql2/session.ts"],"sourcesContent":["import type { Connection as CallbackConnection } from 'mysql2';\nimport type {\n\tConnection,\n\tFieldPacket,\n\tOkPacket,\n\tPool,\n\tPoolConnection,\n\tQueryOptions,\n\tResultSetHeader,\n\tRowDataPacket,\n} from 'mysql2/promise';\nimport { once } from 'node:events';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\ttype Mode,\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n\ttype MySqlTransactionConfig,\n\ttype PreparedQueryKind,\n} from '~/mysql-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, sql } from '~/sql/sql.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nexport type MySql2Client = Pool | Connection;\n\nexport type MySqlRawQueryResult = [ResultSetHeader, FieldPacket[]];\nexport type MySqlQueryResultType = RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader;\nexport type MySqlQueryResult<\n\tT = any,\n> = [T extends ResultSetHeader ? T : T[], FieldPacket[]];\n\nexport class MySql2PreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'MySql2PreparedQuery';\n\n\tprivate rawQuery: QueryOptions;\n\tprivate query: QueryOptions;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tqueryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t\tthis.rawQuery = {\n\t\t\tsql: queryString,\n\t\t\t// rowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t};\n\t\tthis.query = {\n\t\t\tsql: queryString,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t};\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.sql, params);\n\n\t\tconst { fields, client, rawQuery, query, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } =\n\t\t\tthis;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(rawQuery.sql, params, async () => {\n\t\t\t\treturn await client.query<any>(rawQuery, params);\n\t\t\t});\n\n\t\t\tconst insertId = res[0].insertId;\n\t\t\tconst affectedRows = res[0].affectedRows;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst result = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await client.query<any[]>(query, params);\n\t\t});\n\n\t\tconst rows = result[0];\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.sql, params);\n\n\t\tconst { client, rawQuery, customResultMapper } = this;\n\t\tconst res = await client.query<any>(rawQuery, params);\n\n\t\tconst rows = res[0];\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(rows);\n\t}\n\n\tasync *iterator(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tconst conn = ((isPool(this.client) ? await this.client.getConnection() : this.client) as {} as {\n\t\t\tconnection: CallbackConnection;\n\t\t}).connection;\n\n\t\tconst { fields, query, rawQuery, joinsNotNullableMap, client, customResultMapper } = this;\n\t\tconst hasRowsMapper = Boolean(fields || customResultMapper);\n\t\tconst driverQuery = hasRowsMapper ? conn.query(query, params) : conn.query(rawQuery, params);\n\n\t\tconst stream = driverQuery.stream();\n\n\t\tfunction dataListener() {\n\t\t\tstream.pause();\n\t\t}\n\n\t\tstream.on('data', dataListener);\n\n\t\ttry {\n\t\t\tconst onEnd = once(stream, 'end');\n\t\t\tconst onError = once(stream, 'error');\n\n\t\t\twhile (true) {\n\t\t\t\tstream.resume();\n\t\t\t\tconst row = await Promise.race([onEnd, onError, new Promise((resolve) => stream.once('data', resolve))]);\n\t\t\t\tif (row === undefined || (Array.isArray(row) && row.length === 0)) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (row instanceof Error) { // oxlint-disable-line drizzle-internal/no-instanceof\n\t\t\t\t\tthrow row;\n\t\t\t\t} else {\n\t\t\t\t\tif (hasRowsMapper) {\n\t\t\t\t\t\tif (customResultMapper) {\n\t\t\t\t\t\t\tconst mappedRow = (customResultMapper as (rows: unknown[][]) => T['execute'])([row as unknown[]]);\n\t\t\t\t\t\t\tyield (Array.isArray(mappedRow) ? mappedRow[0] : mappedRow);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tyield mapResultRow(fields!, row as unknown[], joinsNotNullableMap);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tyield row as T['execute'];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tstream.off('data', dataListener);\n\t\t\tif (isPool(client)) {\n\t\t\t\tconn.end();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport interface MySql2SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tmode: Mode;\n}\n\nexport class MySql2Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<MySqlQueryResultHKT, MySql2PreparedQueryHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'MySql2Session';\n\n\tprivate logger: Logger;\n\tprivate mode: Mode;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tdialect: MySqlDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: MySql2SessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.mode = options.mode;\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t) as PreparedQueryKind<MySql2PreparedQueryHKT, T>;\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t) as any;\n\t}\n\n\t/**\n\t * @internal\n\t * What is its purpose?\n\t */\n\tasync query(query: string, params: unknown[]): Promise<MySqlQueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.query({\n\t\t\tsql: query,\n\t\t\tvalues: params,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t});\n\t\treturn result;\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.execute(querySql.sql, querySql.params).then((result) => result[0]) as Promise<T[]>;\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T> {\n\t\tconst session = isPool(this.client)\n\t\t\t? new MySql2Session(\n\t\t\t\tawait this.client.getConnection(),\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t)\n\t\t\t: this;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\t0,\n\t\t\tthis.mode,\n\t\t);\n\t\tif (config) {\n\t\t\tconst setTransactionConfigSql = this.getSetTransactionSQL(config);\n\t\t\tif (setTransactionConfigSql) {\n\t\t\t\tawait tx.execute(setTransactionConfigSql);\n\t\t\t}\n\t\t\tconst startTransactionSql = this.getStartTransactionSQL(config);\n\t\t\tawait (startTransactionSql ? tx.execute(startTransactionSql) : tx.execute(sql`begin`));\n\t\t} else {\n\t\t\tawait tx.execute(sql`begin`);\n\t\t}\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tif (isPool(this.client)) {\n\t\t\t\t(session.client as PoolConnection).release();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class MySql2Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tMySql2QueryResultHKT,\n\tMySql2PreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'MySql2Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tthis.mode,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nfunction isPool(client: MySql2Client): client is Pool {\n\treturn 'getConnection' in client;\n}\n\nexport interface MySql2QueryResultHKT extends MySqlQueryResultHKT {\n\ttype: MySqlRawQueryResult;\n}\n\nexport interface MySql2PreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: MySql2PreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/mysql2/session.ts"],"sourcesContent":["import type { Connection as CallbackConnection } from 'mysql2';\nimport type {\n\tConnection,\n\tFieldPacket,\n\tOkPacket,\n\tPool,\n\tPoolConnection,\n\tQueryOptions,\n\tResultSetHeader,\n\tRowDataPacket,\n} from 'mysql2/promise';\nimport { once } from 'node:events';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\ttype Mode,\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n\ttype MySqlTransactionConfig,\n\ttype PreparedQueryKind,\n} from '~/mysql-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, sql } from '~/sql/sql.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nexport type MySql2Client = Pool | Connection;\n\nexport type MySqlRawQueryResult = [ResultSetHeader, FieldPacket[]];\nexport type MySqlQueryResultType = RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader;\nexport type MySqlQueryResult<\n\tT = any,\n> = [T extends ResultSetHeader ? T : T[], FieldPacket[]];\n\nexport class MySql2PreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'MySql2PreparedQuery';\n\n\tprivate rawQuery: QueryOptions;\n\tprivate query: QueryOptions;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tqueryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t\tthis.rawQuery = {\n\t\t\tsql: queryString,\n\t\t\t// rowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t};\n\t\tthis.query = {\n\t\t\tsql: queryString,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t};\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.sql, params);\n\n\t\tconst { fields, client, rawQuery, query, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } =\n\t\t\tthis;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(rawQuery.sql, params, async () => {\n\t\t\t\treturn await client.query<any>(rawQuery, params);\n\t\t\t});\n\n\t\t\tconst insertId = res[0].insertId;\n\t\t\tconst affectedRows = res[0].affectedRows;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst result = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await client.query<any[]>(query, params);\n\t\t});\n\n\t\tconst rows = result[0];\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.sql, params);\n\n\t\tconst { client, rawQuery, customResultMapper } = this;\n\t\tconst res = await client.query<any>(rawQuery, params);\n\n\t\tconst rows = res[0];\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(rows);\n\t}\n\n\tasync *iterator(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tconst conn = ((isPool(this.client) ? await this.client.getConnection() : this.client) as {} as {\n\t\t\tconnection: CallbackConnection;\n\t\t}).connection;\n\n\t\tconst { fields, query, rawQuery, joinsNotNullableMap, client, customResultMapper } = this;\n\t\tconst hasRowsMapper = Boolean(fields || customResultMapper);\n\t\tconst driverQuery = hasRowsMapper ? conn.query(query, params) : conn.query(rawQuery, params);\n\n\t\tconst stream = driverQuery.stream();\n\n\t\tfunction dataListener() {\n\t\t\tstream.pause();\n\t\t}\n\n\t\tstream.on('data', dataListener);\n\n\t\ttry {\n\t\t\tconst onEnd = once(stream, 'end');\n\t\t\tconst onError = once(stream, 'error');\n\n\t\t\twhile (true) {\n\t\t\t\tstream.resume();\n\t\t\t\tconst row = await Promise.race([onEnd, onError, new Promise((resolve) => stream.once('data', resolve))]);\n\t\t\t\tif (row === undefined || (Array.isArray(row) && row.length === 0)) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (row instanceof Error) { // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\t\tthrow row;\n\t\t\t\t} else {\n\t\t\t\t\tif (hasRowsMapper) {\n\t\t\t\t\t\tif (customResultMapper) {\n\t\t\t\t\t\t\tconst mappedRow = (customResultMapper as (rows: unknown[][]) => T['execute'])([row as unknown[]]);\n\t\t\t\t\t\t\tyield (Array.isArray(mappedRow) ? mappedRow[0] : mappedRow);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tyield mapResultRow(fields!, row as unknown[], joinsNotNullableMap);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tyield row as T['execute'];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tstream.off('data', dataListener);\n\t\t\tif (isPool(client)) {\n\t\t\t\tconn.end();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport interface MySql2SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tmode: Mode;\n}\n\nexport class MySql2Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<MySqlQueryResultHKT, MySql2PreparedQueryHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'MySql2Session';\n\n\tprivate logger: Logger;\n\tprivate mode: Mode;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tdialect: MySqlDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: MySql2SessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.mode = options.mode;\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t) as PreparedQueryKind<MySql2PreparedQueryHKT, T>;\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<MySql2PreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new MySql2PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t) as any;\n\t}\n\n\t/**\n\t * @internal\n\t * What is its purpose?\n\t */\n\tasync query(query: string, params: unknown[]): Promise<MySqlQueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.query({\n\t\t\tsql: query,\n\t\t\tvalues: params,\n\t\t\trowsAsArray: true,\n\t\t\ttypeCast: function(field: any, next: any) {\n\t\t\t\tif (field.type === 'TIMESTAMP' || field.type === 'DATETIME' || field.type === 'DATE') {\n\t\t\t\t\treturn field.string();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t},\n\t\t});\n\t\treturn result;\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.execute(querySql.sql, querySql.params).then((result) => result[0]) as Promise<T[]>;\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T> {\n\t\tconst session = isPool(this.client)\n\t\t\t? new MySql2Session(\n\t\t\t\tawait this.client.getConnection(),\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t)\n\t\t\t: this;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\t0,\n\t\t\tthis.mode,\n\t\t);\n\t\tif (config) {\n\t\t\tconst setTransactionConfigSql = this.getSetTransactionSQL(config);\n\t\t\tif (setTransactionConfigSql) {\n\t\t\t\tawait tx.execute(setTransactionConfigSql);\n\t\t\t}\n\t\t\tconst startTransactionSql = this.getStartTransactionSQL(config);\n\t\t\tawait (startTransactionSql ? tx.execute(startTransactionSql) : tx.execute(sql`begin`));\n\t\t} else {\n\t\t\tawait tx.execute(sql`begin`);\n\t\t}\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tif (isPool(this.client)) {\n\t\t\t\t(session.client as PoolConnection).release();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class MySql2Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tMySql2QueryResultHKT,\n\tMySql2PreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'MySql2Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: MySql2Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new MySql2Transaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tthis.mode,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nfunction isPool(client: MySql2Client): client is Pool {\n\treturn 'getConnection' in client;\n}\n\nexport interface MySql2QueryResultHKT extends MySqlQueryResultHKT {\n\ttype: MySqlRawQueryResult;\n}\n\nexport interface MySql2PreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: MySql2PreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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","names":[]}
@@ -39,6 +39,7 @@ var import_entity = require("../entity.cjs");
39
39
  var import_logger = require("../logger.cjs");
40
40
  var import_db = require("../pg-core/db.cjs");
41
41
  var import_dialect = require("../pg-core/dialect.cjs");
42
+ var import_utils = require("../utils.cjs");
42
43
  var import_session = require("./session.cjs");
43
44
  class NeonHttpDriver {
44
45
  constructor(client, dialect, options = {}) {
@@ -138,18 +139,21 @@ function construct(client, config = {}) {
138
139
  }
139
140
  function drizzle(...params) {
140
141
  if (typeof params[0] === "string") {
141
- const instance2 = (0, import_serverless.neon)(params[0]);
142
- return construct(instance2, params[1]);
142
+ const instance = (0, import_serverless.neon)(params[0]);
143
+ return construct(instance, params[1]);
143
144
  }
144
- const { connection, client, ...drizzleConfig } = params[0];
145
- if (client) return construct(client, drizzleConfig);
146
- if (typeof connection === "object") {
147
- const { connectionString, ...options } = connection;
148
- const instance2 = (0, import_serverless.neon)(connectionString, options);
149
- return construct(instance2, drizzleConfig);
145
+ if ((0, import_utils.isConfig)(params[0])) {
146
+ const { connection, client, ...drizzleConfig } = params[0];
147
+ if (client) return construct(client, drizzleConfig);
148
+ if (typeof connection === "object") {
149
+ const { connectionString, ...options } = connection;
150
+ const instance2 = (0, import_serverless.neon)(connectionString, options);
151
+ return construct(instance2, drizzleConfig);
152
+ }
153
+ const instance = (0, import_serverless.neon)(connection);
154
+ return construct(instance, drizzleConfig);
150
155
  }
151
- const instance = (0, import_serverless.neon)(connection);
152
- return construct(instance, drizzleConfig);
156
+ return construct(params[0], params[1]);
153
157
  }
154
158
  ((drizzle2) => {
155
159
  function mock(config) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/neon-http/driver.ts"],"sourcesContent":["import type { HTTPQueryOptions, HTTPTransactionOptions, NeonQueryFunction } from '@neondatabase/serverless';\nimport { neon, types } from '@neondatabase/serverless';\nimport * as V1 from '~/_relations.ts';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type NeonHttpClient, type NeonHttpQueryResultHKT, NeonHttpSession } from './session.ts';\n\nexport interface NeonDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NeonHttpDriver {\n\tstatic readonly [entityKind]: string = 'NeonHttpDriver';\n\n\tconstructor(\n\t\tprivate client: NeonHttpClient,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: NeonDriverOptions = {},\n\t) {\n\t\tthis.initMappers();\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations | undefined,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NeonHttpSession<Record<string, unknown>, EmptyRelations, V1.TablesRelationalConfig> {\n\t\treturn new NeonHttpSession(this.client, this.dialect, relations ?? {} as EmptyRelations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n\n\tinitMappers() {\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\t\ttypes.setTypeParser(1231, (val) => val);\n\t\ttypes.setTypeParser(1115, (val) => val);\n\t\ttypes.setTypeParser(1185, (val) => val);\n\t\ttypes.setTypeParser(1187, (val) => val);\n\t\ttypes.setTypeParser(1182, (val) => val);\n\t}\n}\n\nfunction wrap<T extends object>(\n\ttarget: T,\n\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\tcb: (target: any, p: string | symbol, res: any) => any,\n\tdeep?: boolean,\n) {\n\treturn new Proxy(target, {\n\t\tget(target, p) {\n\t\t\tconst element = target[p as keyof typeof p];\n\t\t\tif (typeof element !== 'function' && (typeof element !== 'object' || element === null)) return element;\n\n\t\t\tif (deep) return wrap(element, token, cb);\n\t\t\tif (p === 'query' || p === '_query') return wrap(element, token, cb, true);\n\n\t\t\treturn new Proxy(element as any, {\n\t\t\t\tapply(target, thisArg, argArray) {\n\t\t\t\t\tconst res = target.call(thisArg, ...argArray);\n\t\t\t\t\tif (typeof res === 'object' && res !== null && 'setToken' in res && typeof res.setToken === 'function') {\n\t\t\t\t\t\tres.setToken(token);\n\t\t\t\t\t}\n\t\t\t\t\treturn cb(target, p, res);\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t});\n}\n\nexport class NeonHttpDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgDatabase<NeonHttpQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NeonHttpDatabase';\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<\n\t\tthis,\n\t\tExclude<\n\t\t\tkeyof this,\n\t\t\t| '$count'\n\t\t\t| 'delete'\n\t\t\t| 'select'\n\t\t\t| 'selectDistinct'\n\t\t\t| 'selectDistinctOn'\n\t\t\t| 'update'\n\t\t\t| 'insert'\n\t\t\t| 'with'\n\t\t\t| '_query'\n\t\t\t| 'query'\n\t\t\t| 'execute'\n\t\t\t| 'refreshMaterializedView'\n\t\t>\n\t> {\n\t\tthis.authToken = token;\n\n\t\treturn wrap(this, token, (target, p, res) => {\n\t\t\tif (p === 'with') {\n\t\t\t\treturn wrap(res, token, (_, __, res) => res);\n\t\t\t}\n\t\t\treturn res;\n\t\t});\n\t}\n\n\t/** @internal */\n\tdeclare readonly session: NeonHttpSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<any, any>,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): NeonHttpDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: 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 relations = config.relations ?? {} as TRelations;\n\n\tconst driver = new NeonHttpDriver(client, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema);\n\n\tconst db = new NeonHttpDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<V1.ExtractTablesWithRelations<TSchema>> | undefined,\n\t);\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<false, false>,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ connectionString: string } & HTTPTransactionOptions<boolean, boolean>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): NeonHttpDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = neon(params[0] as string);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?:\n\t\t\t\t| ({\n\t\t\t\t\tconnectionString: string;\n\t\t\t\t} & HTTPTransactionOptions<boolean, boolean>)\n\t\t\t\t| string;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tif (typeof connection === 'object') {\n\t\tconst { connectionString, ...options } = connection;\n\n\t\tconst instance = neon(connectionString, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = neon(connection!);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): NeonHttpDatabase<TSchema, TRelations> & {\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":"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","names":["target","res","instance","drizzle"]}
1
+ {"version":3,"sources":["../../src/neon-http/driver.ts"],"sourcesContent":["import type { HTTPQueryOptions, HTTPTransactionOptions, NeonQueryFunction } from '@neondatabase/serverless';\nimport { neon, types } from '@neondatabase/serverless';\nimport * as V1 from '~/_relations.ts';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { type NeonHttpClient, type NeonHttpQueryResultHKT, NeonHttpSession } from './session.ts';\n\nexport interface NeonDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NeonHttpDriver {\n\tstatic readonly [entityKind]: string = 'NeonHttpDriver';\n\n\tconstructor(\n\t\tprivate client: NeonHttpClient,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: NeonDriverOptions = {},\n\t) {\n\t\tthis.initMappers();\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations | undefined,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NeonHttpSession<Record<string, unknown>, EmptyRelations, V1.TablesRelationalConfig> {\n\t\treturn new NeonHttpSession(this.client, this.dialect, relations ?? {} as EmptyRelations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n\n\tinitMappers() {\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\t\ttypes.setTypeParser(1231, (val) => val);\n\t\ttypes.setTypeParser(1115, (val) => val);\n\t\ttypes.setTypeParser(1185, (val) => val);\n\t\ttypes.setTypeParser(1187, (val) => val);\n\t\ttypes.setTypeParser(1182, (val) => val);\n\t}\n}\n\nfunction wrap<T extends object>(\n\ttarget: T,\n\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\tcb: (target: any, p: string | symbol, res: any) => any,\n\tdeep?: boolean,\n) {\n\treturn new Proxy(target, {\n\t\tget(target, p) {\n\t\t\tconst element = target[p as keyof typeof p];\n\t\t\tif (typeof element !== 'function' && (typeof element !== 'object' || element === null)) return element;\n\n\t\t\tif (deep) return wrap(element, token, cb);\n\t\t\tif (p === 'query' || p === '_query') return wrap(element, token, cb, true);\n\n\t\t\treturn new Proxy(element as any, {\n\t\t\t\tapply(target, thisArg, argArray) {\n\t\t\t\t\tconst res = target.call(thisArg, ...argArray);\n\t\t\t\t\tif (typeof res === 'object' && res !== null && 'setToken' in res && typeof res.setToken === 'function') {\n\t\t\t\t\t\tres.setToken(token);\n\t\t\t\t\t}\n\t\t\t\t\treturn cb(target, p, res);\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t});\n}\n\nexport class NeonHttpDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgDatabase<NeonHttpQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NeonHttpDatabase';\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<\n\t\tthis,\n\t\tExclude<\n\t\t\tkeyof this,\n\t\t\t| '$count'\n\t\t\t| 'delete'\n\t\t\t| 'select'\n\t\t\t| 'selectDistinct'\n\t\t\t| 'selectDistinctOn'\n\t\t\t| 'update'\n\t\t\t| 'insert'\n\t\t\t| 'with'\n\t\t\t| '_query'\n\t\t\t| 'query'\n\t\t\t| 'execute'\n\t\t\t| 'refreshMaterializedView'\n\t\t>\n\t> {\n\t\tthis.authToken = token;\n\n\t\treturn wrap(this, token, (target, p, res) => {\n\t\t\tif (p === 'with') {\n\t\t\t\treturn wrap(res, token, (_, __, res) => res);\n\t\t\t}\n\t\t\treturn res;\n\t\t});\n\t}\n\n\t/** @internal */\n\tdeclare readonly session: NeonHttpSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<any, any>,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): NeonHttpDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: 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 relations = config.relations ?? {} as TRelations;\n\n\tconst driver = new NeonHttpDriver(client, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema);\n\n\tconst db = new NeonHttpDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<V1.ExtractTablesWithRelations<TSchema>> | undefined,\n\t);\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<false, false>,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ connectionString: string } & HTTPTransactionOptions<boolean, boolean>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): NeonHttpDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = neon(params[0] as string);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& {\n\t\t\t\tconnection?:\n\t\t\t\t\t| ({\n\t\t\t\t\t\tconnectionString: string;\n\t\t\t\t\t} & HTTPTransactionOptions<boolean, boolean>)\n\t\t\t\t\t| string;\n\t\t\t\tclient?: TClient;\n\t\t\t}\n\t\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) return construct(client, drizzleConfig);\n\n\t\tif (typeof connection === 'object') {\n\t\t\tconst { connectionString, ...options } = connection;\n\n\t\t\tconst instance = neon(connectionString, options);\n\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = neon(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, TRelations> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): NeonHttpDatabase<TSchema, TRelations> & {\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":"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","names":["target","res","instance","drizzle"]}
@@ -7,7 +7,7 @@ import type { Logger } from "../logger.cjs";
7
7
  import { PgDatabase } from "../pg-core/db.cjs";
8
8
  import { PgDialect } from "../pg-core/dialect.cjs";
9
9
  import type { AnyRelations, EmptyRelations } from "../relations.cjs";
10
- import type { DrizzleConfig } from "../utils.cjs";
10
+ import { type DrizzleConfig } from "../utils.cjs";
11
11
  import { type NeonHttpClient, type NeonHttpQueryResultHKT, NeonHttpSession } from "./session.cjs";
12
12
  export interface NeonDriverOptions {
13
13
  logger?: Logger;
@@ -28,9 +28,9 @@ export declare class NeonHttpDatabase<TSchema extends Record<string, unknown> =
28
28
  batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
29
29
  }
30
30
  export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends NeonQueryFunction<any, any> = NeonQueryFunction<false, false>>(...params: [
31
- string
31
+ TClient | string
32
32
  ] | [
33
- string,
33
+ TClient | string,
34
34
  DrizzleConfig<TSchema, TRelations>
35
35
  ] | [
36
36
  (DrizzleConfig<TSchema, TRelations> & ({
@@ -7,7 +7,7 @@ import type { Logger } from "../logger.js";
7
7
  import { PgDatabase } from "../pg-core/db.js";
8
8
  import { PgDialect } from "../pg-core/dialect.js";
9
9
  import type { AnyRelations, EmptyRelations } from "../relations.js";
10
- import type { DrizzleConfig } from "../utils.js";
10
+ import { type DrizzleConfig } from "../utils.js";
11
11
  import { type NeonHttpClient, type NeonHttpQueryResultHKT, NeonHttpSession } from "./session.js";
12
12
  export interface NeonDriverOptions {
13
13
  logger?: Logger;
@@ -28,9 +28,9 @@ export declare class NeonHttpDatabase<TSchema extends Record<string, unknown> =
28
28
  batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
29
29
  }
30
30
  export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends NeonQueryFunction<any, any> = NeonQueryFunction<false, false>>(...params: [
31
- string
31
+ TClient | string
32
32
  ] | [
33
- string,
33
+ TClient | string,
34
34
  DrizzleConfig<TSchema, TRelations>
35
35
  ] | [
36
36
  (DrizzleConfig<TSchema, TRelations> & ({
@@ -4,6 +4,7 @@ import { entityKind } from "../entity.js";
4
4
  import { DefaultLogger } from "../logger.js";
5
5
  import { PgDatabase } from "../pg-core/db.js";
6
6
  import { PgDialect } from "../pg-core/dialect.js";
7
+ import { isConfig } from "../utils.js";
7
8
  import { NeonHttpSession } from "./session.js";
8
9
  class NeonHttpDriver {
9
10
  constructor(client, dialect, options = {}) {
@@ -103,18 +104,21 @@ function construct(client, config = {}) {
103
104
  }
104
105
  function drizzle(...params) {
105
106
  if (typeof params[0] === "string") {
106
- const instance2 = neon(params[0]);
107
- return construct(instance2, params[1]);
107
+ const instance = neon(params[0]);
108
+ return construct(instance, params[1]);
108
109
  }
109
- const { connection, client, ...drizzleConfig } = params[0];
110
- if (client) return construct(client, drizzleConfig);
111
- if (typeof connection === "object") {
112
- const { connectionString, ...options } = connection;
113
- const instance2 = neon(connectionString, options);
114
- return construct(instance2, drizzleConfig);
110
+ if (isConfig(params[0])) {
111
+ const { connection, client, ...drizzleConfig } = params[0];
112
+ if (client) return construct(client, drizzleConfig);
113
+ if (typeof connection === "object") {
114
+ const { connectionString, ...options } = connection;
115
+ const instance2 = neon(connectionString, options);
116
+ return construct(instance2, drizzleConfig);
117
+ }
118
+ const instance = neon(connection);
119
+ return construct(instance, drizzleConfig);
115
120
  }
116
- const instance = neon(connection);
117
- return construct(instance, drizzleConfig);
121
+ return construct(params[0], params[1]);
118
122
  }
119
123
  ((drizzle2) => {
120
124
  function mock(config) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/neon-http/driver.ts"],"sourcesContent":["import type { HTTPQueryOptions, HTTPTransactionOptions, NeonQueryFunction } from '@neondatabase/serverless';\nimport { neon, types } from '@neondatabase/serverless';\nimport * as V1 from '~/_relations.ts';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type NeonHttpClient, type NeonHttpQueryResultHKT, NeonHttpSession } from './session.ts';\n\nexport interface NeonDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NeonHttpDriver {\n\tstatic readonly [entityKind]: string = 'NeonHttpDriver';\n\n\tconstructor(\n\t\tprivate client: NeonHttpClient,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: NeonDriverOptions = {},\n\t) {\n\t\tthis.initMappers();\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations | undefined,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NeonHttpSession<Record<string, unknown>, EmptyRelations, V1.TablesRelationalConfig> {\n\t\treturn new NeonHttpSession(this.client, this.dialect, relations ?? {} as EmptyRelations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n\n\tinitMappers() {\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\t\ttypes.setTypeParser(1231, (val) => val);\n\t\ttypes.setTypeParser(1115, (val) => val);\n\t\ttypes.setTypeParser(1185, (val) => val);\n\t\ttypes.setTypeParser(1187, (val) => val);\n\t\ttypes.setTypeParser(1182, (val) => val);\n\t}\n}\n\nfunction wrap<T extends object>(\n\ttarget: T,\n\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\tcb: (target: any, p: string | symbol, res: any) => any,\n\tdeep?: boolean,\n) {\n\treturn new Proxy(target, {\n\t\tget(target, p) {\n\t\t\tconst element = target[p as keyof typeof p];\n\t\t\tif (typeof element !== 'function' && (typeof element !== 'object' || element === null)) return element;\n\n\t\t\tif (deep) return wrap(element, token, cb);\n\t\t\tif (p === 'query' || p === '_query') return wrap(element, token, cb, true);\n\n\t\t\treturn new Proxy(element as any, {\n\t\t\t\tapply(target, thisArg, argArray) {\n\t\t\t\t\tconst res = target.call(thisArg, ...argArray);\n\t\t\t\t\tif (typeof res === 'object' && res !== null && 'setToken' in res && typeof res.setToken === 'function') {\n\t\t\t\t\t\tres.setToken(token);\n\t\t\t\t\t}\n\t\t\t\t\treturn cb(target, p, res);\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t});\n}\n\nexport class NeonHttpDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgDatabase<NeonHttpQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NeonHttpDatabase';\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<\n\t\tthis,\n\t\tExclude<\n\t\t\tkeyof this,\n\t\t\t| '$count'\n\t\t\t| 'delete'\n\t\t\t| 'select'\n\t\t\t| 'selectDistinct'\n\t\t\t| 'selectDistinctOn'\n\t\t\t| 'update'\n\t\t\t| 'insert'\n\t\t\t| 'with'\n\t\t\t| '_query'\n\t\t\t| 'query'\n\t\t\t| 'execute'\n\t\t\t| 'refreshMaterializedView'\n\t\t>\n\t> {\n\t\tthis.authToken = token;\n\n\t\treturn wrap(this, token, (target, p, res) => {\n\t\t\tif (p === 'with') {\n\t\t\t\treturn wrap(res, token, (_, __, res) => res);\n\t\t\t}\n\t\t\treturn res;\n\t\t});\n\t}\n\n\t/** @internal */\n\tdeclare readonly session: NeonHttpSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<any, any>,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): NeonHttpDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: 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 relations = config.relations ?? {} as TRelations;\n\n\tconst driver = new NeonHttpDriver(client, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema);\n\n\tconst db = new NeonHttpDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<V1.ExtractTablesWithRelations<TSchema>> | undefined,\n\t);\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<false, false>,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ connectionString: string } & HTTPTransactionOptions<boolean, boolean>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): NeonHttpDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = neon(params[0] as string);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?:\n\t\t\t\t| ({\n\t\t\t\t\tconnectionString: string;\n\t\t\t\t} & HTTPTransactionOptions<boolean, boolean>)\n\t\t\t\t| string;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tif (typeof connection === 'object') {\n\t\tconst { connectionString, ...options } = connection;\n\n\t\tconst instance = neon(connectionString, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = neon(connection!);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): NeonHttpDatabase<TSchema, TRelations> & {\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":"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","names":["target","res","instance","drizzle"]}
1
+ {"version":3,"sources":["../../src/neon-http/driver.ts"],"sourcesContent":["import type { HTTPQueryOptions, HTTPTransactionOptions, NeonQueryFunction } from '@neondatabase/serverless';\nimport { neon, types } from '@neondatabase/serverless';\nimport * as V1 from '~/_relations.ts';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { type NeonHttpClient, type NeonHttpQueryResultHKT, NeonHttpSession } from './session.ts';\n\nexport interface NeonDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NeonHttpDriver {\n\tstatic readonly [entityKind]: string = 'NeonHttpDriver';\n\n\tconstructor(\n\t\tprivate client: NeonHttpClient,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: NeonDriverOptions = {},\n\t) {\n\t\tthis.initMappers();\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations | undefined,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NeonHttpSession<Record<string, unknown>, EmptyRelations, V1.TablesRelationalConfig> {\n\t\treturn new NeonHttpSession(this.client, this.dialect, relations ?? {} as EmptyRelations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n\n\tinitMappers() {\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\t\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\t\ttypes.setTypeParser(1231, (val) => val);\n\t\ttypes.setTypeParser(1115, (val) => val);\n\t\ttypes.setTypeParser(1185, (val) => val);\n\t\ttypes.setTypeParser(1187, (val) => val);\n\t\ttypes.setTypeParser(1182, (val) => val);\n\t}\n}\n\nfunction wrap<T extends object>(\n\ttarget: T,\n\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\tcb: (target: any, p: string | symbol, res: any) => any,\n\tdeep?: boolean,\n) {\n\treturn new Proxy(target, {\n\t\tget(target, p) {\n\t\t\tconst element = target[p as keyof typeof p];\n\t\t\tif (typeof element !== 'function' && (typeof element !== 'object' || element === null)) return element;\n\n\t\t\tif (deep) return wrap(element, token, cb);\n\t\t\tif (p === 'query' || p === '_query') return wrap(element, token, cb, true);\n\n\t\t\treturn new Proxy(element as any, {\n\t\t\t\tapply(target, thisArg, argArray) {\n\t\t\t\t\tconst res = target.call(thisArg, ...argArray);\n\t\t\t\t\tif (typeof res === 'object' && res !== null && 'setToken' in res && typeof res.setToken === 'function') {\n\t\t\t\t\t\tres.setToken(token);\n\t\t\t\t\t}\n\t\t\t\t\treturn cb(target, p, res);\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t});\n}\n\nexport class NeonHttpDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgDatabase<NeonHttpQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NeonHttpDatabase';\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<\n\t\tthis,\n\t\tExclude<\n\t\t\tkeyof this,\n\t\t\t| '$count'\n\t\t\t| 'delete'\n\t\t\t| 'select'\n\t\t\t| 'selectDistinct'\n\t\t\t| 'selectDistinctOn'\n\t\t\t| 'update'\n\t\t\t| 'insert'\n\t\t\t| 'with'\n\t\t\t| '_query'\n\t\t\t| 'query'\n\t\t\t| 'execute'\n\t\t\t| 'refreshMaterializedView'\n\t\t>\n\t> {\n\t\tthis.authToken = token;\n\n\t\treturn wrap(this, token, (target, p, res) => {\n\t\t\tif (p === 'with') {\n\t\t\t\treturn wrap(res, token, (_, __, res) => res);\n\t\t\t}\n\t\t\treturn res;\n\t\t});\n\t}\n\n\t/** @internal */\n\tdeclare readonly session: NeonHttpSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<any, any>,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): NeonHttpDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: 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 relations = config.relations ?? {} as TRelations;\n\n\tconst driver = new NeonHttpDriver(client, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema);\n\n\tconst db = new NeonHttpDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<V1.ExtractTablesWithRelations<TSchema>> | undefined,\n\t);\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<false, false>,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ connectionString: string } & HTTPTransactionOptions<boolean, boolean>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): NeonHttpDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = neon(params[0] as string);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& {\n\t\t\t\tconnection?:\n\t\t\t\t\t| ({\n\t\t\t\t\t\tconnectionString: string;\n\t\t\t\t\t} & HTTPTransactionOptions<boolean, boolean>)\n\t\t\t\t\t| string;\n\t\t\t\tclient?: TClient;\n\t\t\t}\n\t\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) return construct(client, drizzleConfig);\n\n\t\tif (typeof connection === 'object') {\n\t\t\tconst { connectionString, ...options } = connection;\n\n\t\t\tconst instance = neon(connectionString, options);\n\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = neon(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, TRelations> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): NeonHttpDatabase<TSchema, TRelations> & {\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":"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","names":["target","res","instance","drizzle"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/neon-http/session.ts"],"sourcesContent":["import type { FullQueryResults, NeonQueryFunction, NeonQueryPromise } from '@neondatabase/serverless';\nimport type * as V1 from '~/_relations.ts';\nimport type { BatchItem } from '~/batch.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgTransaction } from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport { PgPreparedQuery, PgSession } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { fillPlaceholders, type Query, type SQL } from '~/sql/sql.ts';\nimport { mapResultRow, type NeonAuthToken } from '~/utils.ts';\n\nexport type NeonHttpClient = NeonQueryFunction<any, any>;\n\nconst rawQueryConfig = {\n\tarrayMode: false,\n\tfullResults: true,\n} as const;\nconst queryConfig = {\n\tarrayMode: true,\n\tfullResults: true,\n} as const;\n\nexport class NeonHttpPreparedQuery<\n\tT extends PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'NeonHttpPreparedQuery';\n\tprivate clientQuery: (sql: string, params: any[], opts: Record<string, any>) => NeonQueryPromise<any, any>;\n\n\tconstructor(\n\t\tprivate client: NeonHttpClient,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper(query, cache, queryMetadata, cacheConfig);\n\t\t// `client.query` is for @neondatabase/serverless v1.0.0 and up, where the\n\t\t// root query function `client` is only usable as a template function;\n\t\t// `client` is a fallback for earlier versions\n\t\tthis.clientQuery = (client as any).query ?? client as any;\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined): Promise<T['execute']>;\n\t/** @internal */\n\tasync execute(placeholderValues: Record<string, unknown> | undefined, token?: NeonAuthToken): Promise<T['execute']>;\n\t/** @internal */\n\tasync execute(\n\t\tplaceholderValues: Record<string, unknown> | undefined = {},\n\t\ttoken: NeonAuthToken | undefined = this.authToken,\n\t): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues, token);\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, clientQuery, query, customResultMapper } = this;\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn clientQuery(\n\t\t\t\t\tquery.sql,\n\t\t\t\t\tparams,\n\t\t\t\t\ttoken === undefined\n\t\t\t\t\t\t? rawQueryConfig\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t...rawQueryConfig,\n\t\t\t\t\t\t\tauthToken: token,\n\t\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\tconst result = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await clientQuery(\n\t\t\t\tquery.sql,\n\t\t\t\tparams,\n\t\t\t\ttoken === undefined\n\t\t\t\t\t? queryConfig\n\t\t\t\t\t: {\n\t\t\t\t\t\t...queryConfig,\n\t\t\t\t\t\tauthToken: token,\n\t\t\t\t\t},\n\t\t\t);\n\t\t});\n\n\t\treturn this.mapResult(result);\n\t}\n\n\tprivate async executeRqbV2(\n\t\tplaceholderValues: Record<string, unknown>,\n\t\ttoken: NeonAuthToken | undefined,\n\t): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { clientQuery, query, customResultMapper } = this;\n\n\t\tconst result = await clientQuery(\n\t\t\tquery.sql,\n\t\t\tparams,\n\t\t\ttoken === undefined\n\t\t\t\t? rawQueryConfig\n\t\t\t\t: {\n\t\t\t\t\t...rawQueryConfig,\n\t\t\t\t\tauthToken: token,\n\t\t\t\t},\n\t\t);\n\n\t\tconst rows = (result as FullQueryResults<false>).rows;\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(rows);\n\t}\n\n\toverride mapResult(result: unknown): unknown {\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn result;\n\t\t}\n\n\t\tconst rows = (result as FullQueryResults<true>).rows;\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => T['execute'])(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow(this.fields!, row, this.joinsNotNullableMap));\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.clientQuery(\n\t\t\tthis.query.sql,\n\t\t\tparams,\n\t\t\tthis.authToken === undefined ? rawQueryConfig : {\n\t\t\t\t...rawQueryConfig,\n\t\t\t\tauthToken: this.authToken,\n\t\t\t},\n\t\t).then((result) => result.rows);\n\t}\n\n\tvalues(placeholderValues: Record<string, unknown> | undefined): Promise<T['values']>;\n\t/** @internal */\n\tvalues(placeholderValues: Record<string, unknown> | undefined, token?: NeonAuthToken): Promise<T['values']>;\n\t/** @internal */\n\tvalues(placeholderValues: Record<string, unknown> | undefined = {}, token?: NeonAuthToken): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.clientQuery(this.query.sql, params, { arrayMode: true, fullResults: true, authToken: token }).then((\n\t\t\tresult,\n\t\t) => result.rows);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode() {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface NeonHttpSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NeonHttpSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends PgSession<NeonHttpQueryResultHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NeonHttpSession';\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 client: NeonHttpClient,\n\t\tdialect: PgDialect,\n\t\tprivate relations: AnyRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: NeonHttpSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\t// `client.query` is for @neondatabase/serverless v1.0.0 and up, where the\n\t\t// root query function `client` is only usable as a template function;\n\t\t// `client` is a fallback for earlier versions\n\t\tthis.clientQuery = (client as any).query ?? client 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): PgPreparedQuery<T> {\n\t\treturn new NeonHttpPreparedQuery(\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\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): PgPreparedQuery<T> {\n\t\treturn new NeonHttpPreparedQuery(\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\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.client.transaction(builtQueries, queryConfig);\n\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true)) as any;\n\t}\n\n\t// change return type to QueryRows<true>\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\t// change return type to QueryRows<false>\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 count(sql: SQL): Promise<number>;\n\t/** @internal */\n\toverride async count(sql: SQL, token?: NeonAuthToken): Promise<number>;\n\t/** @internal */\n\toverride async count(sql: SQL, token?: NeonAuthToken): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql, token);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: NeonTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t_config: PgTransactionConfig = {},\n\t): Promise<T> {\n\t\tthrow new Error('No transactions support in neon-http driver');\n\t}\n}\n\nexport class NeonTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends PgTransaction<NeonHttpQueryResultHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NeonHttpTransaction';\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: NeonTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tthrow new Error('No transactions support in neon-http driver');\n\t\t// const savepointName = `sp${this.nestedIndex + 1}`;\n\t\t// const tx = new NeonTransaction(this.dialect, this.session, this.relations, this.schema, this.nestedIndex + 1);\n\t\t// await tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\t// try {\n\t\t// \tconst result = await transaction(tx);\n\t\t// \tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t// \treturn result;\n\t\t// } catch (e) {\n\t\t// \tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t// \tthrow e;\n\t\t// }\n\t}\n}\n\nexport type NeonHttpQueryResult<T> = Omit<FullQueryResults<false>, 'rows'> & { rows: T[] };\n\nexport interface NeonHttpQueryResultHKT extends PgQueryResultHKT {\n\ttype: NeonHttpQueryResult<this['row']>;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/neon-http/session.ts"],"sourcesContent":["import type { FullQueryResults, NeonQueryFunction, NeonQueryPromise } from '@neondatabase/serverless';\nimport type * as V1 from '~/_relations.ts';\nimport type { BatchItem } from '~/batch.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgTransaction } from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport { PgPreparedQuery as PgPreparedQuery, PgSession } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { fillPlaceholders, type Query, type SQL } from '~/sql/sql.ts';\nimport { mapResultRow, type NeonAuthToken } from '~/utils.ts';\n\nexport type NeonHttpClient = NeonQueryFunction<any, any>;\n\nconst rawQueryConfig = {\n\tarrayMode: false,\n\tfullResults: true,\n} as const;\nconst queryConfig = {\n\tarrayMode: true,\n\tfullResults: true,\n} as const;\n\nexport class NeonHttpPreparedQuery<\n\tT extends PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'NeonHttpPreparedQuery';\n\tprivate clientQuery: (sql: string, params: any[], opts: Record<string, any>) => NeonQueryPromise<any, any>;\n\n\tconstructor(\n\t\tprivate client: NeonHttpClient,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper(query, cache, queryMetadata, cacheConfig);\n\t\t// `client.query` is for @neondatabase/serverless v1.0.0 and up, where the\n\t\t// root query function `client` is only usable as a template function;\n\t\t// `client` is a fallback for earlier versions\n\t\tthis.clientQuery = (client as any).query ?? client as any;\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined): Promise<T['execute']>;\n\t/** @internal */\n\tasync execute(placeholderValues: Record<string, unknown> | undefined, token?: NeonAuthToken): Promise<T['execute']>;\n\t/** @internal */\n\tasync execute(\n\t\tplaceholderValues: Record<string, unknown> | undefined = {},\n\t\ttoken: NeonAuthToken | undefined = this.authToken,\n\t): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues, token);\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, clientQuery, query, customResultMapper } = this;\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn clientQuery(\n\t\t\t\t\tquery.sql,\n\t\t\t\t\tparams,\n\t\t\t\t\ttoken === undefined\n\t\t\t\t\t\t? rawQueryConfig\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t...rawQueryConfig,\n\t\t\t\t\t\t\tauthToken: token,\n\t\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\tconst result = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await clientQuery(\n\t\t\t\tquery.sql,\n\t\t\t\tparams,\n\t\t\t\ttoken === undefined\n\t\t\t\t\t? queryConfig\n\t\t\t\t\t: {\n\t\t\t\t\t\t...queryConfig,\n\t\t\t\t\t\tauthToken: token,\n\t\t\t\t\t},\n\t\t\t);\n\t\t});\n\n\t\treturn this.mapResult(result);\n\t}\n\n\tprivate async executeRqbV2(\n\t\tplaceholderValues: Record<string, unknown>,\n\t\ttoken: NeonAuthToken | undefined,\n\t): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { clientQuery, query, customResultMapper } = this;\n\n\t\tconst result = await clientQuery(\n\t\t\tquery.sql,\n\t\t\tparams,\n\t\t\ttoken === undefined\n\t\t\t\t? rawQueryConfig\n\t\t\t\t: {\n\t\t\t\t\t...rawQueryConfig,\n\t\t\t\t\tauthToken: token,\n\t\t\t\t},\n\t\t);\n\n\t\tconst rows = (result as FullQueryResults<false>).rows;\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(rows);\n\t}\n\n\toverride mapResult(result: unknown): unknown {\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn result;\n\t\t}\n\n\t\tconst rows = (result as FullQueryResults<true>).rows;\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => T['execute'])(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow(this.fields!, row, this.joinsNotNullableMap));\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.clientQuery(\n\t\t\tthis.query.sql,\n\t\t\tparams,\n\t\t\tthis.authToken === undefined ? rawQueryConfig : {\n\t\t\t\t...rawQueryConfig,\n\t\t\t\tauthToken: this.authToken,\n\t\t\t},\n\t\t).then((result) => result.rows);\n\t}\n\n\tvalues(placeholderValues: Record<string, unknown> | undefined): Promise<T['values']>;\n\t/** @internal */\n\tvalues(placeholderValues: Record<string, unknown> | undefined, token?: NeonAuthToken): Promise<T['values']>;\n\t/** @internal */\n\tvalues(placeholderValues: Record<string, unknown> | undefined = {}, token?: NeonAuthToken): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.clientQuery(this.query.sql, params, { arrayMode: true, fullResults: true, authToken: token }).then((\n\t\t\tresult,\n\t\t) => result.rows);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode() {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface NeonHttpSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class NeonHttpSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends PgSession<NeonHttpQueryResultHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NeonHttpSession';\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 client: NeonHttpClient,\n\t\tdialect: PgDialect,\n\t\tprivate relations: AnyRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: NeonHttpSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\t// `client.query` is for @neondatabase/serverless v1.0.0 and up, where the\n\t\t// root query function `client` is only usable as a template function;\n\t\t// `client` is a fallback for earlier versions\n\t\tthis.clientQuery = (client as any).query ?? client 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): PgPreparedQuery<T> {\n\t\treturn new NeonHttpPreparedQuery(\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\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): PgPreparedQuery<T> {\n\t\treturn new NeonHttpPreparedQuery(\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\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.client.transaction(builtQueries, queryConfig);\n\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true)) as any;\n\t}\n\n\t// change return type to QueryRows<true>\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\t// change return type to QueryRows<false>\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 count(sql: SQL): Promise<number>;\n\t/** @internal */\n\toverride async count(sql: SQL, token?: NeonAuthToken): Promise<number>;\n\t/** @internal */\n\toverride async count(sql: SQL, token?: NeonAuthToken): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql, token);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: NeonTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t_config: PgTransactionConfig = {},\n\t): Promise<T> {\n\t\tthrow new Error('No transactions support in neon-http driver');\n\t}\n}\n\nexport class NeonTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends PgTransaction<NeonHttpQueryResultHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NeonHttpTransaction';\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: NeonTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tthrow new Error('No transactions support in neon-http driver');\n\t\t// const savepointName = `sp${this.nestedIndex + 1}`;\n\t\t// const tx = new NeonTransaction(this.dialect, this.session, this.relations, this.schema, this.nestedIndex + 1);\n\t\t// await tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\t// try {\n\t\t// \tconst result = await transaction(tx);\n\t\t// \tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t// \treturn result;\n\t\t// } catch (e) {\n\t\t// \tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t// \tthrow e;\n\t\t// }\n\t}\n}\n\nexport type NeonHttpQueryResult<T> = Omit<FullQueryResults<false>, 'rows'> & { rows: T[] };\n\nexport interface NeonHttpQueryResultHKT extends PgQueryResultHKT {\n\ttype: NeonHttpQueryResult<this['row']>;\n}\n"],"mappings":"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","names":[]}
@@ -9,7 +9,7 @@ import type { PgDialect } from "../pg-core/dialect.cjs";
9
9
  import { PgTransaction } from "../pg-core/index.cjs";
10
10
  import type { SelectedFieldsOrdered } from "../pg-core/query-builders/select.types.cjs";
11
11
  import type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from "../pg-core/session.cjs";
12
- import { PgPreparedQuery, PgSession } from "../pg-core/session.cjs";
12
+ import { PgPreparedQuery as PgPreparedQuery, PgSession } from "../pg-core/session.cjs";
13
13
  import type { AnyRelations } from "../relations.cjs";
14
14
  import { type Query, type SQL } from "../sql/sql.cjs";
15
15
  export type NeonHttpClient = NeonQueryFunction<any, any>;
@@ -9,7 +9,7 @@ import type { PgDialect } from "../pg-core/dialect.js";
9
9
  import { PgTransaction } from "../pg-core/index.js";
10
10
  import type { SelectedFieldsOrdered } from "../pg-core/query-builders/select.types.js";
11
11
  import type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from "../pg-core/session.js";
12
- import { PgPreparedQuery, PgSession } from "../pg-core/session.js";
12
+ import { PgPreparedQuery as PgPreparedQuery, PgSession } from "../pg-core/session.js";
13
13
  import type { AnyRelations } from "../relations.js";
14
14
  import { type Query, type SQL } from "../sql/sql.js";
15
15
  export type NeonHttpClient = NeonQueryFunction<any, any>;