drizzle-orm 0.36.4-ddb97ec → 0.37.0-0c27176

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 (510) 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/columns/all.cjs +4 -1
  30. package/mysql-core/columns/all.cjs.map +1 -1
  31. package/mysql-core/columns/all.d.cts +4 -1
  32. package/mysql-core/columns/all.d.ts +4 -1
  33. package/mysql-core/columns/all.js +5 -2
  34. package/mysql-core/columns/all.js.map +1 -1
  35. package/mysql-core/columns/char.cjs.map +1 -1
  36. package/mysql-core/columns/char.d.cts +19 -10
  37. package/mysql-core/columns/char.d.ts +19 -10
  38. package/mysql-core/columns/char.js.map +1 -1
  39. package/mysql-core/columns/common.cjs.map +1 -1
  40. package/mysql-core/columns/common.d.cts +1 -1
  41. package/mysql-core/columns/common.d.ts +1 -1
  42. package/mysql-core/columns/common.js.map +1 -1
  43. package/mysql-core/columns/text.cjs.map +1 -1
  44. package/mysql-core/columns/text.d.cts +1 -1
  45. package/mysql-core/columns/text.d.ts +1 -1
  46. package/mysql-core/columns/text.js.map +1 -1
  47. package/mysql-core/columns/varchar.cjs.map +1 -1
  48. package/mysql-core/columns/varchar.d.cts +14 -7
  49. package/mysql-core/columns/varchar.d.ts +14 -7
  50. package/mysql-core/columns/varchar.js.map +1 -1
  51. package/mysql-core/utils.d.cts +2 -3
  52. package/mysql-core/utils.d.ts +2 -3
  53. package/mysql-core/view.cjs.map +1 -1
  54. package/mysql-core/view.d.cts +2 -3
  55. package/mysql-core/view.d.ts +2 -3
  56. package/mysql-core/view.js.map +1 -1
  57. package/neon-http/driver.cjs.map +1 -1
  58. package/neon-http/driver.d.cts +3 -3
  59. package/neon-http/driver.d.ts +3 -3
  60. package/neon-http/driver.js.map +1 -1
  61. package/package.json +784 -3
  62. package/pg-core/columns/char.cjs +4 -1
  63. package/pg-core/columns/char.cjs.map +1 -1
  64. package/pg-core/columns/char.d.cts +21 -12
  65. package/pg-core/columns/char.d.ts +21 -12
  66. package/pg-core/columns/char.js +4 -1
  67. package/pg-core/columns/char.js.map +1 -1
  68. package/pg-core/columns/common.cjs.map +1 -1
  69. package/pg-core/columns/common.d.cts +25 -8
  70. package/pg-core/columns/common.d.ts +25 -8
  71. package/pg-core/columns/common.js.map +1 -1
  72. package/pg-core/columns/varchar.cjs +4 -1
  73. package/pg-core/columns/varchar.cjs.map +1 -1
  74. package/pg-core/columns/varchar.d.cts +21 -12
  75. package/pg-core/columns/varchar.d.ts +21 -12
  76. package/pg-core/columns/varchar.js +4 -1
  77. package/pg-core/columns/varchar.js.map +1 -1
  78. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  79. package/pg-core/columns/vector_extension/bit.d.cts +18 -11
  80. package/pg-core/columns/vector_extension/bit.d.ts +18 -11
  81. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  82. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  83. package/pg-core/columns/vector_extension/halfvec.d.cts +20 -11
  84. package/pg-core/columns/vector_extension/halfvec.d.ts +20 -11
  85. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  86. package/pg-core/columns/vector_extension/vector.cjs +4 -1
  87. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  88. package/pg-core/columns/vector_extension/vector.d.cts +19 -10
  89. package/pg-core/columns/vector_extension/vector.d.ts +19 -10
  90. package/pg-core/columns/vector_extension/vector.js +4 -1
  91. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  92. package/pg-core/db.cjs +4 -2
  93. package/pg-core/db.cjs.map +1 -1
  94. package/pg-core/db.js +4 -2
  95. package/pg-core/db.js.map +1 -1
  96. package/pg-core/utils.d.cts +2 -3
  97. package/pg-core/utils.d.ts +2 -3
  98. package/pg-core/view.cjs.map +1 -1
  99. package/pg-core/view.d.cts +4 -5
  100. package/pg-core/view.d.ts +4 -5
  101. package/pg-core/view.js.map +1 -1
  102. package/query-builders/select.types.cjs.map +1 -1
  103. package/query-builders/select.types.d.cts +2 -2
  104. package/query-builders/select.types.d.ts +2 -2
  105. package/singlestore/driver.cjs +113 -0
  106. package/singlestore/driver.cjs.map +1 -0
  107. package/singlestore/driver.d.cts +52 -0
  108. package/singlestore/driver.d.ts +52 -0
  109. package/singlestore/driver.js +89 -0
  110. package/singlestore/driver.js.map +1 -0
  111. package/singlestore/index.cjs +25 -0
  112. package/singlestore/index.cjs.map +1 -0
  113. package/singlestore/index.d.cts +2 -0
  114. package/singlestore/index.d.ts +2 -0
  115. package/singlestore/index.js +3 -0
  116. package/singlestore/index.js.map +1 -0
  117. package/singlestore/migrator.cjs +33 -0
  118. package/singlestore/migrator.cjs.map +1 -0
  119. package/singlestore/migrator.d.cts +3 -0
  120. package/singlestore/migrator.d.ts +3 -0
  121. package/singlestore/migrator.js +9 -0
  122. package/singlestore/migrator.js.map +1 -0
  123. package/singlestore/session.cjs +258 -0
  124. package/singlestore/session.cjs.map +1 -0
  125. package/singlestore/session.d.cts +52 -0
  126. package/singlestore/session.d.ts +52 -0
  127. package/singlestore/session.js +236 -0
  128. package/singlestore/session.js.map +1 -0
  129. package/singlestore-core/alias.cjs +32 -0
  130. package/singlestore-core/alias.cjs.map +1 -0
  131. package/singlestore-core/alias.d.cts +4 -0
  132. package/singlestore-core/alias.d.ts +4 -0
  133. package/singlestore-core/alias.js +8 -0
  134. package/singlestore-core/alias.js.map +1 -0
  135. package/singlestore-core/columns/all.cjs +80 -0
  136. package/singlestore-core/columns/all.cjs.map +1 -0
  137. package/singlestore-core/columns/all.d.cts +51 -0
  138. package/singlestore-core/columns/all.d.ts +51 -0
  139. package/singlestore-core/columns/all.js +56 -0
  140. package/singlestore-core/columns/all.js.map +1 -0
  141. package/singlestore-core/columns/bigint.cjs +96 -0
  142. package/singlestore-core/columns/bigint.cjs.map +1 -0
  143. package/singlestore-core/columns/bigint.d.cts +53 -0
  144. package/singlestore-core/columns/bigint.d.ts +53 -0
  145. package/singlestore-core/columns/bigint.js +68 -0
  146. package/singlestore-core/columns/bigint.js.map +1 -0
  147. package/singlestore-core/columns/binary.cjs +60 -0
  148. package/singlestore-core/columns/binary.cjs.map +1 -0
  149. package/singlestore-core/columns/binary.d.cts +28 -0
  150. package/singlestore-core/columns/binary.d.ts +28 -0
  151. package/singlestore-core/columns/binary.js +34 -0
  152. package/singlestore-core/columns/binary.js.map +1 -0
  153. package/singlestore-core/columns/boolean.cjs +62 -0
  154. package/singlestore-core/columns/boolean.cjs.map +1 -0
  155. package/singlestore-core/columns/boolean.d.cts +24 -0
  156. package/singlestore-core/columns/boolean.d.ts +24 -0
  157. package/singlestore-core/columns/boolean.js +36 -0
  158. package/singlestore-core/columns/boolean.js.map +1 -0
  159. package/singlestore-core/columns/char.cjs +62 -0
  160. package/singlestore-core/columns/char.cjs.map +1 -0
  161. package/singlestore-core/columns/char.d.cts +31 -0
  162. package/singlestore-core/columns/char.d.ts +31 -0
  163. package/singlestore-core/columns/char.js +36 -0
  164. package/singlestore-core/columns/char.js.map +1 -0
  165. package/singlestore-core/columns/common.cjs +82 -0
  166. package/singlestore-core/columns/common.cjs.map +1 -0
  167. package/singlestore-core/columns/common.d.cts +42 -0
  168. package/singlestore-core/columns/common.d.ts +42 -0
  169. package/singlestore-core/columns/common.js +55 -0
  170. package/singlestore-core/columns/common.js.map +1 -0
  171. package/singlestore-core/columns/custom.cjs +77 -0
  172. package/singlestore-core/columns/custom.cjs.map +1 -0
  173. package/singlestore-core/columns/custom.d.cts +156 -0
  174. package/singlestore-core/columns/custom.d.ts +156 -0
  175. package/singlestore-core/columns/custom.js +51 -0
  176. package/singlestore-core/columns/custom.js.map +1 -0
  177. package/singlestore-core/columns/date.cjs +93 -0
  178. package/singlestore-core/columns/date.cjs.map +1 -0
  179. package/singlestore-core/columns/date.common.cjs +48 -0
  180. package/singlestore-core/columns/date.common.cjs.map +1 -0
  181. package/singlestore-core/columns/date.common.d.cts +16 -0
  182. package/singlestore-core/columns/date.common.d.ts +16 -0
  183. package/singlestore-core/columns/date.common.js +23 -0
  184. package/singlestore-core/columns/date.common.js.map +1 -0
  185. package/singlestore-core/columns/date.d.cts +53 -0
  186. package/singlestore-core/columns/date.d.ts +53 -0
  187. package/singlestore-core/columns/date.js +65 -0
  188. package/singlestore-core/columns/date.js.map +1 -0
  189. package/singlestore-core/columns/datetime.cjs +106 -0
  190. package/singlestore-core/columns/datetime.cjs.map +1 -0
  191. package/singlestore-core/columns/datetime.d.cts +54 -0
  192. package/singlestore-core/columns/datetime.d.ts +54 -0
  193. package/singlestore-core/columns/datetime.js +78 -0
  194. package/singlestore-core/columns/datetime.js.map +1 -0
  195. package/singlestore-core/columns/decimal.cjs +76 -0
  196. package/singlestore-core/columns/decimal.cjs.map +1 -0
  197. package/singlestore-core/columns/decimal.d.cts +32 -0
  198. package/singlestore-core/columns/decimal.d.ts +32 -0
  199. package/singlestore-core/columns/decimal.js +50 -0
  200. package/singlestore-core/columns/decimal.js.map +1 -0
  201. package/singlestore-core/columns/double.cjs +72 -0
  202. package/singlestore-core/columns/double.cjs.map +1 -0
  203. package/singlestore-core/columns/double.d.cts +32 -0
  204. package/singlestore-core/columns/double.d.ts +32 -0
  205. package/singlestore-core/columns/double.js +46 -0
  206. package/singlestore-core/columns/double.js.map +1 -0
  207. package/singlestore-core/columns/enum.cjs +67 -0
  208. package/singlestore-core/columns/enum.cjs.map +1 -0
  209. package/singlestore-core/columns/enum.d.cts +31 -0
  210. package/singlestore-core/columns/enum.d.ts +31 -0
  211. package/singlestore-core/columns/enum.js +41 -0
  212. package/singlestore-core/columns/enum.js.map +1 -0
  213. package/singlestore-core/columns/float.cjs +72 -0
  214. package/singlestore-core/columns/float.cjs.map +1 -0
  215. package/singlestore-core/columns/float.d.cts +32 -0
  216. package/singlestore-core/columns/float.d.ts +32 -0
  217. package/singlestore-core/columns/float.js +46 -0
  218. package/singlestore-core/columns/float.js.map +1 -0
  219. package/singlestore-core/columns/index.cjs +71 -0
  220. package/singlestore-core/columns/index.cjs.map +1 -0
  221. package/singlestore-core/columns/index.d.cts +25 -0
  222. package/singlestore-core/columns/index.d.ts +25 -0
  223. package/singlestore-core/columns/index.js +26 -0
  224. package/singlestore-core/columns/index.js.map +1 -0
  225. package/singlestore-core/columns/int.cjs +65 -0
  226. package/singlestore-core/columns/int.cjs.map +1 -0
  227. package/singlestore-core/columns/int.d.cts +28 -0
  228. package/singlestore-core/columns/int.d.ts +28 -0
  229. package/singlestore-core/columns/int.js +39 -0
  230. package/singlestore-core/columns/int.js.map +1 -0
  231. package/singlestore-core/columns/json.cjs +59 -0
  232. package/singlestore-core/columns/json.cjs.map +1 -0
  233. package/singlestore-core/columns/json.d.cts +24 -0
  234. package/singlestore-core/columns/json.d.ts +24 -0
  235. package/singlestore-core/columns/json.js +33 -0
  236. package/singlestore-core/columns/json.js.map +1 -0
  237. package/singlestore-core/columns/mediumint.cjs +65 -0
  238. package/singlestore-core/columns/mediumint.cjs.map +1 -0
  239. package/singlestore-core/columns/mediumint.d.cts +26 -0
  240. package/singlestore-core/columns/mediumint.d.ts +26 -0
  241. package/singlestore-core/columns/mediumint.js +39 -0
  242. package/singlestore-core/columns/mediumint.js.map +1 -0
  243. package/singlestore-core/columns/real.cjs +68 -0
  244. package/singlestore-core/columns/real.cjs.map +1 -0
  245. package/singlestore-core/columns/real.d.cts +30 -0
  246. package/singlestore-core/columns/real.d.ts +30 -0
  247. package/singlestore-core/columns/real.js +42 -0
  248. package/singlestore-core/columns/real.js.map +1 -0
  249. package/singlestore-core/columns/serial.cjs +64 -0
  250. package/singlestore-core/columns/serial.cjs.map +1 -0
  251. package/singlestore-core/columns/serial.d.cts +24 -0
  252. package/singlestore-core/columns/serial.d.ts +24 -0
  253. package/singlestore-core/columns/serial.js +38 -0
  254. package/singlestore-core/columns/serial.js.map +1 -0
  255. package/singlestore-core/columns/smallint.cjs +65 -0
  256. package/singlestore-core/columns/smallint.cjs.map +1 -0
  257. package/singlestore-core/columns/smallint.d.cts +26 -0
  258. package/singlestore-core/columns/smallint.d.ts +26 -0
  259. package/singlestore-core/columns/smallint.js +39 -0
  260. package/singlestore-core/columns/smallint.js.map +1 -0
  261. package/singlestore-core/columns/text.cjs +80 -0
  262. package/singlestore-core/columns/text.cjs.map +1 -0
  263. package/singlestore-core/columns/text.d.cts +46 -0
  264. package/singlestore-core/columns/text.d.ts +46 -0
  265. package/singlestore-core/columns/text.js +51 -0
  266. package/singlestore-core/columns/text.js.map +1 -0
  267. package/singlestore-core/columns/time.cjs +56 -0
  268. package/singlestore-core/columns/time.cjs.map +1 -0
  269. package/singlestore-core/columns/time.d.cts +23 -0
  270. package/singlestore-core/columns/time.d.ts +23 -0
  271. package/singlestore-core/columns/time.js +30 -0
  272. package/singlestore-core/columns/time.js.map +1 -0
  273. package/singlestore-core/columns/timestamp.cjs +97 -0
  274. package/singlestore-core/columns/timestamp.cjs.map +1 -0
  275. package/singlestore-core/columns/timestamp.d.cts +49 -0
  276. package/singlestore-core/columns/timestamp.d.ts +49 -0
  277. package/singlestore-core/columns/timestamp.js +69 -0
  278. package/singlestore-core/columns/timestamp.js.map +1 -0
  279. package/singlestore-core/columns/tinyint.cjs +65 -0
  280. package/singlestore-core/columns/tinyint.cjs.map +1 -0
  281. package/singlestore-core/columns/tinyint.d.cts +26 -0
  282. package/singlestore-core/columns/tinyint.d.ts +26 -0
  283. package/singlestore-core/columns/tinyint.js +39 -0
  284. package/singlestore-core/columns/tinyint.js.map +1 -0
  285. package/singlestore-core/columns/varbinary.cjs +61 -0
  286. package/singlestore-core/columns/varbinary.cjs.map +1 -0
  287. package/singlestore-core/columns/varbinary.d.cts +26 -0
  288. package/singlestore-core/columns/varbinary.d.ts +26 -0
  289. package/singlestore-core/columns/varbinary.js +35 -0
  290. package/singlestore-core/columns/varbinary.js.map +1 -0
  291. package/singlestore-core/columns/varchar.cjs +63 -0
  292. package/singlestore-core/columns/varchar.cjs.map +1 -0
  293. package/singlestore-core/columns/varchar.d.cts +29 -0
  294. package/singlestore-core/columns/varchar.d.ts +29 -0
  295. package/singlestore-core/columns/varchar.js +37 -0
  296. package/singlestore-core/columns/varchar.js.map +1 -0
  297. package/singlestore-core/columns/year.cjs +56 -0
  298. package/singlestore-core/columns/year.cjs.map +1 -0
  299. package/singlestore-core/columns/year.d.cts +23 -0
  300. package/singlestore-core/columns/year.d.ts +23 -0
  301. package/singlestore-core/columns/year.js +30 -0
  302. package/singlestore-core/columns/year.js.map +1 -0
  303. package/singlestore-core/db.cjs +261 -0
  304. package/singlestore-core/db.cjs.map +1 -0
  305. package/singlestore-core/db.d.cts +231 -0
  306. package/singlestore-core/db.d.ts +231 -0
  307. package/singlestore-core/db.js +242 -0
  308. package/singlestore-core/db.js.map +1 -0
  309. package/singlestore-core/dialect.cjs +607 -0
  310. package/singlestore-core/dialect.cjs.map +1 -0
  311. package/singlestore-core/dialect.d.cts +64 -0
  312. package/singlestore-core/dialect.d.ts +64 -0
  313. package/singlestore-core/dialect.js +589 -0
  314. package/singlestore-core/dialect.js.map +1 -0
  315. package/singlestore-core/expressions.cjs +49 -0
  316. package/singlestore-core/expressions.cjs.map +1 -0
  317. package/singlestore-core/expressions.d.cts +8 -0
  318. package/singlestore-core/expressions.d.ts +8 -0
  319. package/singlestore-core/expressions.js +22 -0
  320. package/singlestore-core/expressions.js.map +1 -0
  321. package/singlestore-core/index.cjs +47 -0
  322. package/singlestore-core/index.cjs.map +1 -0
  323. package/singlestore-core/index.d.cts +13 -0
  324. package/singlestore-core/index.d.ts +13 -0
  325. package/singlestore-core/index.js +14 -0
  326. package/singlestore-core/index.js.map +1 -0
  327. package/singlestore-core/indexes.cjs +88 -0
  328. package/singlestore-core/indexes.cjs.map +1 -0
  329. package/singlestore-core/indexes.d.cts +62 -0
  330. package/singlestore-core/indexes.d.ts +62 -0
  331. package/singlestore-core/indexes.js +60 -0
  332. package/singlestore-core/indexes.js.map +1 -0
  333. package/singlestore-core/primary-keys.cjs +68 -0
  334. package/singlestore-core/primary-keys.cjs.map +1 -0
  335. package/singlestore-core/primary-keys.d.cts +30 -0
  336. package/singlestore-core/primary-keys.d.ts +30 -0
  337. package/singlestore-core/primary-keys.js +42 -0
  338. package/singlestore-core/primary-keys.js.map +1 -0
  339. package/singlestore-core/query-builders/count.cjs +73 -0
  340. package/singlestore-core/query-builders/count.cjs.map +1 -0
  341. package/singlestore-core/query-builders/count.d.cts +25 -0
  342. package/singlestore-core/query-builders/count.d.ts +25 -0
  343. package/singlestore-core/query-builders/count.js +49 -0
  344. package/singlestore-core/query-builders/count.js.map +1 -0
  345. package/singlestore-core/query-builders/delete.cjs +123 -0
  346. package/singlestore-core/query-builders/delete.cjs.map +1 -0
  347. package/singlestore-core/query-builders/delete.d.cts +83 -0
  348. package/singlestore-core/query-builders/delete.d.ts +83 -0
  349. package/singlestore-core/query-builders/delete.js +99 -0
  350. package/singlestore-core/query-builders/delete.js.map +1 -0
  351. package/singlestore-core/query-builders/index.cjs +33 -0
  352. package/singlestore-core/query-builders/index.cjs.map +1 -0
  353. package/singlestore-core/query-builders/index.d.cts +6 -0
  354. package/singlestore-core/query-builders/index.d.ts +6 -0
  355. package/singlestore-core/query-builders/index.js +7 -0
  356. package/singlestore-core/query-builders/index.js.map +1 -0
  357. package/singlestore-core/query-builders/insert.cjs +146 -0
  358. package/singlestore-core/query-builders/insert.cjs.map +1 -0
  359. package/singlestore-core/query-builders/insert.d.cts +106 -0
  360. package/singlestore-core/query-builders/insert.d.ts +106 -0
  361. package/singlestore-core/query-builders/insert.js +121 -0
  362. package/singlestore-core/query-builders/insert.js.map +1 -0
  363. package/singlestore-core/query-builders/query-builder.cjs +99 -0
  364. package/singlestore-core/query-builders/query-builder.cjs.map +1 -0
  365. package/singlestore-core/query-builders/query-builder.d.cts +33 -0
  366. package/singlestore-core/query-builders/query-builder.d.ts +33 -0
  367. package/singlestore-core/query-builders/query-builder.js +75 -0
  368. package/singlestore-core/query-builders/query-builder.js.map +1 -0
  369. package/singlestore-core/query-builders/query.cjs +126 -0
  370. package/singlestore-core/query-builders/query.cjs.map +1 -0
  371. package/singlestore-core/query-builders/query.d.cts +42 -0
  372. package/singlestore-core/query-builders/query.d.ts +42 -0
  373. package/singlestore-core/query-builders/query.js +103 -0
  374. package/singlestore-core/query-builders/query.js.map +1 -0
  375. package/singlestore-core/query-builders/select.cjs +687 -0
  376. package/singlestore-core/query-builders/select.cjs.map +1 -0
  377. package/singlestore-core/query-builders/select.d.cts +585 -0
  378. package/singlestore-core/query-builders/select.d.ts +585 -0
  379. package/singlestore-core/query-builders/select.js +662 -0
  380. package/singlestore-core/query-builders/select.js.map +1 -0
  381. package/singlestore-core/query-builders/select.types.cjs +17 -0
  382. package/singlestore-core/query-builders/select.types.cjs.map +1 -0
  383. package/singlestore-core/query-builders/select.types.d.cts +137 -0
  384. package/singlestore-core/query-builders/select.types.d.ts +137 -0
  385. package/singlestore-core/query-builders/select.types.js +1 -0
  386. package/singlestore-core/query-builders/select.types.js.map +1 -0
  387. package/singlestore-core/query-builders/update.cjs +147 -0
  388. package/singlestore-core/query-builders/update.cjs.map +1 -0
  389. package/singlestore-core/query-builders/update.d.cts +102 -0
  390. package/singlestore-core/query-builders/update.d.ts +102 -0
  391. package/singlestore-core/query-builders/update.js +122 -0
  392. package/singlestore-core/query-builders/update.js.map +1 -0
  393. package/singlestore-core/schema.cjs +56 -0
  394. package/singlestore-core/schema.cjs.map +1 -0
  395. package/singlestore-core/schema.d.cts +22 -0
  396. package/singlestore-core/schema.d.ts +22 -0
  397. package/singlestore-core/schema.js +29 -0
  398. package/singlestore-core/schema.js.map +1 -0
  399. package/singlestore-core/session.cjs +87 -0
  400. package/singlestore-core/session.cjs.map +1 -0
  401. package/singlestore-core/session.d.cts +66 -0
  402. package/singlestore-core/session.d.ts +66 -0
  403. package/singlestore-core/session.js +61 -0
  404. package/singlestore-core/session.js.map +1 -0
  405. package/singlestore-core/subquery.cjs +17 -0
  406. package/singlestore-core/subquery.cjs.map +1 -0
  407. package/singlestore-core/subquery.d.cts +5 -0
  408. package/singlestore-core/subquery.d.ts +5 -0
  409. package/singlestore-core/subquery.js +1 -0
  410. package/singlestore-core/subquery.js.map +1 -0
  411. package/singlestore-core/table.cjs +73 -0
  412. package/singlestore-core/table.cjs.map +1 -0
  413. package/singlestore-core/table.d.cts +40 -0
  414. package/singlestore-core/table.d.ts +40 -0
  415. package/singlestore-core/table.js +46 -0
  416. package/singlestore-core/table.js.map +1 -0
  417. package/singlestore-core/unique-constraint.cjs +82 -0
  418. package/singlestore-core/unique-constraint.cjs.map +1 -0
  419. package/singlestore-core/unique-constraint.d.cts +24 -0
  420. package/singlestore-core/unique-constraint.d.ts +24 -0
  421. package/singlestore-core/unique-constraint.js +54 -0
  422. package/singlestore-core/unique-constraint.js.map +1 -0
  423. package/singlestore-core/utils.cjs +65 -0
  424. package/singlestore-core/utils.cjs.map +1 -0
  425. package/singlestore-core/utils.d.cts +13 -0
  426. package/singlestore-core/utils.d.ts +13 -0
  427. package/singlestore-core/utils.js +41 -0
  428. package/singlestore-core/utils.js.map +1 -0
  429. package/singlestore-core/view-base.cjs +33 -0
  430. package/singlestore-core/view-base.cjs.map +1 -0
  431. package/singlestore-core/view-base.d.cts +9 -0
  432. package/singlestore-core/view-base.d.ts +9 -0
  433. package/singlestore-core/view-base.js +9 -0
  434. package/singlestore-core/view-base.js.map +1 -0
  435. package/singlestore-core/view-common.cjs +29 -0
  436. package/singlestore-core/view-common.cjs.map +1 -0
  437. package/singlestore-core/view-common.d.cts +1 -0
  438. package/singlestore-core/view-common.d.ts +1 -0
  439. package/singlestore-core/view-common.js +5 -0
  440. package/singlestore-core/view-common.js.map +1 -0
  441. package/singlestore-core/view.cjs +146 -0
  442. package/singlestore-core/view.cjs.map +1 -0
  443. package/singlestore-core/view.d.cts +65 -0
  444. package/singlestore-core/view.d.ts +65 -0
  445. package/singlestore-core/view.js +119 -0
  446. package/singlestore-core/view.js.map +1 -0
  447. package/singlestore-proxy/driver.cjs +62 -0
  448. package/singlestore-proxy/driver.cjs.map +1 -0
  449. package/singlestore-proxy/driver.d.cts +13 -0
  450. package/singlestore-proxy/driver.d.ts +13 -0
  451. package/singlestore-proxy/driver.js +42 -0
  452. package/singlestore-proxy/driver.js.map +1 -0
  453. package/singlestore-proxy/index.cjs +25 -0
  454. package/singlestore-proxy/index.cjs.map +1 -0
  455. package/singlestore-proxy/index.d.cts +2 -0
  456. package/singlestore-proxy/index.d.ts +2 -0
  457. package/singlestore-proxy/index.js +3 -0
  458. package/singlestore-proxy/index.js.map +1 -0
  459. package/singlestore-proxy/migrator.cjs +60 -0
  460. package/singlestore-proxy/migrator.cjs.map +1 -0
  461. package/singlestore-proxy/migrator.d.cts +4 -0
  462. package/singlestore-proxy/migrator.d.ts +4 -0
  463. package/singlestore-proxy/migrator.js +36 -0
  464. package/singlestore-proxy/migrator.js.map +1 -0
  465. package/singlestore-proxy/session.cjs +127 -0
  466. package/singlestore-proxy/session.cjs.map +1 -0
  467. package/singlestore-proxy/session.d.cts +50 -0
  468. package/singlestore-proxy/session.d.ts +50 -0
  469. package/singlestore-proxy/session.js +101 -0
  470. package/singlestore-proxy/session.js.map +1 -0
  471. package/sql/sql.cjs +8 -0
  472. package/sql/sql.cjs.map +1 -1
  473. package/sql/sql.d.cts +10 -2
  474. package/sql/sql.d.ts +10 -2
  475. package/sql/sql.js +7 -0
  476. package/sql/sql.js.map +1 -1
  477. package/sqlite-core/columns/blob.cjs +16 -2
  478. package/sqlite-core/columns/blob.cjs.map +1 -1
  479. package/sqlite-core/columns/blob.d.cts +2 -2
  480. package/sqlite-core/columns/blob.d.ts +2 -2
  481. package/sqlite-core/columns/blob.js +16 -2
  482. package/sqlite-core/columns/blob.js.map +1 -1
  483. package/sqlite-core/columns/common.cjs.map +1 -1
  484. package/sqlite-core/columns/common.d.cts +1 -1
  485. package/sqlite-core/columns/common.d.ts +1 -1
  486. package/sqlite-core/columns/common.js.map +1 -1
  487. package/sqlite-core/columns/text.cjs +4 -1
  488. package/sqlite-core/columns/text.cjs.map +1 -1
  489. package/sqlite-core/columns/text.d.cts +19 -12
  490. package/sqlite-core/columns/text.d.ts +19 -12
  491. package/sqlite-core/columns/text.js +4 -1
  492. package/sqlite-core/columns/text.js.map +1 -1
  493. package/sqlite-core/utils.d.cts +2 -3
  494. package/sqlite-core/utils.d.ts +2 -3
  495. package/sqlite-core/view.cjs.map +1 -1
  496. package/sqlite-core/view.d.cts +2 -3
  497. package/sqlite-core/view.d.ts +2 -3
  498. package/sqlite-core/view.js.map +1 -1
  499. package/supabase/rls.d.cts +3 -1
  500. package/supabase/rls.d.ts +3 -1
  501. package/utils.cjs +5 -0
  502. package/utils.cjs.map +1 -1
  503. package/utils.d.cts +2 -1
  504. package/utils.d.ts +2 -1
  505. package/utils.js +4 -0
  506. package/utils.js.map +1 -1
  507. package/version.cjs +1 -1
  508. package/version.d.cts +1 -1
  509. package/version.d.ts +1 -1
  510. package/version.js +1 -1
