drizzle-orm 0.36.4 → 0.37.0-994b9b8

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 (482) hide show
  1. package/column-builder.cjs.map +1 -1
  2. package/column-builder.d.cts +4 -3
  3. package/column-builder.d.ts +4 -3
  4. package/column-builder.js.map +1 -1
  5. package/durable-sqlite/driver.cjs +64 -0
  6. package/durable-sqlite/driver.cjs.map +1 -0
  7. package/durable-sqlite/driver.d.cts +9 -0
  8. package/durable-sqlite/driver.d.ts +9 -0
  9. package/durable-sqlite/driver.js +42 -0
  10. package/durable-sqlite/driver.js.map +1 -0
  11. package/durable-sqlite/index.cjs +25 -0
  12. package/durable-sqlite/index.cjs.map +1 -0
  13. package/durable-sqlite/index.d.cts +2 -0
  14. package/durable-sqlite/index.d.ts +2 -0
  15. package/durable-sqlite/index.js +3 -0
  16. package/durable-sqlite/index.js.map +1 -0
  17. package/durable-sqlite/migrator.cjs +85 -0
  18. package/durable-sqlite/migrator.cjs.map +1 -0
  19. package/durable-sqlite/migrator.d.cts +14 -0
  20. package/durable-sqlite/migrator.d.ts +14 -0
  21. package/durable-sqlite/migrator.js +61 -0
  22. package/durable-sqlite/migrator.js.map +1 -0
  23. package/durable-sqlite/session.cjs +131 -0
  24. package/durable-sqlite/session.cjs.map +1 -0
  25. package/durable-sqlite/session.d.cts +46 -0
  26. package/durable-sqlite/session.d.ts +46 -0
  27. package/durable-sqlite/session.js +107 -0
  28. package/durable-sqlite/session.js.map +1 -0
  29. package/mysql-core/utils.d.cts +1 -2
  30. package/mysql-core/utils.d.ts +1 -2
  31. package/mysql-core/view.cjs.map +1 -1
  32. package/mysql-core/view.d.cts +2 -3
  33. package/mysql-core/view.d.ts +2 -3
  34. package/mysql-core/view.js.map +1 -1
  35. package/neon-http/driver.cjs +1 -1
  36. package/neon-http/driver.cjs.map +1 -1
  37. package/neon-http/driver.d.cts +2 -2
  38. package/neon-http/driver.d.ts +2 -2
  39. package/neon-http/driver.js +1 -1
  40. package/neon-http/driver.js.map +1 -1
  41. package/neon-http/session.cjs.map +1 -1
  42. package/neon-http/session.js.map +1 -1
  43. package/package.json +784 -3
  44. package/pg-core/db.cjs +4 -2
  45. package/pg-core/db.cjs.map +1 -1
  46. package/pg-core/db.d.cts +2 -2
  47. package/pg-core/db.d.ts +2 -2
  48. package/pg-core/db.js +4 -2
  49. package/pg-core/db.js.map +1 -1
  50. package/pg-core/query-builders/count.cjs +1 -0
  51. package/pg-core/query-builders/count.cjs.map +1 -1
  52. package/pg-core/query-builders/count.d.cts +2 -1
  53. package/pg-core/query-builders/count.d.ts +2 -1
  54. package/pg-core/query-builders/count.js +1 -0
  55. package/pg-core/query-builders/count.js.map +1 -1
  56. package/pg-core/query-builders/delete.cjs.map +1 -1
  57. package/pg-core/query-builders/delete.js.map +1 -1
  58. package/pg-core/query-builders/insert.cjs +1 -9
  59. package/pg-core/query-builders/insert.cjs.map +1 -1
  60. package/pg-core/query-builders/insert.js +1 -9
  61. package/pg-core/query-builders/insert.js.map +1 -1
  62. package/pg-core/query-builders/query.cjs.map +1 -1
  63. package/pg-core/query-builders/query.js.map +1 -1
  64. package/pg-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  65. package/pg-core/query-builders/refresh-materialized-view.js.map +1 -1
  66. package/pg-core/query-builders/select.cjs +2 -10
  67. package/pg-core/query-builders/select.cjs.map +1 -1
  68. package/pg-core/query-builders/select.js +8 -11
  69. package/pg-core/query-builders/select.js.map +1 -1
  70. package/pg-core/query-builders/update.cjs +1 -7
  71. package/pg-core/query-builders/update.cjs.map +1 -1
  72. package/pg-core/query-builders/update.d.cts +2 -2
  73. package/pg-core/query-builders/update.d.ts +2 -2
  74. package/pg-core/query-builders/update.js +6 -8
  75. package/pg-core/query-builders/update.js.map +1 -1
  76. package/pg-core/session.cjs.map +1 -1
  77. package/pg-core/session.d.cts +2 -1
  78. package/pg-core/session.d.ts +2 -1
  79. package/pg-core/session.js.map +1 -1
  80. package/pg-core/utils.d.cts +2 -3
  81. package/pg-core/utils.d.ts +2 -3
  82. package/pg-core/view.cjs.map +1 -1
  83. package/pg-core/view.d.cts +4 -5
  84. package/pg-core/view.d.ts +4 -5
  85. package/pg-core/view.js.map +1 -1
  86. package/query-builders/select.types.cjs.map +1 -1
  87. package/query-builders/select.types.d.cts +2 -2
  88. package/query-builders/select.types.d.ts +2 -2
  89. package/singlestore/driver.cjs +113 -0
  90. package/singlestore/driver.cjs.map +1 -0
  91. package/singlestore/driver.d.cts +52 -0
  92. package/singlestore/driver.d.ts +52 -0
  93. package/singlestore/driver.js +89 -0
  94. package/singlestore/driver.js.map +1 -0
  95. package/singlestore/index.cjs +25 -0
  96. package/singlestore/index.cjs.map +1 -0
  97. package/singlestore/index.d.cts +2 -0
  98. package/singlestore/index.d.ts +2 -0
  99. package/singlestore/index.js +3 -0
  100. package/singlestore/index.js.map +1 -0
  101. package/singlestore/migrator.cjs +33 -0
  102. package/singlestore/migrator.cjs.map +1 -0
  103. package/singlestore/migrator.d.cts +3 -0
  104. package/singlestore/migrator.d.ts +3 -0
  105. package/singlestore/migrator.js +9 -0
  106. package/singlestore/migrator.js.map +1 -0
  107. package/singlestore/session.cjs +258 -0
  108. package/singlestore/session.cjs.map +1 -0
  109. package/singlestore/session.d.cts +52 -0
  110. package/singlestore/session.d.ts +52 -0
  111. package/singlestore/session.js +236 -0
  112. package/singlestore/session.js.map +1 -0
  113. package/singlestore-core/alias.cjs +32 -0
  114. package/singlestore-core/alias.cjs.map +1 -0
  115. package/singlestore-core/alias.d.cts +4 -0
  116. package/singlestore-core/alias.d.ts +4 -0
  117. package/singlestore-core/alias.js +8 -0
  118. package/singlestore-core/alias.js.map +1 -0
  119. package/singlestore-core/columns/all.cjs +80 -0
  120. package/singlestore-core/columns/all.cjs.map +1 -0
  121. package/singlestore-core/columns/all.d.cts +51 -0
  122. package/singlestore-core/columns/all.d.ts +51 -0
  123. package/singlestore-core/columns/all.js +56 -0
  124. package/singlestore-core/columns/all.js.map +1 -0
  125. package/singlestore-core/columns/bigint.cjs +96 -0
  126. package/singlestore-core/columns/bigint.cjs.map +1 -0
  127. package/singlestore-core/columns/bigint.d.cts +54 -0
  128. package/singlestore-core/columns/bigint.d.ts +54 -0
  129. package/singlestore-core/columns/bigint.js +68 -0
  130. package/singlestore-core/columns/bigint.js.map +1 -0
  131. package/singlestore-core/columns/binary.cjs +60 -0
  132. package/singlestore-core/columns/binary.cjs.map +1 -0
  133. package/singlestore-core/columns/binary.d.cts +28 -0
  134. package/singlestore-core/columns/binary.d.ts +28 -0
  135. package/singlestore-core/columns/binary.js +34 -0
  136. package/singlestore-core/columns/binary.js.map +1 -0
  137. package/singlestore-core/columns/boolean.cjs +62 -0
  138. package/singlestore-core/columns/boolean.cjs.map +1 -0
  139. package/singlestore-core/columns/boolean.d.cts +24 -0
  140. package/singlestore-core/columns/boolean.d.ts +24 -0
  141. package/singlestore-core/columns/boolean.js +36 -0
  142. package/singlestore-core/columns/boolean.js.map +1 -0
  143. package/singlestore-core/columns/char.cjs +62 -0
  144. package/singlestore-core/columns/char.cjs.map +1 -0
  145. package/singlestore-core/columns/char.d.cts +31 -0
  146. package/singlestore-core/columns/char.d.ts +31 -0
  147. package/singlestore-core/columns/char.js +36 -0
  148. package/singlestore-core/columns/char.js.map +1 -0
  149. package/singlestore-core/columns/common.cjs +82 -0
  150. package/singlestore-core/columns/common.cjs.map +1 -0
  151. package/singlestore-core/columns/common.d.cts +42 -0
  152. package/singlestore-core/columns/common.d.ts +42 -0
  153. package/singlestore-core/columns/common.js +55 -0
  154. package/singlestore-core/columns/common.js.map +1 -0
  155. package/singlestore-core/columns/custom.cjs +77 -0
  156. package/singlestore-core/columns/custom.cjs.map +1 -0
  157. package/singlestore-core/columns/custom.d.cts +156 -0
  158. package/singlestore-core/columns/custom.d.ts +156 -0
  159. package/singlestore-core/columns/custom.js +51 -0
  160. package/singlestore-core/columns/custom.js.map +1 -0
  161. package/singlestore-core/columns/date.cjs +93 -0
  162. package/singlestore-core/columns/date.cjs.map +1 -0
  163. package/singlestore-core/columns/date.common.cjs +48 -0
  164. package/singlestore-core/columns/date.common.cjs.map +1 -0
  165. package/singlestore-core/columns/date.common.d.cts +16 -0
  166. package/singlestore-core/columns/date.common.d.ts +16 -0
  167. package/singlestore-core/columns/date.common.js +23 -0
  168. package/singlestore-core/columns/date.common.js.map +1 -0
  169. package/singlestore-core/columns/date.d.cts +53 -0
  170. package/singlestore-core/columns/date.d.ts +53 -0
  171. package/singlestore-core/columns/date.js +65 -0
  172. package/singlestore-core/columns/date.js.map +1 -0
  173. package/singlestore-core/columns/datetime.cjs +106 -0
  174. package/singlestore-core/columns/datetime.cjs.map +1 -0
  175. package/singlestore-core/columns/datetime.d.cts +54 -0
  176. package/singlestore-core/columns/datetime.d.ts +54 -0
  177. package/singlestore-core/columns/datetime.js +78 -0
  178. package/singlestore-core/columns/datetime.js.map +1 -0
  179. package/singlestore-core/columns/decimal.cjs +76 -0
  180. package/singlestore-core/columns/decimal.cjs.map +1 -0
  181. package/singlestore-core/columns/decimal.d.cts +32 -0
  182. package/singlestore-core/columns/decimal.d.ts +32 -0
  183. package/singlestore-core/columns/decimal.js +50 -0
  184. package/singlestore-core/columns/decimal.js.map +1 -0
  185. package/singlestore-core/columns/double.cjs +72 -0
  186. package/singlestore-core/columns/double.cjs.map +1 -0
  187. package/singlestore-core/columns/double.d.cts +32 -0
  188. package/singlestore-core/columns/double.d.ts +32 -0
  189. package/singlestore-core/columns/double.js +46 -0
  190. package/singlestore-core/columns/double.js.map +1 -0
  191. package/singlestore-core/columns/enum.cjs +67 -0
  192. package/singlestore-core/columns/enum.cjs.map +1 -0
  193. package/singlestore-core/columns/enum.d.cts +31 -0
  194. package/singlestore-core/columns/enum.d.ts +31 -0
  195. package/singlestore-core/columns/enum.js +41 -0
  196. package/singlestore-core/columns/enum.js.map +1 -0
  197. package/singlestore-core/columns/float.cjs +72 -0
  198. package/singlestore-core/columns/float.cjs.map +1 -0
  199. package/singlestore-core/columns/float.d.cts +32 -0
  200. package/singlestore-core/columns/float.d.ts +32 -0
  201. package/singlestore-core/columns/float.js +46 -0
  202. package/singlestore-core/columns/float.js.map +1 -0
  203. package/singlestore-core/columns/index.cjs +71 -0
  204. package/singlestore-core/columns/index.cjs.map +1 -0
  205. package/singlestore-core/columns/index.d.cts +25 -0
  206. package/singlestore-core/columns/index.d.ts +25 -0
  207. package/singlestore-core/columns/index.js +26 -0
  208. package/singlestore-core/columns/index.js.map +1 -0
  209. package/singlestore-core/columns/int.cjs +65 -0
  210. package/singlestore-core/columns/int.cjs.map +1 -0
  211. package/singlestore-core/columns/int.d.cts +28 -0
  212. package/singlestore-core/columns/int.d.ts +28 -0
  213. package/singlestore-core/columns/int.js +39 -0
  214. package/singlestore-core/columns/int.js.map +1 -0
  215. package/singlestore-core/columns/json.cjs +59 -0
  216. package/singlestore-core/columns/json.cjs.map +1 -0
  217. package/singlestore-core/columns/json.d.cts +24 -0
  218. package/singlestore-core/columns/json.d.ts +24 -0
  219. package/singlestore-core/columns/json.js +33 -0
  220. package/singlestore-core/columns/json.js.map +1 -0
  221. package/singlestore-core/columns/mediumint.cjs +65 -0
  222. package/singlestore-core/columns/mediumint.cjs.map +1 -0
  223. package/singlestore-core/columns/mediumint.d.cts +26 -0
  224. package/singlestore-core/columns/mediumint.d.ts +26 -0
  225. package/singlestore-core/columns/mediumint.js +39 -0
  226. package/singlestore-core/columns/mediumint.js.map +1 -0
  227. package/singlestore-core/columns/real.cjs +68 -0
  228. package/singlestore-core/columns/real.cjs.map +1 -0
  229. package/singlestore-core/columns/real.d.cts +30 -0
  230. package/singlestore-core/columns/real.d.ts +30 -0
  231. package/singlestore-core/columns/real.js +42 -0
  232. package/singlestore-core/columns/real.js.map +1 -0
  233. package/singlestore-core/columns/serial.cjs +64 -0
  234. package/singlestore-core/columns/serial.cjs.map +1 -0
  235. package/singlestore-core/columns/serial.d.cts +24 -0
  236. package/singlestore-core/columns/serial.d.ts +24 -0
  237. package/singlestore-core/columns/serial.js +38 -0
  238. package/singlestore-core/columns/serial.js.map +1 -0
  239. package/singlestore-core/columns/smallint.cjs +65 -0
  240. package/singlestore-core/columns/smallint.cjs.map +1 -0
  241. package/singlestore-core/columns/smallint.d.cts +26 -0
  242. package/singlestore-core/columns/smallint.d.ts +26 -0
  243. package/singlestore-core/columns/smallint.js +39 -0
  244. package/singlestore-core/columns/smallint.js.map +1 -0
  245. package/singlestore-core/columns/text.cjs +80 -0
  246. package/singlestore-core/columns/text.cjs.map +1 -0
  247. package/singlestore-core/columns/text.d.cts +46 -0
  248. package/singlestore-core/columns/text.d.ts +46 -0
  249. package/singlestore-core/columns/text.js +51 -0
  250. package/singlestore-core/columns/text.js.map +1 -0
  251. package/singlestore-core/columns/time.cjs +56 -0
  252. package/singlestore-core/columns/time.cjs.map +1 -0
  253. package/singlestore-core/columns/time.d.cts +23 -0
  254. package/singlestore-core/columns/time.d.ts +23 -0
  255. package/singlestore-core/columns/time.js +30 -0
  256. package/singlestore-core/columns/time.js.map +1 -0
  257. package/singlestore-core/columns/timestamp.cjs +97 -0
  258. package/singlestore-core/columns/timestamp.cjs.map +1 -0
  259. package/singlestore-core/columns/timestamp.d.cts +49 -0
  260. package/singlestore-core/columns/timestamp.d.ts +49 -0
  261. package/singlestore-core/columns/timestamp.js +69 -0
  262. package/singlestore-core/columns/timestamp.js.map +1 -0
  263. package/singlestore-core/columns/tinyint.cjs +65 -0
  264. package/singlestore-core/columns/tinyint.cjs.map +1 -0
  265. package/singlestore-core/columns/tinyint.d.cts +26 -0
  266. package/singlestore-core/columns/tinyint.d.ts +26 -0
  267. package/singlestore-core/columns/tinyint.js +39 -0
  268. package/singlestore-core/columns/tinyint.js.map +1 -0
  269. package/singlestore-core/columns/varbinary.cjs +61 -0
  270. package/singlestore-core/columns/varbinary.cjs.map +1 -0
  271. package/singlestore-core/columns/varbinary.d.cts +26 -0
  272. package/singlestore-core/columns/varbinary.d.ts +26 -0
  273. package/singlestore-core/columns/varbinary.js +35 -0
  274. package/singlestore-core/columns/varbinary.js.map +1 -0
  275. package/singlestore-core/columns/varchar.cjs +63 -0
  276. package/singlestore-core/columns/varchar.cjs.map +1 -0
  277. package/singlestore-core/columns/varchar.d.cts +29 -0
  278. package/singlestore-core/columns/varchar.d.ts +29 -0
  279. package/singlestore-core/columns/varchar.js +37 -0
  280. package/singlestore-core/columns/varchar.js.map +1 -0
  281. package/singlestore-core/columns/year.cjs +56 -0
  282. package/singlestore-core/columns/year.cjs.map +1 -0
  283. package/singlestore-core/columns/year.d.cts +23 -0
  284. package/singlestore-core/columns/year.d.ts +23 -0
  285. package/singlestore-core/columns/year.js +30 -0
  286. package/singlestore-core/columns/year.js.map +1 -0
  287. package/singlestore-core/db.cjs +261 -0
  288. package/singlestore-core/db.cjs.map +1 -0
  289. package/singlestore-core/db.d.cts +231 -0
  290. package/singlestore-core/db.d.ts +231 -0
  291. package/singlestore-core/db.js +242 -0
  292. package/singlestore-core/db.js.map +1 -0
  293. package/singlestore-core/dialect.cjs +607 -0
  294. package/singlestore-core/dialect.cjs.map +1 -0
  295. package/singlestore-core/dialect.d.cts +64 -0
  296. package/singlestore-core/dialect.d.ts +64 -0
  297. package/singlestore-core/dialect.js +589 -0
  298. package/singlestore-core/dialect.js.map +1 -0
  299. package/singlestore-core/expressions.cjs +49 -0
  300. package/singlestore-core/expressions.cjs.map +1 -0
  301. package/singlestore-core/expressions.d.cts +8 -0
  302. package/singlestore-core/expressions.d.ts +8 -0
  303. package/singlestore-core/expressions.js +22 -0
  304. package/singlestore-core/expressions.js.map +1 -0
  305. package/singlestore-core/index.cjs +47 -0
  306. package/singlestore-core/index.cjs.map +1 -0
  307. package/singlestore-core/index.d.cts +13 -0
  308. package/singlestore-core/index.d.ts +13 -0
  309. package/singlestore-core/index.js +14 -0
  310. package/singlestore-core/index.js.map +1 -0
  311. package/singlestore-core/indexes.cjs +88 -0
  312. package/singlestore-core/indexes.cjs.map +1 -0
  313. package/singlestore-core/indexes.d.cts +62 -0
  314. package/singlestore-core/indexes.d.ts +62 -0
  315. package/singlestore-core/indexes.js +60 -0
  316. package/singlestore-core/indexes.js.map +1 -0
  317. package/singlestore-core/primary-keys.cjs +68 -0
  318. package/singlestore-core/primary-keys.cjs.map +1 -0
  319. package/singlestore-core/primary-keys.d.cts +30 -0
  320. package/singlestore-core/primary-keys.d.ts +30 -0
  321. package/singlestore-core/primary-keys.js +42 -0
  322. package/singlestore-core/primary-keys.js.map +1 -0
  323. package/singlestore-core/query-builders/count.cjs +73 -0
  324. package/singlestore-core/query-builders/count.cjs.map +1 -0
  325. package/singlestore-core/query-builders/count.d.cts +25 -0
  326. package/singlestore-core/query-builders/count.d.ts +25 -0
  327. package/singlestore-core/query-builders/count.js +49 -0
  328. package/singlestore-core/query-builders/count.js.map +1 -0
  329. package/singlestore-core/query-builders/delete.cjs +123 -0
  330. package/singlestore-core/query-builders/delete.cjs.map +1 -0
  331. package/singlestore-core/query-builders/delete.d.cts +83 -0
  332. package/singlestore-core/query-builders/delete.d.ts +83 -0
  333. package/singlestore-core/query-builders/delete.js +99 -0
  334. package/singlestore-core/query-builders/delete.js.map +1 -0
  335. package/singlestore-core/query-builders/index.cjs +33 -0
  336. package/singlestore-core/query-builders/index.cjs.map +1 -0
  337. package/singlestore-core/query-builders/index.d.cts +6 -0
  338. package/singlestore-core/query-builders/index.d.ts +6 -0
  339. package/singlestore-core/query-builders/index.js +7 -0
  340. package/singlestore-core/query-builders/index.js.map +1 -0
  341. package/singlestore-core/query-builders/insert.cjs +146 -0
  342. package/singlestore-core/query-builders/insert.cjs.map +1 -0
  343. package/singlestore-core/query-builders/insert.d.cts +106 -0
  344. package/singlestore-core/query-builders/insert.d.ts +106 -0
  345. package/singlestore-core/query-builders/insert.js +121 -0
  346. package/singlestore-core/query-builders/insert.js.map +1 -0
  347. package/singlestore-core/query-builders/query-builder.cjs +99 -0
  348. package/singlestore-core/query-builders/query-builder.cjs.map +1 -0
  349. package/singlestore-core/query-builders/query-builder.d.cts +33 -0
  350. package/singlestore-core/query-builders/query-builder.d.ts +33 -0
  351. package/singlestore-core/query-builders/query-builder.js +75 -0
  352. package/singlestore-core/query-builders/query-builder.js.map +1 -0
  353. package/singlestore-core/query-builders/query.cjs +126 -0
  354. package/singlestore-core/query-builders/query.cjs.map +1 -0
  355. package/singlestore-core/query-builders/query.d.cts +42 -0
  356. package/singlestore-core/query-builders/query.d.ts +42 -0
  357. package/singlestore-core/query-builders/query.js +103 -0
  358. package/singlestore-core/query-builders/query.js.map +1 -0
  359. package/singlestore-core/query-builders/select.cjs +687 -0
  360. package/singlestore-core/query-builders/select.cjs.map +1 -0
  361. package/singlestore-core/query-builders/select.d.cts +585 -0
  362. package/singlestore-core/query-builders/select.d.ts +585 -0
  363. package/singlestore-core/query-builders/select.js +662 -0
  364. package/singlestore-core/query-builders/select.js.map +1 -0
  365. package/singlestore-core/query-builders/select.types.cjs +17 -0
  366. package/singlestore-core/query-builders/select.types.cjs.map +1 -0
  367. package/singlestore-core/query-builders/select.types.d.cts +137 -0
  368. package/singlestore-core/query-builders/select.types.d.ts +137 -0
  369. package/singlestore-core/query-builders/select.types.js +1 -0
  370. package/singlestore-core/query-builders/select.types.js.map +1 -0
  371. package/singlestore-core/query-builders/update.cjs +147 -0
  372. package/singlestore-core/query-builders/update.cjs.map +1 -0
  373. package/singlestore-core/query-builders/update.d.cts +102 -0
  374. package/singlestore-core/query-builders/update.d.ts +102 -0
  375. package/singlestore-core/query-builders/update.js +122 -0
  376. package/singlestore-core/query-builders/update.js.map +1 -0
  377. package/singlestore-core/schema.cjs +56 -0
  378. package/singlestore-core/schema.cjs.map +1 -0
  379. package/singlestore-core/schema.d.cts +22 -0
  380. package/singlestore-core/schema.d.ts +22 -0
  381. package/singlestore-core/schema.js +29 -0
  382. package/singlestore-core/schema.js.map +1 -0
  383. package/singlestore-core/session.cjs +87 -0
  384. package/singlestore-core/session.cjs.map +1 -0
  385. package/singlestore-core/session.d.cts +66 -0
  386. package/singlestore-core/session.d.ts +66 -0
  387. package/singlestore-core/session.js +61 -0
  388. package/singlestore-core/session.js.map +1 -0
  389. package/singlestore-core/subquery.cjs +17 -0
  390. package/singlestore-core/subquery.cjs.map +1 -0
  391. package/singlestore-core/subquery.d.cts +5 -0
  392. package/singlestore-core/subquery.d.ts +5 -0
  393. package/singlestore-core/subquery.js +1 -0
  394. package/singlestore-core/subquery.js.map +1 -0
  395. package/singlestore-core/table.cjs +73 -0
  396. package/singlestore-core/table.cjs.map +1 -0
  397. package/singlestore-core/table.d.cts +40 -0
  398. package/singlestore-core/table.d.ts +40 -0
  399. package/singlestore-core/table.js +46 -0
  400. package/singlestore-core/table.js.map +1 -0
  401. package/singlestore-core/unique-constraint.cjs +82 -0
  402. package/singlestore-core/unique-constraint.cjs.map +1 -0
  403. package/singlestore-core/unique-constraint.d.cts +24 -0
  404. package/singlestore-core/unique-constraint.d.ts +24 -0
  405. package/singlestore-core/unique-constraint.js +54 -0
  406. package/singlestore-core/unique-constraint.js.map +1 -0
  407. package/singlestore-core/utils.cjs +65 -0
  408. package/singlestore-core/utils.cjs.map +1 -0
  409. package/singlestore-core/utils.d.cts +13 -0
  410. package/singlestore-core/utils.d.ts +13 -0
  411. package/singlestore-core/utils.js +41 -0
  412. package/singlestore-core/utils.js.map +1 -0
  413. package/singlestore-core/view-base.cjs +33 -0
  414. package/singlestore-core/view-base.cjs.map +1 -0
  415. package/singlestore-core/view-base.d.cts +9 -0
  416. package/singlestore-core/view-base.d.ts +9 -0
  417. package/singlestore-core/view-base.js +9 -0
  418. package/singlestore-core/view-base.js.map +1 -0
  419. package/singlestore-core/view-common.cjs +29 -0
  420. package/singlestore-core/view-common.cjs.map +1 -0
  421. package/singlestore-core/view-common.d.cts +1 -0
  422. package/singlestore-core/view-common.d.ts +1 -0
  423. package/singlestore-core/view-common.js +5 -0
  424. package/singlestore-core/view-common.js.map +1 -0
  425. package/singlestore-core/view.cjs +146 -0
  426. package/singlestore-core/view.cjs.map +1 -0
  427. package/singlestore-core/view.d.cts +65 -0
  428. package/singlestore-core/view.d.ts +65 -0
  429. package/singlestore-core/view.js +119 -0
  430. package/singlestore-core/view.js.map +1 -0
  431. package/singlestore-proxy/driver.cjs +62 -0
  432. package/singlestore-proxy/driver.cjs.map +1 -0
  433. package/singlestore-proxy/driver.d.cts +13 -0
  434. package/singlestore-proxy/driver.d.ts +13 -0
  435. package/singlestore-proxy/driver.js +42 -0
  436. package/singlestore-proxy/driver.js.map +1 -0
  437. package/singlestore-proxy/index.cjs +25 -0
  438. package/singlestore-proxy/index.cjs.map +1 -0
  439. package/singlestore-proxy/index.d.cts +2 -0
  440. package/singlestore-proxy/index.d.ts +2 -0
  441. package/singlestore-proxy/index.js +3 -0
  442. package/singlestore-proxy/index.js.map +1 -0
  443. package/singlestore-proxy/migrator.cjs +60 -0
  444. package/singlestore-proxy/migrator.cjs.map +1 -0
  445. package/singlestore-proxy/migrator.d.cts +4 -0
  446. package/singlestore-proxy/migrator.d.ts +4 -0
  447. package/singlestore-proxy/migrator.js +36 -0
  448. package/singlestore-proxy/migrator.js.map +1 -0
  449. package/singlestore-proxy/session.cjs +127 -0
  450. package/singlestore-proxy/session.cjs.map +1 -0
  451. package/singlestore-proxy/session.d.cts +50 -0
  452. package/singlestore-proxy/session.d.ts +50 -0
  453. package/singlestore-proxy/session.js +101 -0
  454. package/singlestore-proxy/session.js.map +1 -0
  455. package/sql/sql.cjs +8 -0
  456. package/sql/sql.cjs.map +1 -1
  457. package/sql/sql.d.cts +10 -2
  458. package/sql/sql.d.ts +10 -2
  459. package/sql/sql.js +7 -0
  460. package/sql/sql.js.map +1 -1
  461. package/sqlite-core/columns/blob.cjs +16 -2
  462. package/sqlite-core/columns/blob.cjs.map +1 -1
  463. package/sqlite-core/columns/blob.d.cts +2 -2
  464. package/sqlite-core/columns/blob.d.ts +2 -2
  465. package/sqlite-core/columns/blob.js +16 -2
  466. package/sqlite-core/columns/blob.js.map +1 -1
  467. package/sqlite-core/utils.d.cts +1 -2
  468. package/sqlite-core/utils.d.ts +1 -2
  469. package/sqlite-core/view.cjs.map +1 -1
  470. package/sqlite-core/view.d.cts +2 -3
  471. package/sqlite-core/view.d.ts +2 -3
  472. package/sqlite-core/view.js.map +1 -1
  473. package/utils.cjs +5 -0
  474. package/utils.cjs.map +1 -1
  475. package/utils.d.cts +3 -1
  476. package/utils.d.ts +3 -1
  477. package/utils.js +4 -0
  478. package/utils.js.map +1 -1
  479. package/version.cjs +1 -1
  480. package/version.d.cts +1 -1
  481. package/version.d.ts +1 -1
  482. package/version.js +1 -1
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var singlestore_exports = {};
17
+ module.exports = __toCommonJS(singlestore_exports);
18
+ __reExport(singlestore_exports, require("./driver.cjs"), module.exports);
19
+ __reExport(singlestore_exports, require("./session.cjs"), module.exports);
20
+ // Annotate the CommonJS export names for ESM import in node:
21
+ 0 && (module.exports = {
22
+ ...require("./driver.cjs"),
23
+ ...require("./session.cjs")
24
+ });
25
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/singlestore/index.ts"],"sourcesContent":["export * from './driver.ts';\nexport * from './session.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,gCAAc,wBAAd;AACA,gCAAc,yBADd;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./driver.cjs";
2
+ export * from "./session.cjs";
@@ -0,0 +1,2 @@
1
+ export * from "./driver.js";
2
+ export * from "./session.js";
@@ -0,0 +1,3 @@
1
+ export * from "./driver.js";
2
+ export * from "./session.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/singlestore/index.ts"],"sourcesContent":["export * from './driver.ts';\nexport * from './session.ts';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var migrator_exports = {};
20
+ __export(migrator_exports, {
21
+ migrate: () => migrate
22
+ });
23
+ module.exports = __toCommonJS(migrator_exports);
24
+ var import_migrator = require("../migrator.cjs");
25
+ async function migrate(db, config) {
26
+ const migrations = (0, import_migrator.readMigrationFiles)(config);
27
+ await db.dialect.migrate(migrations, db.session, config);
28
+ }
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ migrate
32
+ });
33
+ //# sourceMappingURL=migrator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/singlestore/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { SingleStoreDriverDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: SingleStoreDriverDatabase<TSchema>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tawait db.dialect.migrate(migrations, db.session, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAAmC;AAGnC,eAAsB,QACrB,IACA,QACC;AACD,QAAM,iBAAa,oCAAmB,MAAM;AAC5C,QAAM,GAAG,QAAQ,QAAQ,YAAY,GAAG,SAAS,MAAM;AACxD;","names":[]}
@@ -0,0 +1,3 @@
1
+ import type { MigrationConfig } from "../migrator.cjs";
2
+ import type { SingleStoreDriverDatabase } from "./driver.cjs";
3
+ export declare function migrate<TSchema extends Record<string, unknown>>(db: SingleStoreDriverDatabase<TSchema>, config: MigrationConfig): Promise<void>;
@@ -0,0 +1,3 @@
1
+ import type { MigrationConfig } from "../migrator.js";
2
+ import type { SingleStoreDriverDatabase } from "./driver.js";
3
+ export declare function migrate<TSchema extends Record<string, unknown>>(db: SingleStoreDriverDatabase<TSchema>, config: MigrationConfig): Promise<void>;
@@ -0,0 +1,9 @@
1
+ import { readMigrationFiles } from "../migrator.js";
2
+ async function migrate(db, config) {
3
+ const migrations = readMigrationFiles(config);
4
+ await db.dialect.migrate(migrations, db.session, config);
5
+ }
6
+ export {
7
+ migrate
8
+ };
9
+ //# sourceMappingURL=migrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/singlestore/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { SingleStoreDriverDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: SingleStoreDriverDatabase<TSchema>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tawait db.dialect.migrate(migrations, db.session, config);\n}\n"],"mappings":"AACA,SAAS,0BAA0B;AAGnC,eAAsB,QACrB,IACA,QACC;AACD,QAAM,aAAa,mBAAmB,MAAM;AAC5C,QAAM,GAAG,QAAQ,QAAQ,YAAY,GAAG,SAAS,MAAM;AACxD;","names":[]}
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var session_exports = {};
20
+ __export(session_exports, {
21
+ SingleStoreDriverPreparedQuery: () => SingleStoreDriverPreparedQuery,
22
+ SingleStoreDriverSession: () => SingleStoreDriverSession,
23
+ SingleStoreDriverTransaction: () => SingleStoreDriverTransaction
24
+ });
25
+ module.exports = __toCommonJS(session_exports);
26
+ var import_node_events = require("node:events");
27
+ var import_column = require("../column.cjs");
28
+ var import_entity = require("../entity.cjs");
29
+ var import_logger = require("../logger.cjs");
30
+ var import_session = require("../singlestore-core/session.cjs");
31
+ var import_sql = require("../sql/sql.cjs");
32
+ var import_utils = require("../utils.cjs");
33
+ class SingleStoreDriverPreparedQuery extends import_session.SingleStorePreparedQuery {
34
+ constructor(client, queryString, params, logger, fields, customResultMapper, generatedIds, returningIds) {
35
+ super();
36
+ this.client = client;
37
+ this.params = params;
38
+ this.logger = logger;
39
+ this.fields = fields;
40
+ this.customResultMapper = customResultMapper;
41
+ this.generatedIds = generatedIds;
42
+ this.returningIds = returningIds;
43
+ this.rawQuery = {
44
+ sql: queryString,
45
+ // rowsAsArray: true,
46
+ typeCast: function(field, next) {
47
+ if (field.type === "TIMESTAMP" || field.type === "DATETIME" || field.type === "DATE") {
48
+ return field.string();
49
+ }
50
+ return next();
51
+ }
52
+ };
53
+ this.query = {
54
+ sql: queryString,
55
+ rowsAsArray: true,
56
+ typeCast: function(field, next) {
57
+ if (field.type === "TIMESTAMP" || field.type === "DATETIME" || field.type === "DATE") {
58
+ return field.string();
59
+ }
60
+ return next();
61
+ }
62
+ };
63
+ }
64
+ static [import_entity.entityKind] = "SingleStoreDriverPreparedQuery";
65
+ rawQuery;
66
+ query;
67
+ async execute(placeholderValues = {}) {
68
+ const params = (0, import_sql.fillPlaceholders)(this.params, placeholderValues);
69
+ this.logger.logQuery(this.rawQuery.sql, params);
70
+ const { fields, client, rawQuery, query, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;
71
+ if (!fields && !customResultMapper) {
72
+ const res = await client.query(rawQuery, params);
73
+ const insertId = res[0].insertId;
74
+ const affectedRows = res[0].affectedRows;
75
+ if (returningIds) {
76
+ const returningResponse = [];
77
+ let j = 0;
78
+ for (let i = insertId; i < insertId + affectedRows; i++) {
79
+ for (const column of returningIds) {
80
+ const key = returningIds[0].path[0];
81
+ if ((0, import_entity.is)(column.field, import_column.Column)) {
82
+ if (column.field.primary && column.field.autoIncrement) {
83
+ returningResponse.push({ [key]: i });
84
+ }
85
+ if (column.field.defaultFn && generatedIds) {
86
+ returningResponse.push({ [key]: generatedIds[j][key] });
87
+ }
88
+ }
89
+ }
90
+ j++;
91
+ }
92
+ return returningResponse;
93
+ }
94
+ return res;
95
+ }
96
+ const result = await client.query(query, params);
97
+ const rows = result[0];
98
+ if (customResultMapper) {
99
+ return customResultMapper(rows);
100
+ }
101
+ return rows.map((row) => (0, import_utils.mapResultRow)(fields, row, joinsNotNullableMap));
102
+ }
103
+ async *iterator(placeholderValues = {}) {
104
+ const params = (0, import_sql.fillPlaceholders)(this.params, placeholderValues);
105
+ const conn = (isPool(this.client) ? await this.client.getConnection() : this.client).connection;
106
+ const { fields, query, rawQuery, joinsNotNullableMap, client, customResultMapper } = this;
107
+ const hasRowsMapper = Boolean(fields || customResultMapper);
108
+ const driverQuery = hasRowsMapper ? conn.query(query, params) : conn.query(rawQuery, params);
109
+ const stream = driverQuery.stream();
110
+ function dataListener() {
111
+ stream.pause();
112
+ }
113
+ stream.on("data", dataListener);
114
+ try {
115
+ const onEnd = (0, import_node_events.once)(stream, "end");
116
+ const onError = (0, import_node_events.once)(stream, "error");
117
+ while (true) {
118
+ stream.resume();
119
+ const row = await Promise.race([onEnd, onError, new Promise((resolve) => stream.once("data", resolve))]);
120
+ if (row === void 0 || Array.isArray(row) && row.length === 0) {
121
+ break;
122
+ } else if (row instanceof Error) {
123
+ throw row;
124
+ } else {
125
+ if (hasRowsMapper) {
126
+ if (customResultMapper) {
127
+ const mappedRow = customResultMapper([row]);
128
+ yield Array.isArray(mappedRow) ? mappedRow[0] : mappedRow;
129
+ } else {
130
+ yield (0, import_utils.mapResultRow)(fields, row, joinsNotNullableMap);
131
+ }
132
+ } else {
133
+ yield row;
134
+ }
135
+ }
136
+ }
137
+ } finally {
138
+ stream.off("data", dataListener);
139
+ if (isPool(client)) {
140
+ conn.end();
141
+ }
142
+ }
143
+ }
144
+ }
145
+ class SingleStoreDriverSession extends import_session.SingleStoreSession {
146
+ constructor(client, dialect, schema, options) {
147
+ super(dialect);
148
+ this.client = client;
149
+ this.schema = schema;
150
+ this.options = options;
151
+ this.logger = options.logger ?? new import_logger.NoopLogger();
152
+ }
153
+ static [import_entity.entityKind] = "SingleStoreDriverSession";
154
+ logger;
155
+ prepareQuery(query, fields, customResultMapper, generatedIds, returningIds) {
156
+ return new SingleStoreDriverPreparedQuery(
157
+ this.client,
158
+ query.sql,
159
+ query.params,
160
+ this.logger,
161
+ fields,
162
+ customResultMapper,
163
+ generatedIds,
164
+ returningIds
165
+ );
166
+ }
167
+ /**
168
+ * @internal
169
+ * What is its purpose?
170
+ */
171
+ async query(query, params) {
172
+ this.logger.logQuery(query, params);
173
+ const result = await this.client.query({
174
+ sql: query,
175
+ values: params,
176
+ rowsAsArray: true,
177
+ typeCast: function(field, next) {
178
+ if (field.type === "TIMESTAMP" || field.type === "DATETIME" || field.type === "DATE") {
179
+ return field.string();
180
+ }
181
+ return next();
182
+ }
183
+ });
184
+ return result;
185
+ }
186
+ all(query) {
187
+ const querySql = this.dialect.sqlToQuery(query);
188
+ this.logger.logQuery(querySql.sql, querySql.params);
189
+ return this.client.execute(querySql.sql, querySql.params).then((result) => result[0]);
190
+ }
191
+ async transaction(transaction, config) {
192
+ const session = isPool(this.client) ? new SingleStoreDriverSession(
193
+ await this.client.getConnection(),
194
+ this.dialect,
195
+ this.schema,
196
+ this.options
197
+ ) : this;
198
+ const tx = new SingleStoreDriverTransaction(
199
+ this.dialect,
200
+ session,
201
+ this.schema,
202
+ 0
203
+ );
204
+ if (config) {
205
+ const setTransactionConfigSql = this.getSetTransactionSQL(config);
206
+ if (setTransactionConfigSql) {
207
+ await tx.execute(setTransactionConfigSql);
208
+ }
209
+ const startTransactionSql = this.getStartTransactionSQL(config);
210
+ await (startTransactionSql ? tx.execute(startTransactionSql) : tx.execute(import_sql.sql`begin`));
211
+ } else {
212
+ await tx.execute(import_sql.sql`begin`);
213
+ }
214
+ try {
215
+ const result = await transaction(tx);
216
+ await tx.execute(import_sql.sql`commit`);
217
+ return result;
218
+ } catch (err) {
219
+ await tx.execute(import_sql.sql`rollback`);
220
+ throw err;
221
+ } finally {
222
+ if (isPool(this.client)) {
223
+ session.client.release();
224
+ }
225
+ }
226
+ }
227
+ }
228
+ class SingleStoreDriverTransaction extends import_session.SingleStoreTransaction {
229
+ static [import_entity.entityKind] = "SingleStoreDriverTransaction";
230
+ async transaction(transaction) {
231
+ const savepointName = `sp${this.nestedIndex + 1}`;
232
+ const tx = new SingleStoreDriverTransaction(
233
+ this.dialect,
234
+ this.session,
235
+ this.schema,
236
+ this.nestedIndex + 1
237
+ );
238
+ await tx.execute(import_sql.sql.raw(`savepoint ${savepointName}`));
239
+ try {
240
+ const result = await transaction(tx);
241
+ await tx.execute(import_sql.sql.raw(`release savepoint ${savepointName}`));
242
+ return result;
243
+ } catch (err) {
244
+ await tx.execute(import_sql.sql.raw(`rollback to savepoint ${savepointName}`));
245
+ throw err;
246
+ }
247
+ }
248
+ }
249
+ function isPool(client) {
250
+ return "getConnection" in client;
251
+ }
252
+ // Annotate the CommonJS export names for ESM import in node:
253
+ 0 && (module.exports = {
254
+ SingleStoreDriverPreparedQuery,
255
+ SingleStoreDriverSession,
256
+ SingleStoreDriverTransaction
257
+ });
258
+ //# sourceMappingURL=session.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/singlestore/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 { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport type { SingleStoreDialect } from '~/singlestore-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/singlestore-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryKind,\n\tSingleStorePreparedQuery,\n\ttype SingleStorePreparedQueryConfig,\n\ttype SingleStorePreparedQueryHKT,\n\ttype SingleStoreQueryResultHKT,\n\tSingleStoreSession,\n\tSingleStoreTransaction,\n\ttype SingleStoreTransactionConfig,\n} from '~/singlestore-core/session.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport { fillPlaceholders, sql } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nexport type SingleStoreDriverClient = Pool | Connection;\n\nexport type SingleStoreRawQueryResult = [ResultSetHeader, FieldPacket[]];\nexport type SingleStoreQueryResultType = RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader;\nexport type SingleStoreQueryResult<\n\tT = any,\n> = [T extends ResultSetHeader ? T : T[], FieldPacket[]];\n\nexport class SingleStoreDriverPreparedQuery<T extends SingleStorePreparedQueryConfig>\n\textends SingleStorePreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDriverPreparedQuery';\n\n\tprivate rawQuery: QueryOptions;\n\tprivate query: QueryOptions;\n\n\tconstructor(\n\t\tprivate client: SingleStoreDriverClient,\n\t\tqueryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\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) {\n\t\tsuper();\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\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 client.query<any>(rawQuery, params);\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 client.query<any[]>(query, params);\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\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([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 SingleStoreDriverSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class SingleStoreDriverSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SingleStoreSession<SingleStoreQueryResultHKT, SingleStoreDriverPreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDriverSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: SingleStoreDriverClient,\n\t\tdialect: SingleStoreDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: SingleStoreDriverSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends SingleStorePreparedQueryConfig>(\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): PreparedQueryKind<SingleStoreDriverPreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new SingleStoreDriverPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t) as PreparedQueryKind<SingleStoreDriverPreparedQueryHKT, T>;\n\t}\n\n\t/**\n\t * @internal\n\t * What is its purpose?\n\t */\n\tasync query(query: string, params: unknown[]): Promise<SingleStoreQueryResult> {\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: SingleStoreDriverTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: SingleStoreTransactionConfig,\n\t): Promise<T> {\n\t\tconst session = isPool(this.client)\n\t\t\t? new SingleStoreDriverSession(\n\t\t\t\tawait this.client.getConnection(),\n\t\t\t\tthis.dialect,\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 SingleStoreDriverTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession as SingleStoreSession<any, any, any, any>,\n\t\t\tthis.schema,\n\t\t\t0,\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 SingleStoreDriverTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SingleStoreTransaction<\n\tSingleStoreDriverQueryResultHKT,\n\tSingleStoreDriverPreparedQueryHKT,\n\tTFullSchema,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDriverTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: SingleStoreDriverTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new SingleStoreDriverTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nfunction isPool(client: SingleStoreDriverClient): client is Pool {\n\treturn 'getConnection' in client;\n}\n\nexport interface SingleStoreDriverQueryResultHKT extends SingleStoreQueryResultHKT {\n\ttype: SingleStoreRawQueryResult;\n}\n\nexport interface SingleStoreDriverPreparedQueryHKT extends SingleStorePreparedQueryHKT {\n\ttype: SingleStoreDriverPreparedQuery<Assume<this['config'], SingleStorePreparedQueryConfig>>;\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,52 @@
1
+ import type { Connection, FieldPacket, OkPacket, Pool, ResultSetHeader, RowDataPacket } from 'mysql2/promise';
2
+ import { entityKind } from "../entity.cjs";
3
+ import type { Logger } from "../logger.cjs";
4
+ import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.cjs";
5
+ import type { SingleStoreDialect } from "../singlestore-core/dialect.cjs";
6
+ import type { SelectedFieldsOrdered } from "../singlestore-core/query-builders/select.types.cjs";
7
+ import { type PreparedQueryKind, SingleStorePreparedQuery, type SingleStorePreparedQueryConfig, type SingleStorePreparedQueryHKT, type SingleStoreQueryResultHKT, SingleStoreSession, SingleStoreTransaction, type SingleStoreTransactionConfig } from "../singlestore-core/session.cjs";
8
+ import type { Query, SQL } from "../sql/sql.cjs";
9
+ import { type Assume } from "../utils.cjs";
10
+ export type SingleStoreDriverClient = Pool | Connection;
11
+ export type SingleStoreRawQueryResult = [ResultSetHeader, FieldPacket[]];
12
+ export type SingleStoreQueryResultType = RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader;
13
+ export type SingleStoreQueryResult<T = any> = [T extends ResultSetHeader ? T : T[], FieldPacket[]];
14
+ export declare class SingleStoreDriverPreparedQuery<T extends SingleStorePreparedQueryConfig> extends SingleStorePreparedQuery<T> {
15
+ private client;
16
+ private params;
17
+ private logger;
18
+ private fields;
19
+ private customResultMapper?;
20
+ private generatedIds?;
21
+ private returningIds?;
22
+ static readonly [entityKind]: string;
23
+ private rawQuery;
24
+ private query;
25
+ constructor(client: SingleStoreDriverClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined);
26
+ execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
27
+ iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']>;
28
+ }
29
+ export interface SingleStoreDriverSessionOptions {
30
+ logger?: Logger;
31
+ }
32
+ export declare class SingleStoreDriverSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SingleStoreSession<SingleStoreQueryResultHKT, SingleStoreDriverPreparedQueryHKT, TFullSchema, TSchema> {
33
+ private client;
34
+ private schema;
35
+ private options;
36
+ static readonly [entityKind]: string;
37
+ private logger;
38
+ constructor(client: SingleStoreDriverClient, dialect: SingleStoreDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options: SingleStoreDriverSessionOptions);
39
+ prepareQuery<T extends SingleStorePreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): PreparedQueryKind<SingleStoreDriverPreparedQueryHKT, T>;
40
+ all<T = unknown>(query: SQL): Promise<T[]>;
41
+ transaction<T>(transaction: (tx: SingleStoreDriverTransaction<TFullSchema, TSchema>) => Promise<T>, config?: SingleStoreTransactionConfig): Promise<T>;
42
+ }
43
+ export declare class SingleStoreDriverTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SingleStoreTransaction<SingleStoreDriverQueryResultHKT, SingleStoreDriverPreparedQueryHKT, TFullSchema, TSchema> {
44
+ static readonly [entityKind]: string;
45
+ transaction<T>(transaction: (tx: SingleStoreDriverTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;
46
+ }
47
+ export interface SingleStoreDriverQueryResultHKT extends SingleStoreQueryResultHKT {
48
+ type: SingleStoreRawQueryResult;
49
+ }
50
+ export interface SingleStoreDriverPreparedQueryHKT extends SingleStorePreparedQueryHKT {
51
+ type: SingleStoreDriverPreparedQuery<Assume<this['config'], SingleStorePreparedQueryConfig>>;
52
+ }
@@ -0,0 +1,52 @@
1
+ import type { Connection, FieldPacket, OkPacket, Pool, ResultSetHeader, RowDataPacket } from 'mysql2/promise';
2
+ import { entityKind } from "../entity.js";
3
+ import type { Logger } from "../logger.js";
4
+ import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.js";
5
+ import type { SingleStoreDialect } from "../singlestore-core/dialect.js";
6
+ import type { SelectedFieldsOrdered } from "../singlestore-core/query-builders/select.types.js";
7
+ import { type PreparedQueryKind, SingleStorePreparedQuery, type SingleStorePreparedQueryConfig, type SingleStorePreparedQueryHKT, type SingleStoreQueryResultHKT, SingleStoreSession, SingleStoreTransaction, type SingleStoreTransactionConfig } from "../singlestore-core/session.js";
8
+ import type { Query, SQL } from "../sql/sql.js";
9
+ import { type Assume } from "../utils.js";
10
+ export type SingleStoreDriverClient = Pool | Connection;
11
+ export type SingleStoreRawQueryResult = [ResultSetHeader, FieldPacket[]];
12
+ export type SingleStoreQueryResultType = RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader;
13
+ export type SingleStoreQueryResult<T = any> = [T extends ResultSetHeader ? T : T[], FieldPacket[]];
14
+ export declare class SingleStoreDriverPreparedQuery<T extends SingleStorePreparedQueryConfig> extends SingleStorePreparedQuery<T> {
15
+ private client;
16
+ private params;
17
+ private logger;
18
+ private fields;
19
+ private customResultMapper?;
20
+ private generatedIds?;
21
+ private returningIds?;
22
+ static readonly [entityKind]: string;
23
+ private rawQuery;
24
+ private query;
25
+ constructor(client: SingleStoreDriverClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined);
26
+ execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
27
+ iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']>;
28
+ }
29
+ export interface SingleStoreDriverSessionOptions {
30
+ logger?: Logger;
31
+ }
32
+ export declare class SingleStoreDriverSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SingleStoreSession<SingleStoreQueryResultHKT, SingleStoreDriverPreparedQueryHKT, TFullSchema, TSchema> {
33
+ private client;
34
+ private schema;
35
+ private options;
36
+ static readonly [entityKind]: string;
37
+ private logger;
38
+ constructor(client: SingleStoreDriverClient, dialect: SingleStoreDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options: SingleStoreDriverSessionOptions);
39
+ prepareQuery<T extends SingleStorePreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): PreparedQueryKind<SingleStoreDriverPreparedQueryHKT, T>;
40
+ all<T = unknown>(query: SQL): Promise<T[]>;
41
+ transaction<T>(transaction: (tx: SingleStoreDriverTransaction<TFullSchema, TSchema>) => Promise<T>, config?: SingleStoreTransactionConfig): Promise<T>;
42
+ }
43
+ export declare class SingleStoreDriverTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SingleStoreTransaction<SingleStoreDriverQueryResultHKT, SingleStoreDriverPreparedQueryHKT, TFullSchema, TSchema> {
44
+ static readonly [entityKind]: string;
45
+ transaction<T>(transaction: (tx: SingleStoreDriverTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;
46
+ }
47
+ export interface SingleStoreDriverQueryResultHKT extends SingleStoreQueryResultHKT {
48
+ type: SingleStoreRawQueryResult;
49
+ }
50
+ export interface SingleStoreDriverPreparedQueryHKT extends SingleStorePreparedQueryHKT {
51
+ type: SingleStoreDriverPreparedQuery<Assume<this['config'], SingleStorePreparedQueryConfig>>;
52
+ }