drizzle-orm 0.43.1-26a0497 → 0.43.1-47c6ad4

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 (814) hide show
  1. package/aws-data-api/pg/driver.cjs +1 -5
  2. package/aws-data-api/pg/driver.cjs.map +1 -1
  3. package/aws-data-api/pg/driver.d.cts +0 -1
  4. package/aws-data-api/pg/driver.d.ts +0 -1
  5. package/aws-data-api/pg/driver.js +1 -5
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/aws-data-api/pg/session.cjs +4 -15
  8. package/aws-data-api/pg/session.cjs.map +1 -1
  9. package/aws-data-api/pg/session.d.cts +2 -13
  10. package/aws-data-api/pg/session.d.ts +2 -13
  11. package/aws-data-api/pg/session.js +4 -15
  12. package/aws-data-api/pg/session.js.map +1 -1
  13. package/better-sqlite3/driver.cjs.map +1 -1
  14. package/better-sqlite3/driver.js.map +1 -1
  15. package/better-sqlite3/session.cjs +3 -9
  16. package/better-sqlite3/session.cjs.map +1 -1
  17. package/better-sqlite3/session.d.cts +2 -12
  18. package/better-sqlite3/session.d.ts +2 -12
  19. package/better-sqlite3/session.js +3 -9
  20. package/better-sqlite3/session.js.map +1 -1
  21. package/bun-sql/driver.cjs +1 -5
  22. package/bun-sql/driver.cjs.map +1 -1
  23. package/bun-sql/driver.js +1 -5
  24. package/bun-sql/driver.js.map +1 -1
  25. package/bun-sql/session.cjs +9 -21
  26. package/bun-sql/session.cjs.map +1 -1
  27. package/bun-sql/session.d.cts +2 -12
  28. package/bun-sql/session.d.ts +2 -12
  29. package/bun-sql/session.js +9 -21
  30. package/bun-sql/session.js.map +1 -1
  31. package/column-builder.cjs.map +1 -1
  32. package/column-builder.d.cts +4 -3
  33. package/column-builder.d.ts +4 -3
  34. package/column-builder.js.map +1 -1
  35. package/d1/driver.cjs +1 -5
  36. package/d1/driver.cjs.map +1 -1
  37. package/d1/driver.js +1 -5
  38. package/d1/driver.js.map +1 -1
  39. package/d1/session.cjs +9 -23
  40. package/d1/session.cjs.map +1 -1
  41. package/d1/session.d.cts +2 -12
  42. package/d1/session.d.ts +2 -12
  43. package/d1/session.js +9 -23
  44. package/d1/session.js.map +1 -1
  45. package/durable-sqlite/session.cjs +1 -1
  46. package/durable-sqlite/session.cjs.map +1 -1
  47. package/durable-sqlite/session.js +1 -1
  48. package/durable-sqlite/session.js.map +1 -1
  49. package/gel/driver.cjs +2 -9
  50. package/gel/driver.cjs.map +1 -1
  51. package/gel/driver.d.cts +0 -2
  52. package/gel/driver.d.ts +0 -2
  53. package/gel/driver.js +2 -9
  54. package/gel/driver.js.map +1 -1
  55. package/gel/session.cjs +10 -25
  56. package/gel/session.cjs.map +1 -1
  57. package/gel/session.d.cts +2 -12
  58. package/gel/session.d.ts +2 -12
  59. package/gel/session.js +10 -25
  60. package/gel/session.js.map +1 -1
  61. package/gel-core/db.cjs +0 -1
  62. package/gel-core/db.cjs.map +1 -1
  63. package/gel-core/db.d.cts +0 -4
  64. package/gel-core/db.d.ts +0 -4
  65. package/gel-core/db.js +0 -1
  66. package/gel-core/db.js.map +1 -1
  67. package/gel-core/query-builders/delete.cjs +1 -5
  68. package/gel-core/query-builders/delete.cjs.map +1 -1
  69. package/gel-core/query-builders/delete.js +1 -5
  70. package/gel-core/query-builders/delete.js.map +1 -1
  71. package/gel-core/query-builders/insert.cjs +1 -5
  72. package/gel-core/query-builders/insert.cjs.map +1 -1
  73. package/gel-core/query-builders/insert.js +1 -5
  74. package/gel-core/query-builders/insert.js.map +1 -1
  75. package/gel-core/query-builders/select.cjs +4 -29
  76. package/gel-core/query-builders/select.cjs.map +1 -1
  77. package/gel-core/query-builders/select.d.cts +0 -9
  78. package/gel-core/query-builders/select.d.ts +0 -9
  79. package/gel-core/query-builders/select.js +4 -29
  80. package/gel-core/query-builders/select.js.map +1 -1
  81. package/gel-core/query-builders/update.cjs +1 -5
  82. package/gel-core/query-builders/update.cjs.map +1 -1
  83. package/gel-core/query-builders/update.js +1 -5
  84. package/gel-core/query-builders/update.js.map +1 -1
  85. package/gel-core/session.cjs +1 -52
  86. package/gel-core/session.cjs.map +1 -1
  87. package/gel-core/session.d.cts +3 -14
  88. package/gel-core/session.d.ts +3 -14
  89. package/gel-core/session.js +2 -53
  90. package/gel-core/session.js.map +1 -1
  91. package/gel-core/utils.cjs +0 -16
  92. package/gel-core/utils.cjs.map +1 -1
  93. package/gel-core/utils.d.cts +4 -8
  94. package/gel-core/utils.d.ts +4 -8
  95. package/gel-core/utils.js +0 -15
  96. package/gel-core/utils.js.map +1 -1
  97. package/libsql/driver-core.cjs +1 -5
  98. package/libsql/driver-core.cjs.map +1 -1
  99. package/libsql/driver-core.js +1 -5
  100. package/libsql/driver-core.js.map +1 -1
  101. package/libsql/session.cjs +13 -27
  102. package/libsql/session.cjs.map +1 -1
  103. package/libsql/session.d.cts +2 -12
  104. package/libsql/session.d.ts +2 -12
  105. package/libsql/session.js +13 -27
  106. package/libsql/session.js.map +1 -1
  107. package/mssql-core/alias.cjs +32 -0
  108. package/mssql-core/alias.cjs.map +1 -0
  109. package/mssql-core/alias.d.cts +4 -0
  110. package/mssql-core/alias.d.ts +4 -0
  111. package/mssql-core/alias.js +8 -0
  112. package/mssql-core/alias.js.map +1 -0
  113. package/mssql-core/checks.cjs +58 -0
  114. package/mssql-core/checks.cjs.map +1 -0
  115. package/mssql-core/checks.d.cts +18 -0
  116. package/mssql-core/checks.d.ts +18 -0
  117. package/mssql-core/checks.js +32 -0
  118. package/mssql-core/checks.js.map +1 -0
  119. package/mssql-core/columns/all.cjs +72 -0
  120. package/mssql-core/columns/all.cjs.map +1 -0
  121. package/mssql-core/columns/all.d.cts +43 -0
  122. package/mssql-core/columns/all.d.ts +43 -0
  123. package/mssql-core/columns/all.js +48 -0
  124. package/mssql-core/columns/all.js.map +1 -0
  125. package/mssql-core/columns/bigint.cjs +67 -0
  126. package/mssql-core/columns/bigint.cjs.map +1 -0
  127. package/mssql-core/columns/bigint.d.cts +33 -0
  128. package/mssql-core/columns/bigint.d.ts +33 -0
  129. package/mssql-core/columns/bigint.js +41 -0
  130. package/mssql-core/columns/bigint.js.map +1 -0
  131. package/mssql-core/columns/binary.cjs +57 -0
  132. package/mssql-core/columns/binary.cjs.map +1 -0
  133. package/mssql-core/columns/binary.d.cts +28 -0
  134. package/mssql-core/columns/binary.d.ts +28 -0
  135. package/mssql-core/columns/binary.js +31 -0
  136. package/mssql-core/columns/binary.js.map +1 -0
  137. package/mssql-core/columns/bit.cjs +54 -0
  138. package/mssql-core/columns/bit.cjs.map +1 -0
  139. package/mssql-core/columns/bit.d.cts +24 -0
  140. package/mssql-core/columns/bit.d.ts +24 -0
  141. package/mssql-core/columns/bit.js +28 -0
  142. package/mssql-core/columns/bit.js.map +1 -0
  143. package/mssql-core/columns/char.cjs +74 -0
  144. package/mssql-core/columns/char.cjs.map +1 -0
  145. package/mssql-core/columns/char.d.cts +37 -0
  146. package/mssql-core/columns/char.d.ts +37 -0
  147. package/mssql-core/columns/char.js +47 -0
  148. package/mssql-core/columns/char.js.map +1 -0
  149. package/mssql-core/columns/common.cjs +117 -0
  150. package/mssql-core/columns/common.cjs.map +1 -0
  151. package/mssql-core/columns/common.d.cts +67 -0
  152. package/mssql-core/columns/common.d.ts +67 -0
  153. package/mssql-core/columns/common.js +90 -0
  154. package/mssql-core/columns/common.js.map +1 -0
  155. package/mssql-core/columns/custom.cjs +75 -0
  156. package/mssql-core/columns/custom.cjs.map +1 -0
  157. package/mssql-core/columns/custom.d.cts +149 -0
  158. package/mssql-core/columns/custom.d.ts +149 -0
  159. package/mssql-core/columns/custom.js +49 -0
  160. package/mssql-core/columns/custom.js.map +1 -0
  161. package/mssql-core/columns/date.cjs +94 -0
  162. package/mssql-core/columns/date.cjs.map +1 -0
  163. package/{cache/core/cache.cjs → mssql-core/columns/date.common.cjs} +12 -22
  164. package/mssql-core/columns/date.common.cjs.map +1 -0
  165. package/mssql-core/columns/date.common.d.cts +12 -0
  166. package/mssql-core/columns/date.common.d.ts +12 -0
  167. package/mssql-core/columns/date.common.js +13 -0
  168. package/mssql-core/columns/date.common.js.map +1 -0
  169. package/mssql-core/columns/date.d.cts +55 -0
  170. package/mssql-core/columns/date.d.ts +55 -0
  171. package/mssql-core/columns/date.js +66 -0
  172. package/mssql-core/columns/date.js.map +1 -0
  173. package/mssql-core/columns/datetime.cjs +94 -0
  174. package/mssql-core/columns/datetime.cjs.map +1 -0
  175. package/mssql-core/columns/datetime.d.cts +54 -0
  176. package/mssql-core/columns/datetime.d.ts +54 -0
  177. package/mssql-core/columns/datetime.js +66 -0
  178. package/mssql-core/columns/datetime.js.map +1 -0
  179. package/mssql-core/columns/datetime2.cjs +102 -0
  180. package/mssql-core/columns/datetime2.cjs.map +1 -0
  181. package/mssql-core/columns/datetime2.d.cts +54 -0
  182. package/mssql-core/columns/datetime2.d.ts +54 -0
  183. package/mssql-core/columns/datetime2.js +74 -0
  184. package/mssql-core/columns/datetime2.js.map +1 -0
  185. package/mssql-core/columns/datetimeoffset.cjs +102 -0
  186. package/mssql-core/columns/datetimeoffset.cjs.map +1 -0
  187. package/mssql-core/columns/datetimeoffset.d.cts +54 -0
  188. package/mssql-core/columns/datetimeoffset.d.ts +54 -0
  189. package/mssql-core/columns/datetimeoffset.js +74 -0
  190. package/mssql-core/columns/datetimeoffset.js.map +1 -0
  191. package/mssql-core/columns/decimal.cjs +68 -0
  192. package/mssql-core/columns/decimal.cjs.map +1 -0
  193. package/mssql-core/columns/decimal.d.cts +30 -0
  194. package/mssql-core/columns/decimal.d.ts +30 -0
  195. package/mssql-core/columns/decimal.js +42 -0
  196. package/mssql-core/columns/decimal.js.map +1 -0
  197. package/mssql-core/columns/float.cjs +58 -0
  198. package/mssql-core/columns/float.cjs.map +1 -0
  199. package/mssql-core/columns/float.d.cts +28 -0
  200. package/mssql-core/columns/float.d.ts +28 -0
  201. package/mssql-core/columns/float.js +32 -0
  202. package/mssql-core/columns/float.js.map +1 -0
  203. package/mssql-core/columns/index.cjs +63 -0
  204. package/mssql-core/columns/index.cjs.map +1 -0
  205. package/mssql-core/columns/index.d.cts +21 -0
  206. package/mssql-core/columns/index.d.ts +21 -0
  207. package/mssql-core/columns/index.js +22 -0
  208. package/mssql-core/columns/index.js.map +1 -0
  209. package/mssql-core/columns/int.cjs +53 -0
  210. package/mssql-core/columns/int.cjs.map +1 -0
  211. package/mssql-core/columns/int.d.cts +23 -0
  212. package/mssql-core/columns/int.d.ts +23 -0
  213. package/mssql-core/columns/int.js +27 -0
  214. package/mssql-core/columns/int.js.map +1 -0
  215. package/mssql-core/columns/numeric.cjs +68 -0
  216. package/mssql-core/columns/numeric.cjs.map +1 -0
  217. package/mssql-core/columns/numeric.d.cts +27 -0
  218. package/mssql-core/columns/numeric.d.ts +27 -0
  219. package/mssql-core/columns/numeric.js +42 -0
  220. package/mssql-core/columns/numeric.js.map +1 -0
  221. package/mssql-core/columns/real.cjs +53 -0
  222. package/mssql-core/columns/real.cjs.map +1 -0
  223. package/mssql-core/columns/real.d.cts +23 -0
  224. package/mssql-core/columns/real.d.ts +23 -0
  225. package/mssql-core/columns/real.js +27 -0
  226. package/mssql-core/columns/real.js.map +1 -0
  227. package/mssql-core/columns/smallint.cjs +62 -0
  228. package/mssql-core/columns/smallint.cjs.map +1 -0
  229. package/mssql-core/columns/smallint.d.cts +24 -0
  230. package/mssql-core/columns/smallint.d.ts +24 -0
  231. package/mssql-core/columns/smallint.js +36 -0
  232. package/mssql-core/columns/smallint.js.map +1 -0
  233. package/mssql-core/columns/text.cjs +68 -0
  234. package/mssql-core/columns/text.cjs.map +1 -0
  235. package/mssql-core/columns/text.d.cts +45 -0
  236. package/mssql-core/columns/text.d.ts +45 -0
  237. package/mssql-core/columns/text.js +41 -0
  238. package/mssql-core/columns/text.js.map +1 -0
  239. package/mssql-core/columns/time.cjs +90 -0
  240. package/mssql-core/columns/time.cjs.map +1 -0
  241. package/mssql-core/columns/time.d.cts +49 -0
  242. package/mssql-core/columns/time.d.ts +49 -0
  243. package/mssql-core/columns/time.js +62 -0
  244. package/mssql-core/columns/time.js.map +1 -0
  245. package/mssql-core/columns/tinyint.cjs +62 -0
  246. package/mssql-core/columns/tinyint.cjs.map +1 -0
  247. package/mssql-core/columns/tinyint.d.cts +24 -0
  248. package/mssql-core/columns/tinyint.d.ts +24 -0
  249. package/mssql-core/columns/tinyint.js +36 -0
  250. package/mssql-core/columns/tinyint.js.map +1 -0
  251. package/mssql-core/columns/varbinary.cjs +61 -0
  252. package/mssql-core/columns/varbinary.cjs.map +1 -0
  253. package/mssql-core/columns/varbinary.d.cts +27 -0
  254. package/mssql-core/columns/varbinary.d.ts +27 -0
  255. package/mssql-core/columns/varbinary.js +35 -0
  256. package/mssql-core/columns/varbinary.js.map +1 -0
  257. package/mssql-core/columns/varchar.cjs +117 -0
  258. package/mssql-core/columns/varchar.cjs.map +1 -0
  259. package/mssql-core/columns/varchar.d.cts +66 -0
  260. package/mssql-core/columns/varchar.d.ts +66 -0
  261. package/mssql-core/columns/varchar.js +88 -0
  262. package/mssql-core/columns/varchar.js.map +1 -0
  263. package/mssql-core/db.cjs +254 -0
  264. package/mssql-core/db.cjs.map +1 -0
  265. package/mssql-core/db.d.cts +228 -0
  266. package/mssql-core/db.d.ts +228 -0
  267. package/mssql-core/db.js +235 -0
  268. package/mssql-core/db.js.map +1 -0
  269. package/mssql-core/dialect.cjs +568 -0
  270. package/mssql-core/dialect.cjs.map +1 -0
  271. package/mssql-core/dialect.d.cts +57 -0
  272. package/mssql-core/dialect.d.ts +57 -0
  273. package/mssql-core/dialect.js +550 -0
  274. package/mssql-core/dialect.js.map +1 -0
  275. package/mssql-core/expressions.cjs +49 -0
  276. package/mssql-core/expressions.cjs.map +1 -0
  277. package/mssql-core/expressions.d.cts +8 -0
  278. package/mssql-core/expressions.d.ts +8 -0
  279. package/mssql-core/expressions.js +22 -0
  280. package/mssql-core/expressions.js.map +1 -0
  281. package/mssql-core/foreign-keys.cjs +91 -0
  282. package/mssql-core/foreign-keys.cjs.map +1 -0
  283. package/mssql-core/foreign-keys.d.cts +51 -0
  284. package/mssql-core/foreign-keys.d.ts +51 -0
  285. package/mssql-core/foreign-keys.js +65 -0
  286. package/mssql-core/foreign-keys.js.map +1 -0
  287. package/mssql-core/index.cjs +55 -0
  288. package/mssql-core/index.cjs.map +1 -0
  289. package/mssql-core/index.d.cts +17 -0
  290. package/mssql-core/index.d.ts +17 -0
  291. package/mssql-core/index.js +18 -0
  292. package/mssql-core/index.js.map +1 -0
  293. package/mssql-core/indexes.cjs +80 -0
  294. package/mssql-core/indexes.cjs.map +1 -0
  295. package/mssql-core/indexes.d.cts +49 -0
  296. package/mssql-core/indexes.d.ts +49 -0
  297. package/mssql-core/indexes.js +52 -0
  298. package/mssql-core/indexes.js.map +1 -0
  299. package/mssql-core/primary-keys.cjs +64 -0
  300. package/mssql-core/primary-keys.cjs.map +1 -0
  301. package/mssql-core/primary-keys.d.cts +23 -0
  302. package/mssql-core/primary-keys.d.ts +23 -0
  303. package/mssql-core/primary-keys.js +38 -0
  304. package/mssql-core/primary-keys.js.map +1 -0
  305. package/mssql-core/query-builders/delete.cjs +101 -0
  306. package/mssql-core/query-builders/delete.cjs.map +1 -0
  307. package/mssql-core/query-builders/delete.d.cts +74 -0
  308. package/mssql-core/query-builders/delete.d.ts +74 -0
  309. package/mssql-core/query-builders/delete.js +77 -0
  310. package/mssql-core/query-builders/delete.js.map +1 -0
  311. package/mssql-core/query-builders/index.cjs +33 -0
  312. package/mssql-core/query-builders/index.cjs.map +1 -0
  313. package/mssql-core/query-builders/index.d.cts +6 -0
  314. package/mssql-core/query-builders/index.d.ts +6 -0
  315. package/mssql-core/query-builders/index.js +7 -0
  316. package/mssql-core/query-builders/index.js.map +1 -0
  317. package/mssql-core/query-builders/insert.cjs +95 -0
  318. package/mssql-core/query-builders/insert.cjs.map +1 -0
  319. package/mssql-core/query-builders/insert.d.cts +54 -0
  320. package/mssql-core/query-builders/insert.d.ts +54 -0
  321. package/mssql-core/query-builders/insert.js +70 -0
  322. package/mssql-core/query-builders/insert.js.map +1 -0
  323. package/mssql-core/query-builders/query-builder.cjs +95 -0
  324. package/mssql-core/query-builders/query-builder.cjs.map +1 -0
  325. package/mssql-core/query-builders/query-builder.d.cts +32 -0
  326. package/mssql-core/query-builders/query-builder.d.ts +32 -0
  327. package/mssql-core/query-builders/query-builder.js +71 -0
  328. package/mssql-core/query-builders/query-builder.js.map +1 -0
  329. package/mssql-core/query-builders/query.cjs +126 -0
  330. package/mssql-core/query-builders/query.cjs.map +1 -0
  331. package/mssql-core/query-builders/query.d.cts +42 -0
  332. package/mssql-core/query-builders/query.d.ts +42 -0
  333. package/mssql-core/query-builders/query.js +103 -0
  334. package/mssql-core/query-builders/query.js.map +1 -0
  335. package/mssql-core/query-builders/select.cjs +679 -0
  336. package/mssql-core/query-builders/select.cjs.map +1 -0
  337. package/mssql-core/query-builders/select.d.cts +549 -0
  338. package/mssql-core/query-builders/select.d.ts +549 -0
  339. package/mssql-core/query-builders/select.js +649 -0
  340. package/mssql-core/query-builders/select.js.map +1 -0
  341. package/mssql-core/query-builders/select.types.cjs +17 -0
  342. package/mssql-core/query-builders/select.types.cjs.map +1 -0
  343. package/mssql-core/query-builders/select.types.d.cts +138 -0
  344. package/mssql-core/query-builders/select.types.d.ts +138 -0
  345. package/mssql-core/query-builders/select.types.js +1 -0
  346. package/mssql-core/query-builders/update.cjs +118 -0
  347. package/mssql-core/query-builders/update.cjs.map +1 -0
  348. package/mssql-core/query-builders/update.d.cts +93 -0
  349. package/mssql-core/query-builders/update.d.ts +93 -0
  350. package/mssql-core/query-builders/update.js +93 -0
  351. package/mssql-core/query-builders/update.js.map +1 -0
  352. package/mssql-core/schema.cjs +51 -0
  353. package/mssql-core/schema.cjs.map +1 -0
  354. package/mssql-core/schema.d.cts +22 -0
  355. package/mssql-core/schema.d.ts +22 -0
  356. package/mssql-core/schema.js +25 -0
  357. package/mssql-core/schema.js.map +1 -0
  358. package/mssql-core/session.cjs +74 -0
  359. package/mssql-core/session.cjs.map +1 -0
  360. package/mssql-core/session.d.cts +63 -0
  361. package/mssql-core/session.d.ts +63 -0
  362. package/mssql-core/session.js +48 -0
  363. package/mssql-core/session.js.map +1 -0
  364. package/{cache/core/types.cjs → mssql-core/subquery.cjs} +3 -3
  365. package/mssql-core/subquery.cjs.map +1 -0
  366. package/mssql-core/subquery.d.cts +18 -0
  367. package/mssql-core/subquery.d.ts +18 -0
  368. package/mssql-core/subquery.js +1 -0
  369. package/mssql-core/subquery.js.map +1 -0
  370. package/mssql-core/table.cjs +81 -0
  371. package/mssql-core/table.cjs.map +1 -0
  372. package/mssql-core/table.d.cts +43 -0
  373. package/mssql-core/table.d.ts +43 -0
  374. package/mssql-core/table.js +53 -0
  375. package/mssql-core/table.js.map +1 -0
  376. package/mssql-core/unique-constraint.cjs +76 -0
  377. package/mssql-core/unique-constraint.cjs.map +1 -0
  378. package/mssql-core/unique-constraint.d.cts +23 -0
  379. package/mssql-core/unique-constraint.d.ts +23 -0
  380. package/mssql-core/unique-constraint.js +49 -0
  381. package/mssql-core/unique-constraint.js.map +1 -0
  382. package/mssql-core/utils.cjs +85 -0
  383. package/mssql-core/utils.cjs.map +1 -0
  384. package/mssql-core/utils.d.cts +31 -0
  385. package/mssql-core/utils.d.ts +31 -0
  386. package/mssql-core/utils.js +60 -0
  387. package/mssql-core/utils.js.map +1 -0
  388. package/mssql-core/view-base.cjs +33 -0
  389. package/mssql-core/view-base.cjs.map +1 -0
  390. package/mssql-core/view-base.d.cts +9 -0
  391. package/mssql-core/view-base.d.ts +9 -0
  392. package/mssql-core/view-base.js +9 -0
  393. package/mssql-core/view-base.js.map +1 -0
  394. package/{cache/upstash/index.cjs → mssql-core/view-common.cjs} +12 -6
  395. package/mssql-core/view-common.cjs.map +1 -0
  396. package/mssql-core/view-common.d.cts +1 -0
  397. package/mssql-core/view-common.d.ts +1 -0
  398. package/mssql-core/view-common.js +5 -0
  399. package/mssql-core/view-common.js.map +1 -0
  400. package/mssql-core/view.cjs +154 -0
  401. package/mssql-core/view.cjs.map +1 -0
  402. package/mssql-core/view.d.cts +64 -0
  403. package/mssql-core/view.d.ts +64 -0
  404. package/mssql-core/view.js +125 -0
  405. package/mssql-core/view.js.map +1 -0
  406. package/mysql-core/db.cjs +0 -1
  407. package/mysql-core/db.cjs.map +1 -1
  408. package/mysql-core/db.d.cts +0 -4
  409. package/mysql-core/db.d.ts +0 -4
  410. package/mysql-core/db.js +0 -1
  411. package/mysql-core/db.js.map +1 -1
  412. package/mysql-core/query-builders/delete.cjs +1 -9
  413. package/mysql-core/query-builders/delete.cjs.map +1 -1
  414. package/mysql-core/query-builders/delete.js +1 -9
  415. package/mysql-core/query-builders/delete.js.map +1 -1
  416. package/mysql-core/query-builders/insert.cjs +1 -8
  417. package/mysql-core/query-builders/insert.cjs.map +1 -1
  418. package/mysql-core/query-builders/insert.d.cts +0 -2
  419. package/mysql-core/query-builders/insert.d.ts +0 -2
  420. package/mysql-core/query-builders/insert.js +1 -8
  421. package/mysql-core/query-builders/insert.js.map +1 -1
  422. package/mysql-core/query-builders/select.cjs +3 -27
  423. package/mysql-core/query-builders/select.cjs.map +1 -1
  424. package/mysql-core/query-builders/select.d.cts +0 -9
  425. package/mysql-core/query-builders/select.d.ts +0 -9
  426. package/mysql-core/query-builders/select.js +4 -28
  427. package/mysql-core/query-builders/select.js.map +1 -1
  428. package/mysql-core/query-builders/update.cjs +1 -11
  429. package/mysql-core/query-builders/update.cjs.map +1 -1
  430. package/mysql-core/query-builders/update.d.cts +0 -2
  431. package/mysql-core/query-builders/update.d.ts +0 -2
  432. package/mysql-core/query-builders/update.js +1 -11
  433. package/mysql-core/query-builders/update.js.map +1 -1
  434. package/mysql-core/session.cjs +0 -53
  435. package/mysql-core/session.cjs.map +1 -1
  436. package/mysql-core/session.d.cts +2 -15
  437. package/mysql-core/session.d.ts +2 -15
  438. package/mysql-core/session.js +1 -54
  439. package/mysql-core/session.js.map +1 -1
  440. package/mysql-core/utils.cjs +0 -16
  441. package/mysql-core/utils.cjs.map +1 -1
  442. package/mysql-core/utils.d.cts +2 -6
  443. package/mysql-core/utils.d.ts +2 -6
  444. package/mysql-core/utils.js +0 -15
  445. package/mysql-core/utils.js.map +1 -1
  446. package/mysql-proxy/session.cjs +5 -15
  447. package/mysql-proxy/session.cjs.map +1 -1
  448. package/mysql-proxy/session.d.cts +2 -12
  449. package/mysql-proxy/session.d.ts +2 -12
  450. package/mysql-proxy/session.js +5 -15
  451. package/mysql-proxy/session.js.map +1 -1
  452. package/mysql2/driver.cjs +2 -10
  453. package/mysql2/driver.cjs.map +1 -1
  454. package/mysql2/driver.d.cts +0 -2
  455. package/mysql2/driver.d.ts +0 -2
  456. package/mysql2/driver.js +2 -10
  457. package/mysql2/driver.js.map +1 -1
  458. package/mysql2/session.cjs +5 -15
  459. package/mysql2/session.cjs.map +1 -1
  460. package/mysql2/session.d.cts +2 -12
  461. package/mysql2/session.d.ts +2 -12
  462. package/mysql2/session.js +5 -15
  463. package/mysql2/session.js.map +1 -1
  464. package/neon-http/driver.cjs +2 -9
  465. package/neon-http/driver.cjs.map +1 -1
  466. package/neon-http/driver.d.cts +0 -2
  467. package/neon-http/driver.d.ts +0 -2
  468. package/neon-http/driver.js +2 -9
  469. package/neon-http/driver.js.map +1 -1
  470. package/neon-http/session.cjs +15 -25
  471. package/neon-http/session.cjs.map +1 -1
  472. package/neon-http/session.d.cts +2 -12
  473. package/neon-http/session.d.ts +2 -12
  474. package/neon-http/session.js +15 -25
  475. package/neon-http/session.js.map +1 -1
  476. package/neon-serverless/driver.cjs +2 -9
  477. package/neon-serverless/driver.cjs.map +1 -1
  478. package/neon-serverless/driver.d.cts +0 -2
  479. package/neon-serverless/driver.d.ts +0 -2
  480. package/neon-serverless/driver.js +2 -9
  481. package/neon-serverless/driver.js.map +1 -1
  482. package/neon-serverless/session.cjs +7 -21
  483. package/neon-serverless/session.cjs.map +1 -1
  484. package/neon-serverless/session.d.cts +2 -12
  485. package/neon-serverless/session.d.ts +2 -12
  486. package/neon-serverless/session.js +7 -21
  487. package/neon-serverless/session.js.map +1 -1
  488. package/node-mssql/driver.cjs +86 -0
  489. package/node-mssql/driver.cjs.map +1 -0
  490. package/node-mssql/driver.d.cts +32 -0
  491. package/node-mssql/driver.d.ts +32 -0
  492. package/node-mssql/driver.js +63 -0
  493. package/node-mssql/driver.js.map +1 -0
  494. package/{cache/core → node-mssql}/index.cjs +6 -4
  495. package/node-mssql/index.cjs.map +1 -0
  496. package/node-mssql/index.d.cts +2 -0
  497. package/node-mssql/index.d.ts +2 -0
  498. package/node-mssql/index.js +3 -0
  499. package/node-mssql/index.js.map +1 -0
  500. package/node-mssql/migrator.cjs +33 -0
  501. package/node-mssql/migrator.cjs.map +1 -0
  502. package/node-mssql/migrator.d.cts +3 -0
  503. package/node-mssql/migrator.d.ts +3 -0
  504. package/node-mssql/migrator.js +9 -0
  505. package/node-mssql/migrator.js.map +1 -0
  506. package/node-mssql/session.cjs +243 -0
  507. package/node-mssql/session.cjs.map +1 -0
  508. package/node-mssql/session.d.cts +47 -0
  509. package/node-mssql/session.d.ts +47 -0
  510. package/node-mssql/session.js +211 -0
  511. package/node-mssql/session.js.map +1 -0
  512. package/node-postgres/driver.cjs +2 -9
  513. package/node-postgres/driver.cjs.map +1 -1
  514. package/node-postgres/driver.d.cts +0 -2
  515. package/node-postgres/driver.d.ts +0 -2
  516. package/node-postgres/driver.js +2 -9
  517. package/node-postgres/driver.js.map +1 -1
  518. package/node-postgres/session.cjs +6 -19
  519. package/node-postgres/session.cjs.map +1 -1
  520. package/node-postgres/session.d.cts +2 -13
  521. package/node-postgres/session.d.ts +2 -13
  522. package/node-postgres/session.js +6 -19
  523. package/node-postgres/session.js.map +1 -1
  524. package/op-sqlite/driver.cjs +1 -5
  525. package/op-sqlite/driver.cjs.map +1 -1
  526. package/op-sqlite/driver.js +1 -5
  527. package/op-sqlite/driver.js.map +1 -1
  528. package/op-sqlite/session.cjs +9 -23
  529. package/op-sqlite/session.cjs.map +1 -1
  530. package/op-sqlite/session.d.cts +2 -12
  531. package/op-sqlite/session.d.ts +2 -12
  532. package/op-sqlite/session.js +9 -23
  533. package/op-sqlite/session.js.map +1 -1
  534. package/package.json +656 -69
  535. package/pg-core/db.cjs +0 -1
  536. package/pg-core/db.cjs.map +1 -1
  537. package/pg-core/db.d.cts +0 -4
  538. package/pg-core/db.d.ts +0 -4
  539. package/pg-core/db.js +0 -1
  540. package/pg-core/db.js.map +1 -1
  541. package/pg-core/query-builders/delete.cjs +1 -6
  542. package/pg-core/query-builders/delete.cjs.map +1 -1
  543. package/pg-core/query-builders/delete.d.cts +1 -3
  544. package/pg-core/query-builders/delete.d.ts +1 -3
  545. package/pg-core/query-builders/delete.js +1 -6
  546. package/pg-core/query-builders/delete.js.map +1 -1
  547. package/pg-core/query-builders/insert.cjs +1 -6
  548. package/pg-core/query-builders/insert.cjs.map +1 -1
  549. package/pg-core/query-builders/insert.d.cts +0 -2
  550. package/pg-core/query-builders/insert.d.ts +0 -2
  551. package/pg-core/query-builders/insert.js +1 -6
  552. package/pg-core/query-builders/insert.js.map +1 -1
  553. package/pg-core/query-builders/select.cjs +5 -31
  554. package/pg-core/query-builders/select.cjs.map +1 -1
  555. package/pg-core/query-builders/select.d.cts +6 -15
  556. package/pg-core/query-builders/select.d.ts +6 -15
  557. package/pg-core/query-builders/select.js +5 -31
  558. package/pg-core/query-builders/select.js.map +1 -1
  559. package/pg-core/query-builders/update.cjs +1 -6
  560. package/pg-core/query-builders/update.cjs.map +1 -1
  561. package/pg-core/query-builders/update.d.cts +2 -4
  562. package/pg-core/query-builders/update.d.ts +2 -4
  563. package/pg-core/query-builders/update.js +1 -6
  564. package/pg-core/query-builders/update.js.map +1 -1
  565. package/pg-core/session.cjs +1 -52
  566. package/pg-core/session.cjs.map +1 -1
  567. package/pg-core/session.d.cts +3 -14
  568. package/pg-core/session.d.ts +3 -14
  569. package/pg-core/session.js +2 -53
  570. package/pg-core/session.js.map +1 -1
  571. package/pg-core/utils.cjs +0 -16
  572. package/pg-core/utils.cjs.map +1 -1
  573. package/pg-core/utils.d.cts +4 -8
  574. package/pg-core/utils.d.ts +4 -8
  575. package/pg-core/utils.js +1 -16
  576. package/pg-core/utils.js.map +1 -1
  577. package/pg-proxy/driver.cjs +2 -7
  578. package/pg-proxy/driver.cjs.map +1 -1
  579. package/pg-proxy/driver.js +2 -7
  580. package/pg-proxy/driver.js.map +1 -1
  581. package/pg-proxy/session.cjs +5 -15
  582. package/pg-proxy/session.cjs.map +1 -1
  583. package/pg-proxy/session.d.cts +2 -12
  584. package/pg-proxy/session.d.ts +2 -12
  585. package/pg-proxy/session.js +5 -15
  586. package/pg-proxy/session.js.map +1 -1
  587. package/pglite/driver.cjs +2 -9
  588. package/pglite/driver.cjs.map +1 -1
  589. package/pglite/driver.d.cts +0 -2
  590. package/pglite/driver.d.ts +0 -2
  591. package/pglite/driver.js +2 -9
  592. package/pglite/driver.js.map +1 -1
  593. package/pglite/session.cjs +7 -19
  594. package/pglite/session.cjs.map +1 -1
  595. package/pglite/session.d.cts +2 -12
  596. package/pglite/session.d.ts +2 -12
  597. package/pglite/session.js +7 -19
  598. package/pglite/session.js.map +1 -1
  599. package/planetscale-serverless/driver.cjs +1 -5
  600. package/planetscale-serverless/driver.cjs.map +1 -1
  601. package/planetscale-serverless/driver.d.cts +0 -1
  602. package/planetscale-serverless/driver.d.ts +0 -1
  603. package/planetscale-serverless/driver.js +1 -5
  604. package/planetscale-serverless/driver.js.map +1 -1
  605. package/planetscale-serverless/session.cjs +5 -15
  606. package/planetscale-serverless/session.cjs.map +1 -1
  607. package/planetscale-serverless/session.d.cts +2 -12
  608. package/planetscale-serverless/session.d.ts +2 -12
  609. package/planetscale-serverless/session.js +5 -15
  610. package/planetscale-serverless/session.js.map +1 -1
  611. package/postgres-js/driver.cjs +1 -5
  612. package/postgres-js/driver.cjs.map +1 -1
  613. package/postgres-js/driver.js +1 -5
  614. package/postgres-js/driver.js.map +1 -1
  615. package/postgres-js/session.cjs +6 -18
  616. package/postgres-js/session.cjs.map +1 -1
  617. package/postgres-js/session.d.cts +2 -12
  618. package/postgres-js/session.d.ts +2 -12
  619. package/postgres-js/session.js +6 -18
  620. package/postgres-js/session.js.map +1 -1
  621. package/prisma/mysql/session.cjs +1 -1
  622. package/prisma/mysql/session.cjs.map +1 -1
  623. package/prisma/mysql/session.js +1 -1
  624. package/prisma/mysql/session.js.map +1 -1
  625. package/prisma/pg/session.cjs +1 -1
  626. package/prisma/pg/session.cjs.map +1 -1
  627. package/prisma/pg/session.js +1 -1
  628. package/prisma/pg/session.js.map +1 -1
  629. package/query-builders/query-builder.cjs.map +1 -1
  630. package/query-builders/query-builder.d.cts +1 -2
  631. package/query-builders/query-builder.d.ts +1 -2
  632. package/query-builders/query-builder.js.map +1 -1
  633. package/relations.cjs +48 -0
  634. package/relations.cjs.map +1 -1
  635. package/relations.d.cts +1 -0
  636. package/relations.d.ts +1 -0
  637. package/relations.js +47 -0
  638. package/relations.js.map +1 -1
  639. package/singlestore/driver.cjs +2 -12
  640. package/singlestore/driver.cjs.map +1 -1
  641. package/singlestore/driver.d.cts +0 -2
  642. package/singlestore/driver.d.ts +0 -2
  643. package/singlestore/driver.js +2 -12
  644. package/singlestore/driver.js.map +1 -1
  645. package/singlestore/session.cjs +5 -15
  646. package/singlestore/session.cjs.map +1 -1
  647. package/singlestore/session.d.cts +2 -12
  648. package/singlestore/session.d.ts +2 -12
  649. package/singlestore/session.js +5 -15
  650. package/singlestore/session.js.map +1 -1
  651. package/singlestore-core/db.cjs +0 -1
  652. package/singlestore-core/db.cjs.map +1 -1
  653. package/singlestore-core/db.d.cts +0 -4
  654. package/singlestore-core/db.d.ts +0 -4
  655. package/singlestore-core/db.js +0 -1
  656. package/singlestore-core/db.js.map +1 -1
  657. package/singlestore-core/query-builders/delete.cjs +1 -9
  658. package/singlestore-core/query-builders/delete.cjs.map +1 -1
  659. package/singlestore-core/query-builders/delete.js +1 -9
  660. package/singlestore-core/query-builders/delete.js.map +1 -1
  661. package/singlestore-core/query-builders/insert.cjs +1 -6
  662. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  663. package/singlestore-core/query-builders/insert.js +1 -6
  664. package/singlestore-core/query-builders/insert.js.map +1 -1
  665. package/singlestore-core/query-builders/select.cjs +3 -28
  666. package/singlestore-core/query-builders/select.cjs.map +1 -1
  667. package/singlestore-core/query-builders/select.d.cts +0 -9
  668. package/singlestore-core/query-builders/select.d.ts +0 -9
  669. package/singlestore-core/query-builders/select.js +3 -28
  670. package/singlestore-core/query-builders/select.js.map +1 -1
  671. package/singlestore-core/query-builders/update.cjs +1 -9
  672. package/singlestore-core/query-builders/update.cjs.map +1 -1
  673. package/singlestore-core/query-builders/update.js +1 -9
  674. package/singlestore-core/query-builders/update.js.map +1 -1
  675. package/singlestore-core/session.cjs +0 -53
  676. package/singlestore-core/session.cjs.map +1 -1
  677. package/singlestore-core/session.d.cts +2 -14
  678. package/singlestore-core/session.d.ts +2 -14
  679. package/singlestore-core/session.js +1 -54
  680. package/singlestore-core/session.js.map +1 -1
  681. package/singlestore-core/utils.cjs +0 -16
  682. package/singlestore-core/utils.cjs.map +1 -1
  683. package/singlestore-core/utils.d.cts +0 -3
  684. package/singlestore-core/utils.d.ts +0 -3
  685. package/singlestore-core/utils.js +0 -15
  686. package/singlestore-core/utils.js.map +1 -1
  687. package/sql/sql.cjs +0 -10
  688. package/sql/sql.cjs.map +1 -1
  689. package/sql/sql.js +0 -10
  690. package/sql/sql.js.map +1 -1
  691. package/sqlite-core/db.cjs +0 -1
  692. package/sqlite-core/db.cjs.map +1 -1
  693. package/sqlite-core/db.d.cts +0 -4
  694. package/sqlite-core/db.d.ts +0 -4
  695. package/sqlite-core/db.js +0 -1
  696. package/sqlite-core/db.js.map +1 -1
  697. package/sqlite-core/query-builders/delete.cjs +1 -7
  698. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  699. package/sqlite-core/query-builders/delete.js +1 -7
  700. package/sqlite-core/query-builders/delete.js.map +1 -1
  701. package/sqlite-core/query-builders/insert.cjs +1 -7
  702. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  703. package/sqlite-core/query-builders/insert.js +1 -7
  704. package/sqlite-core/query-builders/insert.js.map +1 -1
  705. package/sqlite-core/query-builders/select.cjs +3 -31
  706. package/sqlite-core/query-builders/select.cjs.map +1 -1
  707. package/sqlite-core/query-builders/select.d.cts +0 -9
  708. package/sqlite-core/query-builders/select.d.ts +0 -9
  709. package/sqlite-core/query-builders/select.js +3 -31
  710. package/sqlite-core/query-builders/select.js.map +1 -1
  711. package/sqlite-core/query-builders/update.cjs +1 -7
  712. package/sqlite-core/query-builders/update.cjs.map +1 -1
  713. package/sqlite-core/query-builders/update.js +1 -7
  714. package/sqlite-core/query-builders/update.js.map +1 -1
  715. package/sqlite-core/session.cjs +3 -62
  716. package/sqlite-core/session.cjs.map +1 -1
  717. package/sqlite-core/session.d.cts +4 -18
  718. package/sqlite-core/session.d.ts +4 -18
  719. package/sqlite-core/session.js +4 -63
  720. package/sqlite-core/session.js.map +1 -1
  721. package/sqlite-core/utils.cjs +0 -16
  722. package/sqlite-core/utils.cjs.map +1 -1
  723. package/sqlite-core/utils.d.cts +2 -6
  724. package/sqlite-core/utils.d.ts +2 -6
  725. package/sqlite-core/utils.js +0 -15
  726. package/sqlite-core/utils.js.map +1 -1
  727. package/sqlite-proxy/driver.cjs +2 -9
  728. package/sqlite-proxy/driver.cjs.map +1 -1
  729. package/sqlite-proxy/driver.js +2 -9
  730. package/sqlite-proxy/driver.js.map +1 -1
  731. package/sqlite-proxy/session.cjs +8 -22
  732. package/sqlite-proxy/session.cjs.map +1 -1
  733. package/sqlite-proxy/session.d.cts +2 -12
  734. package/sqlite-proxy/session.d.ts +2 -12
  735. package/sqlite-proxy/session.js +8 -22
  736. package/sqlite-proxy/session.js.map +1 -1
  737. package/subquery.cjs +3 -4
  738. package/subquery.cjs.map +1 -1
  739. package/subquery.d.cts +1 -2
  740. package/subquery.d.ts +1 -2
  741. package/subquery.js +3 -4
  742. package/subquery.js.map +1 -1
  743. package/tidb-serverless/driver.cjs +1 -5
  744. package/tidb-serverless/driver.cjs.map +1 -1
  745. package/tidb-serverless/driver.d.cts +0 -1
  746. package/tidb-serverless/driver.d.ts +0 -1
  747. package/tidb-serverless/driver.js +1 -5
  748. package/tidb-serverless/driver.js.map +1 -1
  749. package/tidb-serverless/session.cjs +5 -15
  750. package/tidb-serverless/session.cjs.map +1 -1
  751. package/tidb-serverless/session.d.cts +2 -12
  752. package/tidb-serverless/session.d.ts +2 -12
  753. package/tidb-serverless/session.js +5 -15
  754. package/tidb-serverless/session.js.map +1 -1
  755. package/utils.cjs +0 -22
  756. package/utils.cjs.map +1 -1
  757. package/utils.d.cts +0 -3
  758. package/utils.d.ts +0 -3
  759. package/utils.js +0 -11
  760. package/utils.js.map +1 -1
  761. package/vercel-postgres/driver.cjs +2 -9
  762. package/vercel-postgres/driver.cjs.map +1 -1
  763. package/vercel-postgres/driver.d.cts +0 -2
  764. package/vercel-postgres/driver.d.ts +0 -2
  765. package/vercel-postgres/driver.js +2 -9
  766. package/vercel-postgres/driver.js.map +1 -1
  767. package/vercel-postgres/session.cjs +7 -21
  768. package/vercel-postgres/session.cjs.map +1 -1
  769. package/vercel-postgres/session.d.cts +2 -12
  770. package/vercel-postgres/session.d.ts +2 -12
  771. package/vercel-postgres/session.js +7 -21
  772. package/vercel-postgres/session.js.map +1 -1
  773. package/version.cjs +1 -1
  774. package/version.d.cts +1 -1
  775. package/version.d.ts +1 -1
  776. package/version.js +1 -1
  777. package/xata-http/driver.cjs +2 -7
  778. package/xata-http/driver.cjs.map +1 -1
  779. package/xata-http/driver.d.cts +0 -2
  780. package/xata-http/driver.d.ts +0 -2
  781. package/xata-http/driver.js +2 -7
  782. package/xata-http/driver.js.map +1 -1
  783. package/xata-http/session.cjs +7 -21
  784. package/xata-http/session.cjs.map +1 -1
  785. package/xata-http/session.d.cts +2 -12
  786. package/xata-http/session.d.ts +2 -12
  787. package/xata-http/session.js +7 -21
  788. package/xata-http/session.js.map +1 -1
  789. package/cache/core/cache.cjs.map +0 -1
  790. package/cache/core/cache.d.cts +0 -35
  791. package/cache/core/cache.d.ts +0 -35
  792. package/cache/core/cache.js +0 -22
  793. package/cache/core/cache.js.map +0 -1
  794. package/cache/core/index.cjs.map +0 -1
  795. package/cache/core/index.d.cts +0 -1
  796. package/cache/core/index.d.ts +0 -1
  797. package/cache/core/index.js +0 -2
  798. package/cache/core/index.js.map +0 -1
  799. package/cache/core/types.cjs.map +0 -1
  800. package/cache/core/types.d.cts +0 -33
  801. package/cache/core/types.d.ts +0 -33
  802. package/cache/core/types.js +0 -1
  803. package/cache/upstash/cache.cjs +0 -148
  804. package/cache/upstash/cache.cjs.map +0 -1
  805. package/cache/upstash/cache.d.cts +0 -29
  806. package/cache/upstash/cache.d.ts +0 -29
  807. package/cache/upstash/cache.js +0 -123
  808. package/cache/upstash/cache.js.map +0 -1
  809. package/cache/upstash/index.cjs.map +0 -1
  810. package/cache/upstash/index.d.cts +0 -1
  811. package/cache/upstash/index.d.ts +0 -1
  812. package/cache/upstash/index.js +0 -2
  813. package/cache/upstash/index.js.map +0 -1
  814. /package/{cache/core/types.js.map → mssql-core/query-builders/select.types.js.map} +0 -0
