drizzle-orm 1.0.0-beta.1-7722e6a → 1.0.0-beta.2-e93475f

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 (1777) hide show
  1. package/_relations.cjs +50 -6
  2. package/_relations.cjs.map +1 -1
  3. package/_relations.d.cts +1 -0
  4. package/_relations.d.ts +1 -0
  5. package/_relations.js +49 -6
  6. package/_relations.js.map +1 -1
  7. package/alias.cjs +56 -8
  8. package/alias.cjs.map +1 -1
  9. package/alias.d.cts +13 -3
  10. package/alias.d.ts +13 -3
  11. package/alias.js +53 -8
  12. package/alias.js.map +1 -1
  13. package/aws-data-api/common/index.cjs +18 -9
  14. package/aws-data-api/common/index.cjs.map +1 -1
  15. package/aws-data-api/common/index.d.cts +4 -1
  16. package/aws-data-api/common/index.d.ts +4 -1
  17. package/aws-data-api/common/index.js +17 -9
  18. package/aws-data-api/common/index.js.map +1 -1
  19. package/aws-data-api/pg/driver.cjs +0 -3
  20. package/aws-data-api/pg/driver.cjs.map +1 -1
  21. package/aws-data-api/pg/driver.d.cts +0 -3
  22. package/aws-data-api/pg/driver.d.ts +0 -3
  23. package/aws-data-api/pg/driver.js +0 -3
  24. package/aws-data-api/pg/driver.js.map +1 -1
  25. package/better-sqlite3/driver.cjs +10 -14
  26. package/better-sqlite3/driver.cjs.map +1 -1
  27. package/better-sqlite3/driver.d.cts +3 -3
  28. package/better-sqlite3/driver.d.ts +3 -3
  29. package/better-sqlite3/driver.js +10 -14
  30. package/better-sqlite3/driver.js.map +1 -1
  31. package/bun-sql/driver.cjs.map +1 -1
  32. package/bun-sql/driver.d.cts +8 -8
  33. package/bun-sql/driver.d.ts +8 -8
  34. package/bun-sql/driver.js.map +1 -1
  35. package/bun-sql/mysql/driver.cjs +10 -14
  36. package/bun-sql/mysql/driver.cjs.map +1 -1
  37. package/bun-sql/mysql/driver.d.cts +3 -3
  38. package/bun-sql/mysql/driver.d.ts +3 -3
  39. package/bun-sql/mysql/driver.js +10 -14
  40. package/bun-sql/mysql/driver.js.map +1 -1
  41. package/bun-sql/postgres/driver.cjs +10 -14
  42. package/bun-sql/postgres/driver.cjs.map +1 -1
  43. package/bun-sql/postgres/driver.d.cts +3 -3
  44. package/bun-sql/postgres/driver.d.ts +3 -3
  45. package/bun-sql/postgres/driver.js +10 -14
  46. package/bun-sql/postgres/driver.js.map +1 -1
  47. package/bun-sql/sqlite/driver.cjs +10 -14
  48. package/bun-sql/sqlite/driver.cjs.map +1 -1
  49. package/bun-sql/sqlite/driver.d.cts +3 -3
  50. package/bun-sql/sqlite/driver.d.ts +3 -3
  51. package/bun-sql/sqlite/driver.js +10 -14
  52. package/bun-sql/sqlite/driver.js.map +1 -1
  53. package/bun-sql/sqlite/session.cjs +0 -2
  54. package/bun-sql/sqlite/session.cjs.map +1 -1
  55. package/bun-sql/sqlite/session.js +0 -2
  56. package/bun-sql/sqlite/session.js.map +1 -1
  57. package/bun-sqlite/driver.cjs +11 -15
  58. package/bun-sqlite/driver.cjs.map +1 -1
  59. package/bun-sqlite/driver.d.cts +3 -3
  60. package/bun-sqlite/driver.d.ts +3 -3
  61. package/bun-sqlite/driver.js +11 -15
  62. package/bun-sqlite/driver.js.map +1 -1
  63. package/cockroach/driver.cjs +109 -0
  64. package/cockroach/driver.cjs.map +1 -0
  65. package/cockroach/driver.d.cts +42 -0
  66. package/cockroach/driver.d.ts +42 -0
  67. package/cockroach/driver.js +73 -0
  68. package/cockroach/driver.js.map +1 -0
  69. package/cockroach/index.cjs +25 -0
  70. package/cockroach/index.cjs.map +1 -0
  71. package/cockroach/index.d.cts +2 -0
  72. package/cockroach/index.d.ts +2 -0
  73. package/cockroach/index.js +3 -0
  74. package/cockroach/index.js.map +1 -0
  75. package/cockroach/migrator.cjs +33 -0
  76. package/cockroach/migrator.cjs.map +1 -0
  77. package/cockroach/migrator.d.cts +3 -0
  78. package/cockroach/migrator.d.ts +3 -0
  79. package/cockroach/migrator.js +9 -0
  80. package/cockroach/migrator.js.map +1 -0
  81. package/cockroach/session.cjs +253 -0
  82. package/cockroach/session.cjs.map +1 -0
  83. package/cockroach/session.d.cts +48 -0
  84. package/cockroach/session.d.ts +48 -0
  85. package/cockroach/session.js +217 -0
  86. package/cockroach/session.js.map +1 -0
  87. package/cockroach-core/alias.cjs +32 -0
  88. package/cockroach-core/alias.cjs.map +1 -0
  89. package/cockroach-core/alias.d.cts +4 -0
  90. package/cockroach-core/alias.d.ts +4 -0
  91. package/cockroach-core/alias.js +8 -0
  92. package/cockroach-core/alias.js.map +1 -0
  93. package/cockroach-core/checks.cjs +58 -0
  94. package/cockroach-core/checks.cjs.map +1 -0
  95. package/cockroach-core/checks.d.cts +18 -0
  96. package/cockroach-core/checks.d.ts +18 -0
  97. package/cockroach-core/checks.js +32 -0
  98. package/cockroach-core/checks.js.map +1 -0
  99. package/cockroach-core/columns/all.cjs +81 -0
  100. package/cockroach-core/columns/all.cjs.map +1 -0
  101. package/cockroach-core/columns/all.d.cts +52 -0
  102. package/cockroach-core/columns/all.d.ts +52 -0
  103. package/cockroach-core/columns/all.js +57 -0
  104. package/cockroach-core/columns/all.js.map +1 -0
  105. package/cockroach-core/columns/bigint.cjs +104 -0
  106. package/cockroach-core/columns/bigint.cjs.map +1 -0
  107. package/cockroach-core/columns/bigint.d.cts +37 -0
  108. package/cockroach-core/columns/bigint.d.ts +37 -0
  109. package/cockroach-core/columns/bigint.js +75 -0
  110. package/cockroach-core/columns/bigint.js.map +1 -0
  111. package/cockroach-core/columns/bit.cjs +61 -0
  112. package/cockroach-core/columns/bit.cjs.map +1 -0
  113. package/cockroach-core/columns/bit.d.cts +29 -0
  114. package/cockroach-core/columns/bit.d.ts +29 -0
  115. package/cockroach-core/columns/bit.js +35 -0
  116. package/cockroach-core/columns/bit.js.map +1 -0
  117. package/cockroach-core/columns/bool.cjs +59 -0
  118. package/cockroach-core/columns/bool.cjs.map +1 -0
  119. package/cockroach-core/columns/bool.d.cts +17 -0
  120. package/cockroach-core/columns/bool.d.ts +17 -0
  121. package/cockroach-core/columns/bool.js +32 -0
  122. package/cockroach-core/columns/bool.js.map +1 -0
  123. package/cockroach-core/columns/char.cjs +62 -0
  124. package/cockroach-core/columns/char.cjs.map +1 -0
  125. package/cockroach-core/columns/char.d.cts +31 -0
  126. package/cockroach-core/columns/char.d.ts +31 -0
  127. package/cockroach-core/columns/char.js +36 -0
  128. package/cockroach-core/columns/char.js.map +1 -0
  129. package/cockroach-core/columns/common.cjs +198 -0
  130. package/cockroach-core/columns/common.cjs.map +1 -0
  131. package/cockroach-core/columns/common.d.cts +98 -0
  132. package/cockroach-core/columns/common.d.ts +98 -0
  133. package/cockroach-core/columns/common.js +168 -0
  134. package/cockroach-core/columns/common.js.map +1 -0
  135. package/cockroach-core/columns/custom.cjs +102 -0
  136. package/cockroach-core/columns/custom.cjs.map +1 -0
  137. package/cockroach-core/columns/custom.d.cts +261 -0
  138. package/cockroach-core/columns/custom.d.ts +261 -0
  139. package/cockroach-core/columns/custom.js +76 -0
  140. package/cockroach-core/columns/custom.js.map +1 -0
  141. package/cockroach-core/columns/date.cjs +91 -0
  142. package/cockroach-core/columns/date.cjs.map +1 -0
  143. package/cockroach-core/columns/date.common.cjs +37 -0
  144. package/cockroach-core/columns/date.common.cjs.map +1 -0
  145. package/cockroach-core/columns/date.common.d.cts +7 -0
  146. package/cockroach-core/columns/date.common.d.ts +7 -0
  147. package/cockroach-core/columns/date.common.js +13 -0
  148. package/cockroach-core/columns/date.common.js.map +1 -0
  149. package/cockroach-core/columns/date.d.cts +36 -0
  150. package/cockroach-core/columns/date.d.ts +36 -0
  151. package/cockroach-core/columns/date.js +63 -0
  152. package/cockroach-core/columns/date.js.map +1 -0
  153. package/cockroach-core/columns/decimal.cjs +164 -0
  154. package/cockroach-core/columns/decimal.cjs.map +1 -0
  155. package/cockroach-core/columns/decimal.d.cts +80 -0
  156. package/cockroach-core/columns/decimal.d.ts +80 -0
  157. package/cockroach-core/columns/decimal.js +133 -0
  158. package/cockroach-core/columns/decimal.js.map +1 -0
  159. package/cockroach-core/columns/enum.cjs +127 -0
  160. package/cockroach-core/columns/enum.cjs.map +1 -0
  161. package/cockroach-core/columns/enum.d.cts +64 -0
  162. package/cockroach-core/columns/enum.d.ts +64 -0
  163. package/cockroach-core/columns/enum.js +96 -0
  164. package/cockroach-core/columns/enum.js.map +1 -0
  165. package/cockroach-core/columns/float.cjs +65 -0
  166. package/cockroach-core/columns/float.cjs.map +1 -0
  167. package/cockroach-core/columns/float.d.cts +18 -0
  168. package/cockroach-core/columns/float.d.ts +18 -0
  169. package/cockroach-core/columns/float.js +38 -0
  170. package/cockroach-core/columns/float.js.map +1 -0
  171. package/cockroach-core/columns/geometry.cjs +105 -0
  172. package/cockroach-core/columns/geometry.cjs.map +1 -0
  173. package/cockroach-core/columns/geometry.d.cts +60 -0
  174. package/cockroach-core/columns/geometry.d.ts +60 -0
  175. package/cockroach-core/columns/geometry.js +77 -0
  176. package/cockroach-core/columns/geometry.js.map +1 -0
  177. package/cockroach-core/columns/index.cjs +71 -0
  178. package/cockroach-core/columns/index.cjs.map +1 -0
  179. package/cockroach-core/columns/index.d.cts +25 -0
  180. package/cockroach-core/columns/index.d.ts +25 -0
  181. package/cockroach-core/columns/index.js +26 -0
  182. package/cockroach-core/columns/index.js.map +1 -0
  183. package/cockroach-core/columns/inet.cjs +56 -0
  184. package/cockroach-core/columns/inet.cjs.map +1 -0
  185. package/cockroach-core/columns/inet.d.cts +16 -0
  186. package/cockroach-core/columns/inet.d.ts +16 -0
  187. package/cockroach-core/columns/inet.js +30 -0
  188. package/cockroach-core/columns/inet.js.map +1 -0
  189. package/cockroach-core/columns/int.common.cjs +55 -0
  190. package/cockroach-core/columns/int.common.cjs.map +1 -0
  191. package/cockroach-core/columns/int.common.d.cts +11 -0
  192. package/cockroach-core/columns/int.common.d.ts +11 -0
  193. package/cockroach-core/columns/int.common.js +31 -0
  194. package/cockroach-core/columns/int.common.js.map +1 -0
  195. package/cockroach-core/columns/integer.cjs +63 -0
  196. package/cockroach-core/columns/integer.cjs.map +1 -0
  197. package/cockroach-core/columns/integer.d.cts +18 -0
  198. package/cockroach-core/columns/integer.d.ts +18 -0
  199. package/cockroach-core/columns/integer.js +37 -0
  200. package/cockroach-core/columns/integer.js.map +1 -0
  201. package/cockroach-core/columns/interval.cjs +63 -0
  202. package/cockroach-core/columns/interval.cjs.map +1 -0
  203. package/cockroach-core/columns/interval.d.cts +28 -0
  204. package/cockroach-core/columns/interval.d.ts +28 -0
  205. package/cockroach-core/columns/interval.js +37 -0
  206. package/cockroach-core/columns/interval.js.map +1 -0
  207. package/cockroach-core/columns/jsonb.cjs +72 -0
  208. package/cockroach-core/columns/jsonb.cjs.map +1 -0
  209. package/cockroach-core/columns/jsonb.d.cts +20 -0
  210. package/cockroach-core/columns/jsonb.d.ts +20 -0
  211. package/cockroach-core/columns/jsonb.js +46 -0
  212. package/cockroach-core/columns/jsonb.js.map +1 -0
  213. package/cockroach-core/columns/real.cjs +66 -0
  214. package/cockroach-core/columns/real.cjs.map +1 -0
  215. package/cockroach-core/columns/real.d.cts +21 -0
  216. package/cockroach-core/columns/real.d.ts +21 -0
  217. package/cockroach-core/columns/real.js +40 -0
  218. package/cockroach-core/columns/real.js.map +1 -0
  219. package/cockroach-core/columns/smallint.cjs +68 -0
  220. package/cockroach-core/columns/smallint.cjs.map +1 -0
  221. package/cockroach-core/columns/smallint.d.cts +19 -0
  222. package/cockroach-core/columns/smallint.d.ts +19 -0
  223. package/cockroach-core/columns/smallint.js +41 -0
  224. package/cockroach-core/columns/smallint.js.map +1 -0
  225. package/cockroach-core/columns/string.cjs +67 -0
  226. package/cockroach-core/columns/string.cjs.map +1 -0
  227. package/cockroach-core/columns/string.d.cts +36 -0
  228. package/cockroach-core/columns/string.d.ts +36 -0
  229. package/cockroach-core/columns/string.js +40 -0
  230. package/cockroach-core/columns/string.js.map +1 -0
  231. package/cockroach-core/columns/time.cjs +70 -0
  232. package/cockroach-core/columns/time.cjs.map +1 -0
  233. package/cockroach-core/columns/time.d.cts +31 -0
  234. package/cockroach-core/columns/time.d.ts +31 -0
  235. package/cockroach-core/columns/time.js +44 -0
  236. package/cockroach-core/columns/time.js.map +1 -0
  237. package/cockroach-core/columns/timestamp.cjs +111 -0
  238. package/cockroach-core/columns/timestamp.cjs.map +1 -0
  239. package/cockroach-core/columns/timestamp.d.cts +52 -0
  240. package/cockroach-core/columns/timestamp.d.ts +52 -0
  241. package/cockroach-core/columns/timestamp.js +83 -0
  242. package/cockroach-core/columns/timestamp.js.map +1 -0
  243. package/cockroach-core/columns/utils.cjs +65 -0
  244. package/cockroach-core/columns/utils.cjs.map +1 -0
  245. package/cockroach-core/columns/utils.d.cts +4 -0
  246. package/cockroach-core/columns/utils.d.ts +4 -0
  247. package/cockroach-core/columns/utils.js +41 -0
  248. package/cockroach-core/columns/utils.js.map +1 -0
  249. package/cockroach-core/columns/uuid.cjs +63 -0
  250. package/cockroach-core/columns/uuid.cjs.map +1 -0
  251. package/cockroach-core/columns/uuid.d.cts +20 -0
  252. package/cockroach-core/columns/uuid.d.ts +20 -0
  253. package/cockroach-core/columns/uuid.js +37 -0
  254. package/cockroach-core/columns/uuid.js.map +1 -0
  255. package/cockroach-core/columns/varbit.cjs +59 -0
  256. package/cockroach-core/columns/varbit.cjs.map +1 -0
  257. package/cockroach-core/columns/varbit.d.cts +24 -0
  258. package/cockroach-core/columns/varbit.d.ts +24 -0
  259. package/cockroach-core/columns/varbit.js +33 -0
  260. package/cockroach-core/columns/varbit.js.map +1 -0
  261. package/cockroach-core/columns/varchar.cjs +61 -0
  262. package/cockroach-core/columns/varchar.cjs.map +1 -0
  263. package/cockroach-core/columns/varchar.d.cts +30 -0
  264. package/cockroach-core/columns/varchar.d.ts +30 -0
  265. package/cockroach-core/columns/varchar.js +35 -0
  266. package/cockroach-core/columns/varchar.js.map +1 -0
  267. package/cockroach-core/columns/vector.cjs +65 -0
  268. package/cockroach-core/columns/vector.cjs.map +1 -0
  269. package/cockroach-core/columns/vector.d.cts +26 -0
  270. package/cockroach-core/columns/vector.d.ts +26 -0
  271. package/cockroach-core/columns/vector.js +39 -0
  272. package/cockroach-core/columns/vector.js.map +1 -0
  273. package/cockroach-core/db.cjs +347 -0
  274. package/cockroach-core/db.cjs.map +1 -0
  275. package/cockroach-core/db.d.cts +282 -0
  276. package/cockroach-core/db.d.ts +282 -0
  277. package/cockroach-core/db.js +328 -0
  278. package/cockroach-core/db.js.map +1 -0
  279. package/cockroach-core/dialect.cjs +1155 -0
  280. package/cockroach-core/dialect.cjs.map +1 -0
  281. package/cockroach-core/dialect.d.cts +64 -0
  282. package/cockroach-core/dialect.d.ts +64 -0
  283. package/cockroach-core/dialect.js +1127 -0
  284. package/cockroach-core/dialect.js.map +1 -0
  285. package/cockroach-core/expressions.cjs +49 -0
  286. package/cockroach-core/expressions.cjs.map +1 -0
  287. package/cockroach-core/expressions.d.cts +8 -0
  288. package/cockroach-core/expressions.d.ts +8 -0
  289. package/cockroach-core/expressions.js +22 -0
  290. package/cockroach-core/expressions.js.map +1 -0
  291. package/cockroach-core/foreign-keys.cjs +95 -0
  292. package/cockroach-core/foreign-keys.cjs.map +1 -0
  293. package/cockroach-core/foreign-keys.d.cts +53 -0
  294. package/cockroach-core/foreign-keys.d.ts +53 -0
  295. package/cockroach-core/foreign-keys.js +69 -0
  296. package/cockroach-core/foreign-keys.js.map +1 -0
  297. package/cockroach-core/index.cjs +61 -0
  298. package/cockroach-core/index.cjs.map +1 -0
  299. package/cockroach-core/index.d.cts +20 -0
  300. package/cockroach-core/index.d.ts +20 -0
  301. package/cockroach-core/index.js +21 -0
  302. package/cockroach-core/index.js.map +1 -0
  303. package/cockroach-core/indexes.cjs +139 -0
  304. package/cockroach-core/indexes.cjs.map +1 -0
  305. package/cockroach-core/indexes.d.cts +65 -0
  306. package/cockroach-core/indexes.d.ts +65 -0
  307. package/cockroach-core/indexes.js +111 -0
  308. package/cockroach-core/indexes.js.map +1 -0
  309. package/cockroach-core/policies.cjs +58 -0
  310. package/cockroach-core/policies.cjs.map +1 -0
  311. package/cockroach-core/policies.d.cts +24 -0
  312. package/cockroach-core/policies.d.ts +24 -0
  313. package/cockroach-core/policies.js +33 -0
  314. package/cockroach-core/policies.js.map +1 -0
  315. package/cockroach-core/primary-keys.cjs +66 -0
  316. package/cockroach-core/primary-keys.cjs.map +1 -0
  317. package/cockroach-core/primary-keys.d.cts +24 -0
  318. package/cockroach-core/primary-keys.d.ts +24 -0
  319. package/cockroach-core/primary-keys.js +40 -0
  320. package/cockroach-core/primary-keys.js.map +1 -0
  321. package/cockroach-core/query-builders/count.cjs +79 -0
  322. package/cockroach-core/query-builders/count.cjs.map +1 -0
  323. package/cockroach-core/query-builders/count.d.cts +30 -0
  324. package/cockroach-core/query-builders/count.d.ts +30 -0
  325. package/cockroach-core/query-builders/count.js +55 -0
  326. package/cockroach-core/query-builders/count.js.map +1 -0
  327. package/cockroach-core/query-builders/delete.cjs +124 -0
  328. package/cockroach-core/query-builders/delete.cjs.map +1 -0
  329. package/cockroach-core/query-builders/delete.d.cts +103 -0
  330. package/cockroach-core/query-builders/delete.d.ts +103 -0
  331. package/cockroach-core/query-builders/delete.js +100 -0
  332. package/cockroach-core/query-builders/delete.js.map +1 -0
  333. package/cockroach-core/query-builders/index.cjs +35 -0
  334. package/cockroach-core/query-builders/index.cjs.map +1 -0
  335. package/cockroach-core/query-builders/index.d.cts +7 -0
  336. package/cockroach-core/query-builders/index.d.ts +7 -0
  337. package/cockroach-core/query-builders/index.js +8 -0
  338. package/cockroach-core/query-builders/index.js.map +1 -0
  339. package/cockroach-core/query-builders/insert.cjs +213 -0
  340. package/cockroach-core/query-builders/insert.cjs.map +1 -0
  341. package/cockroach-core/query-builders/insert.d.cts +168 -0
  342. package/cockroach-core/query-builders/insert.d.ts +168 -0
  343. package/cockroach-core/query-builders/insert.js +188 -0
  344. package/cockroach-core/query-builders/insert.js.map +1 -0
  345. package/cockroach-core/query-builders/query-builder.cjs +118 -0
  346. package/cockroach-core/query-builders/query-builder.cjs.map +1 -0
  347. package/cockroach-core/query-builders/query-builder.d.cts +37 -0
  348. package/cockroach-core/query-builders/query-builder.d.ts +37 -0
  349. package/cockroach-core/query-builders/query-builder.js +94 -0
  350. package/cockroach-core/query-builders/query-builder.js.map +1 -0
  351. package/cockroach-core/query-builders/query.cjs +145 -0
  352. package/cockroach-core/query-builders/query.cjs.map +1 -0
  353. package/cockroach-core/query-builders/query.d.cts +47 -0
  354. package/cockroach-core/query-builders/query.d.ts +47 -0
  355. package/cockroach-core/query-builders/query.js +122 -0
  356. package/cockroach-core/query-builders/query.js.map +1 -0
  357. package/cockroach-core/query-builders/raw.cjs +57 -0
  358. package/cockroach-core/query-builders/raw.cjs.map +1 -0
  359. package/cockroach-core/query-builders/raw.d.cts +22 -0
  360. package/cockroach-core/query-builders/raw.d.ts +22 -0
  361. package/cockroach-core/query-builders/raw.js +33 -0
  362. package/cockroach-core/query-builders/raw.js.map +1 -0
  363. package/cockroach-core/query-builders/refresh-materialized-view.cjs +83 -0
  364. package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +1 -0
  365. package/cockroach-core/query-builders/refresh-materialized-view.d.cts +28 -0
  366. package/cockroach-core/query-builders/refresh-materialized-view.d.ts +28 -0
  367. package/cockroach-core/query-builders/refresh-materialized-view.js +59 -0
  368. package/cockroach-core/query-builders/refresh-materialized-view.js.map +1 -0
  369. package/cockroach-core/query-builders/select.cjs +847 -0
  370. package/cockroach-core/query-builders/select.cjs.map +1 -0
  371. package/cockroach-core/query-builders/select.d.cts +787 -0
  372. package/cockroach-core/query-builders/select.d.ts +787 -0
  373. package/cockroach-core/query-builders/select.js +821 -0
  374. package/cockroach-core/query-builders/select.js.map +1 -0
  375. package/cockroach-core/query-builders/select.types.cjs +17 -0
  376. package/cockroach-core/query-builders/select.types.cjs.map +1 -0
  377. package/cockroach-core/query-builders/select.types.d.cts +140 -0
  378. package/cockroach-core/query-builders/select.types.d.ts +140 -0
  379. package/cockroach-core/query-builders/select.types.js +1 -0
  380. package/cockroach-core/query-builders/select.types.js.map +1 -0
  381. package/cockroach-core/query-builders/update.cjs +240 -0
  382. package/cockroach-core/query-builders/update.cjs.map +1 -0
  383. package/cockroach-core/query-builders/update.d.cts +170 -0
  384. package/cockroach-core/query-builders/update.d.ts +170 -0
  385. package/cockroach-core/query-builders/update.js +219 -0
  386. package/cockroach-core/query-builders/update.js.map +1 -0
  387. package/cockroach-core/roles.cjs +54 -0
  388. package/cockroach-core/roles.cjs.map +1 -0
  389. package/cockroach-core/roles.d.cts +12 -0
  390. package/cockroach-core/roles.d.ts +12 -0
  391. package/cockroach-core/roles.js +29 -0
  392. package/cockroach-core/roles.js.map +1 -0
  393. package/cockroach-core/schema.cjs +92 -0
  394. package/cockroach-core/schema.cjs.map +1 -0
  395. package/cockroach-core/schema.d.cts +24 -0
  396. package/cockroach-core/schema.d.ts +24 -0
  397. package/cockroach-core/schema.js +72 -0
  398. package/cockroach-core/schema.js.map +1 -0
  399. package/cockroach-core/sequence.cjs +52 -0
  400. package/cockroach-core/sequence.cjs.map +1 -0
  401. package/cockroach-core/sequence.d.cts +17 -0
  402. package/cockroach-core/sequence.d.ts +17 -0
  403. package/cockroach-core/sequence.js +25 -0
  404. package/cockroach-core/sequence.js.map +1 -0
  405. package/cockroach-core/session.cjs +120 -0
  406. package/cockroach-core/session.cjs.map +1 -0
  407. package/cockroach-core/session.d.cts +62 -0
  408. package/cockroach-core/session.d.ts +62 -0
  409. package/cockroach-core/session.js +94 -0
  410. package/cockroach-core/session.js.map +1 -0
  411. package/cockroach-core/subquery.cjs +17 -0
  412. package/cockroach-core/subquery.cjs.map +1 -0
  413. package/cockroach-core/subquery.d.cts +18 -0
  414. package/cockroach-core/subquery.d.ts +18 -0
  415. package/cockroach-core/subquery.js +1 -0
  416. package/cockroach-core/subquery.js.map +1 -0
  417. package/cockroach-core/table.cjs +121 -0
  418. package/cockroach-core/table.cjs.map +1 -0
  419. package/cockroach-core/table.d.cts +41 -0
  420. package/cockroach-core/table.d.ts +41 -0
  421. package/cockroach-core/table.js +94 -0
  422. package/cockroach-core/table.js.map +1 -0
  423. package/cockroach-core/unique-constraint.cjs +77 -0
  424. package/cockroach-core/unique-constraint.cjs.map +1 -0
  425. package/cockroach-core/unique-constraint.d.cts +23 -0
  426. package/cockroach-core/unique-constraint.d.ts +23 -0
  427. package/cockroach-core/unique-constraint.js +50 -0
  428. package/cockroach-core/unique-constraint.js.map +1 -0
  429. package/cockroach-core/utils/array.cjs +106 -0
  430. package/cockroach-core/utils/array.cjs.map +1 -0
  431. package/cockroach-core/utils/array.d.cts +3 -0
  432. package/cockroach-core/utils/array.d.ts +3 -0
  433. package/cockroach-core/utils/array.js +80 -0
  434. package/cockroach-core/utils/array.js.map +1 -0
  435. package/cockroach-core/utils/index.cjs +23 -0
  436. package/cockroach-core/utils/index.cjs.map +1 -0
  437. package/cockroach-core/utils/index.d.cts +1 -0
  438. package/cockroach-core/utils/index.d.ts +1 -0
  439. package/cockroach-core/utils/index.js +2 -0
  440. package/cockroach-core/utils/index.js.map +1 -0
  441. package/cockroach-core/utils.cjs +98 -0
  442. package/cockroach-core/utils.cjs.map +1 -0
  443. package/cockroach-core/utils.d.cts +47 -0
  444. package/cockroach-core/utils.d.ts +47 -0
  445. package/cockroach-core/utils.js +72 -0
  446. package/cockroach-core/utils.js.map +1 -0
  447. package/cockroach-core/view-base.cjs +33 -0
  448. package/cockroach-core/view-base.cjs.map +1 -0
  449. package/cockroach-core/view-base.d.cts +8 -0
  450. package/cockroach-core/view-base.d.ts +8 -0
  451. package/cockroach-core/view-base.js +9 -0
  452. package/cockroach-core/view-base.js.map +1 -0
  453. package/cockroach-core/view.cjs +271 -0
  454. package/cockroach-core/view.cjs.map +1 -0
  455. package/cockroach-core/view.d.cts +106 -0
  456. package/cockroach-core/view.d.ts +106 -0
  457. package/cockroach-core/view.js +233 -0
  458. package/cockroach-core/view.js.map +1 -0
  459. package/column-builder.cjs.map +1 -1
  460. package/column-builder.d.cts +9 -8
  461. package/column-builder.d.ts +9 -8
  462. package/column-builder.js.map +1 -1
  463. package/column-common.cjs +29 -0
  464. package/column-common.cjs.map +1 -0
  465. package/column-common.d.cts +1 -0
  466. package/column-common.d.ts +1 -0
  467. package/column-common.js +5 -0
  468. package/column-common.js.map +1 -0
  469. package/column.cjs +7 -0
  470. package/column.cjs.map +1 -1
  471. package/column.d.cts +2 -0
  472. package/column.d.ts +2 -0
  473. package/column.js +7 -0
  474. package/column.js.map +1 -1
  475. package/durable-sqlite/migrator.cjs +10 -7
  476. package/durable-sqlite/migrator.cjs.map +1 -1
  477. package/durable-sqlite/migrator.d.cts +1 -9
  478. package/durable-sqlite/migrator.d.ts +1 -9
  479. package/durable-sqlite/migrator.js +10 -7
  480. package/durable-sqlite/migrator.js.map +1 -1
  481. package/durable-sqlite/session.cjs +6 -3
  482. package/durable-sqlite/session.cjs.map +1 -1
  483. package/durable-sqlite/session.d.cts +1 -2
  484. package/durable-sqlite/session.d.ts +1 -2
  485. package/durable-sqlite/session.js +6 -2
  486. package/durable-sqlite/session.js.map +1 -1
  487. package/entity.cjs.map +1 -1
  488. package/entity.js.map +1 -1
  489. package/expo-sqlite/migrator.cjs +10 -7
  490. package/expo-sqlite/migrator.cjs.map +1 -1
  491. package/expo-sqlite/migrator.d.cts +0 -8
  492. package/expo-sqlite/migrator.d.ts +0 -8
  493. package/expo-sqlite/migrator.js +10 -7
  494. package/expo-sqlite/migrator.js.map +1 -1
  495. package/gel/driver.cjs +6 -10
  496. package/gel/driver.cjs.map +1 -1
  497. package/gel/driver.d.cts +2 -2
  498. package/gel/driver.d.ts +2 -2
  499. package/gel/driver.js +6 -10
  500. package/gel/driver.js.map +1 -1
  501. package/gel-core/columns/bigint.cjs.map +1 -1
  502. package/gel-core/columns/bigint.d.cts +0 -1
  503. package/gel-core/columns/bigint.d.ts +0 -1
  504. package/gel-core/columns/bigint.js.map +1 -1
  505. package/gel-core/columns/bigintT.cjs.map +1 -1
  506. package/gel-core/columns/bigintT.d.cts +0 -1
  507. package/gel-core/columns/bigintT.d.ts +0 -1
  508. package/gel-core/columns/bigintT.js.map +1 -1
  509. package/gel-core/columns/boolean.cjs.map +1 -1
  510. package/gel-core/columns/boolean.d.cts +0 -1
  511. package/gel-core/columns/boolean.d.ts +0 -1
  512. package/gel-core/columns/boolean.js.map +1 -1
  513. package/gel-core/columns/bytes.cjs.map +1 -1
  514. package/gel-core/columns/bytes.d.cts +0 -1
  515. package/gel-core/columns/bytes.d.ts +0 -1
  516. package/gel-core/columns/bytes.js.map +1 -1
  517. package/gel-core/columns/common.cjs +0 -4
  518. package/gel-core/columns/common.cjs.map +1 -1
  519. package/gel-core/columns/common.d.cts +1 -1
  520. package/gel-core/columns/common.d.ts +1 -1
  521. package/gel-core/columns/common.js +0 -4
  522. package/gel-core/columns/common.js.map +1 -1
  523. package/gel-core/columns/custom.cjs.map +1 -1
  524. package/gel-core/columns/custom.d.cts +0 -1
  525. package/gel-core/columns/custom.d.ts +0 -1
  526. package/gel-core/columns/custom.js.map +1 -1
  527. package/gel-core/columns/date-duration.cjs.map +1 -1
  528. package/gel-core/columns/date-duration.d.cts +0 -1
  529. package/gel-core/columns/date-duration.d.ts +0 -1
  530. package/gel-core/columns/date-duration.js.map +1 -1
  531. package/gel-core/columns/decimal.cjs.map +1 -1
  532. package/gel-core/columns/decimal.d.cts +0 -1
  533. package/gel-core/columns/decimal.d.ts +0 -1
  534. package/gel-core/columns/decimal.js.map +1 -1
  535. package/gel-core/columns/double-precision.cjs.map +1 -1
  536. package/gel-core/columns/double-precision.d.cts +0 -1
  537. package/gel-core/columns/double-precision.d.ts +0 -1
  538. package/gel-core/columns/double-precision.js.map +1 -1
  539. package/gel-core/columns/duration.cjs.map +1 -1
  540. package/gel-core/columns/duration.d.cts +0 -1
  541. package/gel-core/columns/duration.d.ts +0 -1
  542. package/gel-core/columns/duration.js.map +1 -1
  543. package/gel-core/columns/integer.cjs.map +1 -1
  544. package/gel-core/columns/integer.d.cts +0 -1
  545. package/gel-core/columns/integer.d.ts +0 -1
  546. package/gel-core/columns/integer.js.map +1 -1
  547. package/gel-core/columns/json.cjs.map +1 -1
  548. package/gel-core/columns/json.d.cts +0 -1
  549. package/gel-core/columns/json.d.ts +0 -1
  550. package/gel-core/columns/json.js.map +1 -1
  551. package/gel-core/columns/localdate.cjs.map +1 -1
  552. package/gel-core/columns/localdate.d.cts +0 -1
  553. package/gel-core/columns/localdate.d.ts +0 -1
  554. package/gel-core/columns/localdate.js.map +1 -1
  555. package/gel-core/columns/localtime.cjs.map +1 -1
  556. package/gel-core/columns/localtime.d.cts +0 -1
  557. package/gel-core/columns/localtime.d.ts +0 -1
  558. package/gel-core/columns/localtime.js.map +1 -1
  559. package/gel-core/columns/real.cjs.map +1 -1
  560. package/gel-core/columns/real.d.cts +0 -1
  561. package/gel-core/columns/real.d.ts +0 -1
  562. package/gel-core/columns/real.js.map +1 -1
  563. package/gel-core/columns/relative-duration.cjs.map +1 -1
  564. package/gel-core/columns/relative-duration.d.cts +0 -1
  565. package/gel-core/columns/relative-duration.d.ts +0 -1
  566. package/gel-core/columns/relative-duration.js.map +1 -1
  567. package/gel-core/columns/smallint.cjs.map +1 -1
  568. package/gel-core/columns/smallint.d.cts +0 -1
  569. package/gel-core/columns/smallint.d.ts +0 -1
  570. package/gel-core/columns/smallint.js.map +1 -1
  571. package/gel-core/columns/text.cjs.map +1 -1
  572. package/gel-core/columns/text.d.cts +0 -1
  573. package/gel-core/columns/text.d.ts +0 -1
  574. package/gel-core/columns/text.js.map +1 -1
  575. package/gel-core/columns/timestamp.cjs.map +1 -1
  576. package/gel-core/columns/timestamp.d.cts +0 -1
  577. package/gel-core/columns/timestamp.d.ts +0 -1
  578. package/gel-core/columns/timestamp.js.map +1 -1
  579. package/gel-core/columns/timestamptz.cjs.map +1 -1
  580. package/gel-core/columns/timestamptz.d.cts +0 -1
  581. package/gel-core/columns/timestamptz.d.ts +0 -1
  582. package/gel-core/columns/timestamptz.js.map +1 -1
  583. package/gel-core/columns/uuid.cjs.map +1 -1
  584. package/gel-core/columns/uuid.d.cts +0 -1
  585. package/gel-core/columns/uuid.d.ts +0 -1
  586. package/gel-core/columns/uuid.js.map +1 -1
  587. package/gel-core/dialect.cjs +1 -1
  588. package/gel-core/dialect.cjs.map +1 -1
  589. package/gel-core/dialect.js +8 -2
  590. package/gel-core/dialect.js.map +1 -1
  591. package/gel-core/query-builders/count.cjs.map +1 -1
  592. package/gel-core/query-builders/count.d.cts +4 -3
  593. package/gel-core/query-builders/count.d.ts +4 -3
  594. package/gel-core/query-builders/count.js.map +1 -1
  595. package/gel-core/query-builders/insert.cjs.map +1 -1
  596. package/gel-core/query-builders/insert.d.cts +6 -9
  597. package/gel-core/query-builders/insert.d.ts +6 -9
  598. package/gel-core/query-builders/insert.js.map +1 -1
  599. package/gel-core/query-builders/select.cjs +6 -7
  600. package/gel-core/query-builders/select.cjs.map +1 -1
  601. package/gel-core/query-builders/select.js +2 -2
  602. package/gel-core/query-builders/select.js.map +1 -1
  603. package/gel-core/query-builders/update.cjs.map +1 -1
  604. package/gel-core/query-builders/update.d.cts +1 -1
  605. package/gel-core/query-builders/update.d.ts +1 -1
  606. package/gel-core/query-builders/update.js.map +1 -1
  607. package/gel-core/utils.cjs +1 -2
  608. package/gel-core/utils.cjs.map +1 -1
  609. package/gel-core/utils.d.cts +1 -1
  610. package/gel-core/utils.d.ts +1 -1
  611. package/gel-core/utils.js +1 -2
  612. package/gel-core/utils.js.map +1 -1
  613. package/gel-core/view-common.cjs +3 -0
  614. package/gel-core/view-common.cjs.map +1 -1
  615. package/gel-core/view-common.d.cts +1 -0
  616. package/gel-core/view-common.d.ts +1 -0
  617. package/gel-core/view-common.js +2 -0
  618. package/gel-core/view-common.js.map +1 -1
  619. package/gel-core/view.cjs +2 -5
  620. package/gel-core/view.cjs.map +1 -1
  621. package/gel-core/view.d.cts +1 -2
  622. package/gel-core/view.d.ts +1 -2
  623. package/gel-core/view.js +1 -3
  624. package/gel-core/view.js.map +1 -1
  625. package/libsql/driver.cjs +6 -10
  626. package/libsql/driver.cjs.map +1 -1
  627. package/libsql/driver.d.cts +3 -3
  628. package/libsql/driver.d.ts +3 -3
  629. package/libsql/driver.js +6 -10
  630. package/libsql/driver.js.map +1 -1
  631. package/libsql/http/index.cjs +6 -10
  632. package/libsql/http/index.cjs.map +1 -1
  633. package/libsql/http/index.d.cts +3 -3
  634. package/libsql/http/index.d.ts +3 -3
  635. package/libsql/http/index.js +6 -10
  636. package/libsql/http/index.js.map +1 -1
  637. package/libsql/node/index.cjs +6 -10
  638. package/libsql/node/index.cjs.map +1 -1
  639. package/libsql/node/index.d.cts +3 -3
  640. package/libsql/node/index.d.ts +3 -3
  641. package/libsql/node/index.js +6 -10
  642. package/libsql/node/index.js.map +1 -1
  643. package/libsql/session.cjs +0 -2
  644. package/libsql/session.cjs.map +1 -1
  645. package/libsql/session.d.cts +1 -1
  646. package/libsql/session.d.ts +1 -1
  647. package/libsql/session.js +0 -2
  648. package/libsql/session.js.map +1 -1
  649. package/libsql/sqlite3/index.cjs +6 -10
  650. package/libsql/sqlite3/index.cjs.map +1 -1
  651. package/libsql/sqlite3/index.d.cts +3 -3
  652. package/libsql/sqlite3/index.d.ts +3 -3
  653. package/libsql/sqlite3/index.js +6 -10
  654. package/libsql/sqlite3/index.js.map +1 -1
  655. package/libsql/wasm/index.cjs +6 -10
  656. package/libsql/wasm/index.cjs.map +1 -1
  657. package/libsql/wasm/index.d.cts +3 -3
  658. package/libsql/wasm/index.d.ts +3 -3
  659. package/libsql/wasm/index.js +6 -10
  660. package/libsql/wasm/index.js.map +1 -1
  661. package/libsql/web/index.cjs +6 -10
  662. package/libsql/web/index.cjs.map +1 -1
  663. package/libsql/web/index.d.cts +3 -3
  664. package/libsql/web/index.d.ts +3 -3
  665. package/libsql/web/index.js +6 -10
  666. package/libsql/web/index.js.map +1 -1
  667. package/libsql/ws/index.cjs +6 -10
  668. package/libsql/ws/index.cjs.map +1 -1
  669. package/libsql/ws/index.d.cts +3 -3
  670. package/libsql/ws/index.d.ts +3 -3
  671. package/libsql/ws/index.js +6 -10
  672. package/libsql/ws/index.js.map +1 -1
  673. package/migrator.cjs +42 -5
  674. package/migrator.cjs.map +1 -1
  675. package/migrator.d.cts +5 -0
  676. package/migrator.d.ts +5 -0
  677. package/migrator.js +42 -6
  678. package/migrator.js.map +1 -1
  679. package/mssql-core/alias.cjs +32 -0
  680. package/mssql-core/alias.cjs.map +1 -0
  681. package/mssql-core/alias.d.cts +4 -0
  682. package/mssql-core/alias.d.ts +4 -0
  683. package/mssql-core/alias.js +8 -0
  684. package/mssql-core/alias.js.map +1 -0
  685. package/mssql-core/checks.cjs +58 -0
  686. package/mssql-core/checks.cjs.map +1 -0
  687. package/mssql-core/checks.d.cts +18 -0
  688. package/mssql-core/checks.d.ts +18 -0
  689. package/mssql-core/checks.js +32 -0
  690. package/mssql-core/checks.js.map +1 -0
  691. package/mssql-core/columns/all.cjs +74 -0
  692. package/mssql-core/columns/all.cjs.map +1 -0
  693. package/mssql-core/columns/all.d.cts +45 -0
  694. package/mssql-core/columns/all.d.ts +45 -0
  695. package/mssql-core/columns/all.js +50 -0
  696. package/mssql-core/columns/all.js.map +1 -0
  697. package/mssql-core/columns/bigint.cjs +72 -0
  698. package/mssql-core/columns/bigint.cjs.map +1 -0
  699. package/mssql-core/columns/bigint.d.cts +25 -0
  700. package/mssql-core/columns/bigint.d.ts +25 -0
  701. package/mssql-core/columns/bigint.js +46 -0
  702. package/mssql-core/columns/bigint.js.map +1 -0
  703. package/mssql-core/columns/binary.cjs +57 -0
  704. package/mssql-core/columns/binary.cjs.map +1 -0
  705. package/mssql-core/columns/binary.d.cts +24 -0
  706. package/mssql-core/columns/binary.d.ts +24 -0
  707. package/mssql-core/columns/binary.js +31 -0
  708. package/mssql-core/columns/binary.js.map +1 -0
  709. package/mssql-core/columns/bit.cjs +54 -0
  710. package/mssql-core/columns/bit.cjs.map +1 -0
  711. package/mssql-core/columns/bit.d.cts +17 -0
  712. package/mssql-core/columns/bit.d.ts +17 -0
  713. package/mssql-core/columns/bit.js +28 -0
  714. package/mssql-core/columns/bit.js.map +1 -0
  715. package/mssql-core/columns/char.cjs +73 -0
  716. package/mssql-core/columns/char.cjs.map +1 -0
  717. package/mssql-core/columns/char.d.cts +29 -0
  718. package/mssql-core/columns/char.d.ts +29 -0
  719. package/mssql-core/columns/char.js +46 -0
  720. package/mssql-core/columns/char.js.map +1 -0
  721. package/mssql-core/columns/common.cjs +112 -0
  722. package/mssql-core/columns/common.cjs.map +1 -0
  723. package/mssql-core/columns/common.d.cts +57 -0
  724. package/mssql-core/columns/common.d.ts +57 -0
  725. package/mssql-core/columns/common.js +85 -0
  726. package/mssql-core/columns/common.js.map +1 -0
  727. package/mssql-core/columns/custom.cjs +105 -0
  728. package/mssql-core/columns/custom.cjs.map +1 -0
  729. package/mssql-core/columns/custom.d.cts +261 -0
  730. package/mssql-core/columns/custom.d.ts +261 -0
  731. package/mssql-core/columns/custom.js +79 -0
  732. package/mssql-core/columns/custom.js.map +1 -0
  733. package/mssql-core/columns/date.cjs +94 -0
  734. package/mssql-core/columns/date.cjs.map +1 -0
  735. package/mssql-core/columns/date.common.cjs +37 -0
  736. package/mssql-core/columns/date.common.cjs.map +1 -0
  737. package/mssql-core/columns/date.common.d.cts +12 -0
  738. package/mssql-core/columns/date.common.d.ts +12 -0
  739. package/mssql-core/columns/date.common.js +13 -0
  740. package/mssql-core/columns/date.common.js.map +1 -0
  741. package/mssql-core/columns/date.d.cts +39 -0
  742. package/mssql-core/columns/date.d.ts +39 -0
  743. package/mssql-core/columns/date.js +66 -0
  744. package/mssql-core/columns/date.js.map +1 -0
  745. package/mssql-core/columns/datetime.cjs +94 -0
  746. package/mssql-core/columns/datetime.cjs.map +1 -0
  747. package/mssql-core/columns/datetime.d.cts +38 -0
  748. package/mssql-core/columns/datetime.d.ts +38 -0
  749. package/mssql-core/columns/datetime.js +66 -0
  750. package/mssql-core/columns/datetime.js.map +1 -0
  751. package/mssql-core/columns/datetime2.cjs +102 -0
  752. package/mssql-core/columns/datetime2.cjs.map +1 -0
  753. package/mssql-core/columns/datetime2.d.cts +38 -0
  754. package/mssql-core/columns/datetime2.d.ts +38 -0
  755. package/mssql-core/columns/datetime2.js +74 -0
  756. package/mssql-core/columns/datetime2.js.map +1 -0
  757. package/mssql-core/columns/datetimeoffset.cjs +102 -0
  758. package/mssql-core/columns/datetimeoffset.cjs.map +1 -0
  759. package/mssql-core/columns/datetimeoffset.d.cts +39 -0
  760. package/mssql-core/columns/datetimeoffset.d.ts +39 -0
  761. package/mssql-core/columns/datetimeoffset.js +74 -0
  762. package/mssql-core/columns/datetimeoffset.js.map +1 -0
  763. package/mssql-core/columns/decimal.cjs +146 -0
  764. package/mssql-core/columns/decimal.cjs.map +1 -0
  765. package/mssql-core/columns/decimal.d.cts +58 -0
  766. package/mssql-core/columns/decimal.d.ts +58 -0
  767. package/mssql-core/columns/decimal.js +116 -0
  768. package/mssql-core/columns/decimal.js.map +1 -0
  769. package/mssql-core/columns/float.cjs +58 -0
  770. package/mssql-core/columns/float.cjs.map +1 -0
  771. package/mssql-core/columns/float.d.cts +21 -0
  772. package/mssql-core/columns/float.d.ts +21 -0
  773. package/mssql-core/columns/float.js +32 -0
  774. package/mssql-core/columns/float.js.map +1 -0
  775. package/mssql-core/columns/index.cjs +63 -0
  776. package/mssql-core/columns/index.cjs.map +1 -0
  777. package/mssql-core/columns/index.d.cts +21 -0
  778. package/mssql-core/columns/index.d.ts +21 -0
  779. package/mssql-core/columns/index.js +22 -0
  780. package/mssql-core/columns/index.js.map +1 -0
  781. package/mssql-core/columns/int.cjs +53 -0
  782. package/mssql-core/columns/int.cjs.map +1 -0
  783. package/mssql-core/columns/int.d.cts +16 -0
  784. package/mssql-core/columns/int.d.ts +16 -0
  785. package/mssql-core/columns/int.js +27 -0
  786. package/mssql-core/columns/int.js.map +1 -0
  787. package/mssql-core/columns/numeric.cjs +146 -0
  788. package/mssql-core/columns/numeric.cjs.map +1 -0
  789. package/mssql-core/columns/numeric.d.cts +58 -0
  790. package/mssql-core/columns/numeric.d.ts +58 -0
  791. package/mssql-core/columns/numeric.js +116 -0
  792. package/mssql-core/columns/numeric.js.map +1 -0
  793. package/mssql-core/columns/real.cjs +53 -0
  794. package/mssql-core/columns/real.cjs.map +1 -0
  795. package/mssql-core/columns/real.d.cts +16 -0
  796. package/mssql-core/columns/real.d.ts +16 -0
  797. package/mssql-core/columns/real.js +27 -0
  798. package/mssql-core/columns/real.js.map +1 -0
  799. package/mssql-core/columns/smallint.cjs +62 -0
  800. package/mssql-core/columns/smallint.cjs.map +1 -0
  801. package/mssql-core/columns/smallint.d.cts +17 -0
  802. package/mssql-core/columns/smallint.d.ts +17 -0
  803. package/mssql-core/columns/smallint.js +36 -0
  804. package/mssql-core/columns/smallint.js.map +1 -0
  805. package/mssql-core/columns/text.cjs +68 -0
  806. package/mssql-core/columns/text.cjs.map +1 -0
  807. package/mssql-core/columns/text.d.cts +36 -0
  808. package/mssql-core/columns/text.d.ts +36 -0
  809. package/mssql-core/columns/text.js +41 -0
  810. package/mssql-core/columns/text.js.map +1 -0
  811. package/mssql-core/columns/time.cjs +90 -0
  812. package/mssql-core/columns/time.cjs.map +1 -0
  813. package/mssql-core/columns/time.d.cts +37 -0
  814. package/mssql-core/columns/time.d.ts +37 -0
  815. package/mssql-core/columns/time.js +62 -0
  816. package/mssql-core/columns/time.js.map +1 -0
  817. package/mssql-core/columns/tinyint.cjs +62 -0
  818. package/mssql-core/columns/tinyint.cjs.map +1 -0
  819. package/mssql-core/columns/tinyint.d.cts +17 -0
  820. package/mssql-core/columns/tinyint.d.ts +17 -0
  821. package/mssql-core/columns/tinyint.js +36 -0
  822. package/mssql-core/columns/tinyint.js.map +1 -0
  823. package/mssql-core/columns/varbinary.cjs +61 -0
  824. package/mssql-core/columns/varbinary.cjs.map +1 -0
  825. package/mssql-core/columns/varbinary.d.cts +23 -0
  826. package/mssql-core/columns/varbinary.d.ts +23 -0
  827. package/mssql-core/columns/varbinary.js +35 -0
  828. package/mssql-core/columns/varbinary.js.map +1 -0
  829. package/mssql-core/columns/varchar.cjs +117 -0
  830. package/mssql-core/columns/varchar.cjs.map +1 -0
  831. package/mssql-core/columns/varchar.d.cts +59 -0
  832. package/mssql-core/columns/varchar.d.ts +59 -0
  833. package/mssql-core/columns/varchar.js +88 -0
  834. package/mssql-core/columns/varchar.js.map +1 -0
  835. package/mssql-core/db.cjs +256 -0
  836. package/mssql-core/db.cjs.map +1 -0
  837. package/mssql-core/db.d.cts +228 -0
  838. package/mssql-core/db.d.ts +228 -0
  839. package/mssql-core/db.js +237 -0
  840. package/mssql-core/db.js.map +1 -0
  841. package/mssql-core/dialect.cjs +665 -0
  842. package/mssql-core/dialect.cjs.map +1 -0
  843. package/mssql-core/dialect.d.cts +58 -0
  844. package/mssql-core/dialect.d.ts +58 -0
  845. package/mssql-core/dialect.js +637 -0
  846. package/mssql-core/dialect.js.map +1 -0
  847. package/mssql-core/expressions.cjs +49 -0
  848. package/mssql-core/expressions.cjs.map +1 -0
  849. package/mssql-core/expressions.d.cts +8 -0
  850. package/mssql-core/expressions.d.ts +8 -0
  851. package/mssql-core/expressions.js +22 -0
  852. package/mssql-core/expressions.js.map +1 -0
  853. package/mssql-core/foreign-keys.cjs +94 -0
  854. package/mssql-core/foreign-keys.cjs.map +1 -0
  855. package/mssql-core/foreign-keys.d.cts +52 -0
  856. package/mssql-core/foreign-keys.d.ts +52 -0
  857. package/mssql-core/foreign-keys.js +68 -0
  858. package/mssql-core/foreign-keys.js.map +1 -0
  859. package/mssql-core/index.cjs +55 -0
  860. package/mssql-core/index.cjs.map +1 -0
  861. package/mssql-core/index.d.cts +17 -0
  862. package/mssql-core/index.d.ts +17 -0
  863. package/mssql-core/index.js +18 -0
  864. package/mssql-core/index.js.map +1 -0
  865. package/mssql-core/indexes.cjs +82 -0
  866. package/mssql-core/indexes.cjs.map +1 -0
  867. package/mssql-core/indexes.d.cts +50 -0
  868. package/mssql-core/indexes.d.ts +50 -0
  869. package/mssql-core/indexes.js +54 -0
  870. package/mssql-core/indexes.js.map +1 -0
  871. package/mssql-core/primary-keys.cjs +66 -0
  872. package/mssql-core/primary-keys.cjs.map +1 -0
  873. package/mssql-core/primary-keys.d.cts +24 -0
  874. package/mssql-core/primary-keys.d.ts +24 -0
  875. package/mssql-core/primary-keys.js +40 -0
  876. package/mssql-core/primary-keys.js.map +1 -0
  877. package/mssql-core/query-builders/delete.cjs +107 -0
  878. package/mssql-core/query-builders/delete.cjs.map +1 -0
  879. package/mssql-core/query-builders/delete.d.cts +98 -0
  880. package/mssql-core/query-builders/delete.d.ts +98 -0
  881. package/mssql-core/query-builders/delete.js +83 -0
  882. package/mssql-core/query-builders/delete.js.map +1 -0
  883. package/mssql-core/query-builders/index.cjs +33 -0
  884. package/mssql-core/query-builders/index.cjs.map +1 -0
  885. package/mssql-core/query-builders/index.d.cts +6 -0
  886. package/mssql-core/query-builders/index.d.ts +6 -0
  887. package/mssql-core/query-builders/index.js +7 -0
  888. package/mssql-core/query-builders/index.js.map +1 -0
  889. package/mssql-core/query-builders/insert.cjs +105 -0
  890. package/mssql-core/query-builders/insert.cjs.map +1 -0
  891. package/mssql-core/query-builders/insert.d.cts +79 -0
  892. package/mssql-core/query-builders/insert.d.ts +79 -0
  893. package/mssql-core/query-builders/insert.js +80 -0
  894. package/mssql-core/query-builders/insert.js.map +1 -0
  895. package/mssql-core/query-builders/query-builder.cjs +95 -0
  896. package/mssql-core/query-builders/query-builder.cjs.map +1 -0
  897. package/mssql-core/query-builders/query-builder.d.cts +32 -0
  898. package/mssql-core/query-builders/query-builder.d.ts +32 -0
  899. package/mssql-core/query-builders/query-builder.js +71 -0
  900. package/mssql-core/query-builders/query-builder.js.map +1 -0
  901. package/mssql-core/query-builders/query.cjs +126 -0
  902. package/mssql-core/query-builders/query.cjs.map +1 -0
  903. package/mssql-core/query-builders/query.d.cts +42 -0
  904. package/mssql-core/query-builders/query.d.ts +42 -0
  905. package/mssql-core/query-builders/query.js +103 -0
  906. package/mssql-core/query-builders/query.js.map +1 -0
  907. package/mssql-core/query-builders/select.cjs +678 -0
  908. package/mssql-core/query-builders/select.cjs.map +1 -0
  909. package/mssql-core/query-builders/select.d.cts +549 -0
  910. package/mssql-core/query-builders/select.d.ts +549 -0
  911. package/mssql-core/query-builders/select.js +654 -0
  912. package/mssql-core/query-builders/select.js.map +1 -0
  913. package/mssql-core/query-builders/select.types.cjs +17 -0
  914. package/mssql-core/query-builders/select.types.cjs.map +1 -0
  915. package/mssql-core/query-builders/select.types.d.cts +142 -0
  916. package/mssql-core/query-builders/select.types.d.ts +142 -0
  917. package/mssql-core/query-builders/select.types.js +1 -0
  918. package/mssql-core/query-builders/select.types.js.map +1 -0
  919. package/mssql-core/query-builders/update.cjs +138 -0
  920. package/mssql-core/query-builders/update.cjs.map +1 -0
  921. package/mssql-core/query-builders/update.d.cts +142 -0
  922. package/mssql-core/query-builders/update.d.ts +142 -0
  923. package/mssql-core/query-builders/update.js +113 -0
  924. package/mssql-core/query-builders/update.js.map +1 -0
  925. package/mssql-core/schema.cjs +53 -0
  926. package/mssql-core/schema.cjs.map +1 -0
  927. package/mssql-core/schema.d.cts +13 -0
  928. package/mssql-core/schema.d.ts +13 -0
  929. package/mssql-core/schema.js +28 -0
  930. package/mssql-core/schema.js.map +1 -0
  931. package/mssql-core/session.cjs +74 -0
  932. package/mssql-core/session.cjs.map +1 -0
  933. package/mssql-core/session.d.cts +63 -0
  934. package/mssql-core/session.d.ts +63 -0
  935. package/mssql-core/session.js +48 -0
  936. package/mssql-core/session.js.map +1 -0
  937. package/mssql-core/subquery.cjs +17 -0
  938. package/mssql-core/subquery.cjs.map +1 -0
  939. package/mssql-core/subquery.d.cts +18 -0
  940. package/mssql-core/subquery.d.ts +18 -0
  941. package/mssql-core/subquery.js +1 -0
  942. package/mssql-core/subquery.js.map +1 -0
  943. package/mssql-core/table.cjs +81 -0
  944. package/mssql-core/table.cjs.map +1 -0
  945. package/mssql-core/table.d.cts +40 -0
  946. package/mssql-core/table.d.ts +40 -0
  947. package/mssql-core/table.js +55 -0
  948. package/mssql-core/table.js.map +1 -0
  949. package/mssql-core/unique-constraint.cjs +78 -0
  950. package/mssql-core/unique-constraint.cjs.map +1 -0
  951. package/mssql-core/unique-constraint.d.cts +24 -0
  952. package/mssql-core/unique-constraint.d.ts +24 -0
  953. package/mssql-core/unique-constraint.js +51 -0
  954. package/mssql-core/unique-constraint.js.map +1 -0
  955. package/mssql-core/utils.cjs +85 -0
  956. package/mssql-core/utils.cjs.map +1 -0
  957. package/mssql-core/utils.d.cts +31 -0
  958. package/mssql-core/utils.d.ts +31 -0
  959. package/mssql-core/utils.js +60 -0
  960. package/mssql-core/utils.js.map +1 -0
  961. package/mssql-core/view-base.cjs +33 -0
  962. package/mssql-core/view-base.cjs.map +1 -0
  963. package/mssql-core/view-base.d.cts +9 -0
  964. package/mssql-core/view-base.d.ts +9 -0
  965. package/mssql-core/view-base.js +9 -0
  966. package/mssql-core/view-base.js.map +1 -0
  967. package/mssql-core/view-common.cjs +29 -0
  968. package/mssql-core/view-common.cjs.map +1 -0
  969. package/mssql-core/view-common.d.cts +1 -0
  970. package/mssql-core/view-common.d.ts +1 -0
  971. package/mssql-core/view-common.js +5 -0
  972. package/mssql-core/view-common.js.map +1 -0
  973. package/mssql-core/view.cjs +154 -0
  974. package/mssql-core/view.cjs.map +1 -0
  975. package/mssql-core/view.d.cts +63 -0
  976. package/mssql-core/view.d.ts +63 -0
  977. package/mssql-core/view.js +125 -0
  978. package/mssql-core/view.js.map +1 -0
  979. package/mysql-core/columns/all.cjs +6 -1
  980. package/mysql-core/columns/all.cjs.map +1 -1
  981. package/mysql-core/columns/all.d.cts +5 -0
  982. package/mysql-core/columns/all.d.ts +5 -0
  983. package/mysql-core/columns/all.js +6 -1
  984. package/mysql-core/columns/all.js.map +1 -1
  985. package/mysql-core/columns/bigint.cjs.map +1 -1
  986. package/mysql-core/columns/bigint.d.cts +0 -3
  987. package/mysql-core/columns/bigint.d.ts +0 -3
  988. package/mysql-core/columns/bigint.js.map +1 -1
  989. package/mysql-core/columns/binary.cjs +0 -1
  990. package/mysql-core/columns/binary.cjs.map +1 -1
  991. package/mysql-core/columns/binary.d.cts +0 -2
  992. package/mysql-core/columns/binary.d.ts +0 -2
  993. package/mysql-core/columns/binary.js +0 -1
  994. package/mysql-core/columns/binary.js.map +1 -1
  995. package/mysql-core/columns/blob.cjs +158 -0
  996. package/mysql-core/columns/blob.cjs.map +1 -0
  997. package/mysql-core/columns/blob.d.cts +54 -0
  998. package/mysql-core/columns/blob.d.ts +54 -0
  999. package/mysql-core/columns/blob.js +127 -0
  1000. package/mysql-core/columns/blob.js.map +1 -0
  1001. package/mysql-core/columns/boolean.cjs.map +1 -1
  1002. package/mysql-core/columns/boolean.d.cts +0 -1
  1003. package/mysql-core/columns/boolean.d.ts +0 -1
  1004. package/mysql-core/columns/boolean.js.map +1 -1
  1005. package/mysql-core/columns/char.cjs +3 -4
  1006. package/mysql-core/columns/char.cjs.map +1 -1
  1007. package/mysql-core/columns/char.d.cts +3 -5
  1008. package/mysql-core/columns/char.d.ts +3 -5
  1009. package/mysql-core/columns/char.js +3 -4
  1010. package/mysql-core/columns/char.js.map +1 -1
  1011. package/mysql-core/columns/common.cjs +0 -4
  1012. package/mysql-core/columns/common.cjs.map +1 -1
  1013. package/mysql-core/columns/common.d.cts +1 -1
  1014. package/mysql-core/columns/common.d.ts +1 -1
  1015. package/mysql-core/columns/common.js +0 -4
  1016. package/mysql-core/columns/common.js.map +1 -1
  1017. package/mysql-core/columns/custom.cjs.map +1 -1
  1018. package/mysql-core/columns/custom.d.cts +0 -1
  1019. package/mysql-core/columns/custom.d.ts +0 -1
  1020. package/mysql-core/columns/custom.js.map +1 -1
  1021. package/mysql-core/columns/date.cjs.map +1 -1
  1022. package/mysql-core/columns/date.common.cjs +3 -1
  1023. package/mysql-core/columns/date.common.cjs.map +1 -1
  1024. package/mysql-core/columns/date.common.d.cts +6 -1
  1025. package/mysql-core/columns/date.common.d.ts +6 -1
  1026. package/mysql-core/columns/date.common.js +3 -1
  1027. package/mysql-core/columns/date.common.js.map +1 -1
  1028. package/mysql-core/columns/date.d.cts +0 -2
  1029. package/mysql-core/columns/date.d.ts +0 -2
  1030. package/mysql-core/columns/date.js.map +1 -1
  1031. package/mysql-core/columns/datetime.cjs.map +1 -1
  1032. package/mysql-core/columns/datetime.d.cts +0 -2
  1033. package/mysql-core/columns/datetime.d.ts +0 -2
  1034. package/mysql-core/columns/datetime.js.map +1 -1
  1035. package/mysql-core/columns/decimal.cjs.map +1 -1
  1036. package/mysql-core/columns/decimal.d.cts +0 -3
  1037. package/mysql-core/columns/decimal.d.ts +0 -3
  1038. package/mysql-core/columns/decimal.js.map +1 -1
  1039. package/mysql-core/columns/double.cjs.map +1 -1
  1040. package/mysql-core/columns/double.d.cts +0 -1
  1041. package/mysql-core/columns/double.d.ts +0 -1
  1042. package/mysql-core/columns/double.js.map +1 -1
  1043. package/mysql-core/columns/enum.cjs +5 -5
  1044. package/mysql-core/columns/enum.cjs.map +1 -1
  1045. package/mysql-core/columns/enum.d.cts +5 -7
  1046. package/mysql-core/columns/enum.d.ts +5 -7
  1047. package/mysql-core/columns/enum.js +5 -5
  1048. package/mysql-core/columns/enum.js.map +1 -1
  1049. package/mysql-core/columns/float.cjs.map +1 -1
  1050. package/mysql-core/columns/float.d.cts +0 -1
  1051. package/mysql-core/columns/float.d.ts +0 -1
  1052. package/mysql-core/columns/float.js.map +1 -1
  1053. package/mysql-core/columns/index.cjs +2 -0
  1054. package/mysql-core/columns/index.cjs.map +1 -1
  1055. package/mysql-core/columns/index.d.cts +1 -0
  1056. package/mysql-core/columns/index.d.ts +1 -0
  1057. package/mysql-core/columns/index.js +1 -0
  1058. package/mysql-core/columns/index.js.map +1 -1
  1059. package/mysql-core/columns/int.cjs.map +1 -1
  1060. package/mysql-core/columns/int.d.cts +0 -1
  1061. package/mysql-core/columns/int.d.ts +0 -1
  1062. package/mysql-core/columns/int.js.map +1 -1
  1063. package/mysql-core/columns/json.cjs.map +1 -1
  1064. package/mysql-core/columns/json.d.cts +0 -1
  1065. package/mysql-core/columns/json.d.ts +0 -1
  1066. package/mysql-core/columns/json.js.map +1 -1
  1067. package/mysql-core/columns/mediumint.cjs.map +1 -1
  1068. package/mysql-core/columns/mediumint.d.cts +0 -1
  1069. package/mysql-core/columns/mediumint.d.ts +0 -1
  1070. package/mysql-core/columns/mediumint.js.map +1 -1
  1071. package/mysql-core/columns/real.cjs.map +1 -1
  1072. package/mysql-core/columns/real.d.cts +0 -1
  1073. package/mysql-core/columns/real.d.ts +0 -1
  1074. package/mysql-core/columns/real.js.map +1 -1
  1075. package/mysql-core/columns/serial.cjs.map +1 -1
  1076. package/mysql-core/columns/serial.d.cts +0 -1
  1077. package/mysql-core/columns/serial.d.ts +0 -1
  1078. package/mysql-core/columns/serial.js.map +1 -1
  1079. package/mysql-core/columns/smallint.cjs.map +1 -1
  1080. package/mysql-core/columns/smallint.d.cts +0 -1
  1081. package/mysql-core/columns/smallint.d.ts +0 -1
  1082. package/mysql-core/columns/smallint.js.map +1 -1
  1083. package/mysql-core/columns/string.common.cjs +48 -0
  1084. package/mysql-core/columns/string.common.cjs.map +1 -0
  1085. package/mysql-core/columns/string.common.d.cts +21 -0
  1086. package/mysql-core/columns/string.common.d.ts +21 -0
  1087. package/mysql-core/columns/string.common.js +23 -0
  1088. package/mysql-core/columns/string.common.js.map +1 -0
  1089. package/mysql-core/columns/text.cjs +3 -3
  1090. package/mysql-core/columns/text.cjs.map +1 -1
  1091. package/mysql-core/columns/text.d.cts +3 -4
  1092. package/mysql-core/columns/text.d.ts +3 -4
  1093. package/mysql-core/columns/text.js +3 -3
  1094. package/mysql-core/columns/text.js.map +1 -1
  1095. package/mysql-core/columns/time.cjs.map +1 -1
  1096. package/mysql-core/columns/time.d.cts +0 -1
  1097. package/mysql-core/columns/time.d.ts +0 -1
  1098. package/mysql-core/columns/time.js.map +1 -1
  1099. package/mysql-core/columns/timestamp.cjs.map +1 -1
  1100. package/mysql-core/columns/timestamp.d.cts +0 -2
  1101. package/mysql-core/columns/timestamp.d.ts +0 -2
  1102. package/mysql-core/columns/timestamp.js.map +1 -1
  1103. package/mysql-core/columns/tinyint.cjs.map +1 -1
  1104. package/mysql-core/columns/tinyint.d.cts +0 -1
  1105. package/mysql-core/columns/tinyint.d.ts +0 -1
  1106. package/mysql-core/columns/tinyint.js.map +1 -1
  1107. package/mysql-core/columns/varbinary.cjs.map +1 -1
  1108. package/mysql-core/columns/varbinary.d.cts +0 -1
  1109. package/mysql-core/columns/varbinary.d.ts +0 -1
  1110. package/mysql-core/columns/varbinary.js.map +1 -1
  1111. package/mysql-core/columns/varchar.cjs +4 -4
  1112. package/mysql-core/columns/varchar.cjs.map +1 -1
  1113. package/mysql-core/columns/varchar.d.cts +4 -5
  1114. package/mysql-core/columns/varchar.d.ts +4 -5
  1115. package/mysql-core/columns/varchar.js +4 -4
  1116. package/mysql-core/columns/varchar.js.map +1 -1
  1117. package/mysql-core/columns/year.cjs.map +1 -1
  1118. package/mysql-core/columns/year.d.cts +0 -1
  1119. package/mysql-core/columns/year.d.ts +0 -1
  1120. package/mysql-core/columns/year.js.map +1 -1
  1121. package/mysql-core/dialect.cjs +7 -2
  1122. package/mysql-core/dialect.cjs.map +1 -1
  1123. package/mysql-core/dialect.d.cts +1 -0
  1124. package/mysql-core/dialect.d.ts +1 -0
  1125. package/mysql-core/dialect.js +14 -3
  1126. package/mysql-core/dialect.js.map +1 -1
  1127. package/mysql-core/foreign-keys.cjs +3 -0
  1128. package/mysql-core/foreign-keys.cjs.map +1 -1
  1129. package/mysql-core/foreign-keys.d.cts +1 -0
  1130. package/mysql-core/foreign-keys.d.ts +1 -0
  1131. package/mysql-core/foreign-keys.js +3 -0
  1132. package/mysql-core/foreign-keys.js.map +1 -1
  1133. package/mysql-core/indexes.cjs +2 -0
  1134. package/mysql-core/indexes.cjs.map +1 -1
  1135. package/mysql-core/indexes.d.cts +1 -0
  1136. package/mysql-core/indexes.d.ts +1 -0
  1137. package/mysql-core/indexes.js +2 -0
  1138. package/mysql-core/indexes.js.map +1 -1
  1139. package/mysql-core/primary-keys.cjs +4 -13
  1140. package/mysql-core/primary-keys.cjs.map +1 -1
  1141. package/mysql-core/primary-keys.d.cts +3 -6
  1142. package/mysql-core/primary-keys.d.ts +3 -6
  1143. package/mysql-core/primary-keys.js +4 -13
  1144. package/mysql-core/primary-keys.js.map +1 -1
  1145. package/mysql-core/query-builders/count.cjs.map +1 -1
  1146. package/mysql-core/query-builders/count.d.cts +1 -1
  1147. package/mysql-core/query-builders/count.d.ts +1 -1
  1148. package/mysql-core/query-builders/count.js.map +1 -1
  1149. package/mysql-core/query-builders/insert.cjs.map +1 -1
  1150. package/mysql-core/query-builders/insert.d.cts +2 -2
  1151. package/mysql-core/query-builders/insert.d.ts +2 -2
  1152. package/mysql-core/query-builders/insert.js.map +1 -1
  1153. package/mysql-core/query-builders/update.cjs.map +1 -1
  1154. package/mysql-core/query-builders/update.d.cts +1 -1
  1155. package/mysql-core/query-builders/update.d.ts +1 -1
  1156. package/mysql-core/query-builders/update.js.map +1 -1
  1157. package/mysql-core/unique-constraint.cjs +2 -0
  1158. package/mysql-core/unique-constraint.cjs.map +1 -1
  1159. package/mysql-core/unique-constraint.d.cts +3 -2
  1160. package/mysql-core/unique-constraint.d.ts +3 -2
  1161. package/mysql-core/unique-constraint.js +2 -0
  1162. package/mysql-core/unique-constraint.js.map +1 -1
  1163. package/mysql-proxy/driver.cjs +2 -2
  1164. package/mysql-proxy/driver.cjs.map +1 -1
  1165. package/mysql-proxy/driver.d.cts +2 -1
  1166. package/mysql-proxy/driver.d.ts +2 -1
  1167. package/mysql-proxy/driver.js +2 -2
  1168. package/mysql-proxy/driver.js.map +1 -1
  1169. package/mysql2/driver.cjs +10 -14
  1170. package/mysql2/driver.cjs.map +1 -1
  1171. package/mysql2/driver.d.cts +3 -3
  1172. package/mysql2/driver.d.ts +3 -3
  1173. package/mysql2/driver.js +10 -14
  1174. package/mysql2/driver.js.map +1 -1
  1175. package/mysql2/session.cjs.map +1 -1
  1176. package/mysql2/session.js.map +1 -1
  1177. package/neon-http/driver.cjs +10 -14
  1178. package/neon-http/driver.cjs.map +1 -1
  1179. package/neon-http/driver.d.cts +3 -3
  1180. package/neon-http/driver.d.ts +3 -3
  1181. package/neon-http/driver.js +10 -14
  1182. package/neon-http/driver.js.map +1 -1
  1183. package/neon-http/session.cjs.map +1 -1
  1184. package/neon-http/session.d.cts +1 -1
  1185. package/neon-http/session.d.ts +1 -1
  1186. package/neon-http/session.js.map +1 -1
  1187. package/neon-serverless/driver.cjs +10 -14
  1188. package/neon-serverless/driver.cjs.map +1 -1
  1189. package/neon-serverless/driver.d.cts +3 -3
  1190. package/neon-serverless/driver.d.ts +3 -3
  1191. package/neon-serverless/driver.js +10 -14
  1192. package/neon-serverless/driver.js.map +1 -1
  1193. package/neon-serverless/session.cjs.map +1 -1
  1194. package/neon-serverless/session.js.map +1 -1
  1195. package/node-mssql/driver.cjs +129 -0
  1196. package/node-mssql/driver.cjs.map +1 -0
  1197. package/node-mssql/driver.d.cts +48 -0
  1198. package/node-mssql/driver.d.ts +48 -0
  1199. package/node-mssql/driver.js +92 -0
  1200. package/node-mssql/driver.js.map +1 -0
  1201. package/node-mssql/index.cjs +25 -0
  1202. package/node-mssql/index.cjs.map +1 -0
  1203. package/node-mssql/index.d.cts +2 -0
  1204. package/node-mssql/index.d.ts +2 -0
  1205. package/node-mssql/index.js +3 -0
  1206. package/node-mssql/index.js.map +1 -0
  1207. package/node-mssql/migrator.cjs +33 -0
  1208. package/node-mssql/migrator.cjs.map +1 -0
  1209. package/node-mssql/migrator.d.cts +3 -0
  1210. package/node-mssql/migrator.d.ts +3 -0
  1211. package/node-mssql/migrator.js +9 -0
  1212. package/node-mssql/migrator.js.map +1 -0
  1213. package/node-mssql/pool.cjs +54 -0
  1214. package/node-mssql/pool.cjs.map +1 -0
  1215. package/node-mssql/pool.d.cts +8 -0
  1216. package/node-mssql/pool.d.ts +8 -0
  1217. package/node-mssql/pool.js +20 -0
  1218. package/node-mssql/pool.js.map +1 -0
  1219. package/node-mssql/session.cjs +256 -0
  1220. package/node-mssql/session.cjs.map +1 -0
  1221. package/node-mssql/session.d.cts +48 -0
  1222. package/node-mssql/session.d.ts +48 -0
  1223. package/node-mssql/session.js +224 -0
  1224. package/node-mssql/session.js.map +1 -0
  1225. package/node-postgres/driver.cjs +8 -12
  1226. package/node-postgres/driver.cjs.map +1 -1
  1227. package/node-postgres/driver.d.cts +3 -3
  1228. package/node-postgres/driver.d.ts +3 -3
  1229. package/node-postgres/driver.js +8 -12
  1230. package/node-postgres/driver.js.map +1 -1
  1231. package/node-postgres/session.cjs.map +1 -1
  1232. package/node-postgres/session.js.map +1 -1
  1233. package/op-sqlite/migrator.cjs +10 -7
  1234. package/op-sqlite/migrator.cjs.map +1 -1
  1235. package/op-sqlite/migrator.d.cts +0 -16
  1236. package/op-sqlite/migrator.d.ts +0 -16
  1237. package/op-sqlite/migrator.js +10 -7
  1238. package/op-sqlite/migrator.js.map +1 -1
  1239. package/package.json +1498 -20
  1240. package/pg-core/columns/bigint.cjs.map +1 -1
  1241. package/pg-core/columns/bigint.d.cts +0 -3
  1242. package/pg-core/columns/bigint.d.ts +0 -3
  1243. package/pg-core/columns/bigint.js.map +1 -1
  1244. package/pg-core/columns/bigserial.cjs +1 -0
  1245. package/pg-core/columns/bigserial.cjs.map +1 -1
  1246. package/pg-core/columns/bigserial.d.cts +0 -2
  1247. package/pg-core/columns/bigserial.d.ts +0 -2
  1248. package/pg-core/columns/bigserial.js +1 -0
  1249. package/pg-core/columns/bigserial.js.map +1 -1
  1250. package/pg-core/columns/boolean.cjs.map +1 -1
  1251. package/pg-core/columns/boolean.d.cts +0 -1
  1252. package/pg-core/columns/boolean.d.ts +0 -1
  1253. package/pg-core/columns/boolean.js.map +1 -1
  1254. package/pg-core/columns/bytea.cjs.map +1 -1
  1255. package/pg-core/columns/bytea.d.cts +0 -1
  1256. package/pg-core/columns/bytea.d.ts +0 -1
  1257. package/pg-core/columns/bytea.js.map +1 -1
  1258. package/pg-core/columns/char.cjs +0 -1
  1259. package/pg-core/columns/char.cjs.map +1 -1
  1260. package/pg-core/columns/char.d.cts +0 -2
  1261. package/pg-core/columns/char.d.ts +0 -2
  1262. package/pg-core/columns/char.js +0 -1
  1263. package/pg-core/columns/char.js.map +1 -1
  1264. package/pg-core/columns/cidr.cjs.map +1 -1
  1265. package/pg-core/columns/cidr.d.cts +0 -1
  1266. package/pg-core/columns/cidr.d.ts +0 -1
  1267. package/pg-core/columns/cidr.js.map +1 -1
  1268. package/pg-core/columns/common.cjs +10 -14
  1269. package/pg-core/columns/common.cjs.map +1 -1
  1270. package/pg-core/columns/common.d.cts +4 -3
  1271. package/pg-core/columns/common.d.ts +4 -3
  1272. package/pg-core/columns/common.js +10 -14
  1273. package/pg-core/columns/common.js.map +1 -1
  1274. package/pg-core/columns/custom.cjs.map +1 -1
  1275. package/pg-core/columns/custom.d.cts +0 -1
  1276. package/pg-core/columns/custom.d.ts +0 -1
  1277. package/pg-core/columns/custom.js.map +1 -1
  1278. package/pg-core/columns/date.cjs.map +1 -1
  1279. package/pg-core/columns/date.d.cts +0 -2
  1280. package/pg-core/columns/date.d.ts +0 -2
  1281. package/pg-core/columns/date.js.map +1 -1
  1282. package/pg-core/columns/double-precision.cjs.map +1 -1
  1283. package/pg-core/columns/double-precision.d.cts +0 -1
  1284. package/pg-core/columns/double-precision.d.ts +0 -1
  1285. package/pg-core/columns/double-precision.js.map +1 -1
  1286. package/pg-core/columns/enum.cjs.map +1 -1
  1287. package/pg-core/columns/enum.d.cts +0 -2
  1288. package/pg-core/columns/enum.d.ts +0 -2
  1289. package/pg-core/columns/enum.js.map +1 -1
  1290. package/pg-core/columns/inet.cjs.map +1 -1
  1291. package/pg-core/columns/inet.d.cts +0 -1
  1292. package/pg-core/columns/inet.d.ts +0 -1
  1293. package/pg-core/columns/inet.js.map +1 -1
  1294. package/pg-core/columns/integer.cjs.map +1 -1
  1295. package/pg-core/columns/integer.d.cts +0 -1
  1296. package/pg-core/columns/integer.d.ts +0 -1
  1297. package/pg-core/columns/integer.js.map +1 -1
  1298. package/pg-core/columns/interval.cjs.map +1 -1
  1299. package/pg-core/columns/interval.d.cts +0 -1
  1300. package/pg-core/columns/interval.d.ts +0 -1
  1301. package/pg-core/columns/interval.js.map +1 -1
  1302. package/pg-core/columns/json.cjs.map +1 -1
  1303. package/pg-core/columns/json.d.cts +0 -1
  1304. package/pg-core/columns/json.d.ts +0 -1
  1305. package/pg-core/columns/json.js.map +1 -1
  1306. package/pg-core/columns/jsonb.cjs.map +1 -1
  1307. package/pg-core/columns/jsonb.d.cts +0 -1
  1308. package/pg-core/columns/jsonb.d.ts +0 -1
  1309. package/pg-core/columns/jsonb.js.map +1 -1
  1310. package/pg-core/columns/line.cjs +2 -0
  1311. package/pg-core/columns/line.cjs.map +1 -1
  1312. package/pg-core/columns/line.d.cts +2 -2
  1313. package/pg-core/columns/line.d.ts +2 -2
  1314. package/pg-core/columns/line.js +2 -0
  1315. package/pg-core/columns/line.js.map +1 -1
  1316. package/pg-core/columns/macaddr.cjs.map +1 -1
  1317. package/pg-core/columns/macaddr.d.cts +0 -1
  1318. package/pg-core/columns/macaddr.d.ts +0 -1
  1319. package/pg-core/columns/macaddr.js.map +1 -1
  1320. package/pg-core/columns/macaddr8.cjs.map +1 -1
  1321. package/pg-core/columns/macaddr8.d.cts +0 -1
  1322. package/pg-core/columns/macaddr8.d.ts +0 -1
  1323. package/pg-core/columns/macaddr8.js.map +1 -1
  1324. package/pg-core/columns/numeric.cjs.map +1 -1
  1325. package/pg-core/columns/numeric.d.cts +0 -3
  1326. package/pg-core/columns/numeric.d.ts +0 -3
  1327. package/pg-core/columns/numeric.js.map +1 -1
  1328. package/pg-core/columns/point.cjs +2 -0
  1329. package/pg-core/columns/point.cjs.map +1 -1
  1330. package/pg-core/columns/point.d.cts +2 -2
  1331. package/pg-core/columns/point.d.ts +2 -2
  1332. package/pg-core/columns/point.js +2 -0
  1333. package/pg-core/columns/point.js.map +1 -1
  1334. package/pg-core/columns/postgis_extension/geometry.cjs +14 -8
  1335. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  1336. package/pg-core/columns/postgis_extension/geometry.d.cts +16 -6
  1337. package/pg-core/columns/postgis_extension/geometry.d.ts +16 -6
  1338. package/pg-core/columns/postgis_extension/geometry.js +14 -8
  1339. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  1340. package/pg-core/columns/postgis_extension/utils.cjs +3 -3
  1341. package/pg-core/columns/postgis_extension/utils.cjs.map +1 -1
  1342. package/pg-core/columns/postgis_extension/utils.d.cts +4 -1
  1343. package/pg-core/columns/postgis_extension/utils.d.ts +4 -1
  1344. package/pg-core/columns/postgis_extension/utils.js +3 -3
  1345. package/pg-core/columns/postgis_extension/utils.js.map +1 -1
  1346. package/pg-core/columns/real.cjs.map +1 -1
  1347. package/pg-core/columns/real.d.cts +0 -1
  1348. package/pg-core/columns/real.d.ts +0 -1
  1349. package/pg-core/columns/real.js.map +1 -1
  1350. package/pg-core/columns/serial.cjs.map +1 -1
  1351. package/pg-core/columns/serial.d.cts +0 -1
  1352. package/pg-core/columns/serial.d.ts +0 -1
  1353. package/pg-core/columns/serial.js.map +1 -1
  1354. package/pg-core/columns/smallint.cjs.map +1 -1
  1355. package/pg-core/columns/smallint.d.cts +0 -1
  1356. package/pg-core/columns/smallint.d.ts +0 -1
  1357. package/pg-core/columns/smallint.js.map +1 -1
  1358. package/pg-core/columns/smallserial.cjs.map +1 -1
  1359. package/pg-core/columns/smallserial.d.cts +0 -1
  1360. package/pg-core/columns/smallserial.d.ts +0 -1
  1361. package/pg-core/columns/smallserial.js.map +1 -1
  1362. package/pg-core/columns/text.cjs.map +1 -1
  1363. package/pg-core/columns/text.d.cts +0 -1
  1364. package/pg-core/columns/text.d.ts +0 -1
  1365. package/pg-core/columns/text.js.map +1 -1
  1366. package/pg-core/columns/time.cjs.map +1 -1
  1367. package/pg-core/columns/time.d.cts +0 -1
  1368. package/pg-core/columns/time.d.ts +0 -1
  1369. package/pg-core/columns/time.js.map +1 -1
  1370. package/pg-core/columns/timestamp.cjs.map +1 -1
  1371. package/pg-core/columns/timestamp.d.cts +0 -2
  1372. package/pg-core/columns/timestamp.d.ts +0 -2
  1373. package/pg-core/columns/timestamp.js.map +1 -1
  1374. package/pg-core/columns/uuid.cjs.map +1 -1
  1375. package/pg-core/columns/uuid.d.cts +0 -1
  1376. package/pg-core/columns/uuid.d.ts +0 -1
  1377. package/pg-core/columns/uuid.js.map +1 -1
  1378. package/pg-core/columns/varchar.cjs.map +1 -1
  1379. package/pg-core/columns/varchar.d.cts +0 -1
  1380. package/pg-core/columns/varchar.d.ts +0 -1
  1381. package/pg-core/columns/varchar.js.map +1 -1
  1382. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  1383. package/pg-core/columns/vector_extension/bit.d.cts +0 -1
  1384. package/pg-core/columns/vector_extension/bit.d.ts +0 -1
  1385. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  1386. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  1387. package/pg-core/columns/vector_extension/halfvec.d.cts +0 -1
  1388. package/pg-core/columns/vector_extension/halfvec.d.ts +0 -1
  1389. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  1390. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  1391. package/pg-core/columns/vector_extension/sparsevec.d.cts +0 -1
  1392. package/pg-core/columns/vector_extension/sparsevec.d.ts +0 -1
  1393. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  1394. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  1395. package/pg-core/columns/vector_extension/vector.d.cts +0 -1
  1396. package/pg-core/columns/vector_extension/vector.d.ts +0 -1
  1397. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  1398. package/pg-core/dialect.cjs +4 -2
  1399. package/pg-core/dialect.cjs.map +1 -1
  1400. package/pg-core/dialect.js +11 -3
  1401. package/pg-core/dialect.js.map +1 -1
  1402. package/pg-core/foreign-keys.cjs +4 -0
  1403. package/pg-core/foreign-keys.cjs.map +1 -1
  1404. package/pg-core/foreign-keys.d.cts +2 -0
  1405. package/pg-core/foreign-keys.d.ts +2 -0
  1406. package/pg-core/foreign-keys.js +4 -0
  1407. package/pg-core/foreign-keys.js.map +1 -1
  1408. package/pg-core/indexes.cjs +2 -0
  1409. package/pg-core/indexes.cjs.map +1 -1
  1410. package/pg-core/indexes.d.cts +1 -0
  1411. package/pg-core/indexes.d.ts +1 -0
  1412. package/pg-core/indexes.js +2 -0
  1413. package/pg-core/indexes.js.map +1 -1
  1414. package/pg-core/primary-keys.cjs +2 -0
  1415. package/pg-core/primary-keys.cjs.map +1 -1
  1416. package/pg-core/primary-keys.d.cts +1 -0
  1417. package/pg-core/primary-keys.d.ts +1 -0
  1418. package/pg-core/primary-keys.js +2 -0
  1419. package/pg-core/primary-keys.js.map +1 -1
  1420. package/pg-core/query-builders/count.cjs.map +1 -1
  1421. package/pg-core/query-builders/count.d.cts +4 -3
  1422. package/pg-core/query-builders/count.d.ts +4 -3
  1423. package/pg-core/query-builders/count.js.map +1 -1
  1424. package/pg-core/query-builders/insert.cjs.map +1 -1
  1425. package/pg-core/query-builders/insert.d.cts +6 -9
  1426. package/pg-core/query-builders/insert.d.ts +6 -9
  1427. package/pg-core/query-builders/insert.js.map +1 -1
  1428. package/pg-core/query-builders/select.cjs +6 -7
  1429. package/pg-core/query-builders/select.cjs.map +1 -1
  1430. package/pg-core/query-builders/select.js +2 -2
  1431. package/pg-core/query-builders/select.js.map +1 -1
  1432. package/pg-core/query-builders/update.cjs.map +1 -1
  1433. package/pg-core/query-builders/update.d.cts +1 -1
  1434. package/pg-core/query-builders/update.d.ts +1 -1
  1435. package/pg-core/query-builders/update.js.map +1 -1
  1436. package/pg-core/schema.cjs +12 -0
  1437. package/pg-core/schema.cjs.map +1 -1
  1438. package/pg-core/schema.d.cts +2 -0
  1439. package/pg-core/schema.d.ts +2 -0
  1440. package/pg-core/schema.js +13 -1
  1441. package/pg-core/schema.js.map +1 -1
  1442. package/pg-core/table.cjs +15 -2
  1443. package/pg-core/table.cjs.map +1 -1
  1444. package/pg-core/table.d.cts +5 -1
  1445. package/pg-core/table.d.ts +5 -1
  1446. package/pg-core/table.js +15 -2
  1447. package/pg-core/table.js.map +1 -1
  1448. package/pg-core/unique-constraint.cjs +2 -0
  1449. package/pg-core/unique-constraint.cjs.map +1 -1
  1450. package/pg-core/unique-constraint.d.cts +1 -0
  1451. package/pg-core/unique-constraint.d.ts +1 -0
  1452. package/pg-core/unique-constraint.js +2 -0
  1453. package/pg-core/unique-constraint.js.map +1 -1
  1454. package/pg-core/utils.cjs +1 -2
  1455. package/pg-core/utils.cjs.map +1 -1
  1456. package/pg-core/utils.d.cts +1 -1
  1457. package/pg-core/utils.d.ts +1 -1
  1458. package/pg-core/utils.js +1 -2
  1459. package/pg-core/utils.js.map +1 -1
  1460. package/pg-core/view-common.cjs +3 -0
  1461. package/pg-core/view-common.cjs.map +1 -1
  1462. package/pg-core/view-common.d.cts +1 -0
  1463. package/pg-core/view-common.d.ts +1 -0
  1464. package/pg-core/view-common.js +2 -0
  1465. package/pg-core/view-common.js.map +1 -1
  1466. package/pg-core/view.cjs +2 -5
  1467. package/pg-core/view.cjs.map +1 -1
  1468. package/pg-core/view.d.cts +1 -2
  1469. package/pg-core/view.d.ts +1 -2
  1470. package/pg-core/view.js +1 -3
  1471. package/pg-core/view.js.map +1 -1
  1472. package/pglite/driver.cjs +10 -14
  1473. package/pglite/driver.cjs.map +1 -1
  1474. package/pglite/driver.d.cts +3 -3
  1475. package/pglite/driver.d.ts +3 -3
  1476. package/pglite/driver.js +10 -14
  1477. package/pglite/driver.js.map +1 -1
  1478. package/planetscale-serverless/driver.cjs +11 -15
  1479. package/planetscale-serverless/driver.cjs.map +1 -1
  1480. package/planetscale-serverless/driver.d.cts +3 -3
  1481. package/planetscale-serverless/driver.d.ts +3 -3
  1482. package/planetscale-serverless/driver.js +11 -15
  1483. package/planetscale-serverless/driver.js.map +1 -1
  1484. package/postgres-js/driver.cjs +10 -14
  1485. package/postgres-js/driver.cjs.map +1 -1
  1486. package/postgres-js/driver.d.cts +3 -3
  1487. package/postgres-js/driver.d.ts +3 -3
  1488. package/postgres-js/driver.js +10 -14
  1489. package/postgres-js/driver.js.map +1 -1
  1490. package/relations.cjs +2 -0
  1491. package/relations.cjs.map +1 -1
  1492. package/relations.d.cts +3 -3
  1493. package/relations.d.ts +3 -3
  1494. package/relations.js +3 -1
  1495. package/relations.js.map +1 -1
  1496. package/selection-proxy.cjs +4 -3
  1497. package/selection-proxy.cjs.map +1 -1
  1498. package/selection-proxy.js +5 -4
  1499. package/selection-proxy.js.map +1 -1
  1500. package/singlestore/driver.cjs +19 -26
  1501. package/singlestore/driver.cjs.map +1 -1
  1502. package/singlestore/driver.d.cts +3 -3
  1503. package/singlestore/driver.d.ts +3 -3
  1504. package/singlestore/driver.js +19 -26
  1505. package/singlestore/driver.js.map +1 -1
  1506. package/singlestore/session.cjs.map +1 -1
  1507. package/singlestore/session.js.map +1 -1
  1508. package/singlestore-core/columns/bigint.cjs.map +1 -1
  1509. package/singlestore-core/columns/bigint.d.cts +0 -3
  1510. package/singlestore-core/columns/bigint.d.ts +0 -3
  1511. package/singlestore-core/columns/bigint.js.map +1 -1
  1512. package/singlestore-core/columns/binary.cjs +0 -1
  1513. package/singlestore-core/columns/binary.cjs.map +1 -1
  1514. package/singlestore-core/columns/binary.d.cts +0 -2
  1515. package/singlestore-core/columns/binary.d.ts +0 -2
  1516. package/singlestore-core/columns/binary.js +0 -1
  1517. package/singlestore-core/columns/binary.js.map +1 -1
  1518. package/singlestore-core/columns/boolean.cjs.map +1 -1
  1519. package/singlestore-core/columns/boolean.d.cts +0 -1
  1520. package/singlestore-core/columns/boolean.d.ts +0 -1
  1521. package/singlestore-core/columns/boolean.js.map +1 -1
  1522. package/singlestore-core/columns/char.cjs +0 -1
  1523. package/singlestore-core/columns/char.cjs.map +1 -1
  1524. package/singlestore-core/columns/char.d.cts +0 -2
  1525. package/singlestore-core/columns/char.d.ts +0 -2
  1526. package/singlestore-core/columns/char.js +0 -1
  1527. package/singlestore-core/columns/char.js.map +1 -1
  1528. package/singlestore-core/columns/common.cjs +0 -4
  1529. package/singlestore-core/columns/common.cjs.map +1 -1
  1530. package/singlestore-core/columns/common.d.cts +1 -1
  1531. package/singlestore-core/columns/common.d.ts +1 -1
  1532. package/singlestore-core/columns/common.js +0 -4
  1533. package/singlestore-core/columns/common.js.map +1 -1
  1534. package/singlestore-core/columns/custom.cjs.map +1 -1
  1535. package/singlestore-core/columns/custom.d.cts +0 -1
  1536. package/singlestore-core/columns/custom.d.ts +0 -1
  1537. package/singlestore-core/columns/custom.js.map +1 -1
  1538. package/singlestore-core/columns/date.cjs.map +1 -1
  1539. package/singlestore-core/columns/date.d.cts +0 -2
  1540. package/singlestore-core/columns/date.d.ts +0 -2
  1541. package/singlestore-core/columns/date.js.map +1 -1
  1542. package/singlestore-core/columns/datetime.cjs.map +1 -1
  1543. package/singlestore-core/columns/datetime.d.cts +0 -2
  1544. package/singlestore-core/columns/datetime.d.ts +0 -2
  1545. package/singlestore-core/columns/datetime.js.map +1 -1
  1546. package/singlestore-core/columns/decimal.cjs.map +1 -1
  1547. package/singlestore-core/columns/decimal.d.cts +0 -3
  1548. package/singlestore-core/columns/decimal.d.ts +0 -3
  1549. package/singlestore-core/columns/decimal.js.map +1 -1
  1550. package/singlestore-core/columns/double.cjs.map +1 -1
  1551. package/singlestore-core/columns/double.d.cts +0 -1
  1552. package/singlestore-core/columns/double.d.ts +0 -1
  1553. package/singlestore-core/columns/double.js.map +1 -1
  1554. package/singlestore-core/columns/enum.cjs.map +1 -1
  1555. package/singlestore-core/columns/enum.d.cts +0 -1
  1556. package/singlestore-core/columns/enum.d.ts +0 -1
  1557. package/singlestore-core/columns/enum.js.map +1 -1
  1558. package/singlestore-core/columns/float.cjs.map +1 -1
  1559. package/singlestore-core/columns/float.d.cts +0 -1
  1560. package/singlestore-core/columns/float.d.ts +0 -1
  1561. package/singlestore-core/columns/float.js.map +1 -1
  1562. package/singlestore-core/columns/int.cjs.map +1 -1
  1563. package/singlestore-core/columns/int.d.cts +0 -1
  1564. package/singlestore-core/columns/int.d.ts +0 -1
  1565. package/singlestore-core/columns/int.js.map +1 -1
  1566. package/singlestore-core/columns/json.cjs.map +1 -1
  1567. package/singlestore-core/columns/json.d.cts +0 -1
  1568. package/singlestore-core/columns/json.d.ts +0 -1
  1569. package/singlestore-core/columns/json.js.map +1 -1
  1570. package/singlestore-core/columns/mediumint.cjs.map +1 -1
  1571. package/singlestore-core/columns/mediumint.d.cts +0 -1
  1572. package/singlestore-core/columns/mediumint.d.ts +0 -1
  1573. package/singlestore-core/columns/mediumint.js.map +1 -1
  1574. package/singlestore-core/columns/real.cjs.map +1 -1
  1575. package/singlestore-core/columns/real.d.cts +0 -1
  1576. package/singlestore-core/columns/real.d.ts +0 -1
  1577. package/singlestore-core/columns/real.js.map +1 -1
  1578. package/singlestore-core/columns/serial.cjs.map +1 -1
  1579. package/singlestore-core/columns/serial.d.cts +0 -1
  1580. package/singlestore-core/columns/serial.d.ts +0 -1
  1581. package/singlestore-core/columns/serial.js.map +1 -1
  1582. package/singlestore-core/columns/smallint.cjs.map +1 -1
  1583. package/singlestore-core/columns/smallint.d.cts +0 -1
  1584. package/singlestore-core/columns/smallint.d.ts +0 -1
  1585. package/singlestore-core/columns/smallint.js.map +1 -1
  1586. package/singlestore-core/columns/text.cjs.map +1 -1
  1587. package/singlestore-core/columns/text.d.cts +0 -1
  1588. package/singlestore-core/columns/text.d.ts +0 -1
  1589. package/singlestore-core/columns/text.js.map +1 -1
  1590. package/singlestore-core/columns/time.cjs.map +1 -1
  1591. package/singlestore-core/columns/time.d.cts +0 -1
  1592. package/singlestore-core/columns/time.d.ts +0 -1
  1593. package/singlestore-core/columns/time.js.map +1 -1
  1594. package/singlestore-core/columns/timestamp.cjs.map +1 -1
  1595. package/singlestore-core/columns/timestamp.d.cts +0 -2
  1596. package/singlestore-core/columns/timestamp.d.ts +0 -2
  1597. package/singlestore-core/columns/timestamp.js.map +1 -1
  1598. package/singlestore-core/columns/tinyint.cjs.map +1 -1
  1599. package/singlestore-core/columns/tinyint.d.cts +0 -1
  1600. package/singlestore-core/columns/tinyint.d.ts +0 -1
  1601. package/singlestore-core/columns/tinyint.js.map +1 -1
  1602. package/singlestore-core/columns/varbinary.cjs.map +1 -1
  1603. package/singlestore-core/columns/varbinary.d.cts +0 -1
  1604. package/singlestore-core/columns/varbinary.d.ts +0 -1
  1605. package/singlestore-core/columns/varbinary.js.map +1 -1
  1606. package/singlestore-core/columns/varchar.cjs.map +1 -1
  1607. package/singlestore-core/columns/varchar.d.cts +0 -1
  1608. package/singlestore-core/columns/varchar.d.ts +0 -1
  1609. package/singlestore-core/columns/varchar.js.map +1 -1
  1610. package/singlestore-core/columns/vector.cjs.map +1 -1
  1611. package/singlestore-core/columns/vector.d.cts +0 -2
  1612. package/singlestore-core/columns/vector.d.ts +0 -2
  1613. package/singlestore-core/columns/vector.js.map +1 -1
  1614. package/singlestore-core/columns/year.cjs.map +1 -1
  1615. package/singlestore-core/columns/year.d.cts +0 -1
  1616. package/singlestore-core/columns/year.d.ts +0 -1
  1617. package/singlestore-core/columns/year.js.map +1 -1
  1618. package/singlestore-core/dialect.cjs +4 -2
  1619. package/singlestore-core/dialect.cjs.map +1 -1
  1620. package/singlestore-core/dialect.js +11 -3
  1621. package/singlestore-core/dialect.js.map +1 -1
  1622. package/singlestore-core/indexes.cjs +2 -0
  1623. package/singlestore-core/indexes.cjs.map +1 -1
  1624. package/singlestore-core/indexes.d.cts +1 -0
  1625. package/singlestore-core/indexes.d.ts +1 -0
  1626. package/singlestore-core/indexes.js +2 -0
  1627. package/singlestore-core/indexes.js.map +1 -1
  1628. package/singlestore-core/primary-keys.cjs +2 -0
  1629. package/singlestore-core/primary-keys.cjs.map +1 -1
  1630. package/singlestore-core/primary-keys.d.cts +1 -0
  1631. package/singlestore-core/primary-keys.d.ts +1 -0
  1632. package/singlestore-core/primary-keys.js +2 -0
  1633. package/singlestore-core/primary-keys.js.map +1 -1
  1634. package/singlestore-core/query-builders/count.cjs.map +1 -1
  1635. package/singlestore-core/query-builders/count.d.cts +1 -1
  1636. package/singlestore-core/query-builders/count.d.ts +1 -1
  1637. package/singlestore-core/query-builders/count.js.map +1 -1
  1638. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  1639. package/singlestore-core/query-builders/insert.d.cts +1 -1
  1640. package/singlestore-core/query-builders/insert.d.ts +1 -1
  1641. package/singlestore-core/query-builders/insert.js.map +1 -1
  1642. package/singlestore-core/query-builders/update.cjs.map +1 -1
  1643. package/singlestore-core/query-builders/update.d.cts +1 -1
  1644. package/singlestore-core/query-builders/update.d.ts +1 -1
  1645. package/singlestore-core/query-builders/update.js.map +1 -1
  1646. package/singlestore-core/unique-constraint.cjs +2 -0
  1647. package/singlestore-core/unique-constraint.cjs.map +1 -1
  1648. package/singlestore-core/unique-constraint.d.cts +3 -2
  1649. package/singlestore-core/unique-constraint.d.ts +3 -2
  1650. package/singlestore-core/unique-constraint.js +2 -0
  1651. package/singlestore-core/unique-constraint.js.map +1 -1
  1652. package/sql/sql.cjs +11 -10
  1653. package/sql/sql.cjs.map +1 -1
  1654. package/sql/sql.d.cts +3 -3
  1655. package/sql/sql.d.ts +3 -3
  1656. package/sql/sql.js +11 -10
  1657. package/sql/sql.js.map +1 -1
  1658. package/sql-js/session.cjs.map +1 -1
  1659. package/sql-js/session.js.map +1 -1
  1660. package/sqlite-cloud/driver.cjs +6 -10
  1661. package/sqlite-cloud/driver.cjs.map +1 -1
  1662. package/sqlite-cloud/driver.d.cts +3 -3
  1663. package/sqlite-cloud/driver.d.ts +3 -3
  1664. package/sqlite-cloud/driver.js +6 -10
  1665. package/sqlite-cloud/driver.js.map +1 -1
  1666. package/sqlite-core/columns/blob.cjs.map +1 -1
  1667. package/sqlite-core/columns/blob.d.cts +0 -3
  1668. package/sqlite-core/columns/blob.d.ts +0 -3
  1669. package/sqlite-core/columns/blob.js.map +1 -1
  1670. package/sqlite-core/columns/common.cjs +0 -4
  1671. package/sqlite-core/columns/common.cjs.map +1 -1
  1672. package/sqlite-core/columns/common.js +0 -4
  1673. package/sqlite-core/columns/common.js.map +1 -1
  1674. package/sqlite-core/columns/custom.cjs.map +1 -1
  1675. package/sqlite-core/columns/custom.d.cts +0 -1
  1676. package/sqlite-core/columns/custom.d.ts +0 -1
  1677. package/sqlite-core/columns/custom.js.map +1 -1
  1678. package/sqlite-core/columns/integer.cjs.map +1 -1
  1679. package/sqlite-core/columns/integer.d.cts +0 -3
  1680. package/sqlite-core/columns/integer.d.ts +0 -3
  1681. package/sqlite-core/columns/integer.js.map +1 -1
  1682. package/sqlite-core/columns/numeric.cjs.map +1 -1
  1683. package/sqlite-core/columns/numeric.d.cts +0 -3
  1684. package/sqlite-core/columns/numeric.d.ts +0 -3
  1685. package/sqlite-core/columns/numeric.js.map +1 -1
  1686. package/sqlite-core/columns/real.cjs.map +1 -1
  1687. package/sqlite-core/columns/real.d.cts +0 -1
  1688. package/sqlite-core/columns/real.d.ts +0 -1
  1689. package/sqlite-core/columns/real.js.map +1 -1
  1690. package/sqlite-core/columns/text.cjs.map +1 -1
  1691. package/sqlite-core/columns/text.d.cts +0 -2
  1692. package/sqlite-core/columns/text.d.ts +0 -2
  1693. package/sqlite-core/columns/text.js.map +1 -1
  1694. package/sqlite-core/dialect.cjs +8 -5
  1695. package/sqlite-core/dialect.cjs.map +1 -1
  1696. package/sqlite-core/dialect.js +15 -6
  1697. package/sqlite-core/dialect.js.map +1 -1
  1698. package/sqlite-core/foreign-keys.cjs +3 -0
  1699. package/sqlite-core/foreign-keys.cjs.map +1 -1
  1700. package/sqlite-core/foreign-keys.d.cts +1 -14
  1701. package/sqlite-core/foreign-keys.d.ts +1 -14
  1702. package/sqlite-core/foreign-keys.js +3 -0
  1703. package/sqlite-core/foreign-keys.js.map +1 -1
  1704. package/sqlite-core/indexes.cjs +2 -0
  1705. package/sqlite-core/indexes.cjs.map +1 -1
  1706. package/sqlite-core/indexes.d.cts +1 -0
  1707. package/sqlite-core/indexes.d.ts +1 -0
  1708. package/sqlite-core/indexes.js +2 -0
  1709. package/sqlite-core/indexes.js.map +1 -1
  1710. package/sqlite-core/primary-keys.cjs +2 -0
  1711. package/sqlite-core/primary-keys.cjs.map +1 -1
  1712. package/sqlite-core/primary-keys.d.cts +1 -0
  1713. package/sqlite-core/primary-keys.d.ts +1 -0
  1714. package/sqlite-core/primary-keys.js +2 -0
  1715. package/sqlite-core/primary-keys.js.map +1 -1
  1716. package/sqlite-core/query-builders/count.cjs.map +1 -1
  1717. package/sqlite-core/query-builders/count.d.cts +1 -1
  1718. package/sqlite-core/query-builders/count.d.ts +1 -1
  1719. package/sqlite-core/query-builders/count.js.map +1 -1
  1720. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  1721. package/sqlite-core/query-builders/insert.d.cts +2 -2
  1722. package/sqlite-core/query-builders/insert.d.ts +2 -2
  1723. package/sqlite-core/query-builders/insert.js.map +1 -1
  1724. package/sqlite-core/query-builders/update.cjs.map +1 -1
  1725. package/sqlite-core/query-builders/update.d.cts +1 -1
  1726. package/sqlite-core/query-builders/update.d.ts +1 -1
  1727. package/sqlite-core/query-builders/update.js.map +1 -1
  1728. package/sqlite-core/unique-constraint.cjs +2 -0
  1729. package/sqlite-core/unique-constraint.cjs.map +1 -1
  1730. package/sqlite-core/unique-constraint.d.cts +3 -2
  1731. package/sqlite-core/unique-constraint.d.ts +3 -2
  1732. package/sqlite-core/unique-constraint.js +2 -0
  1733. package/sqlite-core/unique-constraint.js.map +1 -1
  1734. package/sqlite-proxy/session.cjs +0 -1
  1735. package/sqlite-proxy/session.cjs.map +1 -1
  1736. package/sqlite-proxy/session.js +0 -1
  1737. package/sqlite-proxy/session.js.map +1 -1
  1738. package/table.cjs +0 -1
  1739. package/table.cjs.map +1 -1
  1740. package/table.d.cts +2 -3
  1741. package/table.d.ts +2 -3
  1742. package/table.js +0 -1
  1743. package/table.js.map +1 -1
  1744. package/tidb-serverless/driver.cjs +8 -12
  1745. package/tidb-serverless/driver.cjs.map +1 -1
  1746. package/tidb-serverless/driver.d.cts +3 -3
  1747. package/tidb-serverless/driver.d.ts +3 -3
  1748. package/tidb-serverless/driver.js +8 -12
  1749. package/tidb-serverless/driver.js.map +1 -1
  1750. package/tracing.cjs +1 -1
  1751. package/tracing.cjs.map +1 -1
  1752. package/tracing.js +1 -1
  1753. package/tracing.js.map +1 -1
  1754. package/tursodatabase/database.cjs +6 -10
  1755. package/tursodatabase/database.cjs.map +1 -1
  1756. package/tursodatabase/database.d.cts +3 -3
  1757. package/tursodatabase/database.d.ts +3 -3
  1758. package/tursodatabase/database.js +6 -10
  1759. package/tursodatabase/database.js.map +1 -1
  1760. package/tursodatabase/session.cjs +0 -2
  1761. package/tursodatabase/session.cjs.map +1 -1
  1762. package/tursodatabase/session.js +0 -2
  1763. package/tursodatabase/session.js.map +1 -1
  1764. package/tursodatabase/wasm.cjs +6 -10
  1765. package/tursodatabase/wasm.cjs.map +1 -1
  1766. package/tursodatabase/wasm.d.cts +3 -3
  1767. package/tursodatabase/wasm.d.ts +3 -3
  1768. package/tursodatabase/wasm.js +6 -10
  1769. package/tursodatabase/wasm.js.map +1 -1
  1770. package/vercel-postgres/session.cjs.map +1 -1
  1771. package/vercel-postgres/session.js.map +1 -1
  1772. package/version.cjs +2 -2
  1773. package/version.cjs.map +1 -1
  1774. package/version.d.cts +2 -2
  1775. package/version.d.ts +2 -2
  1776. package/version.js +2 -2
  1777. package/version.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-core/unique-constraint.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { MySqlColumn } from './columns/index.ts';\nimport type { MySqlTable } from './table.ts';\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport function uniqueKeyName(table: MySqlTable, columns: string[]) {\n\treturn `${table[TableName]}_${columns.join('_')}_unique`;\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: MySqlColumn[];\n\n\tconstructor(\n\t\tcolumns: MySqlColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: MySqlTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [MySqlColumn, ...MySqlColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraint';\n\n\treadonly columns: MySqlColumn[];\n\treadonly name?: string;\n\treadonly nullsNotDistinct: boolean = false;\n\n\tconstructor(readonly table: MySqlTable, columns: MySqlColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAInB,SAAS,OAAO,MAA0C;AAChE,SAAO,IAAI,0BAA0B,IAAI;AAC1C;AAEO,SAAS,cAAc,OAAmB,SAAmB;AACnE,SAAO,GAAG,MAAM,SAAS,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC;AAChD;AAEO,MAAM,wBAAwB;AAAA,EAMpC,YACC,SACQ,MACP;AADO;AAER,SAAK,UAAU;AAAA,EAChB;AAAA,EAVA,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAUA,MAAM,OAAqC;AAC1C,WAAO,IAAI,iBAAiB,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3D;AACD;AAEO,MAAM,0BAA0B;AAAA,EACtC,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA,EAEA,YACC,MACC;AACD,SAAK,OAAO;AAAA,EACb;AAAA,EAEA,MAAM,SAA0C;AAC/C,WAAO,IAAI,wBAAwB,SAAS,KAAK,IAAI;AAAA,EACtD;AACD;AAEO,MAAM,iBAAiB;AAAA,EAO7B,YAAqB,OAAmB,SAAwB,MAAe;AAA1D;AACpB,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ,cAAc,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC;AAAA,EACxF;AAAA,EATA,QAAiB,UAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA,mBAA4B;AAAA,EAOrC,UAAU;AACT,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql-core/unique-constraint.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { MySqlColumn } from './columns/index.ts';\nimport type { MySqlTable } from './table.ts';\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport function uniqueKeyName(table: MySqlTable, columns: string[]) {\n\treturn `${table[TableName]}_${columns.join('_')}_unique`;\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: MySqlColumn[];\n\n\tconstructor(\n\t\tcolumns: MySqlColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: MySqlTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [MySqlColumn, ...MySqlColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraint';\n\n\treadonly columns: MySqlColumn[];\n\treadonly name: string;\n\treadonly isNameExplicit: boolean;\n\treadonly nullsNotDistinct: boolean = false;\n\n\tconstructor(readonly table: MySqlTable, columns: MySqlColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.isNameExplicit = !!name;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAInB,SAAS,OAAO,MAA0C;AAChE,SAAO,IAAI,0BAA0B,IAAI;AAC1C;AAEO,SAAS,cAAc,OAAmB,SAAmB;AACnE,SAAO,GAAG,MAAM,SAAS,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC;AAChD;AAEO,MAAM,wBAAwB;AAAA,EAMpC,YACC,SACQ,MACP;AADO;AAER,SAAK,UAAU;AAAA,EAChB;AAAA,EAVA,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAUA,MAAM,OAAqC;AAC1C,WAAO,IAAI,iBAAiB,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3D;AACD;AAEO,MAAM,0BAA0B;AAAA,EACtC,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA,EAEA,YACC,MACC;AACD,SAAK,OAAO;AAAA,EACb;AAAA,EAEA,MAAM,SAA0C;AAC/C,WAAO,IAAI,wBAAwB,SAAS,KAAK,IAAI;AAAA,EACtD;AACD;AAEO,MAAM,iBAAiB;AAAA,EAQ7B,YAAqB,OAAmB,SAAwB,MAAe;AAA1D;AACpB,SAAK,UAAU;AACf,SAAK,iBAAiB,CAAC,CAAC;AACxB,SAAK,OAAO,QAAQ,cAAc,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC;AAAA,EACxF;AAAA,EAXA,QAAiB,UAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAA4B;AAAA,EAQrC,UAAU;AACT,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
@@ -41,8 +41,8 @@ var import_session = require("./session.cjs");
41
41
  class MySqlRemoteDatabase extends import_db.MySqlDatabase {
42
42
  static [import_entity.entityKind] = "MySqlRemoteDatabase";
43
43
  }
44
- function drizzle(callback, config = {}) {
45
- const dialect = new import_dialect.MySqlDialect({ casing: config.casing });
44
+ function drizzle(callback, config = {}, _dialect = () => new import_dialect.MySqlDialect({ casing: config.casing })) {
45
+ const dialect = _dialect();
46
46
  let logger;
47
47
  if (config.logger === true) {
48
48
  logger = new import_logger.DefaultLogger();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-proxy/driver.ts"],"sourcesContent":["import * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT, MySqlRemoteSession } from './session.ts';\n\nexport class MySqlRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'MySqlRemoteDatabase';\n}\n\nexport type RemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'all' | 'execute',\n) => Promise<{ rows: any[]; insertId?: number; affectedRows?: number }>;\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tcallback: RemoteCallback,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): MySqlRemoteDatabase<TSchema, TRelations> {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: 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\tconst session = new MySqlRemoteSession(callback, dialect, relations, schema, { logger });\n\treturn new MySqlRemoteDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'default',\n\t) as MySqlRemoteDatabase<TSchema, TRelations>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAoB;AACpB,oBAA2B;AAC3B,oBAA8B;AAC9B,gBAA8B;AAC9B,qBAA6B;AAG7B,qBAAqG;AAE9F,MAAM,4BAGH,wBAA2F;AAAA,EACpG,QAA0B,wBAAU,IAAY;AACjD;AAQO,SAAS,QAIf,UACA,SAA6C,CAAC,GACH;AAC3C,QAAM,UAAU,IAAI,4BAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO,aAAa,CAAC;AACvC,QAAM,UAAU,IAAI,kCAAmB,UAAU,SAAS,WAAW,QAAQ,EAAE,OAAO,CAAC;AACvF,SAAO,IAAI;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql-proxy/driver.ts"],"sourcesContent":["import * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT, MySqlRemoteSession } from './session.ts';\n\nexport class MySqlRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'MySqlRemoteDatabase';\n}\n\nexport type RemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'all' | 'execute',\n) => Promise<{ rows: any[]; insertId?: number; affectedRows?: number }>;\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tcallback: RemoteCallback,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n\t_dialect: () => MySqlDialect = () => new MySqlDialect({ casing: config.casing }),\n): MySqlRemoteDatabase<TSchema, TRelations> {\n\tconst dialect = _dialect();\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\tconst session = new MySqlRemoteSession(callback, dialect, relations, schema, { logger });\n\treturn new MySqlRemoteDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'default',\n\t) as MySqlRemoteDatabase<TSchema, TRelations>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAoB;AACpB,oBAA2B;AAC3B,oBAA8B;AAC9B,gBAA8B;AAC9B,qBAA6B;AAG7B,qBAAqG;AAE9F,MAAM,4BAGH,wBAA2F;AAAA,EACpG,QAA0B,wBAAU,IAAY;AACjD;AAQO,SAAS,QAIf,UACA,SAA6C,CAAC,GAC9C,WAA+B,MAAM,IAAI,4BAAa,EAAE,QAAQ,OAAO,OAAO,CAAC,GACpC;AAC3C,QAAM,UAAU,SAAS;AACzB,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO,aAAa,CAAC;AACvC,QAAM,UAAU,IAAI,kCAAmB,UAAU,SAAS,WAAW,QAAQ,EAAE,OAAO,CAAC;AACvF,SAAO,IAAI;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;","names":[]}