@@ -0,0 +1,106 @@
1
+ import { entityKind } from "../../entity.js";
2
+ import { QueryPromise } from "../../query-promise.js";
3
+ import type { RunnableQuery } from "../../runnable-query.js";
4
+ import type { SingleStoreDialect } from "../dialect.js";
5
+ import type { AnySingleStoreQueryResultHKT, PreparedQueryHKTBase, PreparedQueryKind, SingleStorePreparedQueryConfig, SingleStoreQueryResultHKT, SingleStoreQueryResultKind, SingleStoreSession } from "../session.js";
6
+ import type { SingleStoreTable } from "../table.js";
7
+ import type { Placeholder, Query, SQLWrapper } from "../../sql/sql.js";
8
+ import { Param, SQL } from "../../sql/sql.js";
9
+ import type { InferModelFromColumns } from "../../table.js";
10
+ import type { AnySingleStoreColumn } from "../columns/common.js";
11
+ import type { SelectedFieldsOrdered } from "./select.types.js";
12
+ import type { SingleStoreUpdateSetSource } from "./update.js";
13
+ export interface SingleStoreInsertConfig<TTable extends SingleStoreTable = SingleStoreTable> {
14
+ table: TTable;
15
+ values: Record<string, Param | SQL>[];
16
+ ignore: boolean;
17
+ onConflict?: SQL;
18
+ returning?: SelectedFieldsOrdered;
19
+ }
20
+ export type AnySingleStoreInsertConfig = SingleStoreInsertConfig<SingleStoreTable>;
21
+ export type SingleStoreInsertValue<TTable extends SingleStoreTable> = {
22
+ [Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;
23
+ } & {};
24
+ export declare class SingleStoreInsertBuilder<TTable extends SingleStoreTable, TQueryResult extends SingleStoreQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase> {
25
+ private table;
26
+ private session;
27
+ private dialect;
28
+ static readonly [entityKind]: string;
29
+ private shouldIgnore;
30
+ constructor(table: TTable, session: SingleStoreSession, dialect: SingleStoreDialect);
31
+ ignore(): this;
32
+ values(value: SingleStoreInsertValue<TTable>): SingleStoreInsertBase<TTable, TQueryResult, TPreparedQueryHKT>;
33
+ values(values: SingleStoreInsertValue<TTable>[]): SingleStoreInsertBase<TTable, TQueryResult, TPreparedQueryHKT>;
34
+ }
35
+ export type SingleStoreInsertWithout<T extends AnySingleStoreInsert, TDynamic extends boolean, K extends keyof T & string> = TDynamic extends true ? T : Omit<SingleStoreInsertBase<T['_']['table'], T['_']['queryResult'], T['_']['preparedQueryHKT'], T['_']['returning'], TDynamic, T['_']['excludedMethods'] | '$returning'>, T['_']['excludedMethods'] | K>;
36
+ export type SingleStoreInsertDynamic<T extends AnySingleStoreInsert> = SingleStoreInsert<T['_']['table'], T['_']['queryResult'], T['_']['preparedQueryHKT'], T['_']['returning']>;
37
+ export type SingleStoreInsertPrepare<T extends AnySingleStoreInsert, TReturning extends Record<string, unknown> | undefined = undefined> = PreparedQueryKind<T['_']['preparedQueryHKT'], SingleStorePreparedQueryConfig & {
38
+ execute: TReturning extends undefined ? SingleStoreQueryResultKind<T['_']['queryResult'], never> : TReturning[];
39
+ iterator: never;
40
+ }, true>;
41
+ export type SingleStoreInsertOnDuplicateKeyUpdateConfig<T extends AnySingleStoreInsert> = {
42
+ set: SingleStoreUpdateSetSource<T['_']['table']>;
43
+ };
44
+ export type SingleStoreInsert<TTable extends SingleStoreTable = SingleStoreTable, TQueryResult extends SingleStoreQueryResultHKT = AnySingleStoreQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase, TReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = SingleStoreInsertBase<TTable, TQueryResult, TPreparedQueryHKT, TReturning, true, never>;
45
+ export type SingleStoreInsertReturning<T extends AnySingleStoreInsert, TDynamic extends boolean> = SingleStoreInsertBase<T['_']['table'], T['_']['queryResult'], T['_']['preparedQueryHKT'], InferModelFromColumns<GetPrimarySerialOrDefaultKeys<T['_']['table']['_']['columns']>>, TDynamic, T['_']['excludedMethods'] | '$returning'>;
46
+ export type AnySingleStoreInsert = SingleStoreInsertBase<any, any, any, any, any, any>;
47
+ export interface SingleStoreInsertBase<TTable extends SingleStoreTable, TQueryResult extends SingleStoreQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TReturning extends Record<string, unknown> | undefined = undefined, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<TReturning extends undefined ? SingleStoreQueryResultKind<TQueryResult, never> : TReturning[]>, RunnableQuery<TReturning extends undefined ? SingleStoreQueryResultKind<TQueryResult, never> : TReturning[], 'singlestore'>, SQLWrapper {
48
+ readonly _: {
49
+ readonly dialect: 'singlestore';
50
+ readonly table: TTable;
51
+ readonly queryResult: TQueryResult;
52
+ readonly preparedQueryHKT: TPreparedQueryHKT;
53
+ readonly dynamic: TDynamic;
54
+ readonly excludedMethods: TExcludedMethods;
55
+ readonly returning: TReturning;
56
+ readonly result: TReturning extends undefined ? SingleStoreQueryResultKind<TQueryResult, never> : TReturning[];
57
+ };
58
+ }
59
+ export type PrimaryKeyKeys<T extends Record<string, AnySingleStoreColumn>> = {
60
+ [K in keyof T]: T[K]['_']['isPrimaryKey'] extends true ? T[K]['_']['isAutoincrement'] extends true ? K : T[K]['_']['hasRuntimeDefault'] extends true ? T[K]['_']['isPrimaryKey'] extends true ? K : never : never : T[K]['_']['hasRuntimeDefault'] extends true ? T[K]['_']['isPrimaryKey'] extends true ? K : never : never;
61
+ }[keyof T];
62
+ export type GetPrimarySerialOrDefaultKeys<T extends Record<string, AnySingleStoreColumn>> = {
63
+ [K in PrimaryKeyKeys<T>]: T[K];
64
+ };
65
+ export declare class SingleStoreInsertBase<TTable extends SingleStoreTable, TQueryResult extends SingleStoreQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TReturning extends Record<string, unknown> | undefined = undefined, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<TReturning extends undefined ? SingleStoreQueryResultKind<TQueryResult, never> : TReturning[]> implements RunnableQuery<TReturning extends undefined ? SingleStoreQueryResultKind<TQueryResult, never> : TReturning[], 'singlestore'>, SQLWrapper {
66
+ private session;
67
+ private dialect;
68
+ static readonly [entityKind]: string;
69
+ protected $table: TTable;
70
+ private config;
71
+ constructor(table: TTable, values: SingleStoreInsertConfig['values'], ignore: boolean, session: SingleStoreSession, dialect: SingleStoreDialect);
72
+ /**
73
+ * Adds an `on duplicate key update` clause to the query.
74
+ *
75
+ * Calling this method will update update the row if any unique index conflicts. MySQL will automatically determine the conflict target based on the primary key and unique indexes.
76
+ *
77
+ * See docs: {@link https://orm.drizzle.team/docs/insert#on-duplicate-key-update}
78
+ *
79
+ * @param config The `set` clause
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * await db.insert(cars)
84
+ * .values({ id: 1, brand: 'BMW'})
85
+ * .onDuplicateKeyUpdate({ set: { brand: 'Porsche' }});
86
+ * ```
87
+ *
88
+ * While MySQL does not directly support doing nothing on conflict, you can perform a no-op by setting any column's value to itself and achieve the same effect:
89
+ *
90
+ * ```ts
91
+ * import { sql } from 'drizzle-orm';
92
+ *
93
+ * await db.insert(cars)
94
+ * .values({ id: 1, brand: 'BMW' })
95
+ * .onDuplicateKeyUpdate({ set: { id: sql`id` } });
96
+ * ```
97
+ */
98
+ onDuplicateKeyUpdate(config: SingleStoreInsertOnDuplicateKeyUpdateConfig<this>): SingleStoreInsertWithout<this, TDynamic, 'onDuplicateKeyUpdate'>;
99
+ $returningId(): SingleStoreInsertWithout<SingleStoreInsertReturning<this, TDynamic>, TDynamic, '$returningId'>;
100
+ toSQL(): Query;
101
+ prepare(): SingleStoreInsertPrepare<this, TReturning>;
102
+ execute: ReturnType<this['prepare']>['execute'];
103
+ private createIterator;
104
+ iterator: ReturnType<this["prepare"]>["iterator"];
105
+ $dynamic(): SingleStoreInsertDynamic<this>;
106
+ }
@@ -0,0 +1,121 @@
1
+ import { entityKind, is } from "../../entity.js";
2
+ import { QueryPromise } from "../../query-promise.js";
3
+ import { Param, SQL, sql } from "../../sql/sql.js";
4
+ import { Table } from "../../table.js";
5
+ import { mapUpdateSet, orderSelectedFields } from "../../utils.js";
6
+ class SingleStoreInsertBuilder {
7
+ constructor(table, session, dialect) {
8
+ this.table = table;
9
+ this.session = session;
10
+ this.dialect = dialect;
11
+ }
12
+ static [entityKind] = "SingleStoreInsertBuilder";
13
+ shouldIgnore = false;
14
+ ignore() {
15
+ this.shouldIgnore = true;
16
+ return this;
17
+ }
18
+ values(values) {
19
+ values = Array.isArray(values) ? values : [values];
20
+ if (values.length === 0) {
21
+ throw new Error("values() must be called with at least one value");
22
+ }
23
+ const mappedValues = values.map((entry) => {
24
+ const result = {};
25
+ const cols = this.table[Table.Symbol.Columns];
26
+ for (const colKey of Object.keys(entry)) {
27
+ const colValue = entry[colKey];
28
+ result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
29
+ }
30
+ return result;
31
+ });
32
+ return new SingleStoreInsertBase(this.table, mappedValues, this.shouldIgnore, this.session, this.dialect);
33
+ }
34
+ }
35
+ class SingleStoreInsertBase extends QueryPromise {
36
+ constructor(table, values, ignore, session, dialect) {
37
+ super();
38
+ this.session = session;
39
+ this.dialect = dialect;
40
+ this.config = { table, values, ignore };
41
+ }
42
+ static [entityKind] = "SingleStoreInsert";
43
+ config;
44
+ /**
45
+ * Adds an `on duplicate key update` clause to the query.
46
+ *
47
+ * Calling this method will update update the row if any unique index conflicts. MySQL will automatically determine the conflict target based on the primary key and unique indexes.
48
+ *
49
+ * See docs: {@link https://orm.drizzle.team/docs/insert#on-duplicate-key-update}
50
+ *
51
+ * @param config The `set` clause
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * await db.insert(cars)
56
+ * .values({ id: 1, brand: 'BMW'})
57
+ * .onDuplicateKeyUpdate({ set: { brand: 'Porsche' }});
58
+ * ```
59
+ *
60
+ * While MySQL does not directly support doing nothing on conflict, you can perform a no-op by setting any column's value to itself and achieve the same effect:
61
+ *
62
+ * ```ts
63
+ * import { sql } from 'drizzle-orm';
64
+ *
65
+ * await db.insert(cars)
66
+ * .values({ id: 1, brand: 'BMW' })
67
+ * .onDuplicateKeyUpdate({ set: { id: sql`id` } });
68
+ * ```
69
+ */
70
+ onDuplicateKeyUpdate(config) {
71
+ const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
72
+ this.config.onConflict = sql`update ${setSql}`;
73
+ return this;
74
+ }
75
+ $returningId() {
76
+ const returning = [];
77
+ for (const [key, value] of Object.entries(this.config.table[Table.Symbol.Columns])) {
78
+ if (value.primary) {
79
+ returning.push({ field: value, path: [key] });
80
+ }
81
+ }
82
+ this.config.returning = orderSelectedFields(this.config.table[Table.Symbol.Columns]);
83
+ return this;
84
+ }
85
+ /** @internal */
86
+ getSQL() {
87
+ return this.dialect.buildInsertQuery(this.config).sql;
88
+ }
89
+ toSQL() {
90
+ const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
91
+ return rest;
92
+ }
93
+ prepare() {
94
+ const { sql: sql2, generatedIds } = this.dialect.buildInsertQuery(this.config);
95
+ return this.session.prepareQuery(
96
+ this.dialect.sqlToQuery(sql2),
97
+ void 0,
98
+ void 0,
99
+ generatedIds,
100
+ this.config.returning
101
+ );
102
+ }
103
+ execute = (placeholderValues) => {
104
+ return this.prepare().execute(placeholderValues);
105
+ };
106
+ createIterator = () => {
107
+ const self = this;
108
+ return async function* (placeholderValues) {
109
+ yield* self.prepare().iterator(placeholderValues);
110
+ };
111
+ };
112
+ iterator = this.createIterator();
113
+ $dynamic() {
114
+ return this;
115
+ }
116
+ }
117
+ export {
118
+ SingleStoreInsertBase,
119
+ SingleStoreInsertBuilder
120
+ };
121
+ //# sourceMappingURL=insert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/singlestore-core/query-builders/insert.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { SingleStoreDialect } from '~/singlestore-core/dialect.ts';\nimport type {\n\tAnySingleStoreQueryResultHKT,\n\tPreparedQueryHKTBase,\n\tPreparedQueryKind,\n\tSingleStorePreparedQueryConfig,\n\tSingleStoreQueryResultHKT,\n\tSingleStoreQueryResultKind,\n\tSingleStoreSession,\n} from '~/singlestore-core/session.ts';\nimport type { SingleStoreTable } from '~/singlestore-core/table.ts';\nimport type { Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';\nimport { Param, SQL, sql } from '~/sql/sql.ts';\nimport type { InferModelFromColumns } from '~/table.ts';\nimport { Table } from '~/table.ts';\nimport { mapUpdateSet, orderSelectedFields } from '~/utils.ts';\nimport type { AnySingleStoreColumn, SingleStoreColumn } from '../columns/common.ts';\nimport type { SelectedFieldsOrdered } from './select.types.ts';\nimport type { SingleStoreUpdateSetSource } from './update.ts';\n\nexport interface SingleStoreInsertConfig<TTable extends SingleStoreTable = SingleStoreTable> {\n\ttable: TTable;\n\tvalues: Record<string, Param | SQL>[];\n\tignore: boolean;\n\tonConflict?: SQL;\n\treturning?: SelectedFieldsOrdered;\n}\n\nexport type AnySingleStoreInsertConfig = SingleStoreInsertConfig<SingleStoreTable>;\n\nexport type SingleStoreInsertValue<TTable extends SingleStoreTable> =\n\t& {\n\t\t[Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;\n\t}\n\t& {};\n\nexport class SingleStoreInsertBuilder<\n\tTTable extends SingleStoreTable,\n\tTQueryResult extends SingleStoreQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n> {\n\tstatic readonly [entityKind]: string = 'SingleStoreInsertBuilder';\n\n\tprivate shouldIgnore = false;\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: SingleStoreSession,\n\t\tprivate dialect: SingleStoreDialect,\n\t) {}\n\n\tignore(): this {\n\t\tthis.shouldIgnore = true;\n\t\treturn this;\n\t}\n\n\tvalues(value: SingleStoreInsertValue<TTable>): SingleStoreInsertBase<TTable, TQueryResult, TPreparedQueryHKT>;\n\tvalues(values: SingleStoreInsertValue<TTable>[]): SingleStoreInsertBase<TTable, TQueryResult, TPreparedQueryHKT>;\n\tvalues(\n\t\tvalues: SingleStoreInsertValue<TTable> | SingleStoreInsertValue<TTable>[],\n\t): SingleStoreInsertBase<TTable, TQueryResult, TPreparedQueryHKT> {\n\t\tvalues = Array.isArray(values) ? values : [values];\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('values() must be called with at least one value');\n\t\t}\n\t\tconst mappedValues = values.map((entry) => {\n\t\t\tconst result: Record<string, Param | SQL> = {};\n\t\t\tconst cols = this.table[Table.Symbol.Columns];\n\t\t\tfor (const colKey of Object.keys(entry)) {\n\t\t\t\tconst colValue = entry[colKey as keyof typeof entry];\n\t\t\t\tresult[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\n\t\treturn new SingleStoreInsertBase(this.table, mappedValues, this.shouldIgnore, this.session, this.dialect);\n\t}\n}\n\nexport type SingleStoreInsertWithout<\n\tT extends AnySingleStoreInsert,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T\n\t: Omit<\n\t\tSingleStoreInsertBase<\n\t\t\tT['_']['table'],\n\t\t\tT['_']['queryResult'],\n\t\t\tT['_']['preparedQueryHKT'],\n\t\t\tT['_']['returning'],\n\t\t\tTDynamic,\n\t\t\tT['_']['excludedMethods'] | '$returning'\n\t\t>,\n\t\tT['_']['excludedMethods'] | K\n\t>;\n\nexport type SingleStoreInsertDynamic<T extends AnySingleStoreInsert> = SingleStoreInsert<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['preparedQueryHKT'],\n\tT['_']['returning']\n>;\n\nexport type SingleStoreInsertPrepare<\n\tT extends AnySingleStoreInsert,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n> = PreparedQueryKind<\n\tT['_']['preparedQueryHKT'],\n\tSingleStorePreparedQueryConfig & {\n\t\texecute: TReturning extends undefined ? SingleStoreQueryResultKind<T['_']['queryResult'], never> : TReturning[];\n\t\titerator: never;\n\t},\n\ttrue\n>;\n\nexport type SingleStoreInsertOnDuplicateKeyUpdateConfig<T extends AnySingleStoreInsert> = {\n\tset: SingleStoreUpdateSetSource<T['_']['table']>;\n};\n\nexport type SingleStoreInsert<\n\tTTable extends SingleStoreTable = SingleStoreTable,\n\tTQueryResult extends SingleStoreQueryResultHKT = AnySingleStoreQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = SingleStoreInsertBase<TTable, TQueryResult, TPreparedQueryHKT, TReturning, true, never>;\n\nexport type SingleStoreInsertReturning<\n\tT extends AnySingleStoreInsert,\n\tTDynamic extends boolean,\n> = SingleStoreInsertBase<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['preparedQueryHKT'],\n\tInferModelFromColumns<GetPrimarySerialOrDefaultKeys<T['_']['table']['_']['columns']>>,\n\tTDynamic,\n\tT['_']['excludedMethods'] | '$returning'\n>;\n\nexport type AnySingleStoreInsert = SingleStoreInsertBase<any, any, any, any, any, any>;\n\nexport interface SingleStoreInsertBase<\n\tTTable extends SingleStoreTable,\n\tTQueryResult extends SingleStoreQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? SingleStoreQueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<\n\t\tTReturning extends undefined ? SingleStoreQueryResultKind<TQueryResult, never> : TReturning[],\n\t\t'singlestore'\n\t>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\treadonly dialect: 'singlestore';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly preparedQueryHKT: TPreparedQueryHKT;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly returning: TReturning;\n\t\treadonly result: TReturning extends undefined ? SingleStoreQueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport type PrimaryKeyKeys<T extends Record<string, AnySingleStoreColumn>> = {\n\t[K in keyof T]: T[K]['_']['isPrimaryKey'] extends true ? T[K]['_']['isAutoincrement'] extends true ? K\n\t\t: T[K]['_']['hasRuntimeDefault'] extends true ? T[K]['_']['isPrimaryKey'] extends true ? K : never\n\t\t: never\n\t\t: T[K]['_']['hasRuntimeDefault'] extends true ? T[K]['_']['isPrimaryKey'] extends true ? K : never\n\t\t: never;\n}[keyof T];\n\nexport type GetPrimarySerialOrDefaultKeys<T extends Record<string, AnySingleStoreColumn>> = {\n\t[K in PrimaryKeyKeys<T>]: T[K];\n};\n\nexport class SingleStoreInsertBase<\n\tTTable extends SingleStoreTable,\n\tTQueryResult extends SingleStoreQueryResultHKT,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? SingleStoreQueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<\n\t\t\tTReturning extends undefined ? SingleStoreQueryResultKind<TQueryResult, never> : TReturning[],\n\t\t\t'singlestore'\n\t\t>,\n\t\tSQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreInsert';\n\n\tdeclare protected $table: TTable;\n\n\tprivate config: SingleStoreInsertConfig<TTable>;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tvalues: SingleStoreInsertConfig['values'],\n\t\tignore: boolean,\n\t\tprivate session: SingleStoreSession,\n\t\tprivate dialect: SingleStoreDialect,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, values, ignore };\n\t}\n\n\t/**\n\t * Adds an `on duplicate key update` clause to the query.\n\t *\n\t * Calling this method will update update the row if any unique index conflicts. MySQL will automatically determine the conflict target based on the primary key and unique indexes.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#on-duplicate-key-update}\n\t *\n\t * @param config The `set` clause\n\t *\n\t * @example\n\t * ```ts\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW'})\n\t * .onDuplicateKeyUpdate({ set: { brand: 'Porsche' }});\n\t * ```\n\t *\n\t * While MySQL does not directly support doing nothing on conflict, you can perform a no-op by setting any column's value to itself and achieve the same effect:\n\t *\n\t * ```ts\n\t * import { sql } from 'drizzle-orm';\n\t *\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onDuplicateKeyUpdate({ set: { id: sql`id` } });\n\t * ```\n\t */\n\tonDuplicateKeyUpdate(\n\t\tconfig: SingleStoreInsertOnDuplicateKeyUpdateConfig<this>,\n\t): SingleStoreInsertWithout<this, TDynamic, 'onDuplicateKeyUpdate'> {\n\t\tconst setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));\n\t\tthis.config.onConflict = sql`update ${setSql}`;\n\t\treturn this as any;\n\t}\n\n\t$returningId(): SingleStoreInsertWithout<\n\t\tSingleStoreInsertReturning<this, TDynamic>,\n\t\tTDynamic,\n\t\t'$returningId'\n\t> {\n\t\tconst returning: SelectedFieldsOrdered = [];\n\t\tfor (const [key, value] of Object.entries(this.config.table[Table.Symbol.Columns])) {\n\t\t\tif (value.primary) {\n\t\t\t\treturning.push({ field: value, path: [key] });\n\t\t\t}\n\t\t}\n\t\tthis.config.returning = orderSelectedFields<SingleStoreColumn>(this.config.table[Table.Symbol.Columns]);\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildInsertQuery(this.config).sql;\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\tprepare(): SingleStoreInsertPrepare<this, TReturning> {\n\t\tconst { sql, generatedIds } = this.dialect.buildInsertQuery(this.config);\n\t\treturn this.session.prepareQuery(\n\t\t\tthis.dialect.sqlToQuery(sql),\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tgeneratedIds,\n\t\t\tthis.config.returning,\n\t\t) as SingleStoreInsertPrepare<this, TReturning>;\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn this.prepare().execute(placeholderValues);\n\t};\n\n\tprivate createIterator = (): ReturnType<this['prepare']>['iterator'] => {\n\t\tconst self = this;\n\t\treturn async function*(placeholderValues) {\n\t\t\tyield* self.prepare().iterator(placeholderValues);\n\t\t};\n\t};\n\n\titerator = this.createIterator();\n\n\t$dynamic(): SingleStoreInsertDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAC/B,SAAS,oBAAoB;AAc7B,SAAS,OAAO,KAAK,WAAW;AAEhC,SAAS,aAAa;AACtB,SAAS,cAAc,2BAA2B;AAqB3C,MAAM,yBAIX;AAAA,EAKD,YACS,OACA,SACA,SACP;AAHO;AACA;AACA;AAAA,EACN;AAAA,EARH,QAAiB,UAAU,IAAY;AAAA,EAE/B,eAAe;AAAA,EAQvB,SAAe;AACd,SAAK,eAAe;AACpB,WAAO;AAAA,EACR;AAAA,EAIA,OACC,QACiE;AACjE,aAAS,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM;AACjD,QAAI,OAAO,WAAW,GAAG;AACxB,YAAM,IAAI,MAAM,iDAAiD;AAAA,IAClE;AACA,UAAM,eAAe,OAAO,IAAI,CAAC,UAAU;AAC1C,YAAM,SAAsC,CAAC;AAC7C,YAAM,OAAO,KAAK,MAAM,MAAM,OAAO,OAAO;AAC5C,iBAAW,UAAU,OAAO,KAAK,KAAK,GAAG;AACxC,cAAM,WAAW,MAAM,MAA4B;AACnD,eAAO,MAAM,IAAI,GAAG,UAAU,GAAG,IAAI,WAAW,IAAI,MAAM,UAAU,KAAK,MAAM,CAAC;AAAA,MACjF;AACA,aAAO;AAAA,IACR,CAAC;AAED,WAAO,IAAI,sBAAsB,KAAK,OAAO,cAAc,KAAK,cAAc,KAAK,SAAS,KAAK,OAAO;AAAA,EACzG;AACD;AAsGO,MAAM,8BAWH,aAOV;AAAA,EAOC,YACC,OACA,QACA,QACQ,SACA,SACP;AACD,UAAM;AAHE;AACA;AAGR,SAAK,SAAS,EAAE,OAAO,QAAQ,OAAO;AAAA,EACvC;AAAA,EAfA,QAA0B,UAAU,IAAY;AAAA,EAIxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuCR,qBACC,QACmE;AACnE,UAAM,SAAS,KAAK,QAAQ,eAAe,KAAK,OAAO,OAAO,aAAa,KAAK,OAAO,OAAO,OAAO,GAAG,CAAC;AACzG,SAAK,OAAO,aAAa,aAAa,MAAM;AAC5C,WAAO;AAAA,EACR;AAAA,EAEA,eAIE;AACD,UAAM,YAAmC,CAAC;AAC1C,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,OAAO,MAAM,MAAM,OAAO,OAAO,CAAC,GAAG;AACnF,UAAI,MAAM,SAAS;AAClB,kBAAU,KAAK,EAAE,OAAO,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC;AAAA,MAC7C;AAAA,IACD;AACA,SAAK,OAAO,YAAY,oBAAuC,KAAK,OAAO,MAAM,MAAM,OAAO,OAAO,CAAC;AACtG,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,SAAc;AACb,WAAO,KAAK,QAAQ,iBAAiB,KAAK,MAAM,EAAE;AAAA,EACnD;AAAA,EAEA,QAAe;AACd,UAAM,EAAE,SAAS,UAAU,GAAG,KAAK,IAAI,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAC5E,WAAO;AAAA,EACR;AAAA,EAEA,UAAsD;AACrD,UAAM,EAAE,KAAAA,MAAK,aAAa,IAAI,KAAK,QAAQ,iBAAiB,KAAK,MAAM;AACvE,WAAO,KAAK,QAAQ;AAAA,MACnB,KAAK,QAAQ,WAAWA,IAAG;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAK,OAAO;AAAA,IACb;AAAA,EACD;AAAA,EAES,UAAkD,CAAC,sBAAsB;AACjF,WAAO,KAAK,QAAQ,EAAE,QAAQ,iBAAiB;AAAA,EAChD;AAAA,EAEQ,iBAAiB,MAA+C;AACvE,UAAM,OAAO;AACb,WAAO,iBAAgB,mBAAmB;AACzC,aAAO,KAAK,QAAQ,EAAE,SAAS,iBAAiB;AAAA,IACjD;AAAA,EACD;AAAA,EAEA,WAAW,KAAK,eAAe;AAAA,EAE/B,WAA2C;AAC1C,WAAO;AAAA,EACR;AACD;","names":["sql"]}
@@ -0,0 +1,99 @@
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 query_builder_exports = {};
20
+ __export(query_builder_exports, {
21
+ QueryBuilder: () => QueryBuilder
22
+ });
23
+ module.exports = __toCommonJS(query_builder_exports);
24
+ var import_entity = require("../../entity.cjs");
25
+ var import_selection_proxy = require("../../selection-proxy.cjs");
26
+ var import_dialect = require("../dialect.cjs");
27
+ var import_subquery = require("../../subquery.cjs");
28
+ var import_select = require("./select.cjs");
29
+ class QueryBuilder {
30
+ static [import_entity.entityKind] = "SingleStoreQueryBuilder";
31
+ dialect;
32
+ dialectConfig;
33
+ constructor(dialect) {
34
+ this.dialect = (0, import_entity.is)(dialect, import_dialect.SingleStoreDialect) ? dialect : void 0;
35
+ this.dialectConfig = (0, import_entity.is)(dialect, import_dialect.SingleStoreDialect) ? void 0 : dialect;
36
+ }
37
+ $with(alias) {
38
+ const queryBuilder = this;
39
+ return {
40
+ as(qb) {
41
+ if (typeof qb === "function") {
42
+ qb = qb(queryBuilder);
43
+ }
44
+ return new Proxy(
45
+ new import_subquery.WithSubquery(qb.getSQL(), qb.getSelectedFields(), alias, true),
46
+ new import_selection_proxy.SelectionProxyHandler({ alias, sqlAliasedBehavior: "alias", sqlBehavior: "error" })
47
+ );
48
+ }
49
+ };
50
+ }
51
+ with(...queries) {
52
+ const self = this;
53
+ function select(fields) {
54
+ return new import_select.SingleStoreSelectBuilder({
55
+ fields: fields ?? void 0,
56
+ session: void 0,
57
+ dialect: self.getDialect(),
58
+ withList: queries
59
+ });
60
+ }
61
+ function selectDistinct(fields) {
62
+ return new import_select.SingleStoreSelectBuilder({
63
+ fields: fields ?? void 0,
64
+ session: void 0,
65
+ dialect: self.getDialect(),
66
+ withList: queries,
67
+ distinct: true
68
+ });
69
+ }
70
+ return { select, selectDistinct };
71
+ }
72
+ select(fields) {
73
+ return new import_select.SingleStoreSelectBuilder({
74
+ fields: fields ?? void 0,
75
+ session: void 0,
76
+ dialect: this.getDialect()
77
+ });
78
+ }
79
+ selectDistinct(fields) {
80
+ return new import_select.SingleStoreSelectBuilder({
81
+ fields: fields ?? void 0,
82
+ session: void 0,
83
+ dialect: this.getDialect(),
84
+ distinct: true
85
+ });
86
+ }
87
+ // Lazy load dialect to avoid circular dependency
88
+ getDialect() {
89
+ if (!this.dialect) {
90
+ this.dialect = new import_dialect.SingleStoreDialect(this.dialectConfig);
91
+ }
92
+ return this.dialect;
93
+ }
94
+ }
95
+ // Annotate the CommonJS export names for ESM import in node:
96
+ 0 && (module.exports = {
97
+ QueryBuilder
98
+ });
99
+ //# sourceMappingURL=query-builder.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/singlestore-core/query-builders/query-builder.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { SingleStoreDialectConfig } from '~/singlestore-core/dialect.ts';\nimport { SingleStoreDialect } from '~/singlestore-core/dialect.ts';\nimport type { WithSubqueryWithSelection } from '~/singlestore-core/subquery.ts';\nimport type { ColumnsSelection } from '~/sql/sql.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport { SingleStoreSelectBuilder } from './select.ts';\nimport type { SelectedFields } from './select.types.ts';\n\nexport class QueryBuilder {\n\tstatic readonly [entityKind]: string = 'SingleStoreQueryBuilder';\n\n\tprivate dialect: SingleStoreDialect | undefined;\n\tprivate dialectConfig: SingleStoreDialectConfig | undefined;\n\n\tconstructor(dialect?: SingleStoreDialect | SingleStoreDialectConfig) {\n\t\tthis.dialect = is(dialect, SingleStoreDialect) ? dialect : undefined;\n\t\tthis.dialectConfig = is(dialect, SingleStoreDialect) ? undefined : dialect;\n\t}\n\n\t$with<TAlias extends string>(alias: TAlias) {\n\t\tconst queryBuilder = this;\n\n\t\treturn {\n\t\t\tas<TSelection extends ColumnsSelection>(\n\t\t\t\tqb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>),\n\t\t\t): WithSubqueryWithSelection<TSelection, TAlias> {\n\t\t\t\tif (typeof qb === 'function') {\n\t\t\t\t\tqb = qb(queryBuilder);\n\t\t\t\t}\n\n\t\t\t\treturn new Proxy(\n\t\t\t\t\tnew WithSubquery(qb.getSQL(), qb.getSelectedFields() as SelectedFields, alias, true),\n\t\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t\t) as WithSubqueryWithSelection<TSelection, TAlias>;\n\t\t\t},\n\t\t};\n\t}\n\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\tfunction select(): SingleStoreSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): SingleStoreSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): SingleStoreSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new SingleStoreSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\tfunction selectDistinct(): SingleStoreSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): SingleStoreSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): SingleStoreSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new SingleStoreSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\treturn { select, selectDistinct };\n\t}\n\n\tselect(): SingleStoreSelectBuilder<undefined, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(fields: TSelection): SingleStoreSelectBuilder<TSelection, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): SingleStoreSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new SingleStoreSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t});\n\t}\n\n\tselectDistinct(): SingleStoreSelectBuilder<undefined, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): SingleStoreSelectBuilder<TSelection, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): SingleStoreSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new SingleStoreSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t// Lazy load dialect to avoid circular dependency\n\tprivate getDialect() {\n\t\tif (!this.dialect) {\n\t\t\tthis.dialect = new SingleStoreDialect(this.dialectConfig);\n\t\t}\n\n\t\treturn this.dialect;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA+B;AAE/B,6BAAsC;AAEtC,qBAAmC;AAGnC,sBAA6B;AAC7B,oBAAyC;AAGlC,MAAM,aAAa;AAAA,EACzB,QAAiB,wBAAU,IAAY;AAAA,EAE/B;AAAA,EACA;AAAA,EAER,YAAY,SAAyD;AACpE,SAAK,cAAU,kBAAG,SAAS,iCAAkB,IAAI,UAAU;AAC3D,SAAK,oBAAgB,kBAAG,SAAS,iCAAkB,IAAI,SAAY;AAAA,EACpE;AAAA,EAEA,MAA6B,OAAe;AAC3C,UAAM,eAAe;AAErB,WAAO;AAAA,MACN,GACC,IACgD;AAChD,YAAI,OAAO,OAAO,YAAY;AAC7B,eAAK,GAAG,YAAY;AAAA,QACrB;AAEA,eAAO,IAAI;AAAA,UACV,IAAI,6BAAa,GAAG,OAAO,GAAG,GAAG,kBAAkB,GAAqB,OAAO,IAAI;AAAA,UACnF,IAAI,6CAAsB,EAAE,OAAO,oBAAoB,SAAS,aAAa,QAAQ,CAAC;AAAA,QACvF;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,QAAQ,SAAyB;AAChC,UAAM,OAAO;AAMb,aAAS,OACR,QACgE;AAChE,aAAO,IAAI,uCAAyB;AAAA,QACnC,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAMA,aAAS,eACR,QACgE;AAChE,aAAO,IAAI,uCAAyB;AAAA,QACnC,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,QACV,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAEA,WAAO,EAAE,QAAQ,eAAe;AAAA,EACjC;AAAA,EAIA,OACC,QACgE;AAChE,WAAO,IAAI,uCAAyB;AAAA,MACnC,QAAQ,UAAU;AAAA,MAClB,SAAS;AAAA,MACT,SAAS,KAAK,WAAW;AAAA,IAC1B,CAAC;AAAA,EACF;AAAA,EAMA,eACC,QACgE;AAChE,WAAO,IAAI,uCAAyB;AAAA,MACnC,QAAQ,UAAU;AAAA,MAClB,SAAS;AAAA,MACT,SAAS,KAAK,WAAW;AAAA,MACzB,UAAU;AAAA,IACX,CAAC;AAAA,EACF;AAAA;AAAA,EAGQ,aAAa;AACpB,QAAI,CAAC,KAAK,SAAS;AAClB,WAAK,UAAU,IAAI,kCAAmB,KAAK,aAAa;AAAA,IACzD;AAEA,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
@@ -0,0 +1,33 @@
1
+ import { entityKind } from "../../entity.cjs";
2
+ import type { TypedQueryBuilder } from "../../query-builders/query-builder.cjs";
3
+ import type { SingleStoreDialectConfig } from "../dialect.cjs";
4
+ import { SingleStoreDialect } from "../dialect.cjs";
5
+ import type { WithSubqueryWithSelection } from "../subquery.cjs";
6
+ import type { ColumnsSelection } from "../../sql/sql.cjs";
7
+ import { WithSubquery } from "../../subquery.cjs";
8
+ import { SingleStoreSelectBuilder } from "./select.cjs";
9
+ import type { SelectedFields } from "./select.types.cjs";
10
+ export declare class QueryBuilder {
11
+ static readonly [entityKind]: string;
12
+ private dialect;
13
+ private dialectConfig;
14
+ constructor(dialect?: SingleStoreDialect | SingleStoreDialectConfig);
15
+ $with<TAlias extends string>(alias: TAlias): {
16
+ as<TSelection extends ColumnsSelection>(qb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>)): WithSubqueryWithSelection<TSelection, TAlias>;
17
+ };
18
+ with(...queries: WithSubquery[]): {
19
+ select: {
20
+ (): SingleStoreSelectBuilder<undefined, never, "qb">;
21
+ <TSelection extends SelectedFields>(fields: TSelection): SingleStoreSelectBuilder<TSelection, never, "qb">;
22
+ };
23
+ selectDistinct: {
24
+ (): SingleStoreSelectBuilder<undefined, never, "qb">;
25
+ <TSelection extends SelectedFields>(fields: TSelection): SingleStoreSelectBuilder<TSelection, never, "qb">;
26
+ };
27
+ };
28
+ select(): SingleStoreSelectBuilder<undefined, never, 'qb'>;
29
+ select<TSelection extends SelectedFields>(fields: TSelection): SingleStoreSelectBuilder<TSelection, never, 'qb'>;
30
+ selectDistinct(): SingleStoreSelectBuilder<undefined, never, 'qb'>;
31
+ selectDistinct<TSelection extends SelectedFields>(fields: TSelection): SingleStoreSelectBuilder<TSelection, never, 'qb'>;
32
+ private getDialect;
33
+ }
@@ -0,0 +1,33 @@
1
+ import { entityKind } from "../../entity.js";
2
+ import type { TypedQueryBuilder } from "../../query-builders/query-builder.js";
3
+ import type { SingleStoreDialectConfig } from "../dialect.js";
4
+ import { SingleStoreDialect } from "../dialect.js";
5
+ import type { WithSubqueryWithSelection } from "../subquery.js";
6
+ import type { ColumnsSelection } from "../../sql/sql.js";
7
+ import { WithSubquery } from "../../subquery.js";
8
+ import { SingleStoreSelectBuilder } from "./select.js";
9
+ import type { SelectedFields } from "./select.types.js";
10
+ export declare class QueryBuilder {
11
+ static readonly [entityKind]: string;
12
+ private dialect;
13
+ private dialectConfig;
14
+ constructor(dialect?: SingleStoreDialect | SingleStoreDialectConfig);
15
+ $with<TAlias extends string>(alias: TAlias): {
16
+ as<TSelection extends ColumnsSelection>(qb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>)): WithSubqueryWithSelection<TSelection, TAlias>;
17
+ };
18
+ with(...queries: WithSubquery[]): {
19
+ select: {
20
+ (): SingleStoreSelectBuilder<undefined, never, "qb">;
21
+ <TSelection extends SelectedFields>(fields: TSelection): SingleStoreSelectBuilder<TSelection, never, "qb">;
22
+ };
23
+ selectDistinct: {
24
+ (): SingleStoreSelectBuilder<undefined, never, "qb">;
25
+ <TSelection extends SelectedFields>(fields: TSelection): SingleStoreSelectBuilder<TSelection, never, "qb">;
26
+ };
27
+ };
28
+ select(): SingleStoreSelectBuilder<undefined, never, 'qb'>;
29
+ select<TSelection extends SelectedFields>(fields: TSelection): SingleStoreSelectBuilder<TSelection, never, 'qb'>;
30
+ selectDistinct(): SingleStoreSelectBuilder<undefined, never, 'qb'>;
31
+ selectDistinct<TSelection extends SelectedFields>(fields: TSelection): SingleStoreSelectBuilder<TSelection, never, 'qb'>;
32
+ private getDialect;
33
+ }
@@ -0,0 +1,75 @@
1
+ import { entityKind, is } from "../../entity.js";
2
+ import { SelectionProxyHandler } from "../../selection-proxy.js";
3
+ import { SingleStoreDialect } from "../dialect.js";
4
+ import { WithSubquery } from "../../subquery.js";
5
+ import { SingleStoreSelectBuilder } from "./select.js";
6
+ class QueryBuilder {
7
+ static [entityKind] = "SingleStoreQueryBuilder";
8
+ dialect;
9
+ dialectConfig;
10
+ constructor(dialect) {
11
+ this.dialect = is(dialect, SingleStoreDialect) ? dialect : void 0;
12
+ this.dialectConfig = is(dialect, SingleStoreDialect) ? void 0 : dialect;
13
+ }
14
+ $with(alias) {
15
+ const queryBuilder = this;
16
+ return {
17
+ as(qb) {
18
+ if (typeof qb === "function") {
19
+ qb = qb(queryBuilder);
20
+ }
21
+ return new Proxy(
22
+ new WithSubquery(qb.getSQL(), qb.getSelectedFields(), alias, true),
23
+ new SelectionProxyHandler({ alias, sqlAliasedBehavior: "alias", sqlBehavior: "error" })
24
+ );
25
+ }
26
+ };
27
+ }
28
+ with(...queries) {
29
+ const self = this;
30
+ function select(fields) {
31
+ return new SingleStoreSelectBuilder({
32
+ fields: fields ?? void 0,
33
+ session: void 0,
34
+ dialect: self.getDialect(),
35
+ withList: queries
36
+ });
37
+ }
38
+ function selectDistinct(fields) {
39
+ return new SingleStoreSelectBuilder({
40
+ fields: fields ?? void 0,
41
+ session: void 0,
42
+ dialect: self.getDialect(),
43
+ withList: queries,
44
+ distinct: true
45
+ });
46
+ }
47
+ return { select, selectDistinct };
48
+ }
49
+ select(fields) {
50
+ return new SingleStoreSelectBuilder({
51
+ fields: fields ?? void 0,
52
+ session: void 0,
53
+ dialect: this.getDialect()
54
+ });
55
+ }
56
+ selectDistinct(fields) {
57
+ return new SingleStoreSelectBuilder({
58
+ fields: fields ?? void 0,
59
+ session: void 0,
60
+ dialect: this.getDialect(),
61
+ distinct: true
62
+ });
63
+ }
64
+ // Lazy load dialect to avoid circular dependency
65
+ getDialect() {
66
+ if (!this.dialect) {
67
+ this.dialect = new SingleStoreDialect(this.dialectConfig);
68
+ }
69
+ return this.dialect;
70
+ }
71
+ }
72
+ export {
73
+ QueryBuilder
74
+ };
75
+ //# sourceMappingURL=query-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/singlestore-core/query-builders/query-builder.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { SingleStoreDialectConfig } from '~/singlestore-core/dialect.ts';\nimport { SingleStoreDialect } from '~/singlestore-core/dialect.ts';\nimport type { WithSubqueryWithSelection } from '~/singlestore-core/subquery.ts';\nimport type { ColumnsSelection } from '~/sql/sql.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport { SingleStoreSelectBuilder } from './select.ts';\nimport type { SelectedFields } from './select.types.ts';\n\nexport class QueryBuilder {\n\tstatic readonly [entityKind]: string = 'SingleStoreQueryBuilder';\n\n\tprivate dialect: SingleStoreDialect | undefined;\n\tprivate dialectConfig: SingleStoreDialectConfig | undefined;\n\n\tconstructor(dialect?: SingleStoreDialect | SingleStoreDialectConfig) {\n\t\tthis.dialect = is(dialect, SingleStoreDialect) ? dialect : undefined;\n\t\tthis.dialectConfig = is(dialect, SingleStoreDialect) ? undefined : dialect;\n\t}\n\n\t$with<TAlias extends string>(alias: TAlias) {\n\t\tconst queryBuilder = this;\n\n\t\treturn {\n\t\t\tas<TSelection extends ColumnsSelection>(\n\t\t\t\tqb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>),\n\t\t\t): WithSubqueryWithSelection<TSelection, TAlias> {\n\t\t\t\tif (typeof qb === 'function') {\n\t\t\t\t\tqb = qb(queryBuilder);\n\t\t\t\t}\n\n\t\t\t\treturn new Proxy(\n\t\t\t\t\tnew WithSubquery(qb.getSQL(), qb.getSelectedFields() as SelectedFields, alias, true),\n\t\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t\t) as WithSubqueryWithSelection<TSelection, TAlias>;\n\t\t\t},\n\t\t};\n\t}\n\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\tfunction select(): SingleStoreSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): SingleStoreSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): SingleStoreSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new SingleStoreSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\tfunction selectDistinct(): SingleStoreSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): SingleStoreSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): SingleStoreSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new SingleStoreSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\treturn { select, selectDistinct };\n\t}\n\n\tselect(): SingleStoreSelectBuilder<undefined, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(fields: TSelection): SingleStoreSelectBuilder<TSelection, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): SingleStoreSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new SingleStoreSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t});\n\t}\n\n\tselectDistinct(): SingleStoreSelectBuilder<undefined, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): SingleStoreSelectBuilder<TSelection, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): SingleStoreSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new SingleStoreSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t// Lazy load dialect to avoid circular dependency\n\tprivate getDialect() {\n\t\tif (!this.dialect) {\n\t\t\tthis.dialect = new SingleStoreDialect(this.dialectConfig);\n\t\t}\n\n\t\treturn this.dialect;\n\t}\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAE/B,SAAS,6BAA6B;AAEtC,SAAS,0BAA0B;AAGnC,SAAS,oBAAoB;AAC7B,SAAS,gCAAgC;AAGlC,MAAM,aAAa;AAAA,EACzB,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA,EACA;AAAA,EAER,YAAY,SAAyD;AACpE,SAAK,UAAU,GAAG,SAAS,kBAAkB,IAAI,UAAU;AAC3D,SAAK,gBAAgB,GAAG,SAAS,kBAAkB,IAAI,SAAY;AAAA,EACpE;AAAA,EAEA,MAA6B,OAAe;AAC3C,UAAM,eAAe;AAErB,WAAO;AAAA,MACN,GACC,IACgD;AAChD,YAAI,OAAO,OAAO,YAAY;AAC7B,eAAK,GAAG,YAAY;AAAA,QACrB;AAEA,eAAO,IAAI;AAAA,UACV,IAAI,aAAa,GAAG,OAAO,GAAG,GAAG,kBAAkB,GAAqB,OAAO,IAAI;AAAA,UACnF,IAAI,sBAAsB,EAAE,OAAO,oBAAoB,SAAS,aAAa,QAAQ,CAAC;AAAA,QACvF;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,QAAQ,SAAyB;AAChC,UAAM,OAAO;AAMb,aAAS,OACR,QACgE;AAChE,aAAO,IAAI,yBAAyB;AAAA,QACnC,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAMA,aAAS,eACR,QACgE;AAChE,aAAO,IAAI,yBAAyB;AAAA,QACnC,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,QACV,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAEA,WAAO,EAAE,QAAQ,eAAe;AAAA,EACjC;AAAA,EAIA,OACC,QACgE;AAChE,WAAO,IAAI,yBAAyB;AAAA,MACnC,QAAQ,UAAU;AAAA,MAClB,SAAS;AAAA,MACT,SAAS,KAAK,WAAW;AAAA,IAC1B,CAAC;AAAA,EACF;AAAA,EAMA,eACC,QACgE;AAChE,WAAO,IAAI,yBAAyB;AAAA,MACnC,QAAQ,UAAU;AAAA,MAClB,SAAS;AAAA,MACT,SAAS,KAAK,WAAW;AAAA,MACzB,UAAU;AAAA,IACX,CAAC;AAAA,EACF;AAAA;AAAA,EAGQ,aAAa;AACpB,QAAI,CAAC,KAAK,SAAS;AAClB,WAAK,UAAU,IAAI,mBAAmB,KAAK,aAAa;AAAA,IACzD;AAEA,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
@@ -0,0 +1,126 @@
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 query_exports = {};
20
+ __export(query_exports, {
21
+ RelationalQueryBuilder: () => RelationalQueryBuilder,
22
+ SingleStoreRelationalQuery: () => SingleStoreRelationalQuery
23
+ });
24
+ module.exports = __toCommonJS(query_exports);
25
+ var import_entity = require("../../entity.cjs");
26
+ var import_query_promise = require("../../query-promise.cjs");
27
+ var import_relations = require("../../relations.cjs");
28
+ class RelationalQueryBuilder {
29
+ constructor(fullSchema, schema, tableNamesMap, table, tableConfig, dialect, session) {
30
+ this.fullSchema = fullSchema;
31
+ this.schema = schema;
32
+ this.tableNamesMap = tableNamesMap;
33
+ this.table = table;
34
+ this.tableConfig = tableConfig;
35
+ this.dialect = dialect;
36
+ this.session = session;
37
+ }
38
+ static [import_entity.entityKind] = "SingleStoreRelationalQueryBuilder";
39
+ findMany(config) {
40
+ return new SingleStoreRelationalQuery(
41
+ this.fullSchema,
42
+ this.schema,
43
+ this.tableNamesMap,
44
+ this.table,
45
+ this.tableConfig,
46
+ this.dialect,
47
+ this.session,
48
+ config ? config : {},
49
+ "many"
50
+ );
51
+ }
52
+ findFirst(config) {
53
+ return new SingleStoreRelationalQuery(
54
+ this.fullSchema,
55
+ this.schema,
56
+ this.tableNamesMap,
57
+ this.table,
58
+ this.tableConfig,
59
+ this.dialect,
60
+ this.session,
61
+ config ? { ...config, limit: 1 } : { limit: 1 },
62
+ "first"
63
+ );
64
+ }
65
+ }
66
+ class SingleStoreRelationalQuery extends import_query_promise.QueryPromise {
67
+ constructor(fullSchema, schema, tableNamesMap, table, tableConfig, dialect, session, config, queryMode) {
68
+ super();
69
+ this.fullSchema = fullSchema;
70
+ this.schema = schema;
71
+ this.tableNamesMap = tableNamesMap;
72
+ this.table = table;
73
+ this.tableConfig = tableConfig;
74
+ this.dialect = dialect;
75
+ this.session = session;
76
+ this.config = config;
77
+ this.queryMode = queryMode;
78
+ }
79
+ static [import_entity.entityKind] = "SingleStoreRelationalQuery";
80
+ prepare() {
81
+ const { query, builtQuery } = this._toSQL();
82
+ return this.session.prepareQuery(
83
+ builtQuery,
84
+ void 0,
85
+ (rawRows) => {
86
+ const rows = rawRows.map((row) => (0, import_relations.mapRelationalRow)(this.schema, this.tableConfig, row, query.selection));
87
+ if (this.queryMode === "first") {
88
+ return rows[0];
89
+ }
90
+ return rows;
91
+ }
92
+ );
93
+ }
94
+ _getQuery() {
95
+ return this.dialect.buildRelationalQuery({
96
+ fullSchema: this.fullSchema,
97
+ schema: this.schema,
98
+ tableNamesMap: this.tableNamesMap,
99
+ table: this.table,
100
+ tableConfig: this.tableConfig,
101
+ queryConfig: this.config,
102
+ tableAlias: this.tableConfig.tsName
103
+ });
104
+ }
105
+ _toSQL() {
106
+ const query = this._getQuery();
107
+ const builtQuery = this.dialect.sqlToQuery(query.sql);
108
+ return { builtQuery, query };
109
+ }
110
+ /** @internal */
111
+ getSQL() {
112
+ return this._getQuery().sql;
113
+ }
114
+ toSQL() {
115
+ return this._toSQL().builtQuery;
116
+ }
117
+ execute() {
118
+ return this.prepare().execute();
119
+ }
120
+ }
121
+ // Annotate the CommonJS export names for ESM import in node:
122
+ 0 && (module.exports = {
123
+ RelationalQueryBuilder,
124
+ SingleStoreRelationalQuery
125
+ });
126
+ //# sourceMappingURL=query.cjs.map