@@ -0,0 +1,57 @@
1
+ import { entityKind } from "../entity.cjs";
2
+ import type { MigrationConfig, MigrationMeta } from "../migrator.cjs";
3
+ import { type BuildRelationalQueryResult, type DBQueryConfig, type Relation, type TableRelationalConfig, type TablesRelationalConfig } from "../relations.cjs";
4
+ import { type QueryWithTypings, SQL } from "../sql/sql.cjs";
5
+ import { type Casing, type UpdateSet } from "../utils.cjs";
6
+ import { MsSqlColumn } from "./columns/common.cjs";
7
+ import type { MsSqlDeleteConfig } from "./query-builders/delete.cjs";
8
+ import type { MsSqlInsertConfig } from "./query-builders/insert.cjs";
9
+ import type { MsSqlSelectConfig } from "./query-builders/select.types.cjs";
10
+ import type { MsSqlUpdateConfig } from "./query-builders/update.cjs";
11
+ import type { MsSqlSession } from "./session.cjs";
12
+ import { MsSqlTable } from "./table.cjs";
13
+ export interface MsSqlDialectConfig {
14
+ casing?: Casing;
15
+ }
16
+ export declare class MsSqlDialect {
17
+ static readonly [entityKind]: string;
18
+ constructor(config?: MsSqlDialectConfig);
19
+ migrate(migrations: MigrationMeta[], session: MsSqlSession, config: Omit<MigrationConfig, 'migrationsSchema'>): Promise<void>;
20
+ escapeName(name: string): string;
21
+ escapeParam(_num: number): string;
22
+ escapeString(str: string): string;
23
+ buildDeleteQuery({ table, where, returning }: MsSqlDeleteConfig): SQL;
24
+ buildUpdateSet(table: MsSqlTable, set: UpdateSet): SQL;
25
+ buildUpdateQuery({ table, set, where, returning }: MsSqlUpdateConfig): SQL;
26
+ /**
27
+ * Builds selection SQL with provided fields/expressions
28
+ *
29
+ * Examples:
30
+ *
31
+ * `select <selection> from`
32
+ *
33
+ * `insert ... returning <selection>`
34
+ *
35
+ * If `isSingleTable` is true, then columns won't be prefixed with table name
36
+ */
37
+ private buildSelection;
38
+ buildSelectQuery({ withList, fields, fieldsFlat, where, having, table, joins, orderBy, groupBy, fetch, for: _for, top, offset, distinct, setOperators, }: MsSqlSelectConfig): SQL;
39
+ buildSetOperations(leftSelect: SQL, setOperators: MsSqlSelectConfig['setOperators']): SQL;
40
+ buildSetOperationQuery({ leftSelect, setOperator: { type, isAll, rightSelect, fetch, orderBy, offset }, }: {
41
+ leftSelect: SQL;
42
+ setOperator: MsSqlSelectConfig['setOperators'][number];
43
+ }): SQL;
44
+ buildInsertQuery({ table, values }: MsSqlInsertConfig): SQL;
45
+ sqlToQuery(sql: SQL, invokeSource?: 'indexes' | undefined): QueryWithTypings;
46
+ buildRelationalQuery({ fullSchema, schema, tableNamesMap, table, tableConfig, queryConfig: config, tableAlias, nestedQueryRelation, joinOn, }: {
47
+ fullSchema: Record<string, unknown>;
48
+ schema: TablesRelationalConfig;
49
+ tableNamesMap: Record<string, string>;
50
+ table: MsSqlTable;
51
+ tableConfig: TableRelationalConfig;
52
+ queryConfig: true | DBQueryConfig<'many', true>;
53
+ tableAlias: string;
54
+ nestedQueryRelation?: Relation;
55
+ joinOn?: SQL;
56
+ }): BuildRelationalQueryResult<MsSqlTable, MsSqlColumn>;
57
+ }
@@ -0,0 +1,57 @@
1
+ import { entityKind } from "../entity.js";
2
+ import type { MigrationConfig, MigrationMeta } from "../migrator.js";
3
+ import { type BuildRelationalQueryResult, type DBQueryConfig, type Relation, type TableRelationalConfig, type TablesRelationalConfig } from "../relations.js";
4
+ import { type QueryWithTypings, SQL } from "../sql/sql.js";
5
+ import { type Casing, type UpdateSet } from "../utils.js";
6
+ import { MsSqlColumn } from "./columns/common.js";
7
+ import type { MsSqlDeleteConfig } from "./query-builders/delete.js";
8
+ import type { MsSqlInsertConfig } from "./query-builders/insert.js";
9
+ import type { MsSqlSelectConfig } from "./query-builders/select.types.js";
10
+ import type { MsSqlUpdateConfig } from "./query-builders/update.js";
11
+ import type { MsSqlSession } from "./session.js";
12
+ import { MsSqlTable } from "./table.js";
13
+ export interface MsSqlDialectConfig {
14
+ casing?: Casing;
15
+ }
16
+ export declare class MsSqlDialect {
17
+ static readonly [entityKind]: string;
18
+ constructor(config?: MsSqlDialectConfig);
19
+ migrate(migrations: MigrationMeta[], session: MsSqlSession, config: Omit<MigrationConfig, 'migrationsSchema'>): Promise<void>;
20
+ escapeName(name: string): string;
21
+ escapeParam(_num: number): string;
22
+ escapeString(str: string): string;
23
+ buildDeleteQuery({ table, where, returning }: MsSqlDeleteConfig): SQL;
24
+ buildUpdateSet(table: MsSqlTable, set: UpdateSet): SQL;
25
+ buildUpdateQuery({ table, set, where, returning }: MsSqlUpdateConfig): SQL;
26
+ /**
27
+ * Builds selection SQL with provided fields/expressions
28
+ *
29
+ * Examples:
30
+ *
31
+ * `select <selection> from`
32
+ *
33
+ * `insert ... returning <selection>`
34
+ *
35
+ * If `isSingleTable` is true, then columns won't be prefixed with table name
36
+ */
37
+ private buildSelection;
38
+ buildSelectQuery({ withList, fields, fieldsFlat, where, having, table, joins, orderBy, groupBy, fetch, for: _for, top, offset, distinct, setOperators, }: MsSqlSelectConfig): SQL;
39
+ buildSetOperations(leftSelect: SQL, setOperators: MsSqlSelectConfig['setOperators']): SQL;
40
+ buildSetOperationQuery({ leftSelect, setOperator: { type, isAll, rightSelect, fetch, orderBy, offset }, }: {
41
+ leftSelect: SQL;
42
+ setOperator: MsSqlSelectConfig['setOperators'][number];
43
+ }): SQL;
44
+ buildInsertQuery({ table, values }: MsSqlInsertConfig): SQL;
45
+ sqlToQuery(sql: SQL, invokeSource?: 'indexes' | undefined): QueryWithTypings;
46
+ buildRelationalQuery({ fullSchema, schema, tableNamesMap, table, tableConfig, queryConfig: config, tableAlias, nestedQueryRelation, joinOn, }: {
47
+ fullSchema: Record<string, unknown>;
48
+ schema: TablesRelationalConfig;
49
+ tableNamesMap: Record<string, string>;
50
+ table: MsSqlTable;
51
+ tableConfig: TableRelationalConfig;
52
+ queryConfig: true | DBQueryConfig<'many', true>;
53
+ tableAlias: string;
54
+ nestedQueryRelation?: Relation;
55
+ joinOn?: SQL;
56
+ }): BuildRelationalQueryResult<MsSqlTable, MsSqlColumn>;
57
+ }
@@ -0,0 +1,550 @@
1
+ import { aliasedTable, aliasedTableColumn, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias } from "../alias.js";
2
+ import { CasingCache } from "../casing.js";
3
+ import { Column } from "../column.js";
4
+ import { entityKind, is } from "../entity.js";
5
+ import {
6
+ getOperators,
7
+ getOrderByOperators,
8
+ Many,
9
+ normalizeRelation,
10
+ One
11
+ } from "../relations.js";
12
+ import { Param, SQL, sql, View } from "../sql/sql.js";
13
+ import { Subquery } from "../subquery.js";
14
+ import { getTableName, getTableUniqueName, Table } from "../table.js";
15
+ import { orderSelectedFields } from "../utils.js";
16
+ import { and, DrizzleError, eq, ViewBaseConfig } from "../index.js";
17
+ import { MsSqlColumn } from "./columns/common.js";
18
+ import { MsSqlTable } from "./table.js";
19
+ import { MsSqlViewBase } from "./view-base.js";
20
+ class MsSqlDialect {
21
+ static [entityKind] = "MsSqlDialect";
22
+ /** @internal */
23
+ casing;
24
+ constructor(config) {
25
+ this.casing = new CasingCache(config?.casing);
26
+ }
27
+ async migrate(migrations, session, config) {
28
+ const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
29
+ const migrationTableCreate = sql`
30
+ create table ${sql.identifier(migrationsTable)} (
31
+ id bigint identity primary key,
32
+ hash text not null,
33
+ created_at bigint
34
+ )
35
+ `;
36
+ await session.execute(migrationTableCreate);
37
+ const dbMigrations = await session.all(
38
+ sql`select id, hash, created_at from ${sql.identifier(migrationsTable)} order by created_at desc offset 0 rows fetch next 1 rows only`
39
+ );
40
+ const lastDbMigration = dbMigrations[0];
41
+ await session.transaction(async (tx) => {
42
+ for (const migration of migrations) {
43
+ if (!lastDbMigration || Number(lastDbMigration.created_at) < migration.folderMillis) {
44
+ for (const stmt of migration.sql) {
45
+ await tx.execute(sql.raw(stmt));
46
+ }
47
+ await tx.execute(
48
+ sql`insert into ${sql.identifier(migrationsTable)} ([hash], [created_at]) values(${migration.hash}, ${migration.folderMillis})`
49
+ );
50
+ }
51
+ }
52
+ });
53
+ }
54
+ escapeName(name) {
55
+ return `[${name}]`;
56
+ }
57
+ escapeParam(_num) {
58
+ return `@par${_num}`;
59
+ }
60
+ escapeString(str) {
61
+ return `'${str.replace(/'/g, "''")}'`;
62
+ }
63
+ buildDeleteQuery({ table, where, returning }) {
64
+ const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
65
+ const whereSql = where ? sql` where ${where}` : void 0;
66
+ return sql`delete from ${table}${whereSql}${returningSql}`;
67
+ }
68
+ buildUpdateSet(table, set) {
69
+ const tableColumns = table[Table.Symbol.Columns];
70
+ const columnNames = Object.keys(tableColumns).filter(
71
+ (colName) => set[colName] !== void 0 || tableColumns[colName]?.onUpdateFn !== void 0
72
+ );
73
+ const setSize = columnNames.length;
74
+ return sql.join(columnNames.flatMap((colName, i) => {
75
+ const col = tableColumns[colName];
76
+ const value = set[colName] ?? sql.param(col.onUpdateFn(), col);
77
+ const res = sql`${sql.identifier(this.casing.getColumnCasing(col))} = ${value}`;
78
+ if (i < setSize - 1) {
79
+ return [res, sql.raw(", ")];
80
+ }
81
+ return [res];
82
+ }));
83
+ }
84
+ buildUpdateQuery({ table, set, where, returning }) {
85
+ const setSql = this.buildUpdateSet(table, set);
86
+ const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
87
+ const whereSql = where ? sql` where ${where}` : void 0;
88
+ return sql`update ${table} set ${setSql}${whereSql}${returningSql}`;
89
+ }
90
+ /**
91
+ * Builds selection SQL with provided fields/expressions
92
+ *
93
+ * Examples:
94
+ *
95
+ * `select <selection> from`
96
+ *
97
+ * `insert ... returning <selection>`
98
+ *
99
+ * If `isSingleTable` is true, then columns won't be prefixed with table name
100
+ */
101
+ buildSelection(fields, { isSingleTable = false } = {}) {
102
+ const columnsLen = fields.length;
103
+ const chunks = fields.flatMap(({ field }, i) => {
104
+ const chunk = [];
105
+ if (is(field, SQL.Aliased) && field.isSelectionField) {
106
+ chunk.push(sql.identifier(field.fieldAlias));
107
+ } else if (is(field, SQL.Aliased) || is(field, SQL)) {
108
+ const query = is(field, SQL.Aliased) ? field.sql : field;
109
+ if (isSingleTable) {
110
+ chunk.push(
111
+ new SQL(
112
+ query.queryChunks.map((c) => {
113
+ if (is(c, MsSqlColumn)) {
114
+ return sql.identifier(this.casing.getColumnCasing(c));
115
+ }
116
+ return c;
117
+ })
118
+ )
119
+ );
120
+ } else {
121
+ chunk.push(query);
122
+ }
123
+ if (is(field, SQL.Aliased)) {
124
+ chunk.push(sql` as ${sql.identifier(field.fieldAlias)}`);
125
+ }
126
+ } else if (is(field, Column)) {
127
+ if (isSingleTable) {
128
+ chunk.push(sql.identifier(this.casing.getColumnCasing(field)));
129
+ } else {
130
+ chunk.push(field);
131
+ }
132
+ }
133
+ if (i < columnsLen - 1) {
134
+ chunk.push(sql`, `);
135
+ }
136
+ return chunk;
137
+ });
138
+ return sql.join(chunks);
139
+ }
140
+ buildSelectQuery({
141
+ withList,
142
+ fields,
143
+ fieldsFlat,
144
+ where,
145
+ having,
146
+ table,
147
+ joins,
148
+ orderBy,
149
+ groupBy,
150
+ fetch,
151
+ for: _for,
152
+ top,
153
+ offset,
154
+ distinct,
155
+ setOperators
156
+ }) {
157
+ const fieldsList = fieldsFlat ?? orderSelectedFields(fields);
158
+ for (const f of fieldsList) {
159
+ if (is(f.field, Column) && getTableName(f.field.table) !== (is(table, Subquery) ? table._.alias : is(table, MsSqlViewBase) ? table[ViewBaseConfig].name : is(table, SQL) ? void 0 : getTableName(table)) && !((table2) => joins?.some(
160
+ ({ alias }) => alias === (table2[Table.Symbol.IsAlias] ? getTableName(table2) : table2[Table.Symbol.BaseName])
161
+ ))(f.field.table)) {
162
+ const tableName = getTableName(f.field.table);
163
+ throw new Error(
164
+ `Your "${f.path.join("->")}" field references a column "${tableName}"."${f.field.name}", but the table "${tableName}" is not part of the query! Did you forget to join it?`
165
+ );
166
+ }
167
+ }
168
+ const isSingleTable = !joins || joins.length === 0;
169
+ let withSql;
170
+ if (withList?.length) {
171
+ const withSqlChunks = [sql`with `];
172
+ for (const [i, w] of withList.entries()) {
173
+ withSqlChunks.push(sql`${sql.identifier(w._.alias)} as (${w._.sql})`);
174
+ if (i < withList.length - 1) {
175
+ withSqlChunks.push(sql`, `);
176
+ }
177
+ }
178
+ withSqlChunks.push(sql` `);
179
+ withSql = sql.join(withSqlChunks);
180
+ }
181
+ const distinctSql = distinct ? sql` distinct` : void 0;
182
+ const topSql = top ? sql` top(${top})` : void 0;
183
+ const selection = this.buildSelection(fieldsList, { isSingleTable });
184
+ const tableSql = (() => {
185
+ if (is(table, Table) && table[Table.Symbol.OriginalName] !== table[Table.Symbol.Name]) {
186
+ let fullName = sql`${sql.identifier(table[Table.Symbol.OriginalName])} ${sql.identifier(table[Table.Symbol.Name])}`;
187
+ if (table[Table.Symbol.Schema]) {
188
+ fullName = sql`${sql.identifier(table[Table.Symbol.Schema])}.${fullName}`;
189
+ }
190
+ return fullName;
191
+ }
192
+ return table;
193
+ })();
194
+ const joinsArray = [];
195
+ if (joins) {
196
+ for (const [index, joinMeta] of joins.entries()) {
197
+ if (index === 0) {
198
+ joinsArray.push(sql` `);
199
+ }
200
+ const table2 = joinMeta.table;
201
+ const lateralSql = joinMeta.lateral ? sql` lateral` : void 0;
202
+ if (is(table2, MsSqlTable)) {
203
+ const tableName = table2[MsSqlTable.Symbol.Name];
204
+ const tableSchema = table2[MsSqlTable.Symbol.Schema];
205
+ const origTableName = table2[MsSqlTable.Symbol.OriginalName];
206
+ const alias = tableName === origTableName ? void 0 : joinMeta.alias;
207
+ joinsArray.push(
208
+ sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
209
+ );
210
+ } else if (is(table2, View)) {
211
+ const viewName = table2[ViewBaseConfig].name;
212
+ const viewSchema = table2[ViewBaseConfig].schema;
213
+ const origViewName = table2[ViewBaseConfig].originalName;
214
+ const alias = viewName === origViewName ? void 0 : joinMeta.alias;
215
+ joinsArray.push(
216
+ sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${viewSchema ? sql`${sql.identifier(viewSchema)}.` : void 0}${sql.identifier(origViewName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
217
+ );
218
+ } else {
219
+ joinsArray.push(
220
+ sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${table2} on ${joinMeta.on}`
221
+ );
222
+ }
223
+ if (index < joins.length - 1) {
224
+ joinsArray.push(sql` `);
225
+ }
226
+ }
227
+ }
228
+ const joinsSql = sql.join(joinsArray);
229
+ const whereSql = where ? sql` where ${where}` : void 0;
230
+ const havingSql = having ? sql` having ${having}` : void 0;
231
+ let orderBySql;
232
+ if (orderBy && orderBy.length > 0) {
233
+ orderBySql = sql` order by ${sql.join(orderBy, sql`, `)}`;
234
+ }
235
+ let groupBySql;
236
+ if (groupBy && groupBy.length > 0) {
237
+ groupBySql = sql` group by ${sql.join(groupBy, sql`, `)}`;
238
+ }
239
+ const offsetSql = offset === void 0 ? void 0 : sql` offset ${offset} rows`;
240
+ const fetchSql = fetch === void 0 ? void 0 : sql` fetch next ${fetch} rows only`;
241
+ let forSQL;
242
+ if (_for && _for.mode === "json") {
243
+ forSQL = sql` for json ${sql.raw(_for.type)}${_for.options?.root ? sql` root(${sql.identifier(_for.options.root)})` : void 0}${_for.options?.includeNullValues ? sql` include_null_values` : void 0}${_for.options?.withoutArrayWrapper ? sql` without_array_wrapper` : void 0}`;
244
+ }
245
+ const finalQuery = sql`${withSql}select${distinctSql}${topSql} ${selection} from ${tableSql}${joinsSql}${whereSql}${groupBySql}${havingSql}${orderBySql}${offsetSql}${fetchSql}${forSQL}`;
246
+ if (setOperators.length > 0) {
247
+ return this.buildSetOperations(finalQuery, setOperators);
248
+ }
249
+ return finalQuery;
250
+ }
251
+ buildSetOperations(leftSelect, setOperators) {
252
+ const [setOperator, ...rest] = setOperators;
253
+ if (!setOperator) {
254
+ throw new Error("Cannot pass undefined values to any set operator");
255
+ }
256
+ if (rest.length === 0) {
257
+ return this.buildSetOperationQuery({ leftSelect, setOperator });
258
+ }
259
+ return this.buildSetOperations(
260
+ this.buildSetOperationQuery({ leftSelect, setOperator }),
261
+ rest
262
+ );
263
+ }
264
+ buildSetOperationQuery({
265
+ leftSelect,
266
+ setOperator: { type, isAll, rightSelect, fetch, orderBy, offset }
267
+ }) {
268
+ const leftChunk = sql`(${leftSelect.getSQL()}) `;
269
+ const rightChunk = sql`(${rightSelect.getSQL()})`;
270
+ let orderBySql;
271
+ if (orderBy && orderBy.length > 0) {
272
+ const orderByValues = [];
273
+ for (const orderByUnit of orderBy) {
274
+ if (is(orderByUnit, MsSqlColumn)) {
275
+ orderByValues.push(sql.identifier(orderByUnit.name));
276
+ } else if (is(orderByUnit, SQL)) {
277
+ for (let i = 0; i < orderByUnit.queryChunks.length; i++) {
278
+ const chunk = orderByUnit.queryChunks[i];
279
+ if (is(chunk, MsSqlColumn)) {
280
+ orderByUnit.queryChunks[i] = sql.identifier(chunk.name);
281
+ }
282
+ }
283
+ orderByValues.push(sql`${orderByUnit}`);
284
+ } else {
285
+ orderByValues.push(sql`${orderByUnit}`);
286
+ }
287
+ }
288
+ orderBySql = sql` order by ${sql.join(orderByValues, sql`, `)} `;
289
+ }
290
+ const offsetSql = offset === void 0 ? void 0 : sql` offset ${offset} rows`;
291
+ const fetchSql = fetch === void 0 ? void 0 : sql` fetch next ${fetch} rows only`;
292
+ const operatorChunk = sql.raw(`${type} ${isAll ? "all " : ""}`);
293
+ return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${offsetSql}${fetchSql}`;
294
+ }
295
+ buildInsertQuery({ table, values }) {
296
+ const valuesSqlList = [];
297
+ const columns = table[Table.Symbol.Columns];
298
+ const colEntries = Object.entries(columns).filter(
299
+ ([_, col]) => !col.shouldDisableInsert()
300
+ );
301
+ const insertOrder = colEntries.map(([, column]) => sql.identifier(this.casing.getColumnCasing(column)));
302
+ for (const [valueIndex, value] of values.entries()) {
303
+ const valueList = [];
304
+ for (const [fieldName, col] of colEntries) {
305
+ const colValue = value[fieldName];
306
+ if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
307
+ if (col.defaultFn !== void 0) {
308
+ const defaultFnResult = col.defaultFn();
309
+ const defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
310
+ valueList.push(defaultValue);
311
+ } else if (!col.default && col.onUpdateFn !== void 0) {
312
+ const onUpdateFnResult = col.onUpdateFn();
313
+ const newValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
314
+ valueList.push(newValue);
315
+ } else {
316
+ valueList.push(sql`default`);
317
+ }
318
+ } else {
319
+ valueList.push(colValue);
320
+ }
321
+ }
322
+ valuesSqlList.push(valueList);
323
+ if (valueIndex < values.length - 1) {
324
+ valuesSqlList.push(sql`, `);
325
+ }
326
+ }
327
+ const valuesSql = insertOrder.length === 0 ? void 0 : sql.join(valuesSqlList);
328
+ return sql`insert into ${table} ${insertOrder.length === 0 ? sql`default` : insertOrder} values ${valuesSql}`;
329
+ }
330
+ sqlToQuery(sql2, invokeSource) {
331
+ return sql2.toQuery({
332
+ casing: this.casing,
333
+ escapeName: this.escapeName,
334
+ escapeParam: this.escapeParam,
335
+ escapeString: this.escapeString,
336
+ invokeSource
337
+ });
338
+ }
339
+ buildRelationalQuery({
340
+ fullSchema,
341
+ schema,
342
+ tableNamesMap,
343
+ table,
344
+ tableConfig,
345
+ queryConfig: config,
346
+ tableAlias,
347
+ nestedQueryRelation,
348
+ joinOn
349
+ }) {
350
+ let selection = [];
351
+ let limit, offset, orderBy = [], where;
352
+ if (config === true) {
353
+ const selectionEntries = Object.entries(tableConfig.columns);
354
+ selection = selectionEntries.map(([key, value]) => ({
355
+ dbKey: value.name,
356
+ tsKey: key,
357
+ field: aliasedTableColumn(value, tableAlias),
358
+ relationTableTsKey: void 0,
359
+ isJson: false,
360
+ selection: []
361
+ }));
362
+ } else {
363
+ const aliasedColumns = Object.fromEntries(
364
+ Object.entries(tableConfig.columns).map(([key, value]) => [key, aliasedTableColumn(value, tableAlias)])
365
+ );
366
+ if (config.where) {
367
+ const whereSql = typeof config.where === "function" ? config.where(aliasedColumns, getOperators()) : config.where;
368
+ where = whereSql && mapColumnsInSQLToAlias(whereSql, tableAlias);
369
+ }
370
+ const fieldsSelection = [];
371
+ let selectedColumns = [];
372
+ if (config.columns) {
373
+ let isIncludeMode = false;
374
+ for (const [field, value] of Object.entries(config.columns)) {
375
+ if (value === void 0) {
376
+ continue;
377
+ }
378
+ if (field in tableConfig.columns) {
379
+ if (!isIncludeMode && value === true) {
380
+ isIncludeMode = true;
381
+ }
382
+ selectedColumns.push(field);
383
+ }
384
+ }
385
+ if (selectedColumns.length > 0) {
386
+ selectedColumns = isIncludeMode ? selectedColumns.filter((c) => config.columns?.[c] === true) : Object.keys(tableConfig.columns).filter((key) => !selectedColumns.includes(key));
387
+ }
388
+ } else {
389
+ selectedColumns = Object.keys(tableConfig.columns);
390
+ }
391
+ for (const field of selectedColumns) {
392
+ const column = tableConfig.columns[field];
393
+ fieldsSelection.push({ tsKey: field, value: column });
394
+ }
395
+ let selectedRelations = [];
396
+ if (config.with) {
397
+ selectedRelations = Object.entries(config.with).filter((entry) => !!entry[1]).map(([tsKey, queryConfig]) => ({ tsKey, queryConfig, relation: tableConfig.relations[tsKey] }));
398
+ }
399
+ let extras;
400
+ if (config.extras) {
401
+ extras = typeof config.extras === "function" ? config.extras(aliasedColumns, { sql }) : config.extras;
402
+ for (const [tsKey, value] of Object.entries(extras)) {
403
+ fieldsSelection.push({
404
+ tsKey,
405
+ value: mapColumnsInAliasedSQLToAlias(value, tableAlias)
406
+ });
407
+ }
408
+ }
409
+ for (const { tsKey, value } of fieldsSelection) {
410
+ selection.push({
411
+ dbKey: is(value, SQL.Aliased) ? value.fieldAlias : tableConfig.columns[tsKey].name,
412
+ tsKey,
413
+ field: is(value, Column) ? aliasedTableColumn(value, tableAlias) : value,
414
+ relationTableTsKey: void 0,
415
+ isJson: false,
416
+ selection: []
417
+ });
418
+ }
419
+ let orderByOrig = typeof config.orderBy === "function" ? config.orderBy(aliasedColumns, getOrderByOperators()) : config.orderBy ?? [];
420
+ if (!Array.isArray(orderByOrig)) {
421
+ orderByOrig = [orderByOrig];
422
+ }
423
+ orderBy = orderByOrig.map((orderByValue) => {
424
+ if (is(orderByValue, Column)) {
425
+ return aliasedTableColumn(orderByValue, tableAlias);
426
+ }
427
+ return mapColumnsInSQLToAlias(orderByValue, tableAlias);
428
+ });
429
+ limit = config.limit;
430
+ offset = config.offset;
431
+ for (const {
432
+ tsKey: selectedRelationTsKey,
433
+ queryConfig: selectedRelationConfigValue,
434
+ relation
435
+ } of selectedRelations) {
436
+ const normalizedRelation = normalizeRelation(schema, tableNamesMap, relation);
437
+ const relationTableName = getTableUniqueName(relation.referencedTable);
438
+ const relationTableTsName = tableNamesMap[relationTableName];
439
+ const relationTableAlias = `${tableAlias}_${selectedRelationTsKey}`;
440
+ const joinOn2 = and(
441
+ ...normalizedRelation.fields.map(
442
+ (field2, i) => eq(
443
+ aliasedTableColumn(normalizedRelation.references[i], relationTableAlias),
444
+ aliasedTableColumn(field2, tableAlias)
445
+ )
446
+ )
447
+ );
448
+ const builtRelation = this.buildRelationalQuery({
449
+ fullSchema,
450
+ schema,
451
+ tableNamesMap,
452
+ table: fullSchema[relationTableTsName],
453
+ tableConfig: schema[relationTableTsName],
454
+ queryConfig: is(relation, One) ? selectedRelationConfigValue === true ? { limit: 1 } : { ...selectedRelationConfigValue, limit: 1 } : selectedRelationConfigValue,
455
+ tableAlias: relationTableAlias,
456
+ joinOn: joinOn2,
457
+ nestedQueryRelation: relation
458
+ });
459
+ let fieldSql = sql`(${builtRelation.sql} for json auto, include_null_values)${nestedQueryRelation ? sql` as ${sql.identifier(relationTableAlias)}` : void 0}`;
460
+ if (is(relation, Many)) {
461
+ fieldSql = sql`${fieldSql}`;
462
+ }
463
+ const field = fieldSql.as(selectedRelationTsKey);
464
+ selection.push({
465
+ dbKey: selectedRelationTsKey,
466
+ tsKey: selectedRelationTsKey,
467
+ field,
468
+ relationTableTsKey: relationTableTsName,
469
+ isJson: true,
470
+ selection: builtRelation.selection
471
+ });
472
+ }
473
+ }
474
+ if (selection.length === 0) {
475
+ throw new DrizzleError({
476
+ message: `No fields selected for table "${tableConfig.tsName}" ("${tableAlias}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.`
477
+ });
478
+ }
479
+ let result;
480
+ where = and(joinOn, where);
481
+ if (nestedQueryRelation) {
482
+ let field = sql`${sql.join(
483
+ selection.map((sel) => {
484
+ return is(sel.field, MsSqlColumn) ? sql.identifier(sel.field.name) : is(sel.field, SQL.Aliased) ? sel.isJson ? sel.field.sql : sql`${sel.field.sql} as ${sql.identifier(sel.field.fieldAlias)}` : sel.field;
485
+ }),
486
+ sql`, `
487
+ )}`;
488
+ if (is(nestedQueryRelation, Many)) {
489
+ field = sql`${field}`;
490
+ }
491
+ const nestedSelection = [{
492
+ dbKey: "data",
493
+ tsKey: "data",
494
+ field,
495
+ isJson: true,
496
+ relationTableTsKey: tableConfig.tsName,
497
+ selection
498
+ }];
499
+ result = aliasedTable(table, tableAlias);
500
+ const top = offset ? void 0 : limit ?? void 0;
501
+ const fetch = offset && limit ? limit : void 0;
502
+ if (orderBy.length === 0 && offset !== void 0 && fetch !== void 0) {
503
+ orderBy = [sql`1`];
504
+ }
505
+ result = this.buildSelectQuery({
506
+ table: is(result, MsSqlTable) ? result : new Subquery(result, {}, tableAlias),
507
+ fields: {},
508
+ fieldsFlat: nestedSelection.map(({ field: field2 }) => ({
509
+ path: [],
510
+ field: is(field2, Column) ? aliasedTableColumn(field2, tableAlias) : field2
511
+ })),
512
+ where,
513
+ top,
514
+ offset,
515
+ fetch,
516
+ orderBy,
517
+ setOperators: []
518
+ });
519
+ } else {
520
+ const top = offset ? void 0 : limit ?? void 0;
521
+ const fetch = offset && limit ? limit : void 0;
522
+ if (orderBy.length === 0 && offset !== void 0 && fetch !== void 0) {
523
+ orderBy = [sql`1`];
524
+ }
525
+ result = this.buildSelectQuery({
526
+ table: aliasedTable(table, tableAlias),
527
+ fields: {},
528
+ fieldsFlat: selection.map(({ field }) => ({
529
+ path: [],
530
+ field: is(field, Column) ? aliasedTableColumn(field, tableAlias) : field
531
+ })),
532
+ where,
533
+ top,
534
+ offset,
535
+ fetch,
536
+ orderBy,
537
+ setOperators: []
538
+ });
539
+ }
540
+ return {
541
+ tableTsKey: tableConfig.tsName,
542
+ sql: result,
543
+ selection
544
+ };
545
+ }
546
+ }
547
+ export {
548
+ MsSqlDialect
549
+ };
550
+ //# sourceMappingURL=dialect.js.map