@@ -1,5 +1,6 @@
1
1
  import { entityKind } from "../entity.cjs";
2
2
  import { MySqlDatabase } from "../mysql-core/db.cjs";
3
+ import { MySqlDialect } from "../mysql-core/dialect.cjs";
3
4
  import type { AnyRelations, EmptyRelations } from "../relations.cjs";
4
5
  import type { DrizzleConfig } from "../utils.cjs";
5
6
  import { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT } from "./session.cjs";
@@ -11,4 +12,4 @@ export type RemoteCallback = (sql: string, params: any[], method: 'all' | 'execu
11
12
  insertId?: number;
12
13
  affectedRows?: number;
13
14
  }>;
14
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(callback: RemoteCallback, config?: DrizzleConfig<TSchema, TRelations>): MySqlRemoteDatabase<TSchema, TRelations>;
15
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(callback: RemoteCallback, config?: DrizzleConfig<TSchema, TRelations>, _dialect?: () => MySqlDialect): MySqlRemoteDatabase<TSchema, TRelations>;
@@ -1,5 +1,6 @@
1
1
  import { entityKind } from "../entity.js";
2
2
  import { MySqlDatabase } from "../mysql-core/db.js";
3
+ import { MySqlDialect } from "../mysql-core/dialect.js";
3
4
  import type { AnyRelations, EmptyRelations } from "../relations.js";
