drizzle-orm 0.39.2-aaa57ff → 0.39.2-eba7324

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 (1001) hide show
  1. package/alias.cjs.map +1 -1
  2. package/alias.d.cts +3 -3
  3. package/alias.d.ts +3 -3
  4. package/alias.js.map +1 -1
  5. package/aws-data-api/pg/driver.cjs +5 -19
  6. package/aws-data-api/pg/driver.cjs.map +1 -1
  7. package/aws-data-api/pg/driver.d.cts +8 -9
  8. package/aws-data-api/pg/driver.d.ts +8 -9
  9. package/aws-data-api/pg/driver.js +8 -9
  10. package/aws-data-api/pg/driver.js.map +1 -1
  11. package/aws-data-api/pg/migrator.cjs.map +1 -1
  12. package/aws-data-api/pg/migrator.d.cts +1 -2
  13. package/aws-data-api/pg/migrator.d.ts +1 -2
  14. package/aws-data-api/pg/migrator.js.map +1 -1
  15. package/aws-data-api/pg/session.cjs +4 -67
  16. package/aws-data-api/pg/session.cjs.map +1 -1
  17. package/aws-data-api/pg/session.d.cts +8 -13
  18. package/aws-data-api/pg/session.d.ts +8 -13
  19. package/aws-data-api/pg/session.js +4 -67
  20. package/aws-data-api/pg/session.js.map +1 -1
  21. package/better-sqlite3/driver.cjs +5 -12
  22. package/better-sqlite3/driver.cjs.map +1 -1
  23. package/better-sqlite3/driver.d.cts +6 -7
  24. package/better-sqlite3/driver.d.ts +6 -7
  25. package/better-sqlite3/driver.js +8 -12
  26. package/better-sqlite3/driver.js.map +1 -1
  27. package/better-sqlite3/migrator.cjs.map +1 -1
  28. package/better-sqlite3/migrator.d.cts +1 -2
  29. package/better-sqlite3/migrator.d.ts +1 -2
  30. package/better-sqlite3/migrator.js.map +1 -1
  31. package/better-sqlite3/session.cjs +4 -49
  32. package/better-sqlite3/session.cjs.map +1 -1
  33. package/better-sqlite3/session.d.cts +8 -14
  34. package/better-sqlite3/session.d.ts +8 -14
  35. package/better-sqlite3/session.js +4 -49
  36. package/better-sqlite3/session.js.map +1 -1
  37. package/bun-sql/driver.cjs +5 -16
  38. package/bun-sql/driver.cjs.map +1 -1
  39. package/bun-sql/driver.d.cts +6 -7
  40. package/bun-sql/driver.d.ts +6 -7
  41. package/bun-sql/driver.js +8 -6
  42. package/bun-sql/driver.js.map +1 -1
  43. package/bun-sql/migrator.cjs.map +1 -1
  44. package/bun-sql/migrator.d.cts +1 -2
  45. package/bun-sql/migrator.d.ts +1 -2
  46. package/bun-sql/migrator.js.map +1 -1
  47. package/bun-sql/session.cjs +6 -50
  48. package/bun-sql/session.cjs.map +1 -1
  49. package/bun-sql/session.d.cts +9 -14
  50. package/bun-sql/session.d.ts +9 -14
  51. package/bun-sql/session.js +6 -50
  52. package/bun-sql/session.js.map +1 -1
  53. package/bun-sqlite/driver.cjs +5 -22
  54. package/bun-sqlite/driver.cjs.map +1 -1
  55. package/bun-sqlite/driver.d.cts +6 -7
  56. package/bun-sqlite/driver.d.ts +6 -7
  57. package/bun-sqlite/driver.js +8 -12
  58. package/bun-sqlite/driver.js.map +1 -1
  59. package/bun-sqlite/migrator.cjs.map +1 -1
  60. package/bun-sqlite/migrator.d.cts +1 -2
  61. package/bun-sqlite/migrator.d.ts +1 -2
  62. package/bun-sqlite/migrator.js.map +1 -1
  63. package/bun-sqlite/session.cjs +4 -49
  64. package/bun-sqlite/session.cjs.map +1 -1
  65. package/bun-sqlite/session.d.cts +8 -14
  66. package/bun-sqlite/session.d.ts +8 -14
  67. package/bun-sqlite/session.js +4 -49
  68. package/bun-sqlite/session.js.map +1 -1
  69. package/column-builder.cjs.map +1 -1
  70. package/column-builder.d.cts +6 -5
  71. package/column-builder.d.ts +6 -5
  72. package/column-builder.js.map +1 -1
  73. package/d1/driver.cjs +5 -22
  74. package/d1/driver.cjs.map +1 -1
  75. package/d1/driver.d.cts +2 -3
  76. package/d1/driver.d.ts +2 -3
  77. package/d1/driver.js +8 -12
  78. package/d1/driver.js.map +1 -1
  79. package/d1/migrator.cjs.map +1 -1
  80. package/d1/migrator.d.cts +1 -2
  81. package/d1/migrator.d.ts +1 -2
  82. package/d1/migrator.js.map +1 -1
  83. package/d1/session.cjs +8 -50
  84. package/d1/session.cjs.map +1 -1
  85. package/d1/session.d.cts +8 -15
  86. package/d1/session.d.ts +8 -15
  87. package/d1/session.js +8 -50
  88. package/d1/session.js.map +1 -1
  89. package/durable-sqlite/driver.cjs +5 -16
  90. package/durable-sqlite/driver.cjs.map +1 -1
  91. package/durable-sqlite/driver.d.cts +2 -3
  92. package/durable-sqlite/driver.d.ts +2 -3
  93. package/durable-sqlite/driver.js +8 -6
  94. package/durable-sqlite/driver.js.map +1 -1
  95. package/durable-sqlite/migrator.cjs.map +1 -1
  96. package/durable-sqlite/migrator.d.cts +1 -2
  97. package/durable-sqlite/migrator.d.ts +1 -2
  98. package/durable-sqlite/migrator.js.map +1 -1
  99. package/durable-sqlite/session.cjs +4 -46
  100. package/durable-sqlite/session.cjs.map +1 -1
  101. package/durable-sqlite/session.d.cts +8 -14
  102. package/durable-sqlite/session.d.ts +8 -14
  103. package/durable-sqlite/session.js +4 -46
  104. package/durable-sqlite/session.js.map +1 -1
  105. package/expo-sqlite/driver.cjs +5 -22
  106. package/expo-sqlite/driver.cjs.map +1 -1
  107. package/expo-sqlite/driver.d.cts +2 -3
  108. package/expo-sqlite/driver.d.ts +2 -3
  109. package/expo-sqlite/driver.js +8 -12
  110. package/expo-sqlite/driver.js.map +1 -1
  111. package/expo-sqlite/migrator.cjs.map +1 -1
  112. package/expo-sqlite/migrator.d.cts +2 -3
  113. package/expo-sqlite/migrator.d.ts +2 -3
  114. package/expo-sqlite/migrator.js.map +1 -1
  115. package/expo-sqlite/query.cjs +2 -13
  116. package/expo-sqlite/query.cjs.map +1 -1
  117. package/expo-sqlite/query.d.cts +1 -2
  118. package/expo-sqlite/query.d.ts +1 -2
  119. package/expo-sqlite/query.js +2 -3
  120. package/expo-sqlite/query.js.map +1 -1
  121. package/expo-sqlite/session.cjs +4 -47
  122. package/expo-sqlite/session.cjs.map +1 -1
  123. package/expo-sqlite/session.d.cts +8 -14
  124. package/expo-sqlite/session.d.ts +8 -14
  125. package/expo-sqlite/session.js +4 -47
  126. package/expo-sqlite/session.js.map +1 -1
  127. package/gel/driver.cjs +97 -0
  128. package/gel/driver.cjs.map +1 -0
  129. package/gel/driver.d.cts +38 -0
  130. package/gel/driver.d.ts +38 -0
  131. package/gel/driver.js +74 -0
  132. package/gel/driver.js.map +1 -0
  133. package/gel/index.cjs +25 -0
  134. package/gel/index.cjs.map +1 -0
  135. package/gel/index.d.cts +2 -0
  136. package/gel/index.d.ts +2 -0
  137. package/gel/index.js +3 -0
  138. package/gel/index.js.map +1 -0
  139. package/gel/migrator.cjs +5 -0
  140. package/gel/migrator.cjs.map +1 -0
  141. package/gel/migrator.d.cts +1 -0
  142. package/gel/migrator.d.ts +1 -0
  143. package/gel/migrator.js +4 -0
  144. package/gel/migrator.js.map +1 -0
  145. package/gel/session.cjs +139 -0
  146. package/gel/session.cjs.map +1 -0
  147. package/gel/session.d.cts +47 -0
  148. package/gel/session.d.ts +47 -0
  149. package/gel/session.js +113 -0
  150. package/gel/session.js.map +1 -0
  151. package/gel-core/alias.cjs +32 -0
  152. package/gel-core/alias.cjs.map +1 -0
  153. package/gel-core/alias.d.cts +4 -0
  154. package/gel-core/alias.d.ts +4 -0
  155. package/gel-core/alias.js +8 -0
  156. package/gel-core/alias.js.map +1 -0
  157. package/gel-core/checks.cjs +58 -0
  158. package/gel-core/checks.cjs.map +1 -0
  159. package/gel-core/checks.d.cts +18 -0
  160. package/gel-core/checks.d.ts +18 -0
  161. package/gel-core/checks.js +32 -0
  162. package/gel-core/checks.js.map +1 -0
  163. package/gel-core/columns/all.cjs +72 -0
  164. package/gel-core/columns/all.cjs.map +1 -0
  165. package/gel-core/columns/all.d.cts +43 -0
  166. package/gel-core/columns/all.d.ts +43 -0
  167. package/gel-core/columns/all.js +48 -0
  168. package/gel-core/columns/all.js.map +1 -0
  169. package/gel-core/columns/bigint.cjs +54 -0
  170. package/gel-core/columns/bigint.cjs.map +1 -0
  171. package/gel-core/columns/bigint.d.cts +23 -0
  172. package/gel-core/columns/bigint.d.ts +23 -0
  173. package/gel-core/columns/bigint.js +28 -0
  174. package/gel-core/columns/bigint.js.map +1 -0
  175. package/gel-core/columns/bigintT.cjs +60 -0
  176. package/gel-core/columns/bigintT.cjs.map +1 -0
  177. package/gel-core/columns/bigintT.d.cts +24 -0
  178. package/gel-core/columns/bigintT.d.ts +24 -0
  179. package/gel-core/columns/bigintT.js +34 -0
  180. package/gel-core/columns/bigintT.js.map +1 -0
  181. package/gel-core/columns/boolean.cjs +53 -0
  182. package/gel-core/columns/boolean.cjs.map +1 -0
  183. package/gel-core/columns/boolean.d.cts +22 -0
  184. package/gel-core/columns/boolean.d.ts +22 -0
  185. package/gel-core/columns/boolean.js +27 -0
  186. package/gel-core/columns/boolean.js.map +1 -0
  187. package/gel-core/columns/bytes.cjs +56 -0
  188. package/gel-core/columns/bytes.cjs.map +1 -0
  189. package/gel-core/columns/bytes.d.cts +22 -0
  190. package/gel-core/columns/bytes.d.ts +22 -0
  191. package/gel-core/columns/bytes.js +30 -0
  192. package/gel-core/columns/bytes.js.map +1 -0
  193. package/gel-core/columns/common.cjs +213 -0
  194. package/gel-core/columns/common.cjs.map +1 -0
  195. package/gel-core/columns/common.d.cts +147 -0
  196. package/gel-core/columns/common.d.ts +147 -0
  197. package/gel-core/columns/common.js +184 -0
  198. package/gel-core/columns/common.js.map +1 -0
  199. package/gel-core/columns/custom.cjs +77 -0
  200. package/gel-core/columns/custom.cjs.map +1 -0
  201. package/gel-core/columns/custom.d.cts +155 -0
  202. package/gel-core/columns/custom.d.ts +155 -0
  203. package/gel-core/columns/custom.js +51 -0
  204. package/gel-core/columns/custom.js.map +1 -0
  205. package/gel-core/columns/date-duration.cjs +56 -0
  206. package/gel-core/columns/date-duration.cjs.map +1 -0
  207. package/gel-core/columns/date-duration.d.cts +23 -0
  208. package/gel-core/columns/date-duration.d.ts +23 -0
  209. package/gel-core/columns/date-duration.js +30 -0
  210. package/gel-core/columns/date-duration.js.map +1 -0
  211. package/gel-core/columns/date.common.cjs +37 -0
  212. package/gel-core/columns/date.common.cjs.map +1 -0
  213. package/gel-core/columns/date.common.d.cts +7 -0
  214. package/gel-core/columns/date.common.d.ts +7 -0
  215. package/gel-core/columns/date.common.js +13 -0
  216. package/gel-core/columns/date.common.js.map +1 -0
  217. package/gel-core/columns/decimal.cjs +56 -0
  218. package/gel-core/columns/decimal.cjs.map +1 -0
  219. package/gel-core/columns/decimal.d.cts +26 -0
  220. package/gel-core/columns/decimal.d.ts +26 -0
  221. package/gel-core/columns/decimal.js +30 -0
  222. package/gel-core/columns/decimal.js.map +1 -0
  223. package/gel-core/columns/double-precision.cjs +62 -0
  224. package/gel-core/columns/double-precision.cjs.map +1 -0
  225. package/gel-core/columns/double-precision.d.cts +23 -0
  226. package/gel-core/columns/double-precision.d.ts +23 -0
  227. package/gel-core/columns/double-precision.js +36 -0
  228. package/gel-core/columns/double-precision.js.map +1 -0
  229. package/gel-core/columns/duration.cjs +53 -0
  230. package/gel-core/columns/duration.cjs.map +1 -0
  231. package/gel-core/columns/duration.d.cts +23 -0
  232. package/gel-core/columns/duration.d.ts +23 -0
  233. package/gel-core/columns/duration.js +27 -0
  234. package/gel-core/columns/duration.js.map +1 -0
  235. package/gel-core/columns/index.cjs +65 -0
  236. package/gel-core/columns/index.cjs.map +1 -0
  237. package/gel-core/columns/index.d.cts +22 -0
  238. package/gel-core/columns/index.d.ts +22 -0
  239. package/gel-core/columns/index.js +23 -0
  240. package/gel-core/columns/index.js.map +1 -0
  241. package/gel-core/columns/int.common.cjs +67 -0
  242. package/gel-core/columns/int.common.cjs.map +1 -0
  243. package/gel-core/columns/int.common.d.cts +15 -0
  244. package/gel-core/columns/int.common.d.ts +15 -0
  245. package/gel-core/columns/int.common.js +43 -0
  246. package/gel-core/columns/int.common.js.map +1 -0
  247. package/gel-core/columns/integer.cjs +54 -0
  248. package/gel-core/columns/integer.cjs.map +1 -0
  249. package/gel-core/columns/integer.d.cts +23 -0
  250. package/gel-core/columns/integer.d.ts +23 -0
  251. package/gel-core/columns/integer.js +28 -0
  252. package/gel-core/columns/integer.js.map +1 -0
  253. package/gel-core/columns/json.cjs +56 -0
  254. package/gel-core/columns/json.cjs.map +1 -0
  255. package/gel-core/columns/json.d.cts +26 -0
  256. package/gel-core/columns/json.d.ts +26 -0
  257. package/gel-core/columns/json.js +30 -0
  258. package/gel-core/columns/json.js.map +1 -0
  259. package/gel-core/columns/localdate.cjs +57 -0
  260. package/gel-core/columns/localdate.cjs.map +1 -0
  261. package/gel-core/columns/localdate.d.cts +24 -0
  262. package/gel-core/columns/localdate.d.ts +24 -0
  263. package/gel-core/columns/localdate.js +31 -0
  264. package/gel-core/columns/localdate.js.map +1 -0
  265. package/gel-core/columns/localtime.cjs +57 -0
  266. package/gel-core/columns/localtime.cjs.map +1 -0
  267. package/gel-core/columns/localtime.d.cts +24 -0
  268. package/gel-core/columns/localtime.d.ts +24 -0
  269. package/gel-core/columns/localtime.js +31 -0
  270. package/gel-core/columns/localtime.js.map +1 -0
  271. package/gel-core/columns/real.cjs +57 -0
  272. package/gel-core/columns/real.cjs.map +1 -0
  273. package/gel-core/columns/real.d.cts +28 -0
  274. package/gel-core/columns/real.d.ts +28 -0
  275. package/gel-core/columns/real.js +31 -0
  276. package/gel-core/columns/real.js.map +1 -0
  277. package/gel-core/columns/relative-duration.cjs +56 -0
  278. package/gel-core/columns/relative-duration.cjs.map +1 -0
  279. package/gel-core/columns/relative-duration.d.cts +23 -0
  280. package/gel-core/columns/relative-duration.d.ts +23 -0
  281. package/gel-core/columns/relative-duration.js +30 -0
  282. package/gel-core/columns/relative-duration.js.map +1 -0
  283. package/gel-core/columns/smallint.cjs +54 -0
  284. package/gel-core/columns/smallint.cjs.map +1 -0
  285. package/gel-core/columns/smallint.d.cts +23 -0
  286. package/gel-core/columns/smallint.d.ts +23 -0
  287. package/gel-core/columns/smallint.js +28 -0
  288. package/gel-core/columns/smallint.js.map +1 -0
  289. package/gel-core/columns/text.cjs +54 -0
  290. package/gel-core/columns/text.cjs.map +1 -0
  291. package/gel-core/columns/text.d.cts +26 -0
  292. package/gel-core/columns/text.d.ts +26 -0
  293. package/gel-core/columns/text.js +28 -0
  294. package/gel-core/columns/text.js.map +1 -0
  295. package/gel-core/columns/timestamp.cjs +60 -0
  296. package/gel-core/columns/timestamp.cjs.map +1 -0
  297. package/gel-core/columns/timestamp.d.cts +28 -0
  298. package/gel-core/columns/timestamp.d.ts +28 -0
  299. package/gel-core/columns/timestamp.js +34 -0
  300. package/gel-core/columns/timestamp.js.map +1 -0
  301. package/gel-core/columns/timestamptz.cjs +60 -0
  302. package/gel-core/columns/timestamptz.cjs.map +1 -0
  303. package/gel-core/columns/timestamptz.d.cts +27 -0
  304. package/gel-core/columns/timestamptz.d.ts +27 -0
  305. package/gel-core/columns/timestamptz.js +34 -0
  306. package/gel-core/columns/timestamptz.js.map +1 -0
  307. package/gel-core/columns/uuid.cjs +53 -0
  308. package/gel-core/columns/uuid.cjs.map +1 -0
  309. package/gel-core/columns/uuid.d.cts +22 -0
  310. package/gel-core/columns/uuid.d.ts +22 -0
  311. package/gel-core/columns/uuid.js +27 -0
  312. package/gel-core/columns/uuid.js.map +1 -0
  313. package/gel-core/db.cjs +338 -0
  314. package/gel-core/db.cjs.map +1 -0
  315. package/gel-core/db.d.cts +281 -0
  316. package/gel-core/db.d.ts +281 -0
  317. package/gel-core/db.js +319 -0
  318. package/gel-core/db.js.map +1 -0
  319. package/gel-core/dialect.cjs +1142 -0
  320. package/gel-core/dialect.cjs.map +1 -0
  321. package/gel-core/dialect.d.cts +62 -0
  322. package/gel-core/dialect.d.ts +62 -0
  323. package/gel-core/dialect.js +1128 -0
  324. package/gel-core/dialect.js.map +1 -0
  325. package/gel-core/expressions.cjs +49 -0
  326. package/gel-core/expressions.cjs.map +1 -0
  327. package/gel-core/expressions.d.cts +8 -0
  328. package/gel-core/expressions.d.ts +8 -0
  329. package/gel-core/expressions.js +22 -0
  330. package/gel-core/expressions.js.map +1 -0
  331. package/gel-core/foreign-keys.cjs +100 -0
  332. package/gel-core/foreign-keys.cjs.map +1 -0
  333. package/gel-core/foreign-keys.d.cts +48 -0
  334. package/gel-core/foreign-keys.d.ts +48 -0
  335. package/gel-core/foreign-keys.js +74 -0
  336. package/gel-core/foreign-keys.js.map +1 -0
  337. package/gel-core/index.cjs +61 -0
  338. package/gel-core/index.cjs.map +1 -0
  339. package/gel-core/index.d.cts +20 -0
  340. package/gel-core/index.d.ts +20 -0
  341. package/gel-core/index.js +21 -0
  342. package/gel-core/index.js.map +1 -0
  343. package/gel-core/indexes.cjs +149 -0
  344. package/gel-core/indexes.cjs.map +1 -0
  345. package/gel-core/indexes.d.cts +79 -0
  346. package/gel-core/indexes.d.ts +79 -0
  347. package/gel-core/indexes.js +121 -0
  348. package/gel-core/indexes.js.map +1 -0
  349. package/gel-core/policies.cjs +58 -0
  350. package/gel-core/policies.cjs.map +1 -0
  351. package/gel-core/policies.d.cts +24 -0
  352. package/gel-core/policies.d.ts +24 -0
  353. package/gel-core/policies.js +33 -0
  354. package/gel-core/policies.js.map +1 -0
  355. package/gel-core/primary-keys.cjs +68 -0
  356. package/gel-core/primary-keys.cjs.map +1 -0
  357. package/gel-core/primary-keys.d.cts +30 -0
  358. package/gel-core/primary-keys.d.ts +30 -0
  359. package/gel-core/primary-keys.js +42 -0
  360. package/gel-core/primary-keys.js.map +1 -0
  361. package/gel-core/query-builders/count.cjs +73 -0
  362. package/gel-core/query-builders/count.cjs.map +1 -0
  363. package/gel-core/query-builders/count.d.cts +25 -0
  364. package/gel-core/query-builders/count.d.ts +25 -0
  365. package/gel-core/query-builders/count.js +49 -0
  366. package/gel-core/query-builders/count.js.map +1 -0
  367. package/gel-core/query-builders/delete.cjs +105 -0
  368. package/gel-core/query-builders/delete.cjs.map +1 -0
  369. package/gel-core/query-builders/delete.d.cts +99 -0
  370. package/gel-core/query-builders/delete.d.ts +99 -0
  371. package/gel-core/query-builders/delete.js +81 -0
  372. package/gel-core/query-builders/delete.js.map +1 -0
  373. package/gel-core/query-builders/index.cjs +35 -0
  374. package/gel-core/query-builders/index.cjs.map +1 -0
  375. package/gel-core/query-builders/index.d.cts +7 -0
  376. package/gel-core/query-builders/index.d.ts +7 -0
  377. package/gel-core/query-builders/index.js +8 -0
  378. package/gel-core/query-builders/index.js.map +1 -0
  379. package/gel-core/query-builders/insert.cjs +218 -0
  380. package/gel-core/query-builders/insert.cjs.map +1 -0
  381. package/gel-core/query-builders/insert.d.cts +116 -0
  382. package/gel-core/query-builders/insert.d.ts +116 -0
  383. package/gel-core/query-builders/insert.js +193 -0
  384. package/gel-core/query-builders/insert.js.map +1 -0
  385. package/gel-core/query-builders/query-builder.cjs +114 -0
  386. package/gel-core/query-builders/query-builder.cjs.map +1 -0
  387. package/gel-core/query-builders/query-builder.d.cts +40 -0
  388. package/gel-core/query-builders/query-builder.d.ts +40 -0
  389. package/gel-core/query-builders/query-builder.js +90 -0
  390. package/gel-core/query-builders/query-builder.js.map +1 -0
  391. package/{pg-core/query-builders/_query.cjs → gel-core/query-builders/query.cjs} +15 -31
  392. package/gel-core/query-builders/query.cjs.map +1 -0
  393. package/gel-core/query-builders/query.d.cts +46 -0
  394. package/gel-core/query-builders/query.d.ts +46 -0
  395. package/{pg-core/query-builders/_query.js → gel-core/query-builders/query.js} +15 -19
  396. package/gel-core/query-builders/query.js.map +1 -0
  397. package/gel-core/query-builders/raw.cjs +57 -0
  398. package/gel-core/query-builders/raw.cjs.map +1 -0
  399. package/gel-core/query-builders/raw.d.cts +22 -0
  400. package/gel-core/query-builders/raw.d.ts +22 -0
  401. package/gel-core/query-builders/raw.js +33 -0
  402. package/gel-core/query-builders/raw.js.map +1 -0
  403. package/gel-core/query-builders/refresh-materialized-view.cjs +77 -0
  404. package/gel-core/query-builders/refresh-materialized-view.cjs.map +1 -0
  405. package/gel-core/query-builders/refresh-materialized-view.d.cts +27 -0
  406. package/gel-core/query-builders/refresh-materialized-view.d.ts +27 -0
  407. package/gel-core/query-builders/refresh-materialized-view.js +53 -0
  408. package/gel-core/query-builders/refresh-materialized-view.js.map +1 -0
  409. package/gel-core/query-builders/select.cjs +775 -0
  410. package/gel-core/query-builders/select.cjs.map +1 -0
  411. package/gel-core/query-builders/select.d.cts +721 -0
  412. package/gel-core/query-builders/select.d.ts +721 -0
  413. package/gel-core/query-builders/select.js +748 -0
  414. package/gel-core/query-builders/select.js.map +1 -0
  415. package/gel-core/query-builders/select.types.cjs +17 -0
  416. package/gel-core/query-builders/select.types.cjs.map +1 -0
  417. package/gel-core/query-builders/select.types.d.cts +138 -0
  418. package/gel-core/query-builders/select.types.d.ts +138 -0
  419. package/gel-core/query-builders/select.types.js +1 -0
  420. package/gel-core/query-builders/select.types.js.map +1 -0
  421. package/gel-core/query-builders/update.cjs +226 -0
  422. package/gel-core/query-builders/update.cjs.map +1 -0
  423. package/gel-core/query-builders/update.d.cts +166 -0
  424. package/gel-core/query-builders/update.d.ts +166 -0
  425. package/gel-core/query-builders/update.js +205 -0
  426. package/gel-core/query-builders/update.js.map +1 -0
  427. package/gel-core/roles.cjs +57 -0
  428. package/gel-core/roles.cjs.map +1 -0
  429. package/gel-core/roles.d.cts +13 -0
  430. package/gel-core/roles.d.ts +13 -0
  431. package/gel-core/roles.js +32 -0
  432. package/gel-core/roles.js.map +1 -0
  433. package/gel-core/schema.cjs +74 -0
  434. package/gel-core/schema.cjs.map +1 -0
  435. package/gel-core/schema.d.cts +15 -0
  436. package/gel-core/schema.d.ts +15 -0
  437. package/gel-core/schema.js +48 -0
  438. package/gel-core/schema.js.map +1 -0
  439. package/gel-core/sequence.cjs +52 -0
  440. package/gel-core/sequence.cjs.map +1 -0
  441. package/gel-core/sequence.d.cts +18 -0
  442. package/gel-core/sequence.d.ts +18 -0
  443. package/gel-core/sequence.js +25 -0
  444. package/gel-core/sequence.js.map +1 -0
  445. package/gel-core/session.cjs +94 -0
  446. package/gel-core/session.cjs.map +1 -0
  447. package/gel-core/session.d.cts +56 -0
  448. package/gel-core/session.d.ts +56 -0
  449. package/gel-core/session.js +68 -0
  450. package/gel-core/session.js.map +1 -0
  451. package/gel-core/subquery.cjs +17 -0
  452. package/gel-core/subquery.cjs.map +1 -0
  453. package/gel-core/subquery.d.cts +5 -0
  454. package/gel-core/subquery.d.ts +5 -0
  455. package/gel-core/subquery.js +1 -0
  456. package/gel-core/subquery.js.map +1 -0
  457. package/gel-core/table.cjs +100 -0
  458. package/gel-core/table.cjs.map +1 -0
  459. package/gel-core/table.d.cts +95 -0
  460. package/gel-core/table.d.ts +95 -0
  461. package/gel-core/table.js +71 -0
  462. package/gel-core/table.js.map +1 -0
  463. package/gel-core/unique-constraint.cjs +89 -0
  464. package/gel-core/unique-constraint.cjs.map +1 -0
  465. package/gel-core/unique-constraint.d.cts +25 -0
  466. package/gel-core/unique-constraint.d.ts +25 -0
  467. package/gel-core/unique-constraint.js +61 -0
  468. package/gel-core/unique-constraint.js.map +1 -0
  469. package/gel-core/utils.cjs +100 -0
  470. package/gel-core/utils.cjs.map +1 -0
  471. package/gel-core/utils.d.cts +51 -0
  472. package/gel-core/utils.d.ts +51 -0
  473. package/gel-core/utils.js +74 -0
  474. package/gel-core/utils.js.map +1 -0
  475. package/gel-core/view-base.cjs +33 -0
  476. package/gel-core/view-base.cjs.map +1 -0
  477. package/gel-core/view-base.d.cts +8 -0
  478. package/gel-core/view-base.d.ts +8 -0
  479. package/gel-core/view-base.js +9 -0
  480. package/gel-core/view-base.js.map +1 -0
  481. package/gel-core/view-common.cjs +29 -0
  482. package/gel-core/view-common.cjs.map +1 -0
  483. package/gel-core/view-common.d.cts +1 -0
  484. package/gel-core/view-common.d.ts +1 -0
  485. package/gel-core/view-common.js +5 -0
  486. package/gel-core/view-common.js.map +1 -0
  487. package/gel-core/view.cjs +302 -0
  488. package/gel-core/view.cjs.map +1 -0
  489. package/gel-core/view.d.cts +150 -0
  490. package/gel-core/view.d.ts +150 -0
  491. package/gel-core/view.js +268 -0
  492. package/gel-core/view.js.map +1 -0
  493. package/libsql/driver-core.cjs +5 -22
  494. package/libsql/driver-core.cjs.map +1 -1
  495. package/libsql/driver-core.d.cts +1 -2
  496. package/libsql/driver-core.d.ts +1 -2
  497. package/libsql/driver-core.js +8 -12
  498. package/libsql/driver-core.js.map +1 -1
  499. package/libsql/driver.cjs.map +1 -1
  500. package/libsql/driver.d.cts +5 -6
  501. package/libsql/driver.d.ts +5 -6
  502. package/libsql/driver.js.map +1 -1
  503. package/libsql/http/index.cjs.map +1 -1
  504. package/libsql/http/index.d.cts +5 -6
  505. package/libsql/http/index.d.ts +5 -6
  506. package/libsql/http/index.js.map +1 -1
  507. package/libsql/migrator.cjs.map +1 -1
  508. package/libsql/migrator.d.cts +1 -2
  509. package/libsql/migrator.d.ts +1 -2
  510. package/libsql/migrator.js.map +1 -1
  511. package/libsql/node/index.cjs.map +1 -1
  512. package/libsql/node/index.d.cts +5 -6
  513. package/libsql/node/index.d.ts +5 -6
  514. package/libsql/node/index.js.map +1 -1
  515. package/libsql/session.cjs +4 -56
  516. package/libsql/session.cjs.map +1 -1
  517. package/libsql/session.d.cts +9 -15
  518. package/libsql/session.d.ts +9 -15
  519. package/libsql/session.js +4 -56
  520. package/libsql/session.js.map +1 -1
  521. package/libsql/sqlite3/index.cjs.map +1 -1
  522. package/libsql/sqlite3/index.d.cts +5 -6
  523. package/libsql/sqlite3/index.d.ts +5 -6
  524. package/libsql/sqlite3/index.js.map +1 -1
  525. package/libsql/wasm/index.cjs.map +1 -1
  526. package/libsql/wasm/index.d.cts +5 -6
  527. package/libsql/wasm/index.d.ts +5 -6
  528. package/libsql/wasm/index.js.map +1 -1
  529. package/libsql/web/index.cjs.map +1 -1
  530. package/libsql/web/index.d.cts +5 -6
  531. package/libsql/web/index.d.ts +5 -6
  532. package/libsql/web/index.js.map +1 -1
  533. package/libsql/ws/index.cjs.map +1 -1
  534. package/libsql/ws/index.d.cts +5 -6
  535. package/libsql/ws/index.d.ts +5 -6
  536. package/libsql/ws/index.js.map +1 -1
  537. package/mysql-core/db.cjs +6 -30
  538. package/mysql-core/db.cjs.map +1 -1
  539. package/mysql-core/db.d.cts +8 -15
  540. package/mysql-core/db.d.ts +8 -15
  541. package/mysql-core/db.js +5 -29
  542. package/mysql-core/db.js.map +1 -1
  543. package/mysql-core/dialect.cjs +15 -197
  544. package/mysql-core/dialect.cjs.map +1 -1
  545. package/mysql-core/dialect.d.cts +13 -36
  546. package/mysql-core/dialect.d.ts +13 -36
  547. package/mysql-core/dialect.js +22 -196
  548. package/mysql-core/dialect.js.map +1 -1
  549. package/mysql-core/query-builders/count.cjs.map +1 -1
  550. package/mysql-core/query-builders/count.d.cts +1 -1
  551. package/mysql-core/query-builders/count.d.ts +1 -1
  552. package/mysql-core/query-builders/count.js.map +1 -1
  553. package/mysql-core/query-builders/query.cjs +31 -18
  554. package/mysql-core/query-builders/query.cjs.map +1 -1
  555. package/mysql-core/query-builders/query.d.cts +10 -8
  556. package/mysql-core/query-builders/query.d.ts +10 -8
  557. package/mysql-core/query-builders/query.js +31 -18
  558. package/mysql-core/query-builders/query.js.map +1 -1
  559. package/mysql-core/session.cjs +2 -3
  560. package/mysql-core/session.cjs.map +1 -1
  561. package/mysql-core/session.d.cts +7 -10
  562. package/mysql-core/session.d.ts +7 -10
  563. package/mysql-core/session.js +2 -3
  564. package/mysql-core/session.js.map +1 -1
  565. package/mysql-proxy/driver.cjs +5 -22
  566. package/mysql-proxy/driver.cjs.map +1 -1
  567. package/mysql-proxy/driver.d.cts +2 -3
  568. package/mysql-proxy/driver.d.ts +2 -3
  569. package/mysql-proxy/driver.js +8 -12
  570. package/mysql-proxy/driver.js.map +1 -1
  571. package/mysql-proxy/migrator.cjs.map +1 -1
  572. package/mysql-proxy/migrator.d.cts +1 -2
  573. package/mysql-proxy/migrator.d.ts +1 -2
  574. package/mysql-proxy/migrator.js.map +1 -1
  575. package/mysql-proxy/session.cjs +2 -27
  576. package/mysql-proxy/session.cjs.map +1 -1
  577. package/mysql-proxy/session.d.cts +8 -13
  578. package/mysql-proxy/session.d.ts +8 -13
  579. package/mysql-proxy/session.js +2 -27
  580. package/mysql-proxy/session.js.map +1 -1
  581. package/mysql2/driver.cjs +7 -24
  582. package/mysql2/driver.cjs.map +1 -1
  583. package/mysql2/driver.d.cts +9 -10
  584. package/mysql2/driver.d.ts +9 -10
  585. package/mysql2/driver.js +10 -14
  586. package/mysql2/driver.js.map +1 -1
  587. package/mysql2/migrator.cjs.map +1 -1
  588. package/mysql2/migrator.d.cts +1 -2
  589. package/mysql2/migrator.d.ts +1 -2
  590. package/mysql2/migrator.js.map +1 -1
  591. package/mysql2/session.cjs +2 -30
  592. package/mysql2/session.cjs.map +1 -1
  593. package/mysql2/session.d.cts +8 -13
  594. package/mysql2/session.d.ts +8 -13
  595. package/mysql2/session.js +2 -30
  596. package/mysql2/session.js.map +1 -1
  597. package/neon-http/driver.cjs +7 -21
  598. package/neon-http/driver.cjs.map +1 -1
  599. package/neon-http/driver.d.cts +9 -10
  600. package/neon-http/driver.d.ts +9 -10
  601. package/neon-http/driver.js +7 -11
  602. package/neon-http/driver.js.map +1 -1
  603. package/neon-http/migrator.cjs.map +1 -1
  604. package/neon-http/migrator.d.cts +1 -2
  605. package/neon-http/migrator.d.ts +1 -2
  606. package/neon-http/migrator.js.map +1 -1
  607. package/neon-http/session.cjs +2 -32
  608. package/neon-http/session.cjs.map +1 -1
  609. package/neon-http/session.d.cts +8 -13
  610. package/neon-http/session.d.ts +8 -13
  611. package/neon-http/session.js +2 -32
  612. package/neon-http/session.js.map +1 -1
  613. package/neon-serverless/driver.cjs +7 -18
  614. package/neon-serverless/driver.cjs.map +1 -1
  615. package/neon-serverless/driver.d.cts +8 -9
  616. package/neon-serverless/driver.d.ts +8 -9
  617. package/neon-serverless/driver.js +10 -8
  618. package/neon-serverless/driver.js.map +1 -1
  619. package/neon-serverless/migrator.cjs.map +1 -1
  620. package/neon-serverless/migrator.d.cts +1 -2
  621. package/neon-serverless/migrator.d.ts +1 -2
  622. package/neon-serverless/migrator.js.map +1 -1
  623. package/neon-serverless/session.cjs +5 -40
  624. package/neon-serverless/session.cjs.map +1 -1
  625. package/neon-serverless/session.d.cts +8 -13
  626. package/neon-serverless/session.d.ts +8 -13
  627. package/neon-serverless/session.js +5 -40
  628. package/neon-serverless/session.js.map +1 -1
  629. package/node-postgres/driver.cjs +7 -13
  630. package/node-postgres/driver.cjs.map +1 -1
  631. package/node-postgres/driver.d.cts +8 -9
  632. package/node-postgres/driver.d.ts +8 -9
  633. package/node-postgres/driver.js +10 -13
  634. package/node-postgres/driver.js.map +1 -1
  635. package/node-postgres/migrator.cjs.map +1 -1
  636. package/node-postgres/migrator.d.cts +1 -2
  637. package/node-postgres/migrator.d.ts +1 -2
  638. package/node-postgres/migrator.js.map +1 -1
  639. package/node-postgres/session.cjs +4 -45
  640. package/node-postgres/session.cjs.map +1 -1
  641. package/node-postgres/session.d.cts +8 -13
  642. package/node-postgres/session.d.ts +8 -13
  643. package/node-postgres/session.js +4 -45
  644. package/node-postgres/session.js.map +1 -1
  645. package/op-sqlite/driver.cjs +5 -22
  646. package/op-sqlite/driver.cjs.map +1 -1
  647. package/op-sqlite/driver.d.cts +2 -3
  648. package/op-sqlite/driver.d.ts +2 -3
  649. package/op-sqlite/driver.js +8 -12
  650. package/op-sqlite/driver.js.map +1 -1
  651. package/op-sqlite/migrator.cjs.map +1 -1
  652. package/op-sqlite/migrator.d.cts +2 -3
  653. package/op-sqlite/migrator.d.ts +2 -3
  654. package/op-sqlite/migrator.js.map +1 -1
  655. package/op-sqlite/session.cjs +4 -47
  656. package/op-sqlite/session.cjs.map +1 -1
  657. package/op-sqlite/session.d.cts +8 -14
  658. package/op-sqlite/session.d.ts +8 -14
  659. package/op-sqlite/session.js +4 -47
  660. package/op-sqlite/session.js.map +1 -1
  661. package/package.json +784 -99
  662. package/pg-core/db.cjs +5 -32
  663. package/pg-core/db.cjs.map +1 -1
  664. package/pg-core/db.d.cts +9 -16
  665. package/pg-core/db.d.ts +9 -16
  666. package/pg-core/db.js +4 -31
  667. package/pg-core/db.js.map +1 -1
  668. package/pg-core/dialect.cjs +488 -173
  669. package/pg-core/dialect.cjs.map +1 -1
  670. package/pg-core/dialect.d.cts +8 -27
  671. package/pg-core/dialect.d.ts +8 -27
  672. package/pg-core/dialect.js +495 -172
  673. package/pg-core/dialect.js.map +1 -1
  674. package/pg-core/query-builders/count.cjs.map +1 -1
  675. package/pg-core/query-builders/count.d.cts +1 -1
  676. package/pg-core/query-builders/count.d.ts +1 -1
  677. package/pg-core/query-builders/count.js.map +1 -1
  678. package/pg-core/query-builders/query.cjs +18 -15
  679. package/pg-core/query-builders/query.cjs.map +1 -1
  680. package/pg-core/query-builders/query.d.cts +6 -6
  681. package/pg-core/query-builders/query.d.ts +6 -6
  682. package/pg-core/query-builders/query.js +18 -15
  683. package/pg-core/query-builders/query.js.map +1 -1
  684. package/pg-core/session.cjs +2 -3
  685. package/pg-core/session.cjs.map +1 -1
  686. package/pg-core/session.d.cts +6 -9
  687. package/pg-core/session.d.ts +6 -9
  688. package/pg-core/session.js +2 -3
  689. package/pg-core/session.js.map +1 -1
  690. package/pg-core/table.cjs +2 -0
  691. package/pg-core/table.cjs.map +1 -1
  692. package/pg-core/table.js +2 -0
  693. package/pg-core/table.js.map +1 -1
  694. package/pg-proxy/driver.cjs +5 -21
  695. package/pg-proxy/driver.cjs.map +1 -1
  696. package/pg-proxy/driver.d.cts +2 -3
  697. package/pg-proxy/driver.d.ts +2 -3
  698. package/pg-proxy/driver.js +8 -11
  699. package/pg-proxy/driver.js.map +1 -1
  700. package/pg-proxy/migrator.cjs.map +1 -1
  701. package/pg-proxy/migrator.d.cts +1 -2
  702. package/pg-proxy/migrator.d.ts +1 -2
  703. package/pg-proxy/migrator.js.map +1 -1
  704. package/pg-proxy/session.cjs +2 -37
  705. package/pg-proxy/session.cjs.map +1 -1
  706. package/pg-proxy/session.d.cts +8 -13
  707. package/pg-proxy/session.d.ts +8 -13
  708. package/pg-proxy/session.js +2 -37
  709. package/pg-proxy/session.js.map +1 -1
  710. package/pglite/driver.cjs +7 -23
  711. package/pglite/driver.cjs.map +1 -1
  712. package/pglite/driver.d.cts +8 -9
  713. package/pglite/driver.d.ts +8 -9
  714. package/pglite/driver.js +10 -13
  715. package/pglite/driver.js.map +1 -1
  716. package/pglite/migrator.cjs.map +1 -1
  717. package/pglite/migrator.d.cts +1 -2
  718. package/pglite/migrator.d.ts +1 -2
  719. package/pglite/migrator.js.map +1 -1
  720. package/pglite/session.cjs +3 -34
  721. package/pglite/session.cjs.map +1 -1
  722. package/pglite/session.d.cts +8 -13
  723. package/pglite/session.d.ts +8 -13
  724. package/pglite/session.js +3 -34
  725. package/pglite/session.js.map +1 -1
  726. package/planetscale-serverless/driver.cjs +5 -22
  727. package/planetscale-serverless/driver.cjs.map +1 -1
  728. package/planetscale-serverless/driver.d.cts +6 -7
  729. package/planetscale-serverless/driver.d.ts +6 -7
  730. package/planetscale-serverless/driver.js +8 -12
  731. package/planetscale-serverless/driver.js.map +1 -1
  732. package/planetscale-serverless/migrator.cjs.map +1 -1
  733. package/planetscale-serverless/migrator.d.cts +1 -2
  734. package/planetscale-serverless/migrator.d.ts +1 -2
  735. package/planetscale-serverless/migrator.js.map +1 -1
  736. package/planetscale-serverless/session.cjs +5 -45
  737. package/planetscale-serverless/session.cjs.map +1 -1
  738. package/planetscale-serverless/session.d.cts +9 -14
  739. package/planetscale-serverless/session.d.ts +9 -14
  740. package/planetscale-serverless/session.js +5 -45
  741. package/planetscale-serverless/session.js.map +1 -1
  742. package/postgres-js/driver.cjs +5 -6
  743. package/postgres-js/driver.cjs.map +1 -1
  744. package/postgres-js/driver.d.cts +6 -7
  745. package/postgres-js/driver.d.ts +6 -7
  746. package/postgres-js/driver.js +8 -6
  747. package/postgres-js/driver.js.map +1 -1
  748. package/postgres-js/migrator.cjs.map +1 -1
  749. package/postgres-js/migrator.d.cts +1 -2
  750. package/postgres-js/migrator.d.ts +1 -2
  751. package/postgres-js/migrator.js.map +1 -1
  752. package/postgres-js/session.cjs +6 -51
  753. package/postgres-js/session.cjs.map +1 -1
  754. package/postgres-js/session.d.cts +9 -15
  755. package/postgres-js/session.d.ts +9 -15
  756. package/postgres-js/session.js +6 -51
  757. package/postgres-js/session.js.map +1 -1
  758. package/prisma/mysql/driver.cjs +1 -1
  759. package/prisma/mysql/driver.cjs.map +1 -1
  760. package/prisma/mysql/driver.js +1 -1
  761. package/prisma/mysql/driver.js.map +1 -1
  762. package/prisma/mysql/session.cjs +0 -3
  763. package/prisma/mysql/session.cjs.map +1 -1
  764. package/prisma/mysql/session.d.cts +1 -3
  765. package/prisma/mysql/session.d.ts +1 -3
  766. package/prisma/mysql/session.js +0 -3
  767. package/prisma/mysql/session.js.map +1 -1
  768. package/prisma/pg/driver.cjs +1 -1
  769. package/prisma/pg/driver.cjs.map +1 -1
  770. package/prisma/pg/driver.js +1 -1
  771. package/prisma/pg/driver.js.map +1 -1
  772. package/prisma/pg/session.cjs +0 -3
  773. package/prisma/pg/session.cjs.map +1 -1
  774. package/prisma/pg/session.d.cts +1 -3
  775. package/prisma/pg/session.d.ts +1 -3
  776. package/prisma/pg/session.js +0 -3
  777. package/prisma/pg/session.js.map +1 -1
  778. package/prisma/sqlite/driver.cjs +1 -1
  779. package/prisma/sqlite/driver.cjs.map +1 -1
  780. package/prisma/sqlite/driver.js +1 -1
  781. package/prisma/sqlite/driver.js.map +1 -1
  782. package/prisma/sqlite/session.cjs +0 -3
  783. package/prisma/sqlite/session.cjs.map +1 -1
  784. package/prisma/sqlite/session.d.cts +2 -4
  785. package/prisma/sqlite/session.d.ts +2 -4
  786. package/prisma/sqlite/session.js +0 -3
  787. package/prisma/sqlite/session.js.map +1 -1
  788. package/relations.cjs +245 -596
  789. package/relations.cjs.map +1 -1
  790. package/relations.d.cts +140 -292
  791. package/relations.d.ts +140 -292
  792. package/relations.js +240 -589
  793. package/relations.js.map +1 -1
  794. package/singlestore/driver.cjs +1 -1
  795. package/singlestore/driver.cjs.map +1 -1
  796. package/singlestore/driver.d.cts +1 -1
  797. package/singlestore/driver.d.ts +1 -1
  798. package/singlestore/driver.js +3 -3
  799. package/singlestore/driver.js.map +1 -1
  800. package/singlestore/session.cjs.map +1 -1
  801. package/singlestore/session.d.cts +4 -4
  802. package/singlestore/session.d.ts +4 -4
  803. package/singlestore/session.js.map +1 -1
  804. package/singlestore-core/db.cjs.map +1 -1
  805. package/singlestore-core/db.d.cts +3 -3
  806. package/singlestore-core/db.d.ts +3 -3
  807. package/singlestore-core/db.js.map +1 -1
  808. package/singlestore-core/dialect.cjs +6 -16
  809. package/singlestore-core/dialect.cjs.map +1 -1
  810. package/singlestore-core/dialect.d.cts +6 -6
  811. package/singlestore-core/dialect.d.ts +6 -6
  812. package/singlestore-core/dialect.js +12 -6
  813. package/singlestore-core/dialect.js.map +1 -1
  814. package/singlestore-core/query-builders/query.cjs +2 -12
  815. package/singlestore-core/query-builders/query.cjs.map +1 -1
  816. package/singlestore-core/query-builders/query.d.cts +6 -6
  817. package/singlestore-core/query-builders/query.d.ts +6 -6
  818. package/singlestore-core/query-builders/query.js +4 -2
  819. package/singlestore-core/query-builders/query.js.map +1 -1
  820. package/singlestore-core/session.cjs.map +1 -1
  821. package/singlestore-core/session.d.cts +5 -5
  822. package/singlestore-core/session.d.ts +5 -5
  823. package/singlestore-core/session.js.map +1 -1
  824. package/singlestore-proxy/driver.cjs +1 -1
  825. package/singlestore-proxy/driver.cjs.map +1 -1
  826. package/singlestore-proxy/driver.js +3 -3
  827. package/singlestore-proxy/driver.js.map +1 -1
  828. package/singlestore-proxy/session.cjs.map +1 -1
  829. package/singlestore-proxy/session.d.cts +4 -4
  830. package/singlestore-proxy/session.d.ts +4 -4
  831. package/singlestore-proxy/session.js.map +1 -1
  832. package/sql/expressions/conditions.cjs.map +1 -1
  833. package/sql/expressions/conditions.d.cts +4 -4
  834. package/sql/expressions/conditions.d.ts +4 -4
  835. package/sql/expressions/conditions.js.map +1 -1
  836. package/sql/sql.cjs +0 -21
  837. package/sql/sql.cjs.map +1 -1
  838. package/sql/sql.d.cts +8 -8
  839. package/sql/sql.d.ts +8 -8
  840. package/sql/sql.js +1 -22
  841. package/sql/sql.js.map +1 -1
  842. package/sql-js/driver.cjs +5 -16
  843. package/sql-js/driver.cjs.map +1 -1
  844. package/sql-js/driver.d.cts +2 -3
  845. package/sql-js/driver.d.ts +2 -3
  846. package/sql-js/driver.js +8 -6
  847. package/sql-js/driver.js.map +1 -1
  848. package/sql-js/migrator.cjs.map +1 -1
  849. package/sql-js/migrator.d.cts +1 -2
  850. package/sql-js/migrator.d.ts +1 -2
  851. package/sql-js/migrator.js.map +1 -1
  852. package/sql-js/session.cjs +36 -71
  853. package/sql-js/session.cjs.map +1 -1
  854. package/sql-js/session.d.cts +13 -16
  855. package/sql-js/session.d.ts +13 -16
  856. package/sql-js/session.js +36 -71
  857. package/sql-js/session.js.map +1 -1
  858. package/sqlite-core/db.cjs +12 -39
  859. package/sqlite-core/db.cjs.map +1 -1
  860. package/sqlite-core/db.d.cts +8 -16
  861. package/sqlite-core/db.d.ts +8 -16
  862. package/sqlite-core/db.js +11 -38
  863. package/sqlite-core/db.js.map +1 -1
  864. package/sqlite-core/dialect.cjs +7 -186
  865. package/sqlite-core/dialect.cjs.map +1 -1
  866. package/sqlite-core/dialect.d.cts +9 -31
  867. package/sqlite-core/dialect.d.ts +9 -31
  868. package/sqlite-core/dialect.js +14 -185
  869. package/sqlite-core/dialect.js.map +1 -1
  870. package/sqlite-core/query-builders/count.cjs.map +1 -1
  871. package/sqlite-core/query-builders/count.d.cts +1 -1
  872. package/sqlite-core/query-builders/count.d.ts +1 -1
  873. package/sqlite-core/query-builders/count.js.map +1 -1
  874. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  875. package/sqlite-core/query-builders/delete.d.cts +1 -1
  876. package/sqlite-core/query-builders/delete.d.ts +1 -1
  877. package/sqlite-core/query-builders/delete.js.map +1 -1
  878. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  879. package/sqlite-core/query-builders/insert.d.cts +3 -3
  880. package/sqlite-core/query-builders/insert.d.ts +3 -3
  881. package/sqlite-core/query-builders/insert.js.map +1 -1
  882. package/sqlite-core/query-builders/query.cjs +35 -56
  883. package/sqlite-core/query-builders/query.cjs.map +1 -1
  884. package/sqlite-core/query-builders/query.d.cts +17 -18
  885. package/sqlite-core/query-builders/query.d.ts +17 -18
  886. package/sqlite-core/query-builders/query.js +35 -56
  887. package/sqlite-core/query-builders/query.js.map +1 -1
  888. package/sqlite-core/query-builders/select.cjs.map +1 -1
  889. package/sqlite-core/query-builders/select.d.cts +3 -3
  890. package/sqlite-core/query-builders/select.d.ts +3 -3
  891. package/sqlite-core/query-builders/select.js.map +1 -1
  892. package/sqlite-core/query-builders/update.cjs.map +1 -1
  893. package/sqlite-core/query-builders/update.d.cts +3 -3
  894. package/sqlite-core/query-builders/update.d.ts +3 -3
  895. package/sqlite-core/query-builders/update.js.map +1 -1
  896. package/sqlite-core/session.cjs +2 -6
  897. package/sqlite-core/session.cjs.map +1 -1
  898. package/sqlite-core/session.d.cts +7 -15
  899. package/sqlite-core/session.d.ts +7 -15
  900. package/sqlite-core/session.js +2 -6
  901. package/sqlite-core/session.js.map +1 -1
  902. package/sqlite-proxy/driver.cjs +5 -23
  903. package/sqlite-proxy/driver.cjs.map +1 -1
  904. package/sqlite-proxy/driver.d.cts +3 -4
  905. package/sqlite-proxy/driver.d.ts +3 -4
  906. package/sqlite-proxy/driver.js +5 -13
  907. package/sqlite-proxy/driver.js.map +1 -1
  908. package/sqlite-proxy/migrator.cjs.map +1 -1
  909. package/sqlite-proxy/migrator.d.cts +1 -2
  910. package/sqlite-proxy/migrator.d.ts +1 -2
  911. package/sqlite-proxy/migrator.js.map +1 -1
  912. package/sqlite-proxy/session.cjs +6 -50
  913. package/sqlite-proxy/session.cjs.map +1 -1
  914. package/sqlite-proxy/session.d.cts +8 -14
  915. package/sqlite-proxy/session.d.ts +8 -14
  916. package/sqlite-proxy/session.js +6 -50
  917. package/sqlite-proxy/session.js.map +1 -1
  918. package/table.cjs.map +1 -1
  919. package/table.d.cts +2 -2
  920. package/table.d.ts +2 -2
  921. package/table.js.map +1 -1
  922. package/tidb-serverless/driver.cjs +5 -22
  923. package/tidb-serverless/driver.cjs.map +1 -1
  924. package/tidb-serverless/driver.d.cts +6 -7
  925. package/tidb-serverless/driver.d.ts +6 -7
  926. package/tidb-serverless/driver.js +8 -12
  927. package/tidb-serverless/driver.js.map +1 -1
  928. package/tidb-serverless/migrator.cjs.map +1 -1
  929. package/tidb-serverless/migrator.d.cts +1 -2
  930. package/tidb-serverless/migrator.d.ts +1 -2
  931. package/tidb-serverless/migrator.js.map +1 -1
  932. package/tidb-serverless/session.cjs +5 -62
  933. package/tidb-serverless/session.cjs.map +1 -1
  934. package/tidb-serverless/session.d.cts +9 -14
  935. package/tidb-serverless/session.d.ts +9 -14
  936. package/tidb-serverless/session.js +5 -62
  937. package/tidb-serverless/session.js.map +1 -1
  938. package/utils.cjs +2 -2
  939. package/utils.cjs.map +1 -1
  940. package/utils.d.cts +1 -3
  941. package/utils.d.ts +1 -3
  942. package/utils.js +2 -2
  943. package/utils.js.map +1 -1
  944. package/vercel-postgres/driver.cjs +7 -23
  945. package/vercel-postgres/driver.cjs.map +1 -1
  946. package/vercel-postgres/driver.d.cts +8 -9
  947. package/vercel-postgres/driver.d.ts +8 -9
  948. package/vercel-postgres/driver.js +10 -13
  949. package/vercel-postgres/driver.js.map +1 -1
  950. package/vercel-postgres/migrator.cjs.map +1 -1
  951. package/vercel-postgres/migrator.d.cts +1 -2
  952. package/vercel-postgres/migrator.d.ts +1 -2
  953. package/vercel-postgres/migrator.js.map +1 -1
  954. package/vercel-postgres/session.cjs +4 -34
  955. package/vercel-postgres/session.cjs.map +1 -1
  956. package/vercel-postgres/session.d.cts +8 -13
  957. package/vercel-postgres/session.d.ts +8 -13
  958. package/vercel-postgres/session.js +4 -34
  959. package/vercel-postgres/session.js.map +1 -1
  960. package/version.cjs +1 -1
  961. package/version.d.cts +1 -1
  962. package/version.d.ts +1 -1
  963. package/version.js +1 -1
  964. package/xata-http/driver.cjs +5 -17
  965. package/xata-http/driver.cjs.map +1 -1
  966. package/xata-http/driver.d.cts +4 -5
  967. package/xata-http/driver.d.ts +4 -5
  968. package/xata-http/driver.js +5 -7
  969. package/xata-http/driver.js.map +1 -1
  970. package/xata-http/migrator.cjs.map +1 -1
  971. package/xata-http/migrator.d.cts +1 -2
  972. package/xata-http/migrator.d.ts +1 -2
  973. package/xata-http/migrator.js.map +1 -1
  974. package/xata-http/session.cjs +2 -30
  975. package/xata-http/session.cjs.map +1 -1
  976. package/xata-http/session.d.cts +8 -13
  977. package/xata-http/session.d.ts +8 -13
  978. package/xata-http/session.js +2 -30
  979. package/xata-http/session.js.map +1 -1
  980. package/_relations.cjs +0 -328
  981. package/_relations.cjs.map +0 -1
  982. package/_relations.d.cts +0 -215
  983. package/_relations.d.ts +0 -215
  984. package/_relations.js +0 -316
  985. package/_relations.js.map +0 -1
  986. package/mysql-core/query-builders/_query.cjs +0 -149
  987. package/mysql-core/query-builders/_query.cjs.map +0 -1
  988. package/mysql-core/query-builders/_query.d.cts +0 -44
  989. package/mysql-core/query-builders/_query.d.ts +0 -44
  990. package/mysql-core/query-builders/_query.js +0 -114
  991. package/mysql-core/query-builders/_query.js.map +0 -1
  992. package/pg-core/query-builders/_query.cjs.map +0 -1
  993. package/pg-core/query-builders/_query.d.cts +0 -47
  994. package/pg-core/query-builders/_query.d.ts +0 -47
  995. package/pg-core/query-builders/_query.js.map +0 -1
  996. package/sqlite-core/query-builders/_query.cjs +0 -187
  997. package/sqlite-core/query-builders/_query.cjs.map +0 -1
  998. package/sqlite-core/query-builders/_query.d.cts +0 -55
  999. package/sqlite-core/query-builders/_query.d.ts +0 -55
  1000. package/sqlite-core/query-builders/_query.js +0 -151
  1001. package/sqlite-core/query-builders/_query.js.map +0 -1
