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,66 @@
1
+ import { entityKind } from "../entity.cjs";
2
+ import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.cjs";
3
+ import { type Query, type SQL } from "../sql/sql.cjs";
4
+ import type { Assume, Equal } from "../utils.cjs";
5
+ import { SingleStoreDatabase } from "./db.cjs";
6
+ import type { SingleStoreDialect } from "./dialect.cjs";
7
+ import type { SelectedFieldsOrdered } from "./query-builders/select.types.cjs";
8
+ export interface SingleStoreQueryResultHKT {
9
+ readonly $brand: 'SingleStoreQueryResultHKT';
10
+ readonly row: unknown;
11
+ readonly type: unknown;
12
+ }
13
+ export interface AnySingleStoreQueryResultHKT extends SingleStoreQueryResultHKT {
14
+ readonly type: any;
15
+ }
16
+ export type SingleStoreQueryResultKind<TKind extends SingleStoreQueryResultHKT, TRow> = (TKind & {
17
+ readonly row: TRow;
18
+ })['type'];
19
+ export interface SingleStorePreparedQueryConfig {
20
+ execute: unknown;
21
+ iterator: unknown;
22
+ }
23
+ export interface SingleStorePreparedQueryHKT {
24
+ readonly $brand: 'SingleStorePreparedQueryHKT';
25
+ readonly config: unknown;
26
+ readonly type: unknown;
27
+ }
28
+ export type PreparedQueryKind<TKind extends SingleStorePreparedQueryHKT, TConfig extends SingleStorePreparedQueryConfig, TAssume extends boolean = false> = Equal<TAssume, true> extends true ? Assume<(TKind & {
29
+ readonly config: TConfig;
30
+ })['type'], SingleStorePreparedQuery<TConfig>> : (TKind & {
31
+ readonly config: TConfig;
32
+ })['type'];
33
+ export declare abstract class SingleStorePreparedQuery<T extends SingleStorePreparedQueryConfig> {
34
+ static readonly [entityKind]: string;
35
+ abstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
36
+ abstract iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;
37
+ }
38
+ export interface SingleStoreTransactionConfig {
39
+ withConsistentSnapshot?: boolean;
40
+ accessMode?: 'read only' | 'read write';
41
+ isolationLevel: 'read committed';
42
+ }
43
+ export declare abstract class SingleStoreSession<TQueryResult extends SingleStoreQueryResultHKT = SingleStoreQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> {
44
+ protected dialect: SingleStoreDialect;
45
+ static readonly [entityKind]: string;
46
+ constructor(dialect: SingleStoreDialect);
47
+ abstract prepareQuery<T extends SingleStorePreparedQueryConfig, TPreparedQueryHKT extends SingleStorePreparedQueryHKT>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): PreparedQueryKind<TPreparedQueryHKT, T>;
48
+ execute<T>(query: SQL): Promise<T>;
49
+ abstract all<T = unknown>(query: SQL): Promise<T[]>;
50
+ count(sql: SQL): Promise<number>;
51
+ abstract transaction<T>(transaction: (tx: SingleStoreTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>, config?: SingleStoreTransactionConfig): Promise<T>;
52
+ protected getSetTransactionSQL(config: SingleStoreTransactionConfig): SQL | undefined;
53
+ protected getStartTransactionSQL(config: SingleStoreTransactionConfig): SQL | undefined;
54
+ }
55
+ export declare abstract class SingleStoreTransaction<TQueryResult extends SingleStoreQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> extends SingleStoreDatabase<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema> {
56
+ protected schema: RelationalSchemaConfig<TSchema> | undefined;
57
+ protected readonly nestedIndex: number;
58
+ static readonly [entityKind]: string;
59
+ constructor(dialect: SingleStoreDialect, session: SingleStoreSession, schema: RelationalSchemaConfig<TSchema> | undefined, nestedIndex: number);
60
+ rollback(): never;
61
+ /** Nested transactions (aka savepoints) only work with InnoDB engine. */
62
+ abstract transaction<T>(transaction: (tx: SingleStoreTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>): Promise<T>;
63
+ }
64
+ export interface PreparedQueryHKTBase extends SingleStorePreparedQueryHKT {
65
+ type: SingleStorePreparedQuery<Assume<this['config'], SingleStorePreparedQueryConfig>>;
66
+ }
@@ -0,0 +1,66 @@
1
+ import { entityKind } from "../entity.js";
2
+ import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.js";
3
+ import { type Query, type SQL } from "../sql/sql.js";
4
+ import type { Assume, Equal } from "../utils.js";
5
+ import { SingleStoreDatabase } from "./db.js";
6
+ import type { SingleStoreDialect } from "./dialect.js";
7
+ import type { SelectedFieldsOrdered } from "./query-builders/select.types.js";
8
+ export interface SingleStoreQueryResultHKT {
9
+ readonly $brand: 'SingleStoreQueryResultHKT';
10
+ readonly row: unknown;
11
+ readonly type: unknown;
12
+ }
13
+ export interface AnySingleStoreQueryResultHKT extends SingleStoreQueryResultHKT {
14
+ readonly type: any;
15
+ }
16
+ export type SingleStoreQueryResultKind<TKind extends SingleStoreQueryResultHKT, TRow> = (TKind & {
17
+ readonly row: TRow;
18
+ })['type'];
19
+ export interface SingleStorePreparedQueryConfig {
20
+ execute: unknown;
21
+ iterator: unknown;
22
+ }
23
+ export interface SingleStorePreparedQueryHKT {
24
+ readonly $brand: 'SingleStorePreparedQueryHKT';
25
+ readonly config: unknown;
26
+ readonly type: unknown;
27
+ }
28
+ export type PreparedQueryKind<TKind extends SingleStorePreparedQueryHKT, TConfig extends SingleStorePreparedQueryConfig, TAssume extends boolean = false> = Equal<TAssume, true> extends true ? Assume<(TKind & {
29
+ readonly config: TConfig;
30
+ })['type'], SingleStorePreparedQuery<TConfig>> : (TKind & {
31
+ readonly config: TConfig;
32
+ })['type'];
33
+ export declare abstract class SingleStorePreparedQuery<T extends SingleStorePreparedQueryConfig> {
34
+ static readonly [entityKind]: string;
35
+ abstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
36
+ abstract iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;
37
+ }
38
+ export interface SingleStoreTransactionConfig {
39
+ withConsistentSnapshot?: boolean;
40
+ accessMode?: 'read only' | 'read write';
41
+ isolationLevel: 'read committed';
42
+ }
43
+ export declare abstract class SingleStoreSession<TQueryResult extends SingleStoreQueryResultHKT = SingleStoreQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> {
44
+ protected dialect: SingleStoreDialect;
45
+ static readonly [entityKind]: string;
46
+ constructor(dialect: SingleStoreDialect);
47
+ abstract prepareQuery<T extends SingleStorePreparedQueryConfig, TPreparedQueryHKT extends SingleStorePreparedQueryHKT>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): PreparedQueryKind<TPreparedQueryHKT, T>;
48
+ execute<T>(query: SQL): Promise<T>;
49
+ abstract all<T = unknown>(query: SQL): Promise<T[]>;
50
+ count(sql: SQL): Promise<number>;
51
+ abstract transaction<T>(transaction: (tx: SingleStoreTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>, config?: SingleStoreTransactionConfig): Promise<T>;
52
+ protected getSetTransactionSQL(config: SingleStoreTransactionConfig): SQL | undefined;
53
+ protected getStartTransactionSQL(config: SingleStoreTransactionConfig): SQL | undefined;
54
+ }
55
+ export declare abstract class SingleStoreTransaction<TQueryResult extends SingleStoreQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> extends SingleStoreDatabase<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema> {
56
+ protected schema: RelationalSchemaConfig<TSchema> | undefined;
57
+ protected readonly nestedIndex: number;
58
+ static readonly [entityKind]: string;
59
+ constructor(dialect: SingleStoreDialect, session: SingleStoreSession, schema: RelationalSchemaConfig<TSchema> | undefined, nestedIndex: number);
60
+ rollback(): never;
61
+ /** Nested transactions (aka savepoints) only work with InnoDB engine. */
62
+ abstract transaction<T>(transaction: (tx: SingleStoreTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>): Promise<T>;
63
+ }
64
+ export interface PreparedQueryHKTBase extends SingleStorePreparedQueryHKT {
65
+ type: SingleStorePreparedQuery<Assume<this['config'], SingleStorePreparedQueryConfig>>;
66
+ }
@@ -0,0 +1,61 @@
1
+ import { entityKind } from "../entity.js";
2
+ import { TransactionRollbackError } from "../errors.js";
3
+ import { sql } from "../sql/sql.js";
4
+ import { SingleStoreDatabase } from "./db.js";
5
+ class SingleStorePreparedQuery {
6
+ static [entityKind] = "SingleStorePreparedQuery";
7
+ /** @internal */
8
+ joinsNotNullableMap;
9
+ }
10
+ class SingleStoreSession {
11
+ constructor(dialect) {
12
+ this.dialect = dialect;
13
+ }
14
+ static [entityKind] = "SingleStoreSession";
15
+ execute(query) {
16
+ return this.prepareQuery(
17
+ this.dialect.sqlToQuery(query),
18
+ void 0
19
+ ).execute();
20
+ }
21
+ async count(sql2) {
22
+ const res = await this.execute(sql2);
23
+ return Number(
24
+ res[0][0]["count"]
25
+ );
26
+ }
27
+ getSetTransactionSQL(config) {
28
+ const parts = [];
29
+ if (config.isolationLevel) {
30
+ parts.push(`isolation level ${config.isolationLevel}`);
31
+ }
32
+ return parts.length ? sql`set transaction ${sql.raw(parts.join(" "))}` : void 0;
33
+ }
34
+ getStartTransactionSQL(config) {
35
+ const parts = [];
36
+ if (config.withConsistentSnapshot) {
37
+ parts.push("with consistent snapshot");
38
+ }
39
+ if (config.accessMode) {
40
+ parts.push(config.accessMode);
41
+ }
42
+ return parts.length ? sql`start transaction ${sql.raw(parts.join(" "))}` : void 0;
43
+ }
44
+ }
45
+ class SingleStoreTransaction extends SingleStoreDatabase {
46
+ constructor(dialect, session, schema, nestedIndex) {
47
+ super(dialect, session, schema);
48
+ this.schema = schema;
49
+ this.nestedIndex = nestedIndex;
50
+ }
51
+ static [entityKind] = "SingleStoreTransaction";
52
+ rollback() {
53
+ throw new TransactionRollbackError();
54
+ }
55
+ }
56
+ export {
57
+ SingleStorePreparedQuery,
58
+ SingleStoreSession,
59
+ SingleStoreTransaction
60
+ };
61
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/singlestore-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { type Query, type SQL, sql } from '~/sql/sql.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { SingleStoreDatabase } from './db.ts';\nimport type { SingleStoreDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface SingleStoreQueryResultHKT {\n\treadonly $brand: 'SingleStoreQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport interface AnySingleStoreQueryResultHKT extends SingleStoreQueryResultHKT {\n\treadonly type: any;\n}\n\nexport type SingleStoreQueryResultKind<TKind extends SingleStoreQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n\nexport interface SingleStorePreparedQueryConfig {\n\texecute: unknown;\n\titerator: unknown;\n}\n\nexport interface SingleStorePreparedQueryHKT {\n\treadonly $brand: 'SingleStorePreparedQueryHKT';\n\treadonly config: unknown;\n\treadonly type: unknown;\n}\n\nexport type PreparedQueryKind<\n\tTKind extends SingleStorePreparedQueryHKT,\n\tTConfig extends SingleStorePreparedQueryConfig,\n\tTAssume extends boolean = false,\n> = Equal<TAssume, true> extends true\n\t? Assume<(TKind & { readonly config: TConfig })['type'], SingleStorePreparedQuery<TConfig>>\n\t: (TKind & { readonly config: TConfig })['type'];\n\nexport abstract class SingleStorePreparedQuery<T extends SingleStorePreparedQueryConfig> {\n\tstatic readonly [entityKind]: string = 'SingleStorePreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\tabstract iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;\n}\n\nexport interface SingleStoreTransactionConfig {\n\twithConsistentSnapshot?: boolean;\n\taccessMode?: 'read only' | 'read write';\n\tisolationLevel: 'read committed'; // SingleStore only supports read committed isolation level (https://docs.singlestore.com/db/v8.7/introduction/faqs/durability/)\n}\n\nexport abstract class SingleStoreSession<\n\tTQueryResult extends SingleStoreQueryResultHKT = SingleStoreQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'SingleStoreSession';\n\n\tconstructor(protected dialect: SingleStoreDialect) {}\n\n\tabstract prepareQuery<\n\t\tT extends SingleStorePreparedQueryConfig,\n\t\tTPreparedQueryHKT extends SingleStorePreparedQueryHKT,\n\t>(\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<TPreparedQueryHKT, T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn this.prepareQuery<SingleStorePreparedQueryConfig & { execute: T }, PreparedQueryHKTBase>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t).execute();\n\t}\n\n\tabstract all<T = unknown>(query: SQL): Promise<T[]>;\n\n\tasync count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<[[{ count: string }]]>(sql);\n\n\t\treturn Number(\n\t\t\tres[0][0]['count'],\n\t\t);\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: SingleStoreTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: SingleStoreTransactionConfig,\n\t): Promise<T>;\n\n\tprotected getSetTransactionSQL(config: SingleStoreTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.isolationLevel) {\n\t\t\tparts.push(`isolation level ${config.isolationLevel}`);\n\t\t}\n\n\t\treturn parts.length ? sql`set transaction ${sql.raw(parts.join(' '))}` : undefined;\n\t}\n\n\tprotected getStartTransactionSQL(config: SingleStoreTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.withConsistentSnapshot) {\n\t\t\tparts.push('with consistent snapshot');\n\t\t}\n\n\t\tif (config.accessMode) {\n\t\t\tparts.push(config.accessMode);\n\t\t}\n\n\t\treturn parts.length ? sql`start transaction ${sql.raw(parts.join(' '))}` : undefined;\n\t}\n}\n\nexport abstract class SingleStoreTransaction<\n\tTQueryResult extends SingleStoreQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends SingleStoreDatabase<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreTransaction';\n\n\tconstructor(\n\t\tdialect: SingleStoreDialect,\n\t\tsession: SingleStoreSession,\n\t\tprotected schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprotected readonly nestedIndex: number,\n\t) {\n\t\tsuper(dialect, session, schema);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\t/** Nested transactions (aka savepoints) only work with InnoDB engine. */\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: SingleStoreTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface PreparedQueryHKTBase extends SingleStorePreparedQueryHKT {\n\ttype: SingleStorePreparedQuery<Assume<this['config'], SingleStorePreparedQueryConfig>>;\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,gCAAgC;AAEzC,SAA+B,WAAW;AAE1C,SAAS,2BAA2B;AAqC7B,MAAe,yBAAmE;AAAA,EACxF,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAKD;AAQO,MAAe,mBAKpB;AAAA,EAGD,YAAsB,SAA6B;AAA7B;AAAA,EAA8B;AAAA,EAFpD,QAAiB,UAAU,IAAY;AAAA,EAevC,QAAW,OAAwB;AAClC,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,IACD,EAAE,QAAQ;AAAA,EACX;AAAA,EAIA,MAAM,MAAMA,MAA2B;AACtC,UAAM,MAAM,MAAM,KAAK,QAA+BA,IAAG;AAEzD,WAAO;AAAA,MACN,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO;AAAA,IAClB;AAAA,EACD;AAAA,EAOU,qBAAqB,QAAuD;AACrF,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,gBAAgB;AAC1B,YAAM,KAAK,mBAAmB,OAAO,cAAc,EAAE;AAAA,IACtD;AAEA,WAAO,MAAM,SAAS,sBAAsB,IAAI,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK;AAAA,EAC1E;AAAA,EAEU,uBAAuB,QAAuD;AACvF,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,wBAAwB;AAClC,YAAM,KAAK,0BAA0B;AAAA,IACtC;AAEA,QAAI,OAAO,YAAY;AACtB,YAAM,KAAK,OAAO,UAAU;AAAA,IAC7B;AAEA,WAAO,MAAM,SAAS,wBAAwB,IAAI,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK;AAAA,EAC5E;AACD;AAEO,MAAe,+BAKZ,oBAA2E;AAAA,EAGpF,YACC,SACA,SACU,QACS,aAClB;AACD,UAAM,SAAS,SAAS,MAAM;AAHpB;AACS;AAAA,EAGpB;AAAA,EATA,QAA0B,UAAU,IAAY;AAAA,EAWhD,WAAkB;AACjB,UAAM,IAAI,yBAAyB;AAAA,EACpC;AAMD;","names":["sql"]}
@@ -0,0 +1,17 @@
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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var subquery_exports = {};
16
+ module.exports = __toCommonJS(subquery_exports);
17
+ //# sourceMappingURL=subquery.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/singlestore-core/subquery.ts"],"sourcesContent":["import type { AddAliasToSelection } from '~/query-builders/select.types.ts';\nimport type { ColumnsSelection } from '~/sql/sql.ts';\nimport type { Subquery, WithSubquery } from '~/subquery.ts';\n\nexport type SubqueryWithSelection<\n\tTSelection extends ColumnsSelection,\n\tTAlias extends string,\n> =\n\t& Subquery<TAlias, AddAliasToSelection<TSelection, TAlias, 'singlestore'>>\n\t& AddAliasToSelection<TSelection, TAlias, 'singlestore'>;\n\nexport type WithSubqueryWithSelection<\n\tTSelection extends ColumnsSelection,\n\tTAlias extends string,\n> =\n\t& WithSubquery<TAlias, AddAliasToSelection<TSelection, TAlias, 'singlestore'>>\n\t& AddAliasToSelection<TSelection, TAlias, 'singlestore'>;\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -0,0 +1,5 @@
1
+ import type { AddAliasToSelection } from "../query-builders/select.types.cjs";
2
+ import type { ColumnsSelection } from "../sql/sql.cjs";
3
+ import type { Subquery, WithSubquery } from "../subquery.cjs";
4
+ export type SubqueryWithSelection<TSelection extends ColumnsSelection, TAlias extends string> = Subquery<TAlias, AddAliasToSelection<TSelection, TAlias, 'singlestore'>> & AddAliasToSelection<TSelection, TAlias, 'singlestore'>;
5
+ export type WithSubqueryWithSelection<TSelection extends ColumnsSelection, TAlias extends string> = WithSubquery<TAlias, AddAliasToSelection<TSelection, TAlias, 'singlestore'>> & AddAliasToSelection<TSelection, TAlias, 'singlestore'>;
@@ -0,0 +1,5 @@
1
+ import type { AddAliasToSelection } from "../query-builders/select.types.js";
2
+ import type { ColumnsSelection } from "../sql/sql.js";
3
+ import type { Subquery, WithSubquery } from "../subquery.js";
4
+ export type SubqueryWithSelection<TSelection extends ColumnsSelection, TAlias extends string> = Subquery<TAlias, AddAliasToSelection<TSelection, TAlias, 'singlestore'>> & AddAliasToSelection<TSelection, TAlias, 'singlestore'>;
5
+ export type WithSubqueryWithSelection<TSelection extends ColumnsSelection, TAlias extends string> = WithSubquery<TAlias, AddAliasToSelection<TSelection, TAlias, 'singlestore'>> & AddAliasToSelection<TSelection, TAlias, 'singlestore'>;
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=subquery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,73 @@
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 table_exports = {};
20
+ __export(table_exports, {
21
+ SingleStoreTable: () => SingleStoreTable,
22
+ singlestoreTable: () => singlestoreTable,
23
+ singlestoreTableCreator: () => singlestoreTableCreator,
24
+ singlestoreTableWithSchema: () => singlestoreTableWithSchema
25
+ });
26
+ module.exports = __toCommonJS(table_exports);
27
+ var import_entity = require("../entity.cjs");
28
+ var import_table = require("../table.cjs");
29
+ var import_all = require("./columns/all.cjs");
30
+ class SingleStoreTable extends import_table.Table {
31
+ static [import_entity.entityKind] = "SingleStoreTable";
32
+ /** @internal */
33
+ static Symbol = Object.assign({}, import_table.Table.Symbol, {});
34
+ /** @internal */
35
+ [import_table.Table.Symbol.Columns];
36
+ /** @internal */
37
+ [import_table.Table.Symbol.ExtraConfigBuilder] = void 0;
38
+ }
39
+ function singlestoreTableWithSchema(name, columns, extraConfig, schema, baseName = name) {
40
+ const rawTable = new SingleStoreTable(name, schema, baseName);
41
+ const parsedColumns = typeof columns === "function" ? columns((0, import_all.getSingleStoreColumnBuilders)()) : columns;
42
+ const builtColumns = Object.fromEntries(
43
+ Object.entries(parsedColumns).map(([name2, colBuilderBase]) => {
44
+ const colBuilder = colBuilderBase;
45
+ colBuilder.setName(name2);
46
+ const column = colBuilder.build(rawTable);
47
+ return [name2, column];
48
+ })
49
+ );
50
+ const table = Object.assign(rawTable, builtColumns);
51
+ table[import_table.Table.Symbol.Columns] = builtColumns;
52
+ table[import_table.Table.Symbol.ExtraConfigColumns] = builtColumns;
53
+ if (extraConfig) {
54
+ table[SingleStoreTable.Symbol.ExtraConfigBuilder] = extraConfig;
55
+ }
56
+ return table;
57
+ }
58
+ const singlestoreTable = (name, columns, extraConfig) => {
59
+ return singlestoreTableWithSchema(name, columns, extraConfig, void 0, name);
60
+ };
61
+ function singlestoreTableCreator(customizeTableName) {
62
+ return (name, columns, extraConfig) => {
63
+ return singlestoreTableWithSchema(customizeTableName(name), columns, extraConfig, void 0, name);
64
+ };
65
+ }
66
+ // Annotate the CommonJS export names for ESM import in node:
67
+ 0 && (module.exports = {
68
+ SingleStoreTable,
69
+ singlestoreTable,
70
+ singlestoreTableCreator,
71
+ singlestoreTableWithSchema
72
+ });
73
+ //# sourceMappingURL=table.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/singlestore-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport { getSingleStoreColumnBuilders, type SingleStoreColumnBuilders } from './columns/all.ts';\nimport type { SingleStoreColumn, SingleStoreColumnBuilder, SingleStoreColumnBuilderBase } from './columns/common.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type SingleStoreTableExtraConfig = Record<\n\tstring,\n\t| AnyIndexBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n>;\n\nexport type TableConfig = TableConfigBase<SingleStoreColumn>;\n\nexport class SingleStoreTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreTable';\n\n\tdeclare protected $columns: T['columns'];\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, SingleStoreColumn>) => SingleStoreTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnySingleStoreTable<TPartial extends Partial<TableConfig> = {}> = SingleStoreTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type SingleStoreTableWithColumns<T extends TableConfig> =\n\t& SingleStoreTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport function singlestoreTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, SingleStoreColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: SingleStoreColumnBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((self: BuildColumns<TTableName, TColumnsMap, 'singlestore'>) => SingleStoreTableExtraConfig)\n\t\t| undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): SingleStoreTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;\n\tdialect: 'singlestore';\n}> {\n\tconst rawTable = new SingleStoreTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;\n\t\tdialect: 'singlestore';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getSingleStoreColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as SingleStoreColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'singlestore'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'singlestore'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[SingleStoreTable.Symbol.ExtraConfigBuilder] = extraConfig as unknown as (\n\t\t\tself: Record<string, SingleStoreColumn>,\n\t\t) => SingleStoreTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport interface SingleStoreTableFn<TSchemaName extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SingleStoreColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'singlestore'>) => SingleStoreTableExtraConfig,\n\t): SingleStoreTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;\n\t\tdialect: 'singlestore';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SingleStoreColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SingleStoreColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'singlestore'>) => SingleStoreTableExtraConfig,\n\t): SingleStoreTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;\n\t\tdialect: 'singlestore';\n\t}>;\n}\n\nexport const singlestoreTable: SingleStoreTableFn = (name, columns, extraConfig) => {\n\treturn singlestoreTableWithSchema(name, columns, extraConfig, undefined, name);\n};\n\nexport function singlestoreTableCreator(customizeTableName: (name: string) => string): SingleStoreTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn singlestoreTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,mBAAmF;AACnF,iBAA6E;AAetE,MAAM,yBAA8D,mBAAS;AAAA,EACnF,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAKhD,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,mBAAM,QAAQ,CAAC,CAAC;AAAA;AAAA,EAGpE,CAAU,mBAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAU,mBAAM,OAAO,kBAAkB,IAE1B;AAChB;AAYO,SAAS,2BAKf,MACA,SACA,aAGA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,iBAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,YAAQ,yCAA6B,CAAC,IAAI;AAE7G,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,mBAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,mBAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,iBAAiB,OAAO,kBAAkB,IAAI;AAAA,EAGrD;AAEA,SAAO;AACR;AAgCO,MAAM,mBAAuC,CAAC,MAAM,SAAS,gBAAgB;AACnF,SAAO,2BAA2B,MAAM,SAAS,aAAa,QAAW,IAAI;AAC9E;AAEO,SAAS,wBAAwB,oBAAkE;AACzG,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,2BAA2B,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EACjH;AACD;","names":["name"]}
@@ -0,0 +1,40 @@
1
+ import type { BuildColumns } from "../column-builder.cjs";
2
+ import { entityKind } from "../entity.cjs";
3
+ import { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from "../table.cjs";
4
+ import { type SingleStoreColumnBuilders } from "./columns/all.cjs";
5
+ import type { SingleStoreColumn, SingleStoreColumnBuilderBase } from "./columns/common.cjs";
6
+ import type { AnyIndexBuilder } from "./indexes.cjs";
7
+ import type { PrimaryKeyBuilder } from "./primary-keys.cjs";
8
+ import type { UniqueConstraintBuilder } from "./unique-constraint.cjs";
9
+ export type SingleStoreTableExtraConfig = Record<string, AnyIndexBuilder | PrimaryKeyBuilder | UniqueConstraintBuilder>;
10
+ export type TableConfig = TableConfigBase<SingleStoreColumn>;
11
+ export declare class SingleStoreTable<T extends TableConfig = TableConfig> extends Table<T> {
12
+ static readonly [entityKind]: string;
13
+ protected $columns: T['columns'];
14
+ }
15
+ export type AnySingleStoreTable<TPartial extends Partial<TableConfig> = {}> = SingleStoreTable<UpdateTableConfig<TableConfig, TPartial>>;
16
+ export type SingleStoreTableWithColumns<T extends TableConfig> = SingleStoreTable<T> & {
17
+ [Key in keyof T['columns']]: T['columns'][Key];
18
+ };
19
+ export declare function singlestoreTableWithSchema<TTableName extends string, TSchemaName extends string | undefined, TColumnsMap extends Record<string, SingleStoreColumnBuilderBase>>(name: TTableName, columns: TColumnsMap | ((columnTypes: SingleStoreColumnBuilders) => TColumnsMap), extraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'singlestore'>) => SingleStoreTableExtraConfig) | undefined, schema: TSchemaName, baseName?: TTableName): SingleStoreTableWithColumns<{
20
+ name: TTableName;
21
+ schema: TSchemaName;
22
+ columns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;
23
+ dialect: 'singlestore';
24
+ }>;
25
+ export interface SingleStoreTableFn<TSchemaName extends string | undefined = undefined> {
26
+ <TTableName extends string, TColumnsMap extends Record<string, SingleStoreColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'singlestore'>) => SingleStoreTableExtraConfig): SingleStoreTableWithColumns<{
27
+ name: TTableName;
28
+ schema: TSchemaName;
29
+ columns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;
30
+ dialect: 'singlestore';
31
+ }>;
32
+ <TTableName extends string, TColumnsMap extends Record<string, SingleStoreColumnBuilderBase>>(name: TTableName, columns: (columnTypes: SingleStoreColumnBuilders) => TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'singlestore'>) => SingleStoreTableExtraConfig): SingleStoreTableWithColumns<{
33
+ name: TTableName;
34
+ schema: TSchemaName;
35
+ columns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;
36
+ dialect: 'singlestore';
37
+ }>;
38
+ }
39
+ export declare const singlestoreTable: SingleStoreTableFn;
40
+ export declare function singlestoreTableCreator(customizeTableName: (name: string) => string): SingleStoreTableFn;
@@ -0,0 +1,40 @@
1
+ import type { BuildColumns } from "../column-builder.js";
2
+ import { entityKind } from "../entity.js";
3
+ import { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from "../table.js";
4
+ import { type SingleStoreColumnBuilders } from "./columns/all.js";
5
+ import type { SingleStoreColumn, SingleStoreColumnBuilderBase } from "./columns/common.js";
6
+ import type { AnyIndexBuilder } from "./indexes.js";
7
+ import type { PrimaryKeyBuilder } from "./primary-keys.js";
8
+ import type { UniqueConstraintBuilder } from "./unique-constraint.js";
9
+ export type SingleStoreTableExtraConfig = Record<string, AnyIndexBuilder | PrimaryKeyBuilder | UniqueConstraintBuilder>;
10
+ export type TableConfig = TableConfigBase<SingleStoreColumn>;
11
+ export declare class SingleStoreTable<T extends TableConfig = TableConfig> extends Table<T> {
12
+ static readonly [entityKind]: string;
13
+ protected $columns: T['columns'];
14
+ }
15
+ export type AnySingleStoreTable<TPartial extends Partial<TableConfig> = {}> = SingleStoreTable<UpdateTableConfig<TableConfig, TPartial>>;
16
+ export type SingleStoreTableWithColumns<T extends TableConfig> = SingleStoreTable<T> & {
17
+ [Key in keyof T['columns']]: T['columns'][Key];
18
+ };
19
+ export declare function singlestoreTableWithSchema<TTableName extends string, TSchemaName extends string | undefined, TColumnsMap extends Record<string, SingleStoreColumnBuilderBase>>(name: TTableName, columns: TColumnsMap | ((columnTypes: SingleStoreColumnBuilders) => TColumnsMap), extraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'singlestore'>) => SingleStoreTableExtraConfig) | undefined, schema: TSchemaName, baseName?: TTableName): SingleStoreTableWithColumns<{
20
+ name: TTableName;
21
+ schema: TSchemaName;
22
+ columns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;
23
+ dialect: 'singlestore';
24
+ }>;
25
+ export interface SingleStoreTableFn<TSchemaName extends string | undefined = undefined> {
26
+ <TTableName extends string, TColumnsMap extends Record<string, SingleStoreColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'singlestore'>) => SingleStoreTableExtraConfig): SingleStoreTableWithColumns<{
27
+ name: TTableName;
28
+ schema: TSchemaName;
29
+ columns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;
30
+ dialect: 'singlestore';
31
+ }>;
32
+ <TTableName extends string, TColumnsMap extends Record<string, SingleStoreColumnBuilderBase>>(name: TTableName, columns: (columnTypes: SingleStoreColumnBuilders) => TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'singlestore'>) => SingleStoreTableExtraConfig): SingleStoreTableWithColumns<{
33
+ name: TTableName;
34
+ schema: TSchemaName;
35
+ columns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;
36
+ dialect: 'singlestore';
37
+ }>;
38
+ }
39
+ export declare const singlestoreTable: SingleStoreTableFn;
40
+ export declare function singlestoreTableCreator(customizeTableName: (name: string) => string): SingleStoreTableFn;
@@ -0,0 +1,46 @@
1
+ import { entityKind } from "../entity.js";
2
+ import { Table } from "../table.js";
3
+ import { getSingleStoreColumnBuilders } from "./columns/all.js";
4
+ class SingleStoreTable extends Table {
5
+ static [entityKind] = "SingleStoreTable";
6
+ /** @internal */
7
+ static Symbol = Object.assign({}, Table.Symbol, {});
8
+ /** @internal */
9
+ [Table.Symbol.Columns];
10
+ /** @internal */
11
+ [Table.Symbol.ExtraConfigBuilder] = void 0;
12
+ }
13
+ function singlestoreTableWithSchema(name, columns, extraConfig, schema, baseName = name) {
14
+ const rawTable = new SingleStoreTable(name, schema, baseName);
15
+ const parsedColumns = typeof columns === "function" ? columns(getSingleStoreColumnBuilders()) : columns;
16
+ const builtColumns = Object.fromEntries(
17
+ Object.entries(parsedColumns).map(([name2, colBuilderBase]) => {
18
+ const colBuilder = colBuilderBase;
19
+ colBuilder.setName(name2);
20
+ const column = colBuilder.build(rawTable);
21
+ return [name2, column];
22
+ })
23
+ );
24
+ const table = Object.assign(rawTable, builtColumns);
25
+ table[Table.Symbol.Columns] = builtColumns;
26
+ table[Table.Symbol.ExtraConfigColumns] = builtColumns;
27
+ if (extraConfig) {
28
+ table[SingleStoreTable.Symbol.ExtraConfigBuilder] = extraConfig;
29
+ }
30
+ return table;
31
+ }
32
+ const singlestoreTable = (name, columns, extraConfig) => {
33
+ return singlestoreTableWithSchema(name, columns, extraConfig, void 0, name);
34
+ };
35
+ function singlestoreTableCreator(customizeTableName) {
36
+ return (name, columns, extraConfig) => {
37
+ return singlestoreTableWithSchema(customizeTableName(name), columns, extraConfig, void 0, name);
38
+ };
39
+ }
40
+ export {
41
+ SingleStoreTable,
42
+ singlestoreTable,
43
+ singlestoreTableCreator,
44
+ singlestoreTableWithSchema
45
+ };
46
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/singlestore-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport { getSingleStoreColumnBuilders, type SingleStoreColumnBuilders } from './columns/all.ts';\nimport type { SingleStoreColumn, SingleStoreColumnBuilder, SingleStoreColumnBuilderBase } from './columns/common.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type SingleStoreTableExtraConfig = Record<\n\tstring,\n\t| AnyIndexBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n>;\n\nexport type TableConfig = TableConfigBase<SingleStoreColumn>;\n\nexport class SingleStoreTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreTable';\n\n\tdeclare protected $columns: T['columns'];\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, SingleStoreColumn>) => SingleStoreTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnySingleStoreTable<TPartial extends Partial<TableConfig> = {}> = SingleStoreTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type SingleStoreTableWithColumns<T extends TableConfig> =\n\t& SingleStoreTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport function singlestoreTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, SingleStoreColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: SingleStoreColumnBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((self: BuildColumns<TTableName, TColumnsMap, 'singlestore'>) => SingleStoreTableExtraConfig)\n\t\t| undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): SingleStoreTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;\n\tdialect: 'singlestore';\n}> {\n\tconst rawTable = new SingleStoreTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;\n\t\tdialect: 'singlestore';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getSingleStoreColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as SingleStoreColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'singlestore'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'singlestore'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[SingleStoreTable.Symbol.ExtraConfigBuilder] = extraConfig as unknown as (\n\t\t\tself: Record<string, SingleStoreColumn>,\n\t\t) => SingleStoreTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport interface SingleStoreTableFn<TSchemaName extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SingleStoreColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'singlestore'>) => SingleStoreTableExtraConfig,\n\t): SingleStoreTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;\n\t\tdialect: 'singlestore';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SingleStoreColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SingleStoreColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'singlestore'>) => SingleStoreTableExtraConfig,\n\t): SingleStoreTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'singlestore'>;\n\t\tdialect: 'singlestore';\n\t}>;\n}\n\nexport const singlestoreTable: SingleStoreTableFn = (name, columns, extraConfig) => {\n\treturn singlestoreTableWithSchema(name, columns, extraConfig, undefined, name);\n};\n\nexport function singlestoreTableCreator(customizeTableName: (name: string) => string): SingleStoreTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn singlestoreTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B,SAAS,aAA0E;AACnF,SAAS,oCAAoE;AAetE,MAAM,yBAA8D,MAAS;AAAA,EACnF,QAA0B,UAAU,IAAY;AAAA;AAAA,EAKhD,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAC;AAAA;AAAA,EAGpE,CAAU,MAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAU,MAAM,OAAO,kBAAkB,IAE1B;AAChB;AAYO,SAAS,2BAKf,MACA,SACA,aAGA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,iBAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,QAAQ,6BAA6B,CAAC,IAAI;AAE7G,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,MAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,MAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,iBAAiB,OAAO,kBAAkB,IAAI;AAAA,EAGrD;AAEA,SAAO;AACR;AAgCO,MAAM,mBAAuC,CAAC,MAAM,SAAS,gBAAgB;AACnF,SAAO,2BAA2B,MAAM,SAAS,aAAa,QAAW,IAAI;AAC9E;AAEO,SAAS,wBAAwB,oBAAkE;AACzG,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,2BAA2B,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EACjH;AACD;","names":["name"]}
@@ -0,0 +1,82 @@
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 unique_constraint_exports = {};
20
+ __export(unique_constraint_exports, {
21
+ UniqueConstraint: () => UniqueConstraint,
22
+ UniqueConstraintBuilder: () => UniqueConstraintBuilder,
23
+ UniqueOnConstraintBuilder: () => UniqueOnConstraintBuilder,
24
+ unique: () => unique,
25
+ uniqueKeyName: () => uniqueKeyName
26
+ });
27
+ module.exports = __toCommonJS(unique_constraint_exports);
28
+ var import_entity = require("../entity.cjs");
29
+ var import_table_utils = require("../table.utils.cjs");
30
+ function unique(name) {
31
+ return new UniqueOnConstraintBuilder(name);
32
+ }
33
+ function uniqueKeyName(table, columns) {
34
+ return `${table[import_table_utils.TableName]}_${columns.join("_")}_unique`;
35
+ }
36
+ class UniqueConstraintBuilder {
37
+ constructor(columns, name) {
38
+ this.name = name;
39
+ this.columns = columns;
40
+ }
41
+ static [import_entity.entityKind] = "SingleStoreUniqueConstraintBuilder";
42
+ /** @internal */
43
+ columns;
44
+ /** @internal */
45
+ build(table) {
46
+ return new UniqueConstraint(table, this.columns, this.name);
47
+ }
48
+ }
49
+ class UniqueOnConstraintBuilder {
50
+ static [import_entity.entityKind] = "SingleStoreUniqueOnConstraintBuilder";
51
+ /** @internal */
52
+ name;
53
+ constructor(name) {
54
+ this.name = name;
55
+ }
56
+ on(...columns) {
57
+ return new UniqueConstraintBuilder(columns, this.name);
58
+ }
59
+ }
60
+ class UniqueConstraint {
61
+ constructor(table, columns, name) {
62
+ this.table = table;
63
+ this.columns = columns;
64
+ this.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));
65
+ }
66
+ static [import_entity.entityKind] = "SingleStoreUniqueConstraint";
67
+ columns;
68
+ name;
69
+ nullsNotDistinct = false;
70
+ getName() {
71
+ return this.name;
72
+ }
73
+ }
74
+ // Annotate the CommonJS export names for ESM import in node:
75
+ 0 && (module.exports = {
76
+ UniqueConstraint,
77
+ UniqueConstraintBuilder,
78
+ UniqueOnConstraintBuilder,
79
+ unique,
80
+ uniqueKeyName
81
+ });
82
+ //# sourceMappingURL=unique-constraint.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/singlestore-core/unique-constraint.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { SingleStoreColumn } from './columns/index.ts';\nimport type { SingleStoreTable } from './table.ts';\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport function uniqueKeyName(table: SingleStoreTable, columns: string[]) {\n\treturn `${table[TableName]}_${columns.join('_')}_unique`;\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'SingleStoreUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: SingleStoreColumn[];\n\n\tconstructor(\n\t\tcolumns: SingleStoreColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: SingleStoreTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'SingleStoreUniqueOnConstraintBuilder';\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: [SingleStoreColumn, ...SingleStoreColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'SingleStoreUniqueConstraint';\n\n\treadonly columns: SingleStoreColumn[];\n\treadonly name?: string;\n\treadonly nullsNotDistinct: boolean = false;\n\n\tconstructor(readonly table: SingleStoreTable, columns: SingleStoreColumn[], 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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,yBAA0B;AAInB,SAAS,OAAO,MAA0C;AAChE,SAAO,IAAI,0BAA0B,IAAI;AAC1C;AAEO,SAAS,cAAc,OAAyB,SAAmB;AACzE,SAAO,GAAG,MAAM,4BAAS,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC;AAChD;AAEO,MAAM,wBAAwB;AAAA,EAMpC,YACC,SACQ,MACP;AADO;AAER,SAAK,UAAU;AAAA,EAChB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAUA,MAAM,OAA2C;AAChD,WAAO,IAAI,iBAAiB,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3D;AACD;AAEO,MAAM,0BAA0B;AAAA,EACtC,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA,EAEA,YACC,MACC;AACD,SAAK,OAAO;AAAA,EACb;AAAA,EAEA,MAAM,SAAsD;AAC3D,WAAO,IAAI,wBAAwB,SAAS,KAAK,IAAI;AAAA,EACtD;AACD;AAEO,MAAM,iBAAiB;AAAA,EAO7B,YAAqB,OAAyB,SAA8B,MAAe;AAAtE;AACpB,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ,cAAc,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC;AAAA,EACxF;AAAA,EATA,QAAiB,wBAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA,mBAA4B;AAAA,EAOrC,UAAU;AACT,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
@@ -0,0 +1,24 @@
1
+ import { entityKind } from "../entity.cjs";
2
+ import type { SingleStoreColumn } from "./columns/index.cjs";
3
+ import type { SingleStoreTable } from "./table.cjs";
4
+ export declare function unique(name?: string): UniqueOnConstraintBuilder;
5
+ export declare function uniqueKeyName(table: SingleStoreTable, columns: string[]): string;
6
+ export declare class UniqueConstraintBuilder {
7
+ private name?;
8
+ static readonly [entityKind]: string;
9
+ constructor(columns: SingleStoreColumn[], name?: string | undefined);
10
+ }
11
+ export declare class UniqueOnConstraintBuilder {
12
+ static readonly [entityKind]: string;
13
+ constructor(name?: string);
14
+ on(...columns: [SingleStoreColumn, ...SingleStoreColumn[]]): UniqueConstraintBuilder;
15
+ }
16
+ export declare class UniqueConstraint {
17
+ readonly table: SingleStoreTable;
18
+ static readonly [entityKind]: string;
19
+ readonly columns: SingleStoreColumn[];
20
+ readonly name?: string;
21
+ readonly nullsNotDistinct: boolean;
22
+ constructor(table: SingleStoreTable, columns: SingleStoreColumn[], name?: string);
23
+ getName(): string | undefined;
24
+ }
@@ -0,0 +1,24 @@
1
+ import { entityKind } from "../entity.js";
2
+ import type { SingleStoreColumn } from "./columns/index.js";
3
+ import type { SingleStoreTable } from "./table.js";
4
+ export declare function unique(name?: string): UniqueOnConstraintBuilder;
5
+ export declare function uniqueKeyName(table: SingleStoreTable, columns: string[]): string;
6
+ export declare class UniqueConstraintBuilder {
7
+ private name?;
8
+ static readonly [entityKind]: string;
9
+ constructor(columns: SingleStoreColumn[], name?: string | undefined);
10
+ }
11
+ export declare class UniqueOnConstraintBuilder {
12
+ static readonly [entityKind]: string;
13
+ constructor(name?: string);
14
+ on(...columns: [SingleStoreColumn, ...SingleStoreColumn[]]): UniqueConstraintBuilder;
15
+ }
16
+ export declare class UniqueConstraint {
17
+ readonly table: SingleStoreTable;
18
+ static readonly [entityKind]: string;
19
+ readonly columns: SingleStoreColumn[];
20
+ readonly name?: string;
21
+ readonly nullsNotDistinct: boolean;
22
+ constructor(table: SingleStoreTable, columns: SingleStoreColumn[], name?: string);
23
+ getName(): string | undefined;
24
+ }