4
5
  import type { DrizzleConfig } from "../utils.js";
5
6
  import { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT } from "./session.js";
@@ -11,4 +12,4 @@ export type RemoteCallback = (sql: string, params: any[], method: 'all' | 'execu
11
12
  insertId?: number;
12
13
  affectedRows?: number;
13
14
  }>;
14
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(callback: RemoteCallback, config?: DrizzleConfig<TSchema, TRelations>): MySqlRemoteDatabase<TSchema, TRelations>;
15
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(callback: RemoteCallback, config?: DrizzleConfig<TSchema, TRelations>, _dialect?: () => MySqlDialect): MySqlRemoteDatabase<TSchema, TRelations>;
@@ -7,8 +7,8 @@ import { MySqlRemoteSession } from "./session.js";
7
7
  class MySqlRemoteDatabase extends MySqlDatabase {
8
8
  static [entityKind] = "MySqlRemoteDatabase";
9
9
  }
10
- function drizzle(callback, config = {}) {
11
- const dialect = new MySqlDialect({ casing: config.casing });
10
+ function drizzle(callback, config = {}, _dialect = () => new MySqlDialect({ casing: config.casing })) {
11
+ const dialect = _dialect();
12
12
  let logger;
13
13
  if (config.logger === true) {
14
14
  logger = new DefaultLogger();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-proxy/driver.ts"],"sourcesContent":["import * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT, MySqlRemoteSession } from './session.ts';\n\nexport class MySqlRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'MySqlRemoteDatabase';\n}\n\nexport type RemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'all' | 'execute',\n) => Promise<{ rows: any[]; insertId?: number; affectedRows?: number }>;\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tcallback: RemoteCallback,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): MySqlRemoteDatabase<TSchema, TRelations> {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: 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\tconst session = new MySqlRemoteSession(callback, dialect, relations, schema, { logger });\n\treturn new MySqlRemoteDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'default',\n\t) as MySqlRemoteDatabase<TSchema, TRelations>;\n}\n"],"mappings":"AAAA,YAAY,QAAQ;AACpB,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAG7B,SAA2E,0BAA0B;AAE9F,MAAM,4BAGH,cAA2F;AAAA,EACpG,QAA0B,UAAU,IAAY;AACjD;AAQO,SAAS,QAIf,UACA,SAA6C,CAAC,GACH;AAC3C,QAAM,UAAU,IAAI,aAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO,aAAa,CAAC;AACvC,QAAM,UAAU,IAAI,mBAAmB,UAAU,SAAS,WAAW,QAAQ,EAAE,OAAO,CAAC;AACvF,SAAO,IAAI;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql-proxy/driver.ts"],"sourcesContent":["import * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT, MySqlRemoteSession } from './session.ts';\n\nexport class MySqlRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'MySqlRemoteDatabase';\n}\n\nexport type RemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'all' | 'execute',\n) => Promise<{ rows: any[]; insertId?: number; affectedRows?: number }>;\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tcallback: RemoteCallback,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n\t_dialect: () => MySqlDialect = () => new MySqlDialect({ casing: config.casing }),\n): MySqlRemoteDatabase<TSchema, TRelations> {\n\tconst dialect = _dialect();\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\tconst session = new MySqlRemoteSession(callback, dialect, relations, schema, { logger });\n\treturn new MySqlRemoteDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'default',\n\t) as MySqlRemoteDatabase<TSchema, TRelations>;\n}\n"],"mappings":"AAAA,YAAY,QAAQ;AACpB,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAG7B,SAA2E,0BAA0B;AAE9F,MAAM,4BAGH,cAA2F;AAAA,EACpG,QAA0B,UAAU,IAAY;AACjD;AAQO,SAAS,QAIf,UACA,SAA6C,CAAC,GAC9C,WAA+B,MAAM,IAAI,aAAa,EAAE,QAAQ,OAAO,OAAO,CAAC,GACpC;AAC3C,QAAM,UAAU,SAAS;AACzB,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO,aAAa,CAAC;AACvC,QAAM,UAAU,IAAI,mBAAmB,UAAU,SAAS,WAAW,QAAQ,EAAE,OAAO,CAAC;AACvF,SAAO,IAAI;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;","names":[]}