@@ -1,6 +1,5 @@
1
- import type * as V1 from "../_relations.js";
2
1
  import { entityKind } from "../entity.js";
3
- import type { AnyRelations, EmptyRelations, ExtractTablesWithRelations, TablesRelationalConfig } from "../relations.js";
2
+ import type { ExtractTablesWithRelations, RelationalSchemaConfig, TablesRelationalConfig } from "../relations.js";
4
3
  import { type SQL, type SQLWrapper } from "../sql/sql.js";
5
4
  import type { SQLiteAsyncDialect, SQLiteSyncDialect } from "./dialect.js";
6
5
  import { SQLiteDeleteBase, SQLiteInsertBuilder, SQLiteSelectBuilder, SQLiteUpdateBuilder } from "./query-builders/index.js";
@@ -8,28 +7,21 @@ import type { DBResult, Result, SQLiteSession, SQLiteTransaction, SQLiteTransact
8
7
  import type { SQLiteTable } from "./table.js";
9
8
  import { WithSubquery } from "../subquery.js";
10
9
  import type { DrizzleTypeError } from "../utils.js";
11
- import { _RelationalQueryBuilder } from "./query-builders/_query.js";
12
10
  import { SQLiteCountBuilder } from "./query-builders/count.js";
13
11
  import { RelationalQueryBuilder } from "./query-builders/query.js";
14
12
  import type { SelectedFields } from "./query-builders/select.types.js";
15
13
  import type { WithBuilder } from "./subquery.js";
16
14
  import type { SQLiteViewBase } from "./view-base.js";
17
- export declare class BaseSQLiteDatabase<TResultKind extends 'sync' | 'async', TRunResult, TFullSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TTablesConfig extends TablesRelationalConfig = ExtractTablesWithRelations<TRelations>, TSchema extends V1.TablesRelationalConfig = V1.ExtractTablesWithRelations<TFullSchema>> {
15
+ export declare class BaseSQLiteDatabase<TResultKind extends 'sync' | 'async', TRunResult, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = ExtractTablesWithRelations<TFullSchema>> {
18
16
  private resultKind;
19
- readonly rowModeRQB?: boolean | undefined;
20
17
  static readonly [entityKind]: string;
21
18
  readonly _: {
22
19
  readonly schema: TSchema | undefined;
23
20
  readonly fullSchema: TFullSchema;
24
21
  readonly tableNamesMap: Record<string, string>;
25
- readonly relations: TRelations;
26
22
  };
27
- /** @deprecated */
28
- _query: TFullSchema extends Record<string, never> ? DrizzleTypeError<'Seems like the schema generic is missing - did you forget to add it to your DB type?'> : {
29
- [K in keyof TSchema]: _RelationalQueryBuilder<TResultKind, TFullSchema, TSchema, TSchema[K]>;
30
- };
31
- query: {
32
- [K in keyof TRelations['tables']]: RelationalQueryBuilder<TResultKind, TTablesConfig, TTablesConfig[K]>;
23
+ query: TFullSchema extends Record<string, never> ? DrizzleTypeError<'Seems like the schema generic is missing - did you forget to add it to your DB type?'> : {
24
+ [K in keyof TSchema]: RelationalQueryBuilder<TResultKind, TFullSchema, TSchema, TSchema[K]>;
33
25
  };
34
26
  constructor(resultKind: TResultKind,
35
27
  /** @internal */
@@ -38,7 +30,7 @@ export declare class BaseSQLiteDatabase<TResultKind extends 'sync' | 'async', TR
38
30
  async: SQLiteAsyncDialect;
39
31
  }[TResultKind],
40
32
  /** @internal */
41
- session: SQLiteSession<TResultKind, TRunResult, TFullSchema, TRelations, TTablesConfig, TSchema>, relations: AnyRelations | undefined, _schema: V1.RelationalSchemaConfig<TSchema> | undefined, rowModeRQB?: boolean | undefined);
33
+ session: SQLiteSession<TResultKind, TRunResult, TFullSchema, TSchema>, schema: RelationalSchemaConfig<TSchema> | undefined);
42
34
  /**
43
35
  * Creates a subquery that defines a temporary named result set as a CTE.
44
36
  *
@@ -72,7 +64,7 @@ export declare class BaseSQLiteDatabase<TResultKind extends 'sync' | 'async', TR
72
64
  * ```
73
65
  */
74
66
  $with: WithBuilder;
75
- $count(source: SQLiteTable | SQLiteViewBase | SQL | SQLWrapper, filters?: SQL<unknown>): SQLiteCountBuilder<SQLiteSession<TResultKind, TRunResult, TFullSchema, TRelations, TTablesConfig, TSchema>>;
67
+ $count(source: SQLiteTable | SQLiteViewBase | SQL | SQLWrapper, filters?: SQL<unknown>): SQLiteCountBuilder<SQLiteSession<TResultKind, TRunResult, TFullSchema, TSchema>>;
76
68
  /**
77
69
  * Incorporates a previously defined CTE (using `$with`) into the main query.
78
70
  *
@@ -252,9 +244,9 @@ export declare class BaseSQLiteDatabase<TResultKind extends 'sync' | 'async', TR
252
244
  all<T = unknown>(query: SQLWrapper | string): DBResult<TResultKind, T[]>;
253
245
  get<T = unknown>(query: SQLWrapper | string): DBResult<TResultKind, T>;
254
246
  values<T extends unknown[] = unknown[]>(query: SQLWrapper | string): DBResult<TResultKind, T[]>;
255
- transaction<T>(transaction: (tx: SQLiteTransaction<TResultKind, TRunResult, TFullSchema, TRelations, TTablesConfig, TSchema>) => Result<TResultKind, T>, config?: SQLiteTransactionConfig): Result<TResultKind, T>;
247
+ transaction<T>(transaction: (tx: SQLiteTransaction<TResultKind, TRunResult, TFullSchema, TSchema>) => Result<TResultKind, T>, config?: SQLiteTransactionConfig): Result<TResultKind, T>;
256
248
  }
257
249
  export type SQLiteWithReplicas<Q> = Q & {
258
250
  $primary: Q;
259
251
  };
260
- export declare const withReplicas: <TResultKind extends "sync" | "async", TRunResult, TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig, Q extends BaseSQLiteDatabase<TResultKind, TRunResult, TFullSchema, TRelations, TTablesConfig, TSchema extends Record<string, unknown> ? V1.ExtractTablesWithRelations<TFullSchema> : TSchema>>(primary: Q, replicas: [Q, ...Q[]], getReplica?: (replicas: Q[]) => Q) => SQLiteWithReplicas<Q>;
252
+ export declare const withReplicas: <TResultKind extends "sync" | "async", TRunResult, TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig, Q extends BaseSQLiteDatabase<TResultKind, TRunResult, TFullSchema, TSchema extends Record<string, unknown> ? ExtractTablesWithRelations<TFullSchema> : TSchema>>(primary: Q, replicas: [Q, ...Q[]], getReplica?: (replicas: Q[]) => Q) => SQLiteWithReplicas<Q>;
package/sqlite-core/db.js CHANGED
@@ -9,65 +9,41 @@ import {
9
9
  SQLiteUpdateBuilder
10
10
  } from "./query-builders/index.js";
11
11
  import { WithSubquery } from "../subquery.js";
12
- import { _RelationalQueryBuilder } from "./query-builders/_query.js";
13
12
  import { SQLiteCountBuilder } from "./query-builders/count.js";
14
13
  import { RelationalQueryBuilder } from "./query-builders/query.js";
15
14
  import { SQLiteRaw } from "./query-builders/raw.js";
16
15
  class BaseSQLiteDatabase {
17
- constructor(resultKind, dialect, session, relations, _schema, rowModeRQB) {
16
+ constructor(resultKind, dialect, session, schema) {
18
17
  this.resultKind = resultKind;
19
18
  this.dialect = dialect;
20
19
  this.session = session;
21
- this.rowModeRQB = rowModeRQB;
22
- const rel = relations ?? {};
23
- this._ = _schema ? {
24
- schema: _schema.schema,
25
- fullSchema: _schema.fullSchema,
26
- tableNamesMap: _schema.tableNamesMap,
27
- relations: rel
20
+ this._ = schema ? {
21
+ schema: schema.schema,
22
+ fullSchema: schema.fullSchema,
23
+ tableNamesMap: schema.tableNamesMap
28
24
  } : {
29
25
  schema: void 0,
30
26
  fullSchema: {},
31
- tableNamesMap: {},
32
- relations: rel
27
+ tableNamesMap: {}
33
28
  };
34
- this._query = {};
35
- const query = this._query;
29
+ this.query = {};
30
+ const query = this.query;
36
31
  if (this._.schema) {
37
32
  for (const [tableName, columns] of Object.entries(this._.schema)) {
38
- query[tableName] = new _RelationalQueryBuilder(
33
+ query[tableName] = new RelationalQueryBuilder(
39
34
  resultKind,
40
- _schema.fullSchema,
35
+ schema.fullSchema,
41
36
  this._.schema,
42
37
  this._.tableNamesMap,
43
- _schema.fullSchema[tableName],
38
+ schema.fullSchema[tableName],
44
39
  columns,
45
40
  dialect,
46
41
  session
47
42
  );
48
43
  }
49
44
  }
50
- this.query = {};
51
- if (relations) {
52
- for (const [tableName, relation] of Object.entries(relations.tablesConfig)) {
53
- this.query[tableName] = new RelationalQueryBuilder(
54
- resultKind,
55
- relations.tables,
56
- relations.tablesConfig,
57
- relations.tableNamesMap,
58
- relation.table,
59
- relation,
60
- dialect,
61
- session,
62
- rowModeRQB
63
- );
64
- }
65
- }
66
45
  }
67
46
  static [entityKind] = "BaseSQLiteDatabase";
68
- /** @deprecated */
69
- _query;
70
- // TO-DO: Figure out how to pass DrizzleTypeError without breaking withReplicas
71
47
  query;
72
48
  /**
73
49
  * Creates a subquery that defines a temporary named result set as a CTE.
@@ -350,9 +326,6 @@ const withReplicas = (primary, replicas, getReplica = () => replicas[Math.floor(
350
326
  selectDistinct,
351
327
  $count,
352
328
  with: $with,
353
- get _query() {
354
- return getReplica(replicas)._query;
355
- },
356
329
  get query() {
357
330
  return getReplica(replicas).query;
358
331
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/sqlite-core/db.ts"],"sourcesContent":["import type * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { AnyRelations, EmptyRelations, ExtractTablesWithRelations, TablesRelationalConfig } from '~/relations.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport { type ColumnsSelection, type SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect, SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport {\n\tQueryBuilder,\n\tSQLiteDeleteBase,\n\tSQLiteInsertBuilder,\n\tSQLiteSelectBuilder,\n\tSQLiteUpdateBuilder,\n} from '~/sqlite-core/query-builders/index.ts';\nimport type {\n\tDBResult,\n\tResult,\n\tSQLiteSession,\n\tSQLiteTransaction,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport type { SQLiteTable } from '~/sqlite-core/table.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport type { DrizzleTypeError } from '~/utils.ts';\nimport { _RelationalQueryBuilder } from './query-builders/_query.ts';\nimport { SQLiteCountBuilder } from './query-builders/count.ts';\nimport { RelationalQueryBuilder } from './query-builders/query.ts';\nimport { SQLiteRaw } from './query-builders/raw.ts';\nimport type { SelectedFields } from './query-builders/select.types.ts';\nimport type { WithBuilder } from './subquery.ts';\nimport type { SQLiteViewBase } from './view-base.ts';\n\nexport class BaseSQLiteDatabase<\n\tTResultKind extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTTablesConfig extends TablesRelationalConfig = ExtractTablesWithRelations<TRelations>,\n\tTSchema extends V1.TablesRelationalConfig = V1.ExtractTablesWithRelations<TFullSchema>,\n> {\n\tstatic readonly [entityKind]: string = 'BaseSQLiteDatabase';\n\n\tdeclare readonly _: {\n\t\treadonly schema: TSchema | undefined;\n\t\treadonly fullSchema: TFullSchema;\n\t\treadonly tableNamesMap: Record<string, string>;\n\t\treadonly relations: TRelations;\n\t};\n\n\t/** @deprecated */\n\t_query: TFullSchema extends Record<string, never>\n\t\t? DrizzleTypeError<'Seems like the schema generic is missing - did you forget to add it to your DB type?'>\n\t\t: {\n\t\t\t[K in keyof TSchema]: _RelationalQueryBuilder<TResultKind, TFullSchema, TSchema, TSchema[K]>;\n\t\t};\n\n\t// TO-DO: Figure out how to pass DrizzleTypeError without breaking withReplicas\n\tquery: {\n\t\t[K in keyof TRelations['tables']]: RelationalQueryBuilder<\n\t\t\tTResultKind,\n\t\t\tTTablesConfig,\n\t\t\tTTablesConfig[K]\n\t\t>;\n\t};\n\n\tconstructor(\n\t\tprivate resultKind: TResultKind,\n\t\t/** @internal */\n\t\treadonly dialect: { sync: SQLiteSyncDialect; async: SQLiteAsyncDialect }[TResultKind],\n\t\t/** @internal */\n\t\treadonly session: SQLiteSession<TResultKind, TRunResult, TFullSchema, TRelations, TTablesConfig, TSchema>,\n\t\trelations: AnyRelations | undefined,\n\t\t_schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\treadonly rowModeRQB?: boolean,\n\t) {\n\t\tconst rel = relations ?? {} as EmptyRelations;\n\n\t\tthis._ = _schema\n\t\t\t? {\n\t\t\t\tschema: _schema.schema,\n\t\t\t\tfullSchema: _schema.fullSchema as TFullSchema,\n\t\t\t\ttableNamesMap: _schema.tableNamesMap,\n\t\t\t\trelations: rel as TRelations,\n\t\t\t}\n\t\t\t: {\n\t\t\t\tschema: undefined,\n\t\t\t\tfullSchema: {} as TFullSchema,\n\t\t\t\ttableNamesMap: {},\n\t\t\t\trelations: rel as TRelations,\n\t\t\t};\n\n\t\tthis._query = {} as typeof this['_query'];\n\t\tconst query = this._query as {\n\t\t\t[K in keyof TSchema]: _RelationalQueryBuilder<TResultKind, TFullSchema, TSchema, TSchema[K]>;\n\t\t};\n\t\tif (this._.schema) {\n\t\t\tfor (const [tableName, columns] of Object.entries(this._.schema)) {\n\t\t\t\tquery[tableName as keyof TSchema] = new _RelationalQueryBuilder(\n\t\t\t\t\tresultKind,\n\t\t\t\t\t_schema!.fullSchema,\n\t\t\t\t\tthis._.schema,\n\t\t\t\t\tthis._.tableNamesMap,\n\t\t\t\t\t_schema!.fullSchema[tableName] as SQLiteTable,\n\t\t\t\t\tcolumns,\n\t\t\t\t\tdialect,\n\t\t\t\t\tsession as SQLiteSession<any, any, any, any, any>,\n\t\t\t\t) as typeof query[keyof TSchema];\n\t\t\t}\n\t\t}\n\t\tthis.query = {} as typeof this['query'];\n\t\tif (relations) {\n\t\t\tfor (const [tableName, relation] of Object.entries(relations.tablesConfig)) {\n\t\t\t\t(this.query as BaseSQLiteDatabase<\n\t\t\t\t\tTResultKind,\n\t\t\t\t\tTRunResult,\n\t\t\t\t\tTSchema,\n\t\t\t\t\tAnyRelations,\n\t\t\t\t\tTablesRelationalConfig,\n\t\t\t\t\tV1.TablesRelationalConfig\n\t\t\t\t>['query'])[tableName] = new RelationalQueryBuilder(\n\t\t\t\t\tresultKind,\n\t\t\t\t\trelations.tables,\n\t\t\t\t\trelations.tablesConfig,\n\t\t\t\t\trelations.tableNamesMap,\n\t\t\t\t\trelation.table as SQLiteTable,\n\t\t\t\t\trelation,\n\t\t\t\t\tdialect,\n\t\t\t\t\tsession as SQLiteSession<any, any, any, any, any>,\n\t\t\t\t\trowModeRQB,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Creates a subquery that defines a temporary named result set as a CTE.\n\t *\n\t * It is useful for breaking down complex queries into simpler parts and for reusing the result set in subsequent parts of the query.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#with-clause}\n\t *\n\t * @param alias The alias for the subquery.\n\t *\n\t * Failure to provide an alias will result in a DrizzleTypeError, preventing the subquery from being referenced in other queries.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Create a subquery with alias 'sq' and use it in the select query\n\t * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42)));\n\t *\n\t * const result = await db.with(sq).select().from(sq);\n\t * ```\n\t *\n\t * To select arbitrary SQL values as fields in a CTE and reference them in other CTEs or in the main query, you need to add aliases to them:\n\t *\n\t * ```ts\n\t * // Select an arbitrary SQL value as a field in a CTE and reference it in the main query\n\t * const sq = db.$with('sq').as(db.select({\n\t * name: sql<string>`upper(${users.name})`.as('name'),\n\t * })\n\t * .from(users));\n\t *\n\t * const result = await db.with(sq).select({ name: sq.name }).from(sq);\n\t * ```\n\t */\n\t$with: WithBuilder = (alias: string, selection?: ColumnsSelection) => {\n\t\tconst self = this;\n\t\tconst as = (\n\t\t\tqb:\n\t\t\t\t| TypedQueryBuilder<ColumnsSelection | undefined>\n\t\t\t\t| SQL\n\t\t\t\t| ((qb: QueryBuilder) => TypedQueryBuilder<ColumnsSelection | undefined> | SQL),\n\t\t) => {\n\t\t\tif (typeof qb === 'function') {\n\t\t\t\tqb = qb(new QueryBuilder(self.dialect));\n\t\t\t}\n\n\t\t\treturn new Proxy(\n\t\t\t\tnew WithSubquery(\n\t\t\t\t\tqb.getSQL(),\n\t\t\t\t\tselection ?? ('getSelectedFields' in qb ? qb.getSelectedFields() ?? {} : {}) as SelectedFields,\n\t\t\t\t\talias,\n\t\t\t\t\ttrue,\n\t\t\t\t),\n\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t);\n\t\t};\n\t\treturn { as };\n\t};\n\n\t$count(\n\t\tsource: SQLiteTable | SQLiteViewBase | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t) {\n\t\treturn new SQLiteCountBuilder({ source, filters, session: this.session });\n\t}\n\n\t/**\n\t * Incorporates a previously defined CTE (using `$with`) into the main query.\n\t *\n\t * This method allows the main query to reference a temporary named result set.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#with-clause}\n\t *\n\t * @param queries The CTEs to incorporate into the main query.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Define a subquery 'sq' as a CTE using $with\n\t * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42)));\n\t *\n\t * // Incorporate the CTE 'sq' into the main query and select from it\n\t * const result = await db.with(sq).select().from(sq);\n\t * ```\n\t */\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\t/**\n\t\t * Creates a select query.\n\t\t *\n\t\t * Calling this method with no arguments will select all columns from the table. Pass a selection object to specify the columns you want to select.\n\t\t *\n\t\t * Use `.from()` method to specify which table to select from.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/select}\n\t\t *\n\t\t * @param fields The selection object.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Select all columns and all rows from the 'cars' table\n\t\t * const allCars: Car[] = await db.select().from(cars);\n\t\t *\n\t\t * // Select specific columns and all rows from the 'cars' table\n\t\t * const carsIdsAndBrands: { id: number; brand: string }[] = await db.select({\n\t\t * id: cars.id,\n\t\t * brand: cars.brand\n\t\t * })\n\t\t * .from(cars);\n\t\t * ```\n\t\t *\n\t\t * Like in SQL, you can use arbitrary expressions as selection fields, not just table columns:\n\t\t *\n\t\t * ```ts\n\t\t * // Select specific columns along with expression and all rows from the 'cars' table\n\t\t * const carsIdsAndLowerNames: { id: number; lowerBrand: string }[] = await db.select({\n\t\t * id: cars.id,\n\t\t * lowerBrand: sql<string>`lower(${cars.brand})`,\n\t\t * })\n\t\t * .from(cars);\n\t\t * ```\n\t\t */\n\t\tfunction select(): SQLiteSelectBuilder<undefined, TResultKind, TRunResult>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder<TSelection, TResultKind, TRunResult>;\n\t\tfunction select(\n\t\t\tfields?: SelectedFields,\n\t\t): SQLiteSelectBuilder<SelectedFields | undefined, TResultKind, TRunResult> {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: self.session,\n\t\t\t\tdialect: self.dialect,\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\t/**\n\t\t * Adds `distinct` expression to the select query.\n\t\t *\n\t\t * Calling this method will return only unique values. When multiple columns are selected, it returns rows with unique combinations of values in these columns.\n\t\t *\n\t\t * Use `.from()` method to specify which table to select from.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/select#distinct}\n\t\t *\n\t\t * @param fields The selection object.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Select all unique rows from the 'cars' table\n\t\t * await db.selectDistinct()\n\t\t * .from(cars)\n\t\t * .orderBy(cars.id, cars.brand, cars.color);\n\t\t *\n\t\t * // Select all unique brands from the 'cars' table\n\t\t * await db.selectDistinct({ brand: cars.brand })\n\t\t * .from(cars)\n\t\t * .orderBy(cars.brand);\n\t\t * ```\n\t\t */\n\t\tfunction selectDistinct(): SQLiteSelectBuilder<undefined, TResultKind, TRunResult>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder<TSelection, TResultKind, TRunResult>;\n\t\tfunction selectDistinct(\n\t\t\tfields?: SelectedFields,\n\t\t): SQLiteSelectBuilder<SelectedFields | undefined, TResultKind, TRunResult> {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: self.session,\n\t\t\t\tdialect: self.dialect,\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\t/**\n\t\t * Creates an update query.\n\t\t *\n\t\t * Calling this method without `.where()` clause will update all rows in a table. The `.where()` clause specifies which rows should be updated.\n\t\t *\n\t\t * Use `.set()` method to specify which values to update.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t\t *\n\t\t * @param table The table to update.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Update all rows in the 'cars' table\n\t\t * await db.update(cars).set({ color: 'red' });\n\t\t *\n\t\t * // Update rows with filters and conditions\n\t\t * await db.update(cars).set({ color: 'red' }).where(eq(cars.brand, 'BMW'));\n\t\t *\n\t\t * // Update with returning clause\n\t\t * const updatedCar: Car[] = await db.update(cars)\n\t\t * .set({ color: 'red' })\n\t\t * .where(eq(cars.id, 1))\n\t\t * .returning();\n\t\t * ```\n\t\t */\n\t\tfunction update<TTable extends SQLiteTable>(table: TTable): SQLiteUpdateBuilder<TTable, TResultKind, TRunResult> {\n\t\t\treturn new SQLiteUpdateBuilder(table, self.session, self.dialect, queries);\n\t\t}\n\n\t\t/**\n\t\t * Creates an insert query.\n\t\t *\n\t\t * Calling this method will create new rows in a table. Use `.values()` method to specify which values to insert.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/insert}\n\t\t *\n\t\t * @param table The table to insert into.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Insert one row\n\t\t * await db.insert(cars).values({ brand: 'BMW' });\n\t\t *\n\t\t * // Insert multiple rows\n\t\t * await db.insert(cars).values([{ brand: 'BMW' }, { brand: 'Porsche' }]);\n\t\t *\n\t\t * // Insert with returning clause\n\t\t * const insertedCar: Car[] = await db.insert(cars)\n\t\t * .values({ brand: 'BMW' })\n\t\t * .returning();\n\t\t * ```\n\t\t */\n\t\tfunction insert<TTable extends SQLiteTable>(into: TTable): SQLiteInsertBuilder<TTable, TResultKind, TRunResult> {\n\t\t\treturn new SQLiteInsertBuilder(into, self.session, self.dialect, queries);\n\t\t}\n\n\t\t/**\n\t\t * Creates a delete query.\n\t\t *\n\t\t * Calling this method without `.where()` clause will delete all rows in a table. The `.where()` clause specifies which rows should be deleted.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t\t *\n\t\t * @param table The table to delete from.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Delete all rows in the 'cars' table\n\t\t * await db.delete(cars);\n\t\t *\n\t\t * // Delete rows with filters and conditions\n\t\t * await db.delete(cars).where(eq(cars.color, 'green'));\n\t\t *\n\t\t * // Delete with returning clause\n\t\t * const deletedCar: Car[] = await db.delete(cars)\n\t\t * .where(eq(cars.id, 1))\n\t\t * .returning();\n\t\t * ```\n\t\t */\n\t\tfunction delete_<TTable extends SQLiteTable>(from: TTable): SQLiteDeleteBase<TTable, TResultKind, TRunResult> {\n\t\t\treturn new SQLiteDeleteBase(from, self.session, self.dialect, queries);\n\t\t}\n\n\t\treturn { select, selectDistinct, update, insert, delete: delete_ };\n\t}\n\n\t/**\n\t * Creates a select query.\n\t *\n\t * Calling this method with no arguments will select all columns from the table. Pass a selection object to specify the columns you want to select.\n\t *\n\t * Use `.from()` method to specify which table to select from.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select}\n\t *\n\t * @param fields The selection object.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all columns and all rows from the 'cars' table\n\t * const allCars: Car[] = await db.select().from(cars);\n\t *\n\t * // Select specific columns and all rows from the 'cars' table\n\t * const carsIdsAndBrands: { id: number; brand: string }[] = await db.select({\n\t * id: cars.id,\n\t * brand: cars.brand\n\t * })\n\t * .from(cars);\n\t * ```\n\t *\n\t * Like in SQL, you can use arbitrary expressions as selection fields, not just table columns:\n\t *\n\t * ```ts\n\t * // Select specific columns along with expression and all rows from the 'cars' table\n\t * const carsIdsAndLowerNames: { id: number; lowerBrand: string }[] = await db.select({\n\t * id: cars.id,\n\t * lowerBrand: sql<string>`lower(${cars.brand})`,\n\t * })\n\t * .from(cars);\n\t * ```\n\t */\n\tselect(): SQLiteSelectBuilder<undefined, TResultKind, TRunResult>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder<TSelection, TResultKind, TRunResult>;\n\tselect(fields?: SelectedFields): SQLiteSelectBuilder<SelectedFields | undefined, TResultKind, TRunResult> {\n\t\treturn new SQLiteSelectBuilder({ fields: fields ?? undefined, session: this.session, dialect: this.dialect });\n\t}\n\n\t/**\n\t * Adds `distinct` expression to the select query.\n\t *\n\t * Calling this method will return only unique values. When multiple columns are selected, it returns rows with unique combinations of values in these columns.\n\t *\n\t * Use `.from()` method to specify which table to select from.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#distinct}\n\t *\n\t * @param fields The selection object.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all unique rows from the 'cars' table\n\t * await db.selectDistinct()\n\t * .from(cars)\n\t * .orderBy(cars.id, cars.brand, cars.color);\n\t *\n\t * // Select all unique brands from the 'cars' table\n\t * await db.selectDistinct({ brand: cars.brand })\n\t * .from(cars)\n\t * .orderBy(cars.brand);\n\t * ```\n\t */\n\tselectDistinct(): SQLiteSelectBuilder<undefined, TResultKind, TRunResult>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder<TSelection, TResultKind, TRunResult>;\n\tselectDistinct(\n\t\tfields?: SelectedFields,\n\t): SQLiteSelectBuilder<SelectedFields | undefined, TResultKind, TRunResult> {\n\t\treturn new SQLiteSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: this.session,\n\t\t\tdialect: this.dialect,\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t/**\n\t * Creates an update query.\n\t *\n\t * Calling this method without `.where()` clause will update all rows in a table. The `.where()` clause specifies which rows should be updated.\n\t *\n\t * Use `.set()` method to specify which values to update.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t *\n\t * @param table The table to update.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Update all rows in the 'cars' table\n\t * await db.update(cars).set({ color: 'red' });\n\t *\n\t * // Update rows with filters and conditions\n\t * await db.update(cars).set({ color: 'red' }).where(eq(cars.brand, 'BMW'));\n\t *\n\t * // Update with returning clause\n\t * const updatedCar: Car[] = await db.update(cars)\n\t * .set({ color: 'red' })\n\t * .where(eq(cars.id, 1))\n\t * .returning();\n\t * ```\n\t */\n\tupdate<TTable extends SQLiteTable>(table: TTable): SQLiteUpdateBuilder<TTable, TResultKind, TRunResult> {\n\t\treturn new SQLiteUpdateBuilder(table, this.session, this.dialect);\n\t}\n\n\t/**\n\t * Creates an insert query.\n\t *\n\t * Calling this method will create new rows in a table. Use `.values()` method to specify which values to insert.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert}\n\t *\n\t * @param table The table to insert into.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Insert one row\n\t * await db.insert(cars).values({ brand: 'BMW' });\n\t *\n\t * // Insert multiple rows\n\t * await db.insert(cars).values([{ brand: 'BMW' }, { brand: 'Porsche' }]);\n\t *\n\t * // Insert with returning clause\n\t * const insertedCar: Car[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning();\n\t * ```\n\t */\n\tinsert<TTable extends SQLiteTable>(into: TTable): SQLiteInsertBuilder<TTable, TResultKind, TRunResult> {\n\t\treturn new SQLiteInsertBuilder(into, this.session, this.dialect);\n\t}\n\n\t/**\n\t * Creates a delete query.\n\t *\n\t * Calling this method without `.where()` clause will delete all rows in a table. The `.where()` clause specifies which rows should be deleted.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t *\n\t * @param table The table to delete from.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Delete all rows in the 'cars' table\n\t * await db.delete(cars);\n\t *\n\t * // Delete rows with filters and conditions\n\t * await db.delete(cars).where(eq(cars.color, 'green'));\n\t *\n\t * // Delete with returning clause\n\t * const deletedCar: Car[] = await db.delete(cars)\n\t * .where(eq(cars.id, 1))\n\t * .returning();\n\t * ```\n\t */\n\tdelete<TTable extends SQLiteTable>(from: TTable): SQLiteDeleteBase<TTable, TResultKind, TRunResult> {\n\t\treturn new SQLiteDeleteBase(from, this.session, this.dialect);\n\t}\n\n\trun(query: SQLWrapper | string): DBResult<TResultKind, TRunResult> {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.run(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'run',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawRunValueFromBatchResult.bind(this.session),\n\t\t\t) as DBResult<TResultKind, TRunResult>;\n\t\t}\n\t\treturn this.session.run(sequel) as DBResult<TResultKind, TRunResult>;\n\t}\n\n\tall<T = unknown>(query: SQLWrapper | string): DBResult<TResultKind, T[]> {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.all(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'all',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawAllValueFromBatchResult.bind(this.session),\n\t\t\t) as any;\n\t\t}\n\t\treturn this.session.all(sequel) as DBResult<TResultKind, T[]>;\n\t}\n\n\tget<T = unknown>(query: SQLWrapper | string): DBResult<TResultKind, T> {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.get(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'get',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawGetValueFromBatchResult.bind(this.session),\n\t\t\t) as DBResult<TResultKind, T>;\n\t\t}\n\t\treturn this.session.get(sequel) as DBResult<TResultKind, T>;\n\t}\n\n\tvalues<T extends unknown[] = unknown[]>(query: SQLWrapper | string): DBResult<TResultKind, T[]> {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.values(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'values',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawValuesValueFromBatchResult.bind(this.session),\n\t\t\t) as any;\n\t\t}\n\t\treturn this.session.values(sequel) as DBResult<TResultKind, T[]>;\n\t}\n\n\ttransaction<T>(\n\t\ttransaction: (\n\t\t\ttx: SQLiteTransaction<TResultKind, TRunResult, TFullSchema, TRelations, TTablesConfig, TSchema>,\n\t\t) => Result<TResultKind, T>,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Result<TResultKind, T> {\n\t\treturn this.session.transaction(transaction, config);\n\t}\n}\n\nexport type SQLiteWithReplicas<Q> = Q & { $primary: Q };\n\nexport const withReplicas = <\n\tTResultKind extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n\tQ extends BaseSQLiteDatabase<\n\t\tTResultKind,\n\t\tTRunResult,\n\t\tTFullSchema,\n\t\tTRelations,\n\t\tTTablesConfig,\n\t\tTSchema extends Record<string, unknown> ? V1.ExtractTablesWithRelations<TFullSchema> : TSchema\n\t>,\n>(\n\tprimary: Q,\n\treplicas: [Q, ...Q[]],\n\tgetReplica: (replicas: Q[]) => Q = () => replicas[Math.floor(Math.random() * replicas.length)]!,\n): SQLiteWithReplicas<Q> => {\n\tconst select: Q['select'] = (...args: []) => getReplica(replicas).select(...args);\n\tconst selectDistinct: Q['selectDistinct'] = (...args: []) => getReplica(replicas).selectDistinct(...args);\n\tconst $count: Q['$count'] = (...args: [any]) => getReplica(replicas).$count(...args);\n\tconst $with: Q['with'] = (...args: []) => getReplica(replicas).with(...args);\n\n\tconst update: Q['update'] = (...args: [any]) => primary.update(...args);\n\tconst insert: Q['insert'] = (...args: [any]) => primary.insert(...args);\n\tconst $delete: Q['delete'] = (...args: [any]) => primary.delete(...args);\n\tconst run: Q['run'] = (...args: [any]) => primary.run(...args);\n\tconst all: Q['all'] = (...args: [any]) => primary.all(...args);\n\tconst get: Q['get'] = (...args: [any]) => primary.get(...args);\n\tconst values: Q['values'] = (...args: [any]) => primary.values(...args);\n\tconst transaction: Q['transaction'] = (...args: [any]) => primary.transaction(...args);\n\n\treturn {\n\t\t...primary,\n\t\tupdate,\n\t\tinsert,\n\t\tdelete: $delete,\n\t\trun,\n\t\tall,\n\t\tget,\n\t\tvalues,\n\t\ttransaction,\n\t\t$primary: primary,\n\t\tselect,\n\t\tselectDistinct,\n\t\t$count,\n\t\twith: $with,\n\t\tget _query() {\n\t\t\treturn getReplica(replicas)._query;\n\t\t},\n\t\tget query() {\n\t\t\treturn getReplica(replicas).query;\n\t\t},\n\t};\n};\n"],"mappings":"AACA,SAAS,kBAAkB;AAG3B,SAAS,6BAA6B;AACtC,SAA0C,WAA4B;AAEtE;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AASP,SAAS,oBAAoB;AAE7B,SAAS,+BAA+B;AACxC,SAAS,0BAA0B;AACnC,SAAS,8BAA8B;AACvC,SAAS,iBAAiB;AAKnB,MAAM,mBAOX;AAAA,EA0BD,YACS,YAEC,SAEA,SACT,WACA,SACS,YACR;AARO;AAEC;AAEA;AAGA;AAET,UAAM,MAAM,aAAa,CAAC;AAE1B,SAAK,IAAI,UACN;AAAA,MACD,QAAQ,QAAQ;AAAA,MAChB,YAAY,QAAQ;AAAA,MACpB,eAAe,QAAQ;AAAA,MACvB,WAAW;AAAA,IACZ,IACE;AAAA,MACD,QAAQ;AAAA,MACR,YAAY,CAAC;AAAA,MACb,eAAe,CAAC;AAAA,MAChB,WAAW;AAAA,IACZ;AAED,SAAK,SAAS,CAAC;AACf,UAAM,QAAQ,KAAK;AAGnB,QAAI,KAAK,EAAE,QAAQ;AAClB,iBAAW,CAAC,WAAW,OAAO,KAAK,OAAO,QAAQ,KAAK,EAAE,MAAM,GAAG;AACjE,cAAM,SAA0B,IAAI,IAAI;AAAA,UACvC;AAAA,UACA,QAAS;AAAA,UACT,KAAK,EAAE;AAAA,UACP,KAAK,EAAE;AAAA,UACP,QAAS,WAAW,SAAS;AAAA,UAC7B;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD;AAAA,IACD;AACA,SAAK,QAAQ,CAAC;AACd,QAAI,WAAW;AACd,iBAAW,CAAC,WAAW,QAAQ,KAAK,OAAO,QAAQ,UAAU,YAAY,GAAG;AAC3E,QAAC,KAAK,MAOM,SAAS,IAAI,IAAI;AAAA,UAC5B;AAAA,UACA,UAAU;AAAA,UACV,UAAU;AAAA,UACV,UAAU;AAAA,UACV,SAAS;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EA5FA,QAAiB,UAAU,IAAY;AAAA;AAAA,EAUvC;AAAA;AAAA,EAOA;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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA6GA,QAAqB,CAAC,OAAe,cAAiC;AACrE,UAAM,OAAO;AACb,UAAM,KAAK,CACV,OAII;AACJ,UAAI,OAAO,OAAO,YAAY;AAC7B,aAAK,GAAG,IAAI,aAAa,KAAK,OAAO,CAAC;AAAA,MACvC;AAEA,aAAO,IAAI;AAAA,QACV,IAAI;AAAA,UACH,GAAG,OAAO;AAAA,UACV,cAAc,uBAAuB,KAAK,GAAG,kBAAkB,KAAK,CAAC,IAAI,CAAC;AAAA,UAC1E;AAAA,UACA;AAAA,QACD;AAAA,QACA,IAAI,sBAAsB,EAAE,OAAO,oBAAoB,SAAS,aAAa,QAAQ,CAAC;AAAA,MACvF;AAAA,IACD;AACA,WAAO,EAAE,GAAG;AAAA,EACb;AAAA,EAEA,OACC,QACA,SACC;AACD,WAAO,IAAI,mBAAmB,EAAE,QAAQ,SAAS,SAAS,KAAK,QAAQ,CAAC;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,QAAQ,SAAyB;AAChC,UAAM,OAAO;AA0Cb,aAAS,OACR,QAC2E;AAC3E,aAAO,IAAI,oBAAoB;AAAA,QAC9B,QAAQ,UAAU;AAAA,QAClB,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AA+BA,aAAS,eACR,QAC2E;AAC3E,aAAO,IAAI,oBAAoB;AAAA,QAC9B,QAAQ,UAAU;AAAA,QAClB,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd,UAAU;AAAA,QACV,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AA6BA,aAAS,OAAmC,OAAqE;AAChH,aAAO,IAAI,oBAAoB,OAAO,KAAK,SAAS,KAAK,SAAS,OAAO;AAAA,IAC1E;AA0BA,aAAS,OAAmC,MAAoE;AAC/G,aAAO,IAAI,oBAAoB,MAAM,KAAK,SAAS,KAAK,SAAS,OAAO;AAAA,IACzE;AA0BA,aAAS,QAAoC,MAAiE;AAC7G,aAAO,IAAI,iBAAiB,MAAM,KAAK,SAAS,KAAK,SAAS,OAAO;AAAA,IACtE;AAEA,WAAO,EAAE,QAAQ,gBAAgB,QAAQ,QAAQ,QAAQ,QAAQ;AAAA,EAClE;AAAA,EA0CA,OAAO,QAAmG;AACzG,WAAO,IAAI,oBAAoB,EAAE,QAAQ,UAAU,QAAW,SAAS,KAAK,SAAS,SAAS,KAAK,QAAQ,CAAC;AAAA,EAC7G;AAAA,EA+BA,eACC,QAC2E;AAC3E,WAAO,IAAI,oBAAoB;AAAA,MAC9B,QAAQ,UAAU;AAAA,MAClB,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,UAAU;AAAA,IACX,CAAC;AAAA,EACF;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;AAAA,EA6BA,OAAmC,OAAqE;AACvG,WAAO,IAAI,oBAAoB,OAAO,KAAK,SAAS,KAAK,OAAO;AAAA,EACjE;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,EA0BA,OAAmC,MAAoE;AACtG,WAAO,IAAI,oBAAoB,MAAM,KAAK,SAAS,KAAK,OAAO;AAAA,EAChE;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,EA0BA,OAAmC,MAAiE;AACnG,WAAO,IAAI,iBAAiB,MAAM,KAAK,SAAS,KAAK,OAAO;AAAA,EAC7D;AAAA,EAEA,IAAI,OAA+D;AAClE,UAAM,SAAS,OAAO,UAAU,WAAW,IAAI,IAAI,KAAK,IAAI,MAAM,OAAO;AACzE,QAAI,KAAK,eAAe,SAAS;AAChC,aAAO,IAAI;AAAA,QACV,YAAY,KAAK,QAAQ,IAAI,MAAM;AAAA,QACnC,MAAM;AAAA,QACN;AAAA,QACA,KAAK;AAAA,QACL,KAAK,QAAQ,kCAAkC,KAAK,KAAK,OAAO;AAAA,MACjE;AAAA,IACD;AACA,WAAO,KAAK,QAAQ,IAAI,MAAM;AAAA,EAC/B;AAAA,EAEA,IAAiB,OAAwD;AACxE,UAAM,SAAS,OAAO,UAAU,WAAW,IAAI,IAAI,KAAK,IAAI,MAAM,OAAO;AACzE,QAAI,KAAK,eAAe,SAAS;AAChC,aAAO,IAAI;AAAA,QACV,YAAY,KAAK,QAAQ,IAAI,MAAM;AAAA,QACnC,MAAM;AAAA,QACN;AAAA,QACA,KAAK;AAAA,QACL,KAAK,QAAQ,kCAAkC,KAAK,KAAK,OAAO;AAAA,MACjE;AAAA,IACD;AACA,WAAO,KAAK,QAAQ,IAAI,MAAM;AAAA,EAC/B;AAAA,EAEA,IAAiB,OAAsD;AACtE,UAAM,SAAS,OAAO,UAAU,WAAW,IAAI,IAAI,KAAK,IAAI,MAAM,OAAO;AACzE,QAAI,KAAK,eAAe,SAAS;AAChC,aAAO,IAAI;AAAA,QACV,YAAY,KAAK,QAAQ,IAAI,MAAM;AAAA,QACnC,MAAM;AAAA,QACN;AAAA,QACA,KAAK;AAAA,QACL,KAAK,QAAQ,kCAAkC,KAAK,KAAK,OAAO;AAAA,MACjE;AAAA,IACD;AACA,WAAO,KAAK,QAAQ,IAAI,MAAM;AAAA,EAC/B;AAAA,EAEA,OAAwC,OAAwD;AAC/F,UAAM,SAAS,OAAO,UAAU,WAAW,IAAI,IAAI,KAAK,IAAI,MAAM,OAAO;AACzE,QAAI,KAAK,eAAe,SAAS;AAChC,aAAO,IAAI;AAAA,QACV,YAAY,KAAK,QAAQ,OAAO,MAAM;AAAA,QACtC,MAAM;AAAA,QACN;AAAA,QACA,KAAK;AAAA,QACL,KAAK,QAAQ,qCAAqC,KAAK,KAAK,OAAO;AAAA,MACpE;AAAA,IACD;AACA,WAAO,KAAK,QAAQ,OAAO,MAAM;AAAA,EAClC;AAAA,EAEA,YACC,aAGA,QACyB;AACzB,WAAO,KAAK,QAAQ,YAAY,aAAa,MAAM;AAAA,EACpD;AACD;AAIO,MAAM,eAAe,CAgB3B,SACA,UACA,aAAmC,MAAM,SAAS,KAAK,MAAM,KAAK,OAAO,IAAI,SAAS,MAAM,CAAC,MAClE;AAC3B,QAAM,SAAsB,IAAI,SAAa,WAAW,QAAQ,EAAE,OAAO,GAAG,IAAI;AAChF,QAAM,iBAAsC,IAAI,SAAa,WAAW,QAAQ,EAAE,eAAe,GAAG,IAAI;AACxG,QAAM,SAAsB,IAAI,SAAgB,WAAW,QAAQ,EAAE,OAAO,GAAG,IAAI;AACnF,QAAM,QAAmB,IAAI,SAAa,WAAW,QAAQ,EAAE,KAAK,GAAG,IAAI;AAE3E,QAAM,SAAsB,IAAI,SAAgB,QAAQ,OAAO,GAAG,IAAI;AACtE,QAAM,SAAsB,IAAI,SAAgB,QAAQ,OAAO,GAAG,IAAI;AACtE,QAAM,UAAuB,IAAI,SAAgB,QAAQ,OAAO,GAAG,IAAI;AACvE,QAAM,MAAgB,IAAI,SAAgB,QAAQ,IAAI,GAAG,IAAI;AAC7D,QAAM,MAAgB,IAAI,SAAgB,QAAQ,IAAI,GAAG,IAAI;AAC7D,QAAM,MAAgB,IAAI,SAAgB,QAAQ,IAAI,GAAG,IAAI;AAC7D,QAAM,SAAsB,IAAI,SAAgB,QAAQ,OAAO,GAAG,IAAI;AACtE,QAAM,cAAgC,IAAI,SAAgB,QAAQ,YAAY,GAAG,IAAI;AAErF,SAAO;AAAA,IACN,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN,IAAI,SAAS;AACZ,aAAO,WAAW,QAAQ,EAAE;AAAA,IAC7B;AAAA,IACA,IAAI,QAAQ;AACX,aAAO,WAAW,QAAQ,EAAE;AAAA,IAC7B;AAAA,EACD;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/sqlite-core/db.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { ExtractTablesWithRelations, RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport { type ColumnsSelection, type SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect, SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport {\n\tQueryBuilder,\n\tSQLiteDeleteBase,\n\tSQLiteInsertBuilder,\n\tSQLiteSelectBuilder,\n\tSQLiteUpdateBuilder,\n} from '~/sqlite-core/query-builders/index.ts';\nimport type {\n\tDBResult,\n\tResult,\n\tSQLiteSession,\n\tSQLiteTransaction,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport type { SQLiteTable } from '~/sqlite-core/table.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport type { DrizzleTypeError } from '~/utils.ts';\nimport { SQLiteCountBuilder } from './query-builders/count.ts';\nimport { RelationalQueryBuilder } from './query-builders/query.ts';\nimport { SQLiteRaw } from './query-builders/raw.ts';\nimport type { SelectedFields } from './query-builders/select.types.ts';\nimport type { WithBuilder } from './subquery.ts';\nimport type { SQLiteViewBase } from './view-base.ts';\n\nexport class BaseSQLiteDatabase<\n\tTResultKind extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = ExtractTablesWithRelations<TFullSchema>,\n> {\n\tstatic readonly [entityKind]: string = 'BaseSQLiteDatabase';\n\n\tdeclare readonly _: {\n\t\treadonly schema: TSchema | undefined;\n\t\treadonly fullSchema: TFullSchema;\n\t\treadonly tableNamesMap: Record<string, string>;\n\t};\n\n\tquery: TFullSchema extends Record<string, never>\n\t\t? DrizzleTypeError<'Seems like the schema generic is missing - did you forget to add it to your DB type?'>\n\t\t: {\n\t\t\t[K in keyof TSchema]: RelationalQueryBuilder<TResultKind, TFullSchema, TSchema, TSchema[K]>;\n\t\t};\n\n\tconstructor(\n\t\tprivate resultKind: TResultKind,\n\t\t/** @internal */\n\t\treadonly dialect: { sync: SQLiteSyncDialect; async: SQLiteAsyncDialect }[TResultKind],\n\t\t/** @internal */\n\t\treadonly session: SQLiteSession<TResultKind, TRunResult, TFullSchema, TSchema>,\n\t\tschema: RelationalSchemaConfig<TSchema> | undefined,\n\t) {\n\t\tthis._ = schema\n\t\t\t? {\n\t\t\t\tschema: schema.schema,\n\t\t\t\tfullSchema: schema.fullSchema as TFullSchema,\n\t\t\t\ttableNamesMap: schema.tableNamesMap,\n\t\t\t}\n\t\t\t: {\n\t\t\t\tschema: undefined,\n\t\t\t\tfullSchema: {} as TFullSchema,\n\t\t\t\ttableNamesMap: {},\n\t\t\t};\n\t\tthis.query = {} as typeof this['query'];\n\t\tconst query = this.query as {\n\t\t\t[K in keyof TSchema]: RelationalQueryBuilder<TResultKind, TFullSchema, TSchema, TSchema[K]>;\n\t\t};\n\t\tif (this._.schema) {\n\t\t\tfor (const [tableName, columns] of Object.entries(this._.schema)) {\n\t\t\t\tquery[tableName as keyof TSchema] = new RelationalQueryBuilder(\n\t\t\t\t\tresultKind,\n\t\t\t\t\tschema!.fullSchema,\n\t\t\t\t\tthis._.schema,\n\t\t\t\t\tthis._.tableNamesMap,\n\t\t\t\t\tschema!.fullSchema[tableName] as SQLiteTable,\n\t\t\t\t\tcolumns,\n\t\t\t\t\tdialect,\n\t\t\t\t\tsession as SQLiteSession<any, any, any, any> as any,\n\t\t\t\t) as typeof query[keyof TSchema];\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Creates a subquery that defines a temporary named result set as a CTE.\n\t *\n\t * It is useful for breaking down complex queries into simpler parts and for reusing the result set in subsequent parts of the query.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#with-clause}\n\t *\n\t * @param alias The alias for the subquery.\n\t *\n\t * Failure to provide an alias will result in a DrizzleTypeError, preventing the subquery from being referenced in other queries.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Create a subquery with alias 'sq' and use it in the select query\n\t * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42)));\n\t *\n\t * const result = await db.with(sq).select().from(sq);\n\t * ```\n\t *\n\t * To select arbitrary SQL values as fields in a CTE and reference them in other CTEs or in the main query, you need to add aliases to them:\n\t *\n\t * ```ts\n\t * // Select an arbitrary SQL value as a field in a CTE and reference it in the main query\n\t * const sq = db.$with('sq').as(db.select({\n\t * name: sql<string>`upper(${users.name})`.as('name'),\n\t * })\n\t * .from(users));\n\t *\n\t * const result = await db.with(sq).select({ name: sq.name }).from(sq);\n\t * ```\n\t */\n\t$with: WithBuilder = (alias: string, selection?: ColumnsSelection) => {\n\t\tconst self = this;\n\t\tconst as = (\n\t\t\tqb:\n\t\t\t\t| TypedQueryBuilder<ColumnsSelection | undefined>\n\t\t\t\t| SQL\n\t\t\t\t| ((qb: QueryBuilder) => TypedQueryBuilder<ColumnsSelection | undefined> | SQL),\n\t\t) => {\n\t\t\tif (typeof qb === 'function') {\n\t\t\t\tqb = qb(new QueryBuilder(self.dialect));\n\t\t\t}\n\n\t\t\treturn new Proxy(\n\t\t\t\tnew WithSubquery(\n\t\t\t\t\tqb.getSQL(),\n\t\t\t\t\tselection ?? ('getSelectedFields' in qb ? qb.getSelectedFields() ?? {} : {}) as SelectedFields,\n\t\t\t\t\talias,\n\t\t\t\t\ttrue,\n\t\t\t\t),\n\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t);\n\t\t};\n\t\treturn { as };\n\t};\n\n\t$count(\n\t\tsource: SQLiteTable | SQLiteViewBase | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t) {\n\t\treturn new SQLiteCountBuilder({ source, filters, session: this.session });\n\t}\n\n\t/**\n\t * Incorporates a previously defined CTE (using `$with`) into the main query.\n\t *\n\t * This method allows the main query to reference a temporary named result set.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#with-clause}\n\t *\n\t * @param queries The CTEs to incorporate into the main query.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Define a subquery 'sq' as a CTE using $with\n\t * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42)));\n\t *\n\t * // Incorporate the CTE 'sq' into the main query and select from it\n\t * const result = await db.with(sq).select().from(sq);\n\t * ```\n\t */\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\t/**\n\t\t * Creates a select query.\n\t\t *\n\t\t * Calling this method with no arguments will select all columns from the table. Pass a selection object to specify the columns you want to select.\n\t\t *\n\t\t * Use `.from()` method to specify which table to select from.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/select}\n\t\t *\n\t\t * @param fields The selection object.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Select all columns and all rows from the 'cars' table\n\t\t * const allCars: Car[] = await db.select().from(cars);\n\t\t *\n\t\t * // Select specific columns and all rows from the 'cars' table\n\t\t * const carsIdsAndBrands: { id: number; brand: string }[] = await db.select({\n\t\t * id: cars.id,\n\t\t * brand: cars.brand\n\t\t * })\n\t\t * .from(cars);\n\t\t * ```\n\t\t *\n\t\t * Like in SQL, you can use arbitrary expressions as selection fields, not just table columns:\n\t\t *\n\t\t * ```ts\n\t\t * // Select specific columns along with expression and all rows from the 'cars' table\n\t\t * const carsIdsAndLowerNames: { id: number; lowerBrand: string }[] = await db.select({\n\t\t * id: cars.id,\n\t\t * lowerBrand: sql<string>`lower(${cars.brand})`,\n\t\t * })\n\t\t * .from(cars);\n\t\t * ```\n\t\t */\n\t\tfunction select(): SQLiteSelectBuilder<undefined, TResultKind, TRunResult>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder<TSelection, TResultKind, TRunResult>;\n\t\tfunction select(\n\t\t\tfields?: SelectedFields,\n\t\t): SQLiteSelectBuilder<SelectedFields | undefined, TResultKind, TRunResult> {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: self.session,\n\t\t\t\tdialect: self.dialect,\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\t/**\n\t\t * Adds `distinct` expression to the select query.\n\t\t *\n\t\t * Calling this method will return only unique values. When multiple columns are selected, it returns rows with unique combinations of values in these columns.\n\t\t *\n\t\t * Use `.from()` method to specify which table to select from.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/select#distinct}\n\t\t *\n\t\t * @param fields The selection object.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Select all unique rows from the 'cars' table\n\t\t * await db.selectDistinct()\n\t\t * .from(cars)\n\t\t * .orderBy(cars.id, cars.brand, cars.color);\n\t\t *\n\t\t * // Select all unique brands from the 'cars' table\n\t\t * await db.selectDistinct({ brand: cars.brand })\n\t\t * .from(cars)\n\t\t * .orderBy(cars.brand);\n\t\t * ```\n\t\t */\n\t\tfunction selectDistinct(): SQLiteSelectBuilder<undefined, TResultKind, TRunResult>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder<TSelection, TResultKind, TRunResult>;\n\t\tfunction selectDistinct(\n\t\t\tfields?: SelectedFields,\n\t\t): SQLiteSelectBuilder<SelectedFields | undefined, TResultKind, TRunResult> {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: self.session,\n\t\t\t\tdialect: self.dialect,\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\t/**\n\t\t * Creates an update query.\n\t\t *\n\t\t * Calling this method without `.where()` clause will update all rows in a table. The `.where()` clause specifies which rows should be updated.\n\t\t *\n\t\t * Use `.set()` method to specify which values to update.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t\t *\n\t\t * @param table The table to update.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Update all rows in the 'cars' table\n\t\t * await db.update(cars).set({ color: 'red' });\n\t\t *\n\t\t * // Update rows with filters and conditions\n\t\t * await db.update(cars).set({ color: 'red' }).where(eq(cars.brand, 'BMW'));\n\t\t *\n\t\t * // Update with returning clause\n\t\t * const updatedCar: Car[] = await db.update(cars)\n\t\t * .set({ color: 'red' })\n\t\t * .where(eq(cars.id, 1))\n\t\t * .returning();\n\t\t * ```\n\t\t */\n\t\tfunction update<TTable extends SQLiteTable>(table: TTable): SQLiteUpdateBuilder<TTable, TResultKind, TRunResult> {\n\t\t\treturn new SQLiteUpdateBuilder(table, self.session, self.dialect, queries);\n\t\t}\n\n\t\t/**\n\t\t * Creates an insert query.\n\t\t *\n\t\t * Calling this method will create new rows in a table. Use `.values()` method to specify which values to insert.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/insert}\n\t\t *\n\t\t * @param table The table to insert into.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Insert one row\n\t\t * await db.insert(cars).values({ brand: 'BMW' });\n\t\t *\n\t\t * // Insert multiple rows\n\t\t * await db.insert(cars).values([{ brand: 'BMW' }, { brand: 'Porsche' }]);\n\t\t *\n\t\t * // Insert with returning clause\n\t\t * const insertedCar: Car[] = await db.insert(cars)\n\t\t * .values({ brand: 'BMW' })\n\t\t * .returning();\n\t\t * ```\n\t\t */\n\t\tfunction insert<TTable extends SQLiteTable>(into: TTable): SQLiteInsertBuilder<TTable, TResultKind, TRunResult> {\n\t\t\treturn new SQLiteInsertBuilder(into, self.session, self.dialect, queries);\n\t\t}\n\n\t\t/**\n\t\t * Creates a delete query.\n\t\t *\n\t\t * Calling this method without `.where()` clause will delete all rows in a table. The `.where()` clause specifies which rows should be deleted.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t\t *\n\t\t * @param table The table to delete from.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Delete all rows in the 'cars' table\n\t\t * await db.delete(cars);\n\t\t *\n\t\t * // Delete rows with filters and conditions\n\t\t * await db.delete(cars).where(eq(cars.color, 'green'));\n\t\t *\n\t\t * // Delete with returning clause\n\t\t * const deletedCar: Car[] = await db.delete(cars)\n\t\t * .where(eq(cars.id, 1))\n\t\t * .returning();\n\t\t * ```\n\t\t */\n\t\tfunction delete_<TTable extends SQLiteTable>(from: TTable): SQLiteDeleteBase<TTable, TResultKind, TRunResult> {\n\t\t\treturn new SQLiteDeleteBase(from, self.session, self.dialect, queries);\n\t\t}\n\n\t\treturn { select, selectDistinct, update, insert, delete: delete_ };\n\t}\n\n\t/**\n\t * Creates a select query.\n\t *\n\t * Calling this method with no arguments will select all columns from the table. Pass a selection object to specify the columns you want to select.\n\t *\n\t * Use `.from()` method to specify which table to select from.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select}\n\t *\n\t * @param fields The selection object.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all columns and all rows from the 'cars' table\n\t * const allCars: Car[] = await db.select().from(cars);\n\t *\n\t * // Select specific columns and all rows from the 'cars' table\n\t * const carsIdsAndBrands: { id: number; brand: string }[] = await db.select({\n\t * id: cars.id,\n\t * brand: cars.brand\n\t * })\n\t * .from(cars);\n\t * ```\n\t *\n\t * Like in SQL, you can use arbitrary expressions as selection fields, not just table columns:\n\t *\n\t * ```ts\n\t * // Select specific columns along with expression and all rows from the 'cars' table\n\t * const carsIdsAndLowerNames: { id: number; lowerBrand: string }[] = await db.select({\n\t * id: cars.id,\n\t * lowerBrand: sql<string>`lower(${cars.brand})`,\n\t * })\n\t * .from(cars);\n\t * ```\n\t */\n\tselect(): SQLiteSelectBuilder<undefined, TResultKind, TRunResult>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder<TSelection, TResultKind, TRunResult>;\n\tselect(fields?: SelectedFields): SQLiteSelectBuilder<SelectedFields | undefined, TResultKind, TRunResult> {\n\t\treturn new SQLiteSelectBuilder({ fields: fields ?? undefined, session: this.session, dialect: this.dialect });\n\t}\n\n\t/**\n\t * Adds `distinct` expression to the select query.\n\t *\n\t * Calling this method will return only unique values. When multiple columns are selected, it returns rows with unique combinations of values in these columns.\n\t *\n\t * Use `.from()` method to specify which table to select from.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#distinct}\n\t *\n\t * @param fields The selection object.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all unique rows from the 'cars' table\n\t * await db.selectDistinct()\n\t * .from(cars)\n\t * .orderBy(cars.id, cars.brand, cars.color);\n\t *\n\t * // Select all unique brands from the 'cars' table\n\t * await db.selectDistinct({ brand: cars.brand })\n\t * .from(cars)\n\t * .orderBy(cars.brand);\n\t * ```\n\t */\n\tselectDistinct(): SQLiteSelectBuilder<undefined, TResultKind, TRunResult>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder<TSelection, TResultKind, TRunResult>;\n\tselectDistinct(\n\t\tfields?: SelectedFields,\n\t): SQLiteSelectBuilder<SelectedFields | undefined, TResultKind, TRunResult> {\n\t\treturn new SQLiteSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: this.session,\n\t\t\tdialect: this.dialect,\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t/**\n\t * Creates an update query.\n\t *\n\t * Calling this method without `.where()` clause will update all rows in a table. The `.where()` clause specifies which rows should be updated.\n\t *\n\t * Use `.set()` method to specify which values to update.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t *\n\t * @param table The table to update.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Update all rows in the 'cars' table\n\t * await db.update(cars).set({ color: 'red' });\n\t *\n\t * // Update rows with filters and conditions\n\t * await db.update(cars).set({ color: 'red' }).where(eq(cars.brand, 'BMW'));\n\t *\n\t * // Update with returning clause\n\t * const updatedCar: Car[] = await db.update(cars)\n\t * .set({ color: 'red' })\n\t * .where(eq(cars.id, 1))\n\t * .returning();\n\t * ```\n\t */\n\tupdate<TTable extends SQLiteTable>(table: TTable): SQLiteUpdateBuilder<TTable, TResultKind, TRunResult> {\n\t\treturn new SQLiteUpdateBuilder(table, this.session, this.dialect);\n\t}\n\n\t/**\n\t * Creates an insert query.\n\t *\n\t * Calling this method will create new rows in a table. Use `.values()` method to specify which values to insert.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert}\n\t *\n\t * @param table The table to insert into.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Insert one row\n\t * await db.insert(cars).values({ brand: 'BMW' });\n\t *\n\t * // Insert multiple rows\n\t * await db.insert(cars).values([{ brand: 'BMW' }, { brand: 'Porsche' }]);\n\t *\n\t * // Insert with returning clause\n\t * const insertedCar: Car[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning();\n\t * ```\n\t */\n\tinsert<TTable extends SQLiteTable>(into: TTable): SQLiteInsertBuilder<TTable, TResultKind, TRunResult> {\n\t\treturn new SQLiteInsertBuilder(into, this.session, this.dialect);\n\t}\n\n\t/**\n\t * Creates a delete query.\n\t *\n\t * Calling this method without `.where()` clause will delete all rows in a table. The `.where()` clause specifies which rows should be deleted.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t *\n\t * @param table The table to delete from.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Delete all rows in the 'cars' table\n\t * await db.delete(cars);\n\t *\n\t * // Delete rows with filters and conditions\n\t * await db.delete(cars).where(eq(cars.color, 'green'));\n\t *\n\t * // Delete with returning clause\n\t * const deletedCar: Car[] = await db.delete(cars)\n\t * .where(eq(cars.id, 1))\n\t * .returning();\n\t * ```\n\t */\n\tdelete<TTable extends SQLiteTable>(from: TTable): SQLiteDeleteBase<TTable, TResultKind, TRunResult> {\n\t\treturn new SQLiteDeleteBase(from, this.session, this.dialect);\n\t}\n\n\trun(query: SQLWrapper | string): DBResult<TResultKind, TRunResult> {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.run(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'run',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawRunValueFromBatchResult.bind(this.session),\n\t\t\t) as DBResult<TResultKind, TRunResult>;\n\t\t}\n\t\treturn this.session.run(sequel) as DBResult<TResultKind, TRunResult>;\n\t}\n\n\tall<T = unknown>(query: SQLWrapper | string): DBResult<TResultKind, T[]> {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.all(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'all',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawAllValueFromBatchResult.bind(this.session),\n\t\t\t) as any;\n\t\t}\n\t\treturn this.session.all(sequel) as DBResult<TResultKind, T[]>;\n\t}\n\n\tget<T = unknown>(query: SQLWrapper | string): DBResult<TResultKind, T> {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.get(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'get',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawGetValueFromBatchResult.bind(this.session),\n\t\t\t) as DBResult<TResultKind, T>;\n\t\t}\n\t\treturn this.session.get(sequel) as DBResult<TResultKind, T>;\n\t}\n\n\tvalues<T extends unknown[] = unknown[]>(query: SQLWrapper | string): DBResult<TResultKind, T[]> {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.values(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'values',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawValuesValueFromBatchResult.bind(this.session),\n\t\t\t) as any;\n\t\t}\n\t\treturn this.session.values(sequel) as DBResult<TResultKind, T[]>;\n\t}\n\n\ttransaction<T>(\n\t\ttransaction: (tx: SQLiteTransaction<TResultKind, TRunResult, TFullSchema, TSchema>) => Result<TResultKind, T>,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Result<TResultKind, T> {\n\t\treturn this.session.transaction(transaction, config);\n\t}\n}\n\nexport type SQLiteWithReplicas<Q> = Q & { $primary: Q };\n\nexport const withReplicas = <\n\tTResultKind extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n\tQ extends BaseSQLiteDatabase<\n\t\tTResultKind,\n\t\tTRunResult,\n\t\tTFullSchema,\n\t\tTSchema extends Record<string, unknown> ? ExtractTablesWithRelations<TFullSchema> : TSchema\n\t>,\n>(\n\tprimary: Q,\n\treplicas: [Q, ...Q[]],\n\tgetReplica: (replicas: Q[]) => Q = () => replicas[Math.floor(Math.random() * replicas.length)]!,\n): SQLiteWithReplicas<Q> => {\n\tconst select: Q['select'] = (...args: []) => getReplica(replicas).select(...args);\n\tconst selectDistinct: Q['selectDistinct'] = (...args: []) => getReplica(replicas).selectDistinct(...args);\n\tconst $count: Q['$count'] = (...args: [any]) => getReplica(replicas).$count(...args);\n\tconst $with: Q['with'] = (...args: []) => getReplica(replicas).with(...args);\n\n\tconst update: Q['update'] = (...args: [any]) => primary.update(...args);\n\tconst insert: Q['insert'] = (...args: [any]) => primary.insert(...args);\n\tconst $delete: Q['delete'] = (...args: [any]) => primary.delete(...args);\n\tconst run: Q['run'] = (...args: [any]) => primary.run(...args);\n\tconst all: Q['all'] = (...args: [any]) => primary.all(...args);\n\tconst get: Q['get'] = (...args: [any]) => primary.get(...args);\n\tconst values: Q['values'] = (...args: [any]) => primary.values(...args);\n\tconst transaction: Q['transaction'] = (...args: [any]) => primary.transaction(...args);\n\n\treturn {\n\t\t...primary,\n\t\tupdate,\n\t\tinsert,\n\t\tdelete: $delete,\n\t\trun,\n\t\tall,\n\t\tget,\n\t\tvalues,\n\t\ttransaction,\n\t\t$primary: primary,\n\t\tselect,\n\t\tselectDistinct,\n\t\t$count,\n\t\twith: $with,\n\t\tget query() {\n\t\t\treturn getReplica(replicas).query;\n\t\t},\n\t};\n};\n"],"mappings":"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","names":[]}
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var dialect_exports = {};
30
20
  __export(dialect_exports, {
@@ -33,7 +23,6 @@ __export(dialect_exports, {
33
23
  SQLiteSyncDialect: () => SQLiteSyncDialect
34
24
  });
35
25
  module.exports = __toCommonJS(dialect_exports);
36
- var V1 = __toESM(require("../_relations.cjs"), 1);
37
26
  var import_alias = require("../alias.cjs");
38
27
  var import_casing = require("../casing.cjs");
39
28
  var import_column = require("../column.cjs");
@@ -373,8 +362,7 @@ class SQLiteDialect {
373
362
  invokeSource
374
363
  });
375
364
  }
376
- /** @deprecated */
377
- _buildRelationalQuery({
365
+ buildRelationalQuery({
378
366
  fullSchema,
379
367
  schema,
380
368
  tableNamesMap,
@@ -403,7 +391,7 @@ class SQLiteDialect {
403
391
  Object.entries(tableConfig.columns).map(([key, value]) => [key, (0, import_alias.aliasedTableColumn)(value, tableAlias)])
404
392
  );
405
393
  if (config.where) {
406
- const whereSql = typeof config.where === "function" ? config.where(aliasedColumns, V1.getOperators()) : config.where;
394
+ const whereSql = typeof config.where === "function" ? config.where(aliasedColumns, (0, import_relations.getOperators)()) : config.where;
407
395
  where = whereSql && (0, import_alias.mapColumnsInSQLToAlias)(whereSql, tableAlias);
408
396
  }
409
397
  const fieldsSelection = [];
@@ -455,7 +443,7 @@ class SQLiteDialect {
455
443
  selection: []
456
444
  });
457
445
  }
458
- let orderByOrig = typeof config.orderBy === "function" ? config.orderBy(aliasedColumns, V1.getOrderByOperators()) : config.orderBy ?? [];
446
+ let orderByOrig = typeof config.orderBy === "function" ? config.orderBy(aliasedColumns, (0, import_relations.getOrderByOperators)()) : config.orderBy ?? [];
459
447
  if (!Array.isArray(orderByOrig)) {
460
448
  orderByOrig = [orderByOrig];
461
449
  }
@@ -472,7 +460,7 @@ class SQLiteDialect {
472
460
  queryConfig: selectedRelationConfigValue,
473
461
  relation
474
462
  } of selectedRelations) {
475
- const normalizedRelation = V1.normalizeRelation(schema, tableNamesMap, relation);
463
+ const normalizedRelation = (0, import_relations.normalizeRelation)(schema, tableNamesMap, relation);
476
464
  const relationTableName = (0, import_table2.getTableUniqueName)(relation.referencedTable);
477
465
  const relationTableTsName = tableNamesMap[relationTableName];
478
466
  const relationTableAlias = `${tableAlias}_${selectedRelationTsKey}`;
@@ -484,13 +472,13 @@ class SQLiteDialect {
484
472
  )
485
473
  )
486
474
  );
487
- const builtRelation = this._buildRelationalQuery({
475
+ const builtRelation = this.buildRelationalQuery({
488
476
  fullSchema,
489
477
  schema,
490
478
  tableNamesMap,
491
479
  table: fullSchema[relationTableTsName],
492
480
  tableConfig: schema[relationTableTsName],
493
- queryConfig: (0, import_entity.is)(relation, V1.One) ? selectedRelationConfigValue === true ? { limit: 1 } : { ...selectedRelationConfigValue, limit: 1 } : selectedRelationConfigValue,
481
+ queryConfig: (0, import_entity.is)(relation, import_relations.One) ? selectedRelationConfigValue === true ? { limit: 1 } : { ...selectedRelationConfigValue, limit: 1 } : selectedRelationConfigValue,
494
482
  tableAlias: relationTableAlias,
495
483
  joinOn: joinOn2,
496
484
  nestedQueryRelation: relation
@@ -520,7 +508,7 @@ class SQLiteDialect {
520
508
  ),
521
509
  import_sql2.sql`, `
522
510
  )})`;
523
- if ((0, import_entity.is)(nestedQueryRelation, V1.Many)) {
511
+ if ((0, import_entity.is)(nestedQueryRelation, import_relations.Many)) {
524
512
  field = import_sql2.sql`coalesce(json_group_array(${field}), json_array())`;
525
513
  }
526
514
  const nestedSelection = [{
@@ -591,173 +579,6 @@ class SQLiteDialect {
591
579
  selection
592
580
  };
593
581
  }
594
- nestedSelectionerror() {
595
- throw new import_errors.DrizzleError({
596
- message: `Views with nested selections are not supported by the relational query builder`
597
- });
598
- }
599
- buildRqbColumn(column, key) {
600
- return import_sql2.sql`${(0, import_entity.is)(column, import_column.Column) ? import_sql2.sql.identifier(column.name) : (0, import_entity.is)(column, import_sql2.SQL.Aliased) ? import_sql2.sql.identifier(column.fieldAlias) : (0, import_sql.isSQLWrapper)(column) ? import_sql2.sql.identifier(key) : this.nestedSelectionerror()} as ${import_sql2.sql.identifier(key)}`;
601
- }
602
- unwrapAllColumns = (table, selection) => {
603
- return import_sql2.sql.join(
604
- Object.entries(table[import_table2.Columns]).map(([k, v]) => {
605
- selection.push({
606
- key: k,
607
- field: v
608
- });
609
- return import_sql2.sql`${table}.${this.buildRqbColumn(v, k)}`;
610
- }),
611
- import_sql2.sql`, `
612
- );
613
- };
614
- getSelectedTableColumns = (table, columns) => {
615
- const selectedColumns = [];
616
- const columnContainer = table[import_table2.Columns];
617
- const entries = Object.entries(columns);
618
- let colSelectionMode;
619
- for (const [k, v] of entries) {
620
- if (v === void 0)
621
- continue;
622
- colSelectionMode = colSelectionMode || v;
623
- if (v) {
624
- const column = columnContainer[k];
625
- selectedColumns.push({
626
- column,
627
- tsName: k
628
- });
629
- }
630
- }
631
- if (colSelectionMode === false) {
632
- for (const [k, v] of Object.entries(columnContainer)) {
633
- if (columns[k] === false)
634
- continue;
635
- selectedColumns.push({
636
- column: v,
637
- tsName: k
638
- });
639
- }
640
- }
641
- return selectedColumns;
642
- };
643
- buildColumns = (table, selection, params) => params?.columns ? (() => {
644
- const columnIdentifiers = [];
645
- const selectedColumns = this.getSelectedTableColumns(table, params?.columns);
646
- for (const { column, tsName } of selectedColumns) {
647
- columnIdentifiers.push(import_sql2.sql`${table}.${this.buildRqbColumn(column, tsName)}`);
648
- selection.push({
649
- key: tsName,
650
- field: column
651
- });
652
- }
653
- return columnIdentifiers.length ? import_sql2.sql.join(columnIdentifiers, import_sql2.sql`, `) : void 0;
654
- })() : this.unwrapAllColumns(table, selection);
655
- buildRelationalQuery({
656
- tables,
657
- schema,
658
- tableNamesMap,
659
- table,
660
- tableConfig,
661
- queryConfig: config,
662
- relationWhere,
663
- mode,
664
- isNested,
665
- errorPath,
666
- depth,
667
- throughJoin
668
- }) {
669
- const selection = [];
670
- const isSingle = mode === "first";
671
- const params = config === true ? void 0 : config;
672
- const currentPath = errorPath ?? "";
673
- const currentDepth = depth ?? 0;
674
- if (!currentDepth)
675
- table = (0, import_alias.aliasedTable)(table, `d${currentDepth}`);
676
- const limit = isSingle ? 1 : params?.limit;
677
- const offset = params?.offset;
678
- const columns = this.buildColumns(table, selection, params);
679
- const where = params?.where && relationWhere ? (0, import_sql.and)((0, import_relations.relationsFilterToSQL)(table, params.where), relationWhere) : params?.where ? (0, import_relations.relationsFilterToSQL)(table, params.where) : relationWhere;
680
- const order = params?.orderBy ? (0, import_relations.relationsOrderToSQL)(table, params.orderBy) : void 0;
681
- const extras = params?.extras ? (0, import_relations.relationExtrasToSQL)(table, params.extras) : void 0;
682
- if (extras)
683
- selection.push(...extras.selection);
684
- const joins = params ? (() => {
685
- const { with: joins2 } = params;
686
- if (!joins2)
687
- return;
688
- const withEntries = Object.entries(joins2).filter(([_, v]) => v);
689
- if (!withEntries.length)
690
- return;
691
- return import_sql2.sql.join(
692
- withEntries.map(([k, join]) => {
693
- if ((0, import_entity.is)(tableConfig.relations[k], import_relations.AggregatedField)) {
694
- const relation2 = tableConfig.relations[k];
695
- relation2.onTable(table);
696
- const query2 = relation2.getSQL();
697
- selection.push({
698
- key: k,
699
- field: relation2
700
- });
701
- return import_sql2.sql`(${query2}) as ${import_sql2.sql.identifier(k)}`;
702
- }
703
- const relation = tableConfig.relations[k];
704
- const isSingle2 = (0, import_entity.is)(relation, import_relations.One);
705
- const targetTable = (0, import_alias.aliasedTable)(relation.targetTable, `d${currentDepth + 1}`);
706
- const throughTable = relation.throughTable ? (0, import_alias.aliasedTable)(relation.throughTable, `tr${currentDepth}`) : void 0;
707
- const { filter, joinCondition } = (0, import_relations.relationToSQL)(
708
- relation,
709
- table,
710
- targetTable,
711
- throughTable
712
- );
713
- const throughJoin2 = throughTable ? import_sql2.sql` inner join ${(0, import_relations.getTableAsAliasSQL)(throughTable)} on ${joinCondition}` : void 0;
714
- const innerQuery = this.buildRelationalQuery({
715
- table: targetTable,
716
- mode: isSingle2 ? "first" : "many",
717
- schema,
718
- queryConfig: join,
719
- tableConfig: schema[tableNamesMap[(0, import_table2.getTableUniqueName)(relation.targetTable)]],
720
- tableNamesMap,
721
- tables,
722
- relationWhere: filter,
723
- isNested: true,
724
- errorPath: `${currentPath.length ? `${currentPath}.` : ""}${k}`,
725
- depth: currentDepth + 1,
726
- throughJoin: throughJoin2
727
- });
728
- selection.push({
729
- field: targetTable,
730
- key: k,
731
- selection: innerQuery.selection,
732
- isArray: !isSingle2,
733
- isOptional: (relation.optional ?? false) || join !== true && !!join.where
734
- });
735
- const jsonColumns = import_sql2.sql.join(
736
- innerQuery.selection.map((s) => {
737
- return import_sql2.sql`${import_sql2.sql.raw(this.escapeString(s.key))}, ${s.selection ? import_sql2.sql`jsonb(${import_sql2.sql.identifier(s.key)})` : import_sql2.sql.identifier(s.key)}`;
738
- }),
739
- import_sql2.sql`, `
740
- );
741
- const json = isNested ? import_sql2.sql`jsonb` : import_sql2.sql`json`;
742
- const joinQuery = isSingle2 ? import_sql2.sql`(select ${json}_object(${jsonColumns}) as ${import_sql2.sql.identifier("r")} from (${innerQuery.sql}) as ${import_sql2.sql.identifier("t")}) as ${import_sql2.sql.identifier(k)}` : import_sql2.sql`coalesce((select ${json}_group_array(json_object(${jsonColumns})) as ${import_sql2.sql.identifier("r")} from (${innerQuery.sql}) as ${import_sql2.sql.identifier("t")}), jsonb_array()) as ${import_sql2.sql.identifier(k)}`;
743
- return joinQuery;
744
- }),
745
- import_sql2.sql`, `
746
- );
747
- })() : void 0;
748
- const selectionArr = [columns, extras?.sql, joins].filter((e) => e !== void 0);
749
- if (!selectionArr.length) {
750
- throw new import_errors.DrizzleError({
751
- message: `No fields selected for table "${tableConfig.tsName}"${currentPath ? ` ("${currentPath}")` : ""}`
752
- });
753
- }
754
- const selectionSet = import_sql2.sql.join(selectionArr, import_sql2.sql`, `);
755
- const query = import_sql2.sql`select ${selectionSet} from ${(0, import_relations.getTableAsAliasSQL)(table)}${throughJoin}${import_sql2.sql` where ${where}`.if(where)}${import_sql2.sql` order by ${order}`.if(order)}${import_sql2.sql` limit ${limit}`.if(limit !== void 0)}${import_sql2.sql` offset ${offset}`.if(offset !== void 0)}`;
756
- return {
757
- sql: query,
758
- selection
759
- };
760
- }
761
582
  }
762
583
  class SQLiteSyncDialect extends SQLiteDialect {
763
584
  static [import_entity.entityKind] = "SQLiteSyncDialect";