package/mysql2/driver.cjs CHANGED
@@ -40,7 +40,6 @@ var import_entity = require("../entity.cjs");
40
40
  var import_logger = require("../logger.cjs");
41
41
  var import_db = require("../mysql-core/db.cjs");
42
42
  var import_dialect = require("../mysql-core/dialect.cjs");
43
- var import_utils = require("../utils.cjs");
44
43
  var import_errors = require("../errors.cjs");
45
44
  var import_session = require("./session.cjs");
46
45
  var import_db2 = require("../mysql-core/db.cjs");
@@ -112,22 +111,19 @@ function isCallbackClient(client) {
112
111
  function drizzle(...params) {
113
112
  if (typeof params[0] === "string") {
114
113
  const connectionString = params[0];
115
- const instance = (0, import_mysql2.createPool)({
114
+ const instance2 = (0, import_mysql2.createPool)({
116
115
  uri: connectionString
117
116
  });
118
- return construct(instance, params[1]);
117
+ return construct(instance2, params[1]);
119
118
  }
120
- if ((0, import_utils.isConfig)(params[0])) {
121
- const { connection, client, ...drizzleConfig } = params[0];
122
- if (client) return construct(client, drizzleConfig);
123
- const instance = typeof connection === "string" ? (0, import_mysql2.createPool)({
124
- uri: connection,
125
- supportBigNumbers: true
126
- }) : (0, import_mysql2.createPool)(connection);
127
- const db = construct(instance, drizzleConfig);
128
- return db;
129
- }
130
- return construct(params[0], params[1]);
119
+ const { connection, client, ...drizzleConfig } = params[0];
120
+ if (client) return construct(client, drizzleConfig);
121
+ const instance = typeof connection === "string" ? (0, import_mysql2.createPool)({
122
+ uri: connection,
123
+ supportBigNumbers: true
124
+ }) : (0, import_mysql2.createPool)(connection);
125
+ const db = construct(instance, drizzleConfig);
126
+ return db;
131
127
  }
132
128
  ((drizzle2) => {
133
129
  function mock(config) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql2/driver.ts"],"sourcesContent":["import { type Connection as CallbackConnection, createPool, type Pool as CallbackPool, type PoolOptions } from 'mysql2';\nimport type { Connection, Pool } from 'mysql2/promise';\nimport * as V1 from '~/_relations.ts';\nimport type { Cache } from '~/cache/core/index.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { Mode } from '~/mysql-core/session.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { DrizzleError } from '../errors.ts';\nimport type { MySql2Client, MySql2PreparedQueryHKT, MySql2QueryResultHKT } from './session.ts';\nimport { MySql2Session } from './session.ts';\n\nexport interface MySqlDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class MySql2Driver {\n\tstatic readonly [entityKind]: string = 'MySql2Driver';\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tprivate dialect: MySqlDialect,\n\t\tprivate options: MySqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t\tmode: Mode,\n\t): MySql2Session<Record<string, unknown>, AnyRelations, V1.TablesRelationalConfig> {\n\t\treturn new MySql2Session(this.client, this.dialect, relations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tmode,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n}\n\nexport { MySqlDatabase } from '~/mysql-core/db.ts';\n\nexport class MySql2Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<MySql2QueryResultHKT, MySql2PreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'MySql2Database';\n}\n\nexport type MySql2DrizzleConfig<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> =\n\t& Omit<DrizzleConfig<TSchema, TRelations>, 'schema'>\n\t& ({ schema: TSchema; mode: Mode } | { schema?: undefined; mode?: Mode });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Pool | Connection | CallbackPool | CallbackConnection = CallbackPool,\n>(\n\tclient: TClient,\n\tconfig: MySql2DrizzleConfig<TSchema, TRelations> = {},\n): MySql2Database<TSchema, TRelations> & {\n\t$client: AnyMySql2Connection extends TClient ? CallbackPool : TClient;\n} {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst clientForInstance = isCallbackClient(client) ? client.promise() : client;\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tif (config.mode === undefined) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage:\n\t\t\t\t\t'You need to specify \"mode\": \"planetscale\" or \"default\" when providing a schema. Read more: https://orm.drizzle.team/docs/rqb#modes',\n\t\t\t});\n\t\t}\n\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 mode = config.mode ?? 'default';\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst driver = new MySql2Driver(clientForInstance as MySql2Client, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema, mode);\n\tconst db = new MySql2Database(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\tmode,\n\t) as MySql2Database<TSchema, TRelations>;\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\ninterface CallbackClient {\n\tpromise(): MySql2Client;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport type AnyMySql2Connection = Pool | Connection | CallbackPool | CallbackConnection;\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AnyMySql2Connection = CallbackPool,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tMySql2DrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& MySql2DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolOptions;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): MySql2Database<TSchema, TRelations> & {\n\t$client: AnyMySql2Connection extends TClient ? CallbackPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0]!;\n\t\tconst instance = createPool({\n\t\t\turi: connectionString,\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: PoolOptions | string; client?: TClient }\n\t\t\t& MySql2DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? createPool({\n\t\t\t\turi: connection,\n\t\t\t\tsupportBigNumbers: true,\n\t\t\t})\n\t\t\t: createPool(connection!);\n\t\tconst db = construct(instance, drizzleConfig);\n\n\t\treturn db as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as MySql2DrizzleConfig<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?: MySql2DrizzleConfig<TSchema, TRelations>,\n\t): MySql2Database<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":["import_db","drizzle"]}
1
+ {"version":3,"sources":["../../src/mysql2/driver.ts"],"sourcesContent":["import { type Connection as CallbackConnection, createPool, type Pool as CallbackPool, type PoolOptions } from 'mysql2';\nimport type { Connection, Pool } from 'mysql2/promise';\nimport * as V1 from '~/_relations.ts';\nimport type { Cache } from '~/cache/core/index.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { Mode } from '~/mysql-core/session.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { DrizzleError } from '../errors.ts';\nimport type { MySql2Client, MySql2PreparedQueryHKT, MySql2QueryResultHKT } from './session.ts';\nimport { MySql2Session } from './session.ts';\n\nexport interface MySqlDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class MySql2Driver {\n\tstatic readonly [entityKind]: string = 'MySql2Driver';\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tprivate dialect: MySqlDialect,\n\t\tprivate options: MySqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t\tmode: Mode,\n\t): MySql2Session<Record<string, unknown>, AnyRelations, V1.TablesRelationalConfig> {\n\t\treturn new MySql2Session(this.client, this.dialect, relations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tmode,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n}\n\nexport { MySqlDatabase } from '~/mysql-core/db.ts';\n\nexport class MySql2Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<MySql2QueryResultHKT, MySql2PreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'MySql2Database';\n}\n\nexport type MySql2DrizzleConfig<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> =\n\t& Omit<DrizzleConfig<TSchema, TRelations>, 'schema'>\n\t& ({ schema: TSchema; mode: Mode } | { schema?: undefined; mode?: Mode });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Pool | Connection | CallbackPool | CallbackConnection = CallbackPool,\n>(\n\tclient: TClient,\n\tconfig: MySql2DrizzleConfig<TSchema, TRelations> = {},\n): MySql2Database<TSchema, TRelations> & {\n\t$client: AnyMySql2Connection extends TClient ? CallbackPool : TClient;\n} {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst clientForInstance = isCallbackClient(client) ? client.promise() : client;\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tif (config.mode === undefined) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage:\n\t\t\t\t\t'You need to specify \"mode\": \"planetscale\" or \"default\" when providing a schema. Read more: https://orm.drizzle.team/docs/rqb#modes',\n\t\t\t});\n\t\t}\n\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 mode = config.mode ?? 'default';\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst driver = new MySql2Driver(clientForInstance as MySql2Client, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema, mode);\n\tconst db = new MySql2Database(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\tmode,\n\t) as MySql2Database<TSchema, TRelations>;\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\ninterface CallbackClient {\n\tpromise(): MySql2Client;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport type AnyMySql2Connection = Pool | Connection | CallbackPool | CallbackConnection;\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AnyMySql2Connection = CallbackPool,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tMySql2DrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& MySql2DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolOptions;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): MySql2Database<TSchema, TRelations> & {\n\t$client: AnyMySql2Connection extends TClient ? CallbackPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0]!;\n\t\tconst instance = createPool({\n\t\t\turi: connectionString,\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& { connection?: PoolOptions | string; client?: TClient }\n\t\t& MySql2DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tconst instance = typeof connection === 'string'\n\t\t? createPool({\n\t\t\turi: connection,\n\t\t\tsupportBigNumbers: true,\n\t\t})\n\t\t: createPool(connection!);\n\tconst db = construct(instance, drizzleConfig);\n\n\treturn db 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?: MySql2DrizzleConfig<TSchema, TRelations>,\n\t): MySql2Database<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":["import_db","instance","drizzle"]}
@@ -8,7 +8,7 @@ import { MySqlDatabase } from "../mysql-core/db.cjs";
8
8
  import { MySqlDialect } from "../mysql-core/dialect.cjs";
9
9
  import type { Mode } from "../mysql-core/session.cjs";
10
10
  import type { AnyRelations, EmptyRelations } from "../relations.cjs";
11
- import { type DrizzleConfig } from "../utils.cjs";
11
+ import type { DrizzleConfig } from "../utils.cjs";
12
12
  import type { MySql2Client, MySql2PreparedQueryHKT, MySql2QueryResultHKT } from "./session.cjs";
13
13
  import { MySql2Session } from "./session.cjs";
14
14
  export interface MySqlDriverOptions {
@@ -36,9 +36,9 @@ export type MySql2DrizzleConfig<TSchema extends Record<string, unknown> = Record
36
36
  });
37
37
  export type AnyMySql2Connection = Pool | Connection | CallbackPool | CallbackConnection;
38
38
  export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends AnyMySql2Connection = CallbackPool>(...params: [
39
- TClient | string
39
+ string
40
40
  ] | [
41
- TClient | string,
41
+ string,
42
42
  MySql2DrizzleConfig<TSchema, TRelations>
43
43
  ] | [
44
44
  (MySql2DrizzleConfig<TSchema, TRelations> & ({
@@ -8,7 +8,7 @@ import { MySqlDatabase } from "../mysql-core/db.js";
8
8
  import { MySqlDialect } from "../mysql-core/dialect.js";
9
9
  import type { Mode } from "../mysql-core/session.js";
10
10
  import type { AnyRelations, EmptyRelations } from "../relations.js";
11
- import { type DrizzleConfig } from "../utils.js";
11
+ import type { DrizzleConfig } from "../utils.js";
12
12
  import type { MySql2Client, MySql2PreparedQueryHKT, MySql2QueryResultHKT } from "./session.js";
13
13
  import { MySql2Session } from "./session.js";
14
14
  export interface MySqlDriverOptions {
@@ -36,9 +36,9 @@ export type MySql2DrizzleConfig<TSchema extends Record<string, unknown> = Record
36
36
  });
37
37
  export type AnyMySql2Connection = Pool | Connection | CallbackPool | CallbackConnection;
38
38
  export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends AnyMySql2Connection = CallbackPool>(...params: [
39
- TClient | string
39
+ string
40
40
  ] | [
41
- TClient | string,
41
+ string,
42
42
  MySql2DrizzleConfig<TSchema, TRelations>
43
43
  ] | [
44
44
  (MySql2DrizzleConfig<TSchema, TRelations> & ({
package/mysql2/driver.js CHANGED
@@ -4,7 +4,6 @@ import { entityKind } from "../entity.js";
4
4
  import { DefaultLogger } from "../logger.js";
5
5
  import { MySqlDatabase } from "../mysql-core/db.js";
6
6
  import { MySqlDialect } from "../mysql-core/dialect.js";
7
- import { isConfig } from "../utils.js";
8
7
  import { DrizzleError } from "../errors.js";
9
8
  import { MySql2Session } from "./session.js";
10
9
  class MySql2Driver {
@@ -76,22 +75,19 @@ function isCallbackClient(client) {
76
75
  function drizzle(...params) {
77
76
  if (typeof params[0] === "string") {
78
77
  const connectionString = params[0];
79
- const instance = createPool({
78
+ const instance2 = createPool({
80
79
  uri: connectionString
81
80
  });
82
- return construct(instance, params[1]);
81
+ return construct(instance2, params[1]);
83
82
  }
84
- if (isConfig(params[0])) {
85
- const { connection, client, ...drizzleConfig } = params[0];
86
- if (client) return construct(client, drizzleConfig);
87
- const instance = typeof connection === "string" ? createPool({
88
- uri: connection,
89
- supportBigNumbers: true
90
- }) : createPool(connection);
91
- const db = construct(instance, drizzleConfig);
92
- return db;
93
- }
94
- return construct(params[0], params[1]);
83
+ const { connection, client, ...drizzleConfig } = params[0];
84
+ if (client) return construct(client, drizzleConfig);
85
+ const instance = typeof connection === "string" ? createPool({
86
+ uri: connection,
87
+ supportBigNumbers: true
88
+ }) : createPool(connection);
89
+ const db = construct(instance, drizzleConfig);
90
+ return db;
95
91
  }
96
92
  ((drizzle2) => {
97
93
  function mock(config) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql2/driver.ts"],"sourcesContent":["import { type Connection as CallbackConnection, createPool, type Pool as CallbackPool, type PoolOptions } from 'mysql2';\nimport type { Connection, Pool } from 'mysql2/promise';\nimport * as V1 from '~/_relations.ts';\nimport type { Cache } from '~/cache/core/index.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { Mode } from '~/mysql-core/session.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { DrizzleError } from '../errors.ts';\nimport type { MySql2Client, MySql2PreparedQueryHKT, MySql2QueryResultHKT } from './session.ts';\nimport { MySql2Session } from './session.ts';\n\nexport interface MySqlDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class MySql2Driver {\n\tstatic readonly [entityKind]: string = 'MySql2Driver';\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tprivate dialect: MySqlDialect,\n\t\tprivate options: MySqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t\tmode: Mode,\n\t): MySql2Session<Record<string, unknown>, AnyRelations, V1.TablesRelationalConfig> {\n\t\treturn new MySql2Session(this.client, this.dialect, relations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tmode,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n}\n\nexport { MySqlDatabase } from '~/mysql-core/db.ts';\n\nexport class MySql2Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<MySql2QueryResultHKT, MySql2PreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'MySql2Database';\n}\n\nexport type MySql2DrizzleConfig<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> =\n\t& Omit<DrizzleConfig<TSchema, TRelations>, 'schema'>\n\t& ({ schema: TSchema; mode: Mode } | { schema?: undefined; mode?: Mode });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Pool | Connection | CallbackPool | CallbackConnection = CallbackPool,\n>(\n\tclient: TClient,\n\tconfig: MySql2DrizzleConfig<TSchema, TRelations> = {},\n): MySql2Database<TSchema, TRelations> & {\n\t$client: AnyMySql2Connection extends TClient ? CallbackPool : TClient;\n} {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst clientForInstance = isCallbackClient(client) ? client.promise() : client;\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tif (config.mode === undefined) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage:\n\t\t\t\t\t'You need to specify \"mode\": \"planetscale\" or \"default\" when providing a schema. Read more: https://orm.drizzle.team/docs/rqb#modes',\n\t\t\t});\n\t\t}\n\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 mode = config.mode ?? 'default';\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst driver = new MySql2Driver(clientForInstance as MySql2Client, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema, mode);\n\tconst db = new MySql2Database(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\tmode,\n\t) as MySql2Database<TSchema, TRelations>;\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\ninterface CallbackClient {\n\tpromise(): MySql2Client;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport type AnyMySql2Connection = Pool | Connection | CallbackPool | CallbackConnection;\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AnyMySql2Connection = CallbackPool,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tMySql2DrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& MySql2DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolOptions;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): MySql2Database<TSchema, TRelations> & {\n\t$client: AnyMySql2Connection extends TClient ? CallbackPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0]!;\n\t\tconst instance = createPool({\n\t\t\turi: connectionString,\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: PoolOptions | string; client?: TClient }\n\t\t\t& MySql2DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? createPool({\n\t\t\t\turi: connection,\n\t\t\t\tsupportBigNumbers: true,\n\t\t\t})\n\t\t\t: createPool(connection!);\n\t\tconst db = construct(instance, drizzleConfig);\n\n\t\treturn db as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as MySql2DrizzleConfig<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?: MySql2DrizzleConfig<TSchema, TRelations>,\n\t): MySql2Database<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":["MySqlDatabase","drizzle"]}
1
+ {"version":3,"sources":["../../src/mysql2/driver.ts"],"sourcesContent":["import { type Connection as CallbackConnection, createPool, type Pool as CallbackPool, type PoolOptions } from 'mysql2';\nimport type { Connection, Pool } from 'mysql2/promise';\nimport * as V1 from '~/_relations.ts';\nimport type { Cache } from '~/cache/core/index.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { Mode } from '~/mysql-core/session.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { DrizzleError } from '../errors.ts';\nimport type { MySql2Client, MySql2PreparedQueryHKT, MySql2QueryResultHKT } from './session.ts';\nimport { MySql2Session } from './session.ts';\n\nexport interface MySqlDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class MySql2Driver {\n\tstatic readonly [entityKind]: string = 'MySql2Driver';\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tprivate dialect: MySqlDialect,\n\t\tprivate options: MySqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t\tmode: Mode,\n\t): MySql2Session<Record<string, unknown>, AnyRelations, V1.TablesRelationalConfig> {\n\t\treturn new MySql2Session(this.client, this.dialect, relations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tmode,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n}\n\nexport { MySqlDatabase } from '~/mysql-core/db.ts';\n\nexport class MySql2Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<MySql2QueryResultHKT, MySql2PreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'MySql2Database';\n}\n\nexport type MySql2DrizzleConfig<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> =\n\t& Omit<DrizzleConfig<TSchema, TRelations>, 'schema'>\n\t& ({ schema: TSchema; mode: Mode } | { schema?: undefined; mode?: Mode });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Pool | Connection | CallbackPool | CallbackConnection = CallbackPool,\n>(\n\tclient: TClient,\n\tconfig: MySql2DrizzleConfig<TSchema, TRelations> = {},\n): MySql2Database<TSchema, TRelations> & {\n\t$client: AnyMySql2Connection extends TClient ? CallbackPool : TClient;\n} {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst clientForInstance = isCallbackClient(client) ? client.promise() : client;\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tif (config.mode === undefined) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage:\n\t\t\t\t\t'You need to specify \"mode\": \"planetscale\" or \"default\" when providing a schema. Read more: https://orm.drizzle.team/docs/rqb#modes',\n\t\t\t});\n\t\t}\n\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 mode = config.mode ?? 'default';\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst driver = new MySql2Driver(clientForInstance as MySql2Client, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema, mode);\n\tconst db = new MySql2Database(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\tmode,\n\t) as MySql2Database<TSchema, TRelations>;\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\ninterface CallbackClient {\n\tpromise(): MySql2Client;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport type AnyMySql2Connection = Pool | Connection | CallbackPool | CallbackConnection;\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AnyMySql2Connection = CallbackPool,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tMySql2DrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& MySql2DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolOptions;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): MySql2Database<TSchema, TRelations> & {\n\t$client: AnyMySql2Connection extends TClient ? CallbackPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0]!;\n\t\tconst instance = createPool({\n\t\t\turi: connectionString,\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& { connection?: PoolOptions | string; client?: TClient }\n\t\t& MySql2DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tconst instance = typeof connection === 'string'\n\t\t? createPool({\n\t\t\turi: connection,\n\t\t\tsupportBigNumbers: true,\n\t\t})\n\t\t: createPool(connection!);\n\tconst db = construct(instance, drizzleConfig);\n\n\treturn db 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?: MySql2DrizzleConfig<TSchema, TRelations>,\n\t): MySql2Database<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":"AAAA,SAAgD,kBAA+D;AAE/G,YAAY,QAAQ;AAEpB,SAAS,kBAAkB;AAE3B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAI7B,SAAS,oBAAoB;AAE7B,SAAS,qBAAqB;AAOvB,MAAM,aAAa;AAAA,EAGzB,YACS,QACA,SACA,UAA8B,CAAC,GACtC;AAHO;AACA;AACA;AAAA,EAET;AAAA,EAPA,QAAiB,UAAU,IAAY;AAAA,EASvC,cACC,WACA,QACA,MACkF;AAClF,WAAO,IAAI,cAAc,KAAK,QAAQ,KAAK,SAAS,WAAW,QAAQ;AAAA,MACtE,QAAQ,KAAK,QAAQ;AAAA,MACrB;AAAA,MACA,OAAO,KAAK,QAAQ;AAAA,IACrB,CAAC;AAAA,EACF;AACD;AAEA,SAAS,iBAAAA,sBAAqB;AAEvB,MAAM,uBAGH,cAAiF;AAAA,EAC1F,QAA0B,UAAU,IAAY;AACjD;AASA,SAAS,UAKR,QACA,SAAmD,CAAC,GAGnD;AACD,QAAM,UAAU,IAAI,aAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,QAAM,oBAAoB,iBAAiB,MAAM,IAAI,OAAO,QAAQ,IAAI;AAExE,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,QAAI,OAAO,SAAS,QAAW;AAC9B,YAAM,IAAI,aAAa;AAAA,QACtB,SACC;AAAA,MACF,CAAC;AAAA,IACF;AAEA,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,OAAO,OAAO,QAAQ;AAE5B,QAAM,YAAY,OAAO,aAAa,CAAC;AACvC,QAAM,SAAS,IAAI,aAAa,mBAAmC,SAAS,EAAE,QAAQ,OAAO,OAAO,MAAM,CAAC;AAC3G,QAAM,UAAU,OAAO,cAAc,WAAW,QAAQ,IAAI;AAC5D,QAAM,KAAK,IAAI;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AAEA,SAAO;AACR;AAMA,SAAS,iBAAiB,QAAuC;AAChE,SAAO,OAAO,OAAO,YAAY;AAClC;AAIO,SAAS,WAKZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,mBAAmB,OAAO,CAAC;AACjC,UAAMC,YAAW,WAAW;AAAA,MAC3B,KAAK;AAAA,IACN,CAAC;AAED,WAAO,UAAUA,WAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,QAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,MAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,QAAM,WAAW,OAAO,eAAe,WACpC,WAAW;AAAA,IACZ,KAAK;AAAA,IACL,mBAAmB;AAAA,EACpB,CAAC,IACC,WAAW,UAAW;AACzB,QAAM,KAAK,UAAU,UAAU,aAAa;AAE5C,SAAO;AACR;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KAIf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AATO,EAAAA,SAAS;AAAA,GADA;","names":["MySqlDatabase","instance","drizzle"]}
@@ -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) { // 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
+ {"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 +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) { // 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
+ {"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":[]}
@@ -39,7 +39,6 @@ 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");
43
42
  var import_session = require("./session.cjs");
44
43
  class NeonHttpDriver {
45
44
  constructor(client, dialect, options = {}) {
@@ -139,21 +138,18 @@ function construct(client, config = {}) {
139
138
  }
140
139
  function drizzle(...params) {
141
140
  if (typeof params[0] === "string") {
142
- const instance = (0, import_serverless.neon)(params[0]);
143
- return construct(instance, params[1]);
141
+ const instance2 = (0, import_serverless.neon)(params[0]);
142
+ return construct(instance2, params[1]);
144
143
  }
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);
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);
155
150
  }
156
- return construct(params[0], params[1]);
151
+ const instance = (0, import_serverless.neon)(connection);
152
+ return construct(instance, drizzleConfig);
157
153
  }
158
154
  ((drizzle2) => {
159
155
  function mock(config) {