drizzle-orm 0.39.2-c7c31ad → 0.39.2-dc3b366

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 (629) 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/d1/driver.cjs +5 -22
  70. package/d1/driver.cjs.map +1 -1
  71. package/d1/driver.d.cts +2 -3
  72. package/d1/driver.d.ts +2 -3
  73. package/d1/driver.js +8 -12
  74. package/d1/driver.js.map +1 -1
  75. package/d1/migrator.cjs.map +1 -1
  76. package/d1/migrator.d.cts +1 -2
  77. package/d1/migrator.d.ts +1 -2
  78. package/d1/migrator.js.map +1 -1
  79. package/d1/session.cjs +8 -50
  80. package/d1/session.cjs.map +1 -1
  81. package/d1/session.d.cts +8 -15
  82. package/d1/session.d.ts +8 -15
  83. package/d1/session.js +8 -50
  84. package/d1/session.js.map +1 -1
  85. package/durable-sqlite/driver.cjs +5 -16
  86. package/durable-sqlite/driver.cjs.map +1 -1
  87. package/durable-sqlite/driver.d.cts +2 -3
  88. package/durable-sqlite/driver.d.ts +2 -3
  89. package/durable-sqlite/driver.js +8 -6
  90. package/durable-sqlite/driver.js.map +1 -1
  91. package/durable-sqlite/migrator.cjs.map +1 -1
  92. package/durable-sqlite/migrator.d.cts +1 -2
  93. package/durable-sqlite/migrator.d.ts +1 -2
  94. package/durable-sqlite/migrator.js.map +1 -1
  95. package/durable-sqlite/session.cjs +4 -46
  96. package/durable-sqlite/session.cjs.map +1 -1
  97. package/durable-sqlite/session.d.cts +8 -14
  98. package/durable-sqlite/session.d.ts +8 -14
  99. package/durable-sqlite/session.js +4 -46
  100. package/durable-sqlite/session.js.map +1 -1
  101. package/expo-sqlite/driver.cjs +5 -22
  102. package/expo-sqlite/driver.cjs.map +1 -1
  103. package/expo-sqlite/driver.d.cts +2 -3
  104. package/expo-sqlite/driver.d.ts +2 -3
  105. package/expo-sqlite/driver.js +8 -12
  106. package/expo-sqlite/driver.js.map +1 -1
  107. package/expo-sqlite/migrator.cjs.map +1 -1
  108. package/expo-sqlite/migrator.d.cts +2 -3
  109. package/expo-sqlite/migrator.d.ts +2 -3
  110. package/expo-sqlite/migrator.js.map +1 -1
  111. package/expo-sqlite/query.cjs +2 -13
  112. package/expo-sqlite/query.cjs.map +1 -1
  113. package/expo-sqlite/query.d.cts +1 -2
  114. package/expo-sqlite/query.d.ts +1 -2
  115. package/expo-sqlite/query.js +2 -3
  116. package/expo-sqlite/query.js.map +1 -1
  117. package/expo-sqlite/session.cjs +4 -47
  118. package/expo-sqlite/session.cjs.map +1 -1
  119. package/expo-sqlite/session.d.cts +8 -14
  120. package/expo-sqlite/session.d.ts +8 -14
  121. package/expo-sqlite/session.js +4 -47
  122. package/expo-sqlite/session.js.map +1 -1
  123. package/libsql/driver-core.cjs +5 -22
  124. package/libsql/driver-core.cjs.map +1 -1
  125. package/libsql/driver-core.d.cts +1 -2
  126. package/libsql/driver-core.d.ts +1 -2
  127. package/libsql/driver-core.js +8 -12
  128. package/libsql/driver-core.js.map +1 -1
  129. package/libsql/driver.cjs.map +1 -1
  130. package/libsql/driver.d.cts +5 -6
  131. package/libsql/driver.d.ts +5 -6
  132. package/libsql/driver.js.map +1 -1
  133. package/libsql/http/index.cjs.map +1 -1
  134. package/libsql/http/index.d.cts +5 -6
  135. package/libsql/http/index.d.ts +5 -6
  136. package/libsql/http/index.js.map +1 -1
  137. package/libsql/migrator.cjs.map +1 -1
  138. package/libsql/migrator.d.cts +1 -2
  139. package/libsql/migrator.d.ts +1 -2
  140. package/libsql/migrator.js.map +1 -1
  141. package/libsql/node/index.cjs.map +1 -1
  142. package/libsql/node/index.d.cts +5 -6
  143. package/libsql/node/index.d.ts +5 -6
  144. package/libsql/node/index.js.map +1 -1
  145. package/libsql/session.cjs +4 -56
  146. package/libsql/session.cjs.map +1 -1
  147. package/libsql/session.d.cts +9 -15
  148. package/libsql/session.d.ts +9 -15
  149. package/libsql/session.js +4 -56
  150. package/libsql/session.js.map +1 -1
  151. package/libsql/sqlite3/index.cjs.map +1 -1
  152. package/libsql/sqlite3/index.d.cts +5 -6
  153. package/libsql/sqlite3/index.d.ts +5 -6
  154. package/libsql/sqlite3/index.js.map +1 -1
  155. package/libsql/wasm/index.cjs.map +1 -1
  156. package/libsql/wasm/index.d.cts +5 -6
  157. package/libsql/wasm/index.d.ts +5 -6
  158. package/libsql/wasm/index.js.map +1 -1
  159. package/libsql/web/index.cjs.map +1 -1
  160. package/libsql/web/index.d.cts +5 -6
  161. package/libsql/web/index.d.ts +5 -6
  162. package/libsql/web/index.js.map +1 -1
  163. package/libsql/ws/index.cjs.map +1 -1
  164. package/libsql/ws/index.d.cts +5 -6
  165. package/libsql/ws/index.d.ts +5 -6
  166. package/libsql/ws/index.js.map +1 -1
  167. package/mysql-core/db.cjs +6 -30
  168. package/mysql-core/db.cjs.map +1 -1
  169. package/mysql-core/db.d.cts +8 -15
  170. package/mysql-core/db.d.ts +8 -15
  171. package/mysql-core/db.js +5 -29
  172. package/mysql-core/db.js.map +1 -1
  173. package/mysql-core/dialect.cjs +15 -187
  174. package/mysql-core/dialect.cjs.map +1 -1
  175. package/mysql-core/dialect.d.cts +13 -36
  176. package/mysql-core/dialect.d.ts +13 -36
  177. package/mysql-core/dialect.js +22 -185
  178. package/mysql-core/dialect.js.map +1 -1
  179. package/mysql-core/query-builders/count.cjs.map +1 -1
  180. package/mysql-core/query-builders/count.d.cts +1 -1
  181. package/mysql-core/query-builders/count.d.ts +1 -1
  182. package/mysql-core/query-builders/count.js.map +1 -1
  183. package/mysql-core/query-builders/query.cjs +31 -18
  184. package/mysql-core/query-builders/query.cjs.map +1 -1
  185. package/mysql-core/query-builders/query.d.cts +10 -8
  186. package/mysql-core/query-builders/query.d.ts +10 -8
  187. package/mysql-core/query-builders/query.js +31 -18
  188. package/mysql-core/query-builders/query.js.map +1 -1
  189. package/mysql-core/session.cjs +2 -3
  190. package/mysql-core/session.cjs.map +1 -1
  191. package/mysql-core/session.d.cts +7 -10
  192. package/mysql-core/session.d.ts +7 -10
  193. package/mysql-core/session.js +2 -3
  194. package/mysql-core/session.js.map +1 -1
  195. package/mysql-proxy/driver.cjs +5 -22
  196. package/mysql-proxy/driver.cjs.map +1 -1
  197. package/mysql-proxy/driver.d.cts +2 -3
  198. package/mysql-proxy/driver.d.ts +2 -3
  199. package/mysql-proxy/driver.js +8 -12
  200. package/mysql-proxy/driver.js.map +1 -1
  201. package/mysql-proxy/migrator.cjs.map +1 -1
  202. package/mysql-proxy/migrator.d.cts +1 -2
  203. package/mysql-proxy/migrator.d.ts +1 -2
  204. package/mysql-proxy/migrator.js.map +1 -1
  205. package/mysql-proxy/session.cjs +2 -27
  206. package/mysql-proxy/session.cjs.map +1 -1
  207. package/mysql-proxy/session.d.cts +8 -13
  208. package/mysql-proxy/session.d.ts +8 -13
  209. package/mysql-proxy/session.js +2 -27
  210. package/mysql-proxy/session.js.map +1 -1
  211. package/mysql2/driver.cjs +7 -24
  212. package/mysql2/driver.cjs.map +1 -1
  213. package/mysql2/driver.d.cts +9 -10
  214. package/mysql2/driver.d.ts +9 -10
  215. package/mysql2/driver.js +10 -14
  216. package/mysql2/driver.js.map +1 -1
  217. package/mysql2/migrator.cjs.map +1 -1
  218. package/mysql2/migrator.d.cts +1 -2
  219. package/mysql2/migrator.d.ts +1 -2
  220. package/mysql2/migrator.js.map +1 -1
  221. package/mysql2/session.cjs +2 -30
  222. package/mysql2/session.cjs.map +1 -1
  223. package/mysql2/session.d.cts +8 -13
  224. package/mysql2/session.d.ts +8 -13
  225. package/mysql2/session.js +2 -30
  226. package/mysql2/session.js.map +1 -1
  227. package/neon-http/driver.cjs +7 -21
  228. package/neon-http/driver.cjs.map +1 -1
  229. package/neon-http/driver.d.cts +9 -10
  230. package/neon-http/driver.d.ts +9 -10
  231. package/neon-http/driver.js +7 -11
  232. package/neon-http/driver.js.map +1 -1
  233. package/neon-http/migrator.cjs.map +1 -1
  234. package/neon-http/migrator.d.cts +1 -2
  235. package/neon-http/migrator.d.ts +1 -2
  236. package/neon-http/migrator.js.map +1 -1
  237. package/neon-http/session.cjs +2 -32
  238. package/neon-http/session.cjs.map +1 -1
  239. package/neon-http/session.d.cts +8 -13
  240. package/neon-http/session.d.ts +8 -13
  241. package/neon-http/session.js +2 -32
  242. package/neon-http/session.js.map +1 -1
  243. package/neon-serverless/driver.cjs +7 -18
  244. package/neon-serverless/driver.cjs.map +1 -1
  245. package/neon-serverless/driver.d.cts +8 -9
  246. package/neon-serverless/driver.d.ts +8 -9
  247. package/neon-serverless/driver.js +10 -8
  248. package/neon-serverless/driver.js.map +1 -1
  249. package/neon-serverless/migrator.cjs.map +1 -1
  250. package/neon-serverless/migrator.d.cts +1 -2
  251. package/neon-serverless/migrator.d.ts +1 -2
  252. package/neon-serverless/migrator.js.map +1 -1
  253. package/neon-serverless/session.cjs +5 -40
  254. package/neon-serverless/session.cjs.map +1 -1
  255. package/neon-serverless/session.d.cts +8 -13
  256. package/neon-serverless/session.d.ts +8 -13
  257. package/neon-serverless/session.js +5 -40
  258. package/neon-serverless/session.js.map +1 -1
  259. package/node-postgres/driver.cjs +7 -13
  260. package/node-postgres/driver.cjs.map +1 -1
  261. package/node-postgres/driver.d.cts +8 -9
  262. package/node-postgres/driver.d.ts +8 -9
  263. package/node-postgres/driver.js +10 -13
  264. package/node-postgres/driver.js.map +1 -1
  265. package/node-postgres/migrator.cjs.map +1 -1
  266. package/node-postgres/migrator.d.cts +1 -2
  267. package/node-postgres/migrator.d.ts +1 -2
  268. package/node-postgres/migrator.js.map +1 -1
  269. package/node-postgres/session.cjs +4 -45
  270. package/node-postgres/session.cjs.map +1 -1
  271. package/node-postgres/session.d.cts +8 -13
  272. package/node-postgres/session.d.ts +8 -13
  273. package/node-postgres/session.js +4 -45
  274. package/node-postgres/session.js.map +1 -1
  275. package/op-sqlite/driver.cjs +5 -22
  276. package/op-sqlite/driver.cjs.map +1 -1
  277. package/op-sqlite/driver.d.cts +2 -3
  278. package/op-sqlite/driver.d.ts +2 -3
  279. package/op-sqlite/driver.js +8 -12
  280. package/op-sqlite/driver.js.map +1 -1
  281. package/op-sqlite/migrator.cjs.map +1 -1
  282. package/op-sqlite/migrator.d.cts +2 -3
  283. package/op-sqlite/migrator.d.ts +2 -3
  284. package/op-sqlite/migrator.js.map +1 -1
  285. package/op-sqlite/session.cjs +4 -47
  286. package/op-sqlite/session.cjs.map +1 -1
  287. package/op-sqlite/session.d.cts +8 -14
  288. package/op-sqlite/session.d.ts +8 -14
  289. package/op-sqlite/session.js +4 -47
  290. package/op-sqlite/session.js.map +1 -1
  291. package/package.json +3 -51
  292. package/pg-core/db.cjs +5 -32
  293. package/pg-core/db.cjs.map +1 -1
  294. package/pg-core/db.d.cts +9 -16
  295. package/pg-core/db.d.ts +9 -16
  296. package/pg-core/db.js +4 -31
  297. package/pg-core/db.js.map +1 -1
  298. package/pg-core/dialect.cjs +488 -162
  299. package/pg-core/dialect.cjs.map +1 -1
  300. package/pg-core/dialect.d.cts +8 -27
  301. package/pg-core/dialect.d.ts +8 -27
  302. package/pg-core/dialect.js +495 -160
  303. package/pg-core/dialect.js.map +1 -1
  304. package/pg-core/query-builders/count.cjs.map +1 -1
  305. package/pg-core/query-builders/count.d.cts +1 -1
  306. package/pg-core/query-builders/count.d.ts +1 -1
  307. package/pg-core/query-builders/count.js.map +1 -1
  308. package/pg-core/query-builders/query.cjs +18 -15
  309. package/pg-core/query-builders/query.cjs.map +1 -1
  310. package/pg-core/query-builders/query.d.cts +6 -6
  311. package/pg-core/query-builders/query.d.ts +6 -6
  312. package/pg-core/query-builders/query.js +18 -15
  313. package/pg-core/query-builders/query.js.map +1 -1
  314. package/pg-core/session.cjs +2 -3
  315. package/pg-core/session.cjs.map +1 -1
  316. package/pg-core/session.d.cts +6 -9
  317. package/pg-core/session.d.ts +6 -9
  318. package/pg-core/session.js +2 -3
  319. package/pg-core/session.js.map +1 -1
  320. package/pg-proxy/driver.cjs +5 -21
  321. package/pg-proxy/driver.cjs.map +1 -1
  322. package/pg-proxy/driver.d.cts +2 -3
  323. package/pg-proxy/driver.d.ts +2 -3
  324. package/pg-proxy/driver.js +8 -11
  325. package/pg-proxy/driver.js.map +1 -1
  326. package/pg-proxy/migrator.cjs.map +1 -1
  327. package/pg-proxy/migrator.d.cts +1 -2
  328. package/pg-proxy/migrator.d.ts +1 -2
  329. package/pg-proxy/migrator.js.map +1 -1
  330. package/pg-proxy/session.cjs +2 -37
  331. package/pg-proxy/session.cjs.map +1 -1
  332. package/pg-proxy/session.d.cts +8 -13
  333. package/pg-proxy/session.d.ts +8 -13
  334. package/pg-proxy/session.js +2 -37
  335. package/pg-proxy/session.js.map +1 -1
  336. package/pglite/driver.cjs +7 -23
  337. package/pglite/driver.cjs.map +1 -1
  338. package/pglite/driver.d.cts +8 -9
  339. package/pglite/driver.d.ts +8 -9
  340. package/pglite/driver.js +10 -13
  341. package/pglite/driver.js.map +1 -1
  342. package/pglite/migrator.cjs.map +1 -1
  343. package/pglite/migrator.d.cts +1 -2
  344. package/pglite/migrator.d.ts +1 -2
  345. package/pglite/migrator.js.map +1 -1
  346. package/pglite/session.cjs +3 -34
  347. package/pglite/session.cjs.map +1 -1
  348. package/pglite/session.d.cts +8 -13
  349. package/pglite/session.d.ts +8 -13
  350. package/pglite/session.js +3 -34
  351. package/pglite/session.js.map +1 -1
  352. package/planetscale-serverless/driver.cjs +5 -22
  353. package/planetscale-serverless/driver.cjs.map +1 -1
  354. package/planetscale-serverless/driver.d.cts +6 -7
  355. package/planetscale-serverless/driver.d.ts +6 -7
  356. package/planetscale-serverless/driver.js +8 -12
  357. package/planetscale-serverless/driver.js.map +1 -1
  358. package/planetscale-serverless/migrator.cjs.map +1 -1
  359. package/planetscale-serverless/migrator.d.cts +1 -2
  360. package/planetscale-serverless/migrator.d.ts +1 -2
  361. package/planetscale-serverless/migrator.js.map +1 -1
  362. package/planetscale-serverless/session.cjs +5 -45
  363. package/planetscale-serverless/session.cjs.map +1 -1
  364. package/planetscale-serverless/session.d.cts +9 -14
  365. package/planetscale-serverless/session.d.ts +9 -14
  366. package/planetscale-serverless/session.js +5 -45
  367. package/planetscale-serverless/session.js.map +1 -1
  368. package/postgres-js/driver.cjs +5 -6
  369. package/postgres-js/driver.cjs.map +1 -1
  370. package/postgres-js/driver.d.cts +6 -7
  371. package/postgres-js/driver.d.ts +6 -7
  372. package/postgres-js/driver.js +8 -6
  373. package/postgres-js/driver.js.map +1 -1
  374. package/postgres-js/migrator.cjs.map +1 -1
  375. package/postgres-js/migrator.d.cts +1 -2
  376. package/postgres-js/migrator.d.ts +1 -2
  377. package/postgres-js/migrator.js.map +1 -1
  378. package/postgres-js/session.cjs +6 -51
  379. package/postgres-js/session.cjs.map +1 -1
  380. package/postgres-js/session.d.cts +9 -15
  381. package/postgres-js/session.d.ts +9 -15
  382. package/postgres-js/session.js +6 -51
  383. package/postgres-js/session.js.map +1 -1
  384. package/prisma/mysql/driver.cjs +1 -1
  385. package/prisma/mysql/driver.cjs.map +1 -1
  386. package/prisma/mysql/driver.js +1 -1
  387. package/prisma/mysql/driver.js.map +1 -1
  388. package/prisma/mysql/session.cjs +0 -3
  389. package/prisma/mysql/session.cjs.map +1 -1
  390. package/prisma/mysql/session.d.cts +1 -3
  391. package/prisma/mysql/session.d.ts +1 -3
  392. package/prisma/mysql/session.js +0 -3
  393. package/prisma/mysql/session.js.map +1 -1
  394. package/prisma/pg/driver.cjs +1 -1
  395. package/prisma/pg/driver.cjs.map +1 -1
  396. package/prisma/pg/driver.js +1 -1
  397. package/prisma/pg/driver.js.map +1 -1
  398. package/prisma/pg/session.cjs +0 -3
  399. package/prisma/pg/session.cjs.map +1 -1
  400. package/prisma/pg/session.d.cts +1 -3
  401. package/prisma/pg/session.d.ts +1 -3
  402. package/prisma/pg/session.js +0 -3
  403. package/prisma/pg/session.js.map +1 -1
  404. package/prisma/sqlite/driver.cjs +1 -1
  405. package/prisma/sqlite/driver.cjs.map +1 -1
  406. package/prisma/sqlite/driver.js +1 -1
  407. package/prisma/sqlite/driver.js.map +1 -1
  408. package/prisma/sqlite/session.cjs +0 -3
  409. package/prisma/sqlite/session.cjs.map +1 -1
  410. package/prisma/sqlite/session.d.cts +2 -4
  411. package/prisma/sqlite/session.d.ts +2 -4
  412. package/prisma/sqlite/session.js +0 -3
  413. package/prisma/sqlite/session.js.map +1 -1
  414. package/relations.cjs +245 -626
  415. package/relations.cjs.map +1 -1
  416. package/relations.d.cts +140 -305
  417. package/relations.d.ts +140 -305
  418. package/relations.js +240 -619
  419. package/relations.js.map +1 -1
  420. package/singlestore/driver.cjs +1 -1
  421. package/singlestore/driver.cjs.map +1 -1
  422. package/singlestore/driver.d.cts +1 -1
  423. package/singlestore/driver.d.ts +1 -1
  424. package/singlestore/driver.js +3 -3
  425. package/singlestore/driver.js.map +1 -1
  426. package/singlestore/session.cjs.map +1 -1
  427. package/singlestore/session.d.cts +4 -4
  428. package/singlestore/session.d.ts +4 -4
  429. package/singlestore/session.js.map +1 -1
  430. package/singlestore-core/db.cjs.map +1 -1
  431. package/singlestore-core/db.d.cts +3 -3
  432. package/singlestore-core/db.d.ts +3 -3
  433. package/singlestore-core/db.js.map +1 -1
  434. package/singlestore-core/dialect.cjs +6 -16
  435. package/singlestore-core/dialect.cjs.map +1 -1
  436. package/singlestore-core/dialect.d.cts +6 -6
  437. package/singlestore-core/dialect.d.ts +6 -6
  438. package/singlestore-core/dialect.js +12 -6
  439. package/singlestore-core/dialect.js.map +1 -1
  440. package/singlestore-core/query-builders/query.cjs +2 -12
  441. package/singlestore-core/query-builders/query.cjs.map +1 -1
  442. package/singlestore-core/query-builders/query.d.cts +6 -6
  443. package/singlestore-core/query-builders/query.d.ts +6 -6
  444. package/singlestore-core/query-builders/query.js +4 -2
  445. package/singlestore-core/query-builders/query.js.map +1 -1
  446. package/singlestore-core/session.cjs.map +1 -1
  447. package/singlestore-core/session.d.cts +5 -5
  448. package/singlestore-core/session.d.ts +5 -5
  449. package/singlestore-core/session.js.map +1 -1
  450. package/singlestore-proxy/driver.cjs +1 -1
  451. package/singlestore-proxy/driver.cjs.map +1 -1
  452. package/singlestore-proxy/driver.js +3 -3
  453. package/singlestore-proxy/driver.js.map +1 -1
  454. package/singlestore-proxy/session.cjs.map +1 -1
  455. package/singlestore-proxy/session.d.cts +4 -4
  456. package/singlestore-proxy/session.d.ts +4 -4
  457. package/singlestore-proxy/session.js.map +1 -1
  458. package/sql/expressions/conditions.cjs.map +1 -1
  459. package/sql/expressions/conditions.d.cts +4 -4
  460. package/sql/expressions/conditions.d.ts +4 -4
  461. package/sql/expressions/conditions.js.map +1 -1
  462. package/sql/sql.cjs +0 -21
  463. package/sql/sql.cjs.map +1 -1
  464. package/sql/sql.d.cts +8 -8
  465. package/sql/sql.d.ts +8 -8
  466. package/sql/sql.js +1 -22
  467. package/sql/sql.js.map +1 -1
  468. package/sql-js/driver.cjs +5 -16
  469. package/sql-js/driver.cjs.map +1 -1
  470. package/sql-js/driver.d.cts +2 -3
  471. package/sql-js/driver.d.ts +2 -3
  472. package/sql-js/driver.js +8 -6
  473. package/sql-js/driver.js.map +1 -1
  474. package/sql-js/migrator.cjs.map +1 -1
  475. package/sql-js/migrator.d.cts +1 -2
  476. package/sql-js/migrator.d.ts +1 -2
  477. package/sql-js/migrator.js.map +1 -1
  478. package/sql-js/session.cjs +36 -71
  479. package/sql-js/session.cjs.map +1 -1
  480. package/sql-js/session.d.cts +13 -16
  481. package/sql-js/session.d.ts +13 -16
  482. package/sql-js/session.js +36 -71
  483. package/sql-js/session.js.map +1 -1
  484. package/sqlite-core/db.cjs +12 -39
  485. package/sqlite-core/db.cjs.map +1 -1
  486. package/sqlite-core/db.d.cts +8 -16
  487. package/sqlite-core/db.d.ts +8 -16
  488. package/sqlite-core/db.js +11 -38
  489. package/sqlite-core/db.js.map +1 -1
  490. package/sqlite-core/dialect.cjs +7 -176
  491. package/sqlite-core/dialect.cjs.map +1 -1
  492. package/sqlite-core/dialect.d.cts +9 -31
  493. package/sqlite-core/dialect.d.ts +9 -31
  494. package/sqlite-core/dialect.js +14 -174
  495. package/sqlite-core/dialect.js.map +1 -1
  496. package/sqlite-core/query-builders/count.cjs.map +1 -1
  497. package/sqlite-core/query-builders/count.d.cts +1 -1
  498. package/sqlite-core/query-builders/count.d.ts +1 -1
  499. package/sqlite-core/query-builders/count.js.map +1 -1
  500. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  501. package/sqlite-core/query-builders/delete.d.cts +1 -1
  502. package/sqlite-core/query-builders/delete.d.ts +1 -1
  503. package/sqlite-core/query-builders/delete.js.map +1 -1
  504. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  505. package/sqlite-core/query-builders/insert.d.cts +3 -3
  506. package/sqlite-core/query-builders/insert.d.ts +3 -3
  507. package/sqlite-core/query-builders/insert.js.map +1 -1
  508. package/sqlite-core/query-builders/query.cjs +35 -56
  509. package/sqlite-core/query-builders/query.cjs.map +1 -1
  510. package/sqlite-core/query-builders/query.d.cts +17 -18
  511. package/sqlite-core/query-builders/query.d.ts +17 -18
  512. package/sqlite-core/query-builders/query.js +35 -56
  513. package/sqlite-core/query-builders/query.js.map +1 -1
  514. package/sqlite-core/query-builders/select.cjs.map +1 -1
  515. package/sqlite-core/query-builders/select.d.cts +3 -3
  516. package/sqlite-core/query-builders/select.d.ts +3 -3
  517. package/sqlite-core/query-builders/select.js.map +1 -1
  518. package/sqlite-core/query-builders/update.cjs.map +1 -1
  519. package/sqlite-core/query-builders/update.d.cts +3 -3
  520. package/sqlite-core/query-builders/update.d.ts +3 -3
  521. package/sqlite-core/query-builders/update.js.map +1 -1
  522. package/sqlite-core/session.cjs +2 -6
  523. package/sqlite-core/session.cjs.map +1 -1
  524. package/sqlite-core/session.d.cts +7 -15
  525. package/sqlite-core/session.d.ts +7 -15
  526. package/sqlite-core/session.js +2 -6
  527. package/sqlite-core/session.js.map +1 -1
  528. package/sqlite-proxy/driver.cjs +5 -23
  529. package/sqlite-proxy/driver.cjs.map +1 -1
  530. package/sqlite-proxy/driver.d.cts +3 -4
  531. package/sqlite-proxy/driver.d.ts +3 -4
  532. package/sqlite-proxy/driver.js +5 -13
  533. package/sqlite-proxy/driver.js.map +1 -1
  534. package/sqlite-proxy/migrator.cjs.map +1 -1
  535. package/sqlite-proxy/migrator.d.cts +1 -2
  536. package/sqlite-proxy/migrator.d.ts +1 -2
  537. package/sqlite-proxy/migrator.js.map +1 -1
  538. package/sqlite-proxy/session.cjs +6 -50
  539. package/sqlite-proxy/session.cjs.map +1 -1
  540. package/sqlite-proxy/session.d.cts +8 -14
  541. package/sqlite-proxy/session.d.ts +8 -14
  542. package/sqlite-proxy/session.js +6 -50
  543. package/sqlite-proxy/session.js.map +1 -1
  544. package/table.cjs.map +1 -1
  545. package/table.d.cts +2 -2
  546. package/table.d.ts +2 -2
  547. package/table.js.map +1 -1
  548. package/tidb-serverless/driver.cjs +5 -22
  549. package/tidb-serverless/driver.cjs.map +1 -1
  550. package/tidb-serverless/driver.d.cts +6 -7
  551. package/tidb-serverless/driver.d.ts +6 -7
  552. package/tidb-serverless/driver.js +8 -12
  553. package/tidb-serverless/driver.js.map +1 -1
  554. package/tidb-serverless/migrator.cjs.map +1 -1
  555. package/tidb-serverless/migrator.d.cts +1 -2
  556. package/tidb-serverless/migrator.d.ts +1 -2
  557. package/tidb-serverless/migrator.js.map +1 -1
  558. package/tidb-serverless/session.cjs +5 -62
  559. package/tidb-serverless/session.cjs.map +1 -1
  560. package/tidb-serverless/session.d.cts +9 -14
  561. package/tidb-serverless/session.d.ts +9 -14
  562. package/tidb-serverless/session.js +5 -62
  563. package/tidb-serverless/session.js.map +1 -1
  564. package/utils.cjs +2 -2
  565. package/utils.cjs.map +1 -1
  566. package/utils.d.cts +1 -3
  567. package/utils.d.ts +1 -3
  568. package/utils.js +2 -2
  569. package/utils.js.map +1 -1
  570. package/vercel-postgres/driver.cjs +7 -23
  571. package/vercel-postgres/driver.cjs.map +1 -1
  572. package/vercel-postgres/driver.d.cts +8 -9
  573. package/vercel-postgres/driver.d.ts +8 -9
  574. package/vercel-postgres/driver.js +10 -13
  575. package/vercel-postgres/driver.js.map +1 -1
  576. package/vercel-postgres/migrator.cjs.map +1 -1
  577. package/vercel-postgres/migrator.d.cts +1 -2
  578. package/vercel-postgres/migrator.d.ts +1 -2
  579. package/vercel-postgres/migrator.js.map +1 -1
  580. package/vercel-postgres/session.cjs +4 -34
  581. package/vercel-postgres/session.cjs.map +1 -1
  582. package/vercel-postgres/session.d.cts +8 -13
  583. package/vercel-postgres/session.d.ts +8 -13
  584. package/vercel-postgres/session.js +4 -34
  585. package/vercel-postgres/session.js.map +1 -1
  586. package/version.cjs +1 -1
  587. package/version.d.cts +1 -1
  588. package/version.d.ts +1 -1
  589. package/version.js +1 -1
  590. package/xata-http/driver.cjs +5 -17
  591. package/xata-http/driver.cjs.map +1 -1
  592. package/xata-http/driver.d.cts +4 -5
  593. package/xata-http/driver.d.ts +4 -5
  594. package/xata-http/driver.js +5 -7
  595. package/xata-http/driver.js.map +1 -1
  596. package/xata-http/migrator.cjs.map +1 -1
  597. package/xata-http/migrator.d.cts +1 -2
  598. package/xata-http/migrator.d.ts +1 -2
  599. package/xata-http/migrator.js.map +1 -1
  600. package/xata-http/session.cjs +2 -30
  601. package/xata-http/session.cjs.map +1 -1
  602. package/xata-http/session.d.cts +8 -13
  603. package/xata-http/session.d.ts +8 -13
  604. package/xata-http/session.js +2 -30
  605. package/xata-http/session.js.map +1 -1
  606. package/_relations.cjs +0 -328
  607. package/_relations.cjs.map +0 -1
  608. package/_relations.d.cts +0 -215
  609. package/_relations.d.ts +0 -215
  610. package/_relations.js +0 -316
  611. package/_relations.js.map +0 -1
  612. package/mysql-core/query-builders/_query.cjs +0 -149
  613. package/mysql-core/query-builders/_query.cjs.map +0 -1
  614. package/mysql-core/query-builders/_query.d.cts +0 -44
  615. package/mysql-core/query-builders/_query.d.ts +0 -44
  616. package/mysql-core/query-builders/_query.js +0 -114
  617. package/mysql-core/query-builders/_query.js.map +0 -1
  618. package/pg-core/query-builders/_query.cjs +0 -155
  619. package/pg-core/query-builders/_query.cjs.map +0 -1
  620. package/pg-core/query-builders/_query.d.cts +0 -47
  621. package/pg-core/query-builders/_query.d.ts +0 -47
  622. package/pg-core/query-builders/_query.js +0 -120
  623. package/pg-core/query-builders/_query.js.map +0 -1
  624. package/sqlite-core/query-builders/_query.cjs +0 -187
  625. package/sqlite-core/query-builders/_query.cjs.map +0 -1
  626. package/sqlite-core/query-builders/_query.d.cts +0 -55
  627. package/sqlite-core/query-builders/_query.d.ts +0 -55
  628. package/sqlite-core/query-builders/_query.js +0 -151
  629. package/sqlite-core/query-builders/_query.js.map +0 -1
package/relations.cjs CHANGED
@@ -18,692 +18,311 @@ var __copyProps = (to, from, except, desc2) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var relations_exports = {};
20
20
  __export(relations_exports, {
21
- AggregatedField: () => AggregatedField,
22
- Count: () => Count,
23
21
  Many: () => Many,
24
22
  One: () => One,
25
23
  Relation: () => Relation,
26
24
  Relations: () => Relations,
27
- RelationsBuilderColumn: () => RelationsBuilderColumn,
28
- RelationsBuilderTable: () => RelationsBuilderTable,
29
- RelationsHelperStatic: () => RelationsHelperStatic,
30
- createRelationsHelper: () => createRelationsHelper,
31
- defineRelations: () => defineRelations,
32
- fieldSelectionToSQL: () => fieldSelectionToSQL,
25
+ createMany: () => createMany,
26
+ createOne: () => createOne,
27
+ createTableRelationsHelpers: () => createTableRelationsHelpers,
28
+ extractTablesRelationalConfig: () => extractTablesRelationalConfig,
29
+ getOperators: () => getOperators,
33
30
  getOrderByOperators: () => getOrderByOperators,
34
- getTableAsAliasSQL: () => getTableAsAliasSQL,
35
31
  mapRelationalRow: () => mapRelationalRow,
36
- operators: () => operators,
37
- orderByOperators: () => orderByOperators,
38
- relationExtrasToSQL: () => relationExtrasToSQL,
39
- relationToSQL: () => relationToSQL,
40
- relationsFilterToSQL: () => relationsFilterToSQL,
41
- relationsOrderToSQL: () => relationsOrderToSQL
32
+ normalizeRelation: () => normalizeRelation,
33
+ relations: () => relations
42
34
  });
43
35
  module.exports = __toCommonJS(relations_exports);
44
36
  var import_table = require("./table.cjs");
45
- var import_table2 = require("./table.cjs");
46
- var import_alias = require("./alias.cjs");
47
37
  var import_column = require("./column.cjs");
48
38
  var import_entity = require("./entity.cjs");
49
- var import_errors = require("./errors.cjs");
39
+ var import_primary_keys = require("./pg-core/primary-keys.cjs");
50
40
  var import_expressions = require("./sql/expressions/index.cjs");
51
41
  var import_sql = require("./sql/sql.cjs");
52
- class Relations {
53
- constructor(schema, tables, config) {
54
- this.schema = schema;
55
- this.tables = tables;
56
- this.config = config;
57
- for (const [tsName, table] of Object.entries(tables)) {
58
- if (config[tsName]?.$drizzleTypeError)
59
- continue;
60
- const isTable = (0, import_entity.is)(table, import_table.Table);
61
- const isView = (0, import_entity.is)(table, import_sql.View);
62
- if (!(isTable || isView))
63
- continue;
64
- this.tableNamesMap[(0, import_table.getTableUniqueName)(table)] = tsName;
65
- this.tablesConfig[tsName] = {
66
- table,
67
- tsName,
68
- dbName: table[import_table.Table.Symbol.Name],
69
- schema: table[import_table.Table.Symbol.Schema],
70
- columns: table[import_table.Table.Symbol.Columns],
71
- relations: config[tsName] || {}
72
- };
73
- }
74
- for (const tableConfig of Object.values(this.tablesConfig)) {
75
- for (const [relationFieldName, relation] of Object.entries(tableConfig.relations)) {
76
- if (!(0, import_entity.is)(relation, Relation)) {
77
- continue;
78
- }
79
- relation.sourceTable = tableConfig.table;
80
- relation.fieldName = relationFieldName;
81
- }
82
- }
83
- for (const tableConfig of Object.values(this.tablesConfig)) {
84
- for (const [relationFieldName, relation] of Object.entries(tableConfig.relations)) {
85
- const relationPrintName = `relations -> ${tableConfig.tsName}.${relationFieldName}`;
86
- if (!(0, import_entity.is)(relation, Relation)) {
87
- continue;
88
- }
89
- if (typeof relation.alias === "string" && !relation.alias) {
90
- throw new Error(`${relationPrintName}: "alias" cannot be an empty string - omit it if you don't need it`);
91
- }
92
- if (relation.sourceColumns?.length === 0) {
93
- throw new Error(`${relationPrintName}: "from" cannot be an empty array`);
94
- }
95
- if (relation.targetColumns?.length === 0) {
96
- throw new Error(`${relationPrintName}: "to" cannot be an empty array`);
97
- }
98
- if (relation.sourceColumns && relation.targetColumns) {
99
- if (relation.sourceColumns.length !== relation.targetColumns.length) {
100
- throw new Error(
101
- `${relationPrintName}: "from" and "to" fields must have the same length`
102
- );
103
- }
104
- if (relation.through) {
105
- if (relation.through.source.length !== relation.through.target.length || relation.through.source.length !== relation.sourceColumns.length || relation.through.target.length !== relation.targetColumns.length) {
106
- throw new Error(
107
- `${relationPrintName}: ".through(column)" must be used either on all columns in "from" and "to" or not defined on any of them`
108
- );
109
- }
110
- for (const column of relation.through.source) {
111
- if (tables[column._.tableName] !== relation.throughTable) {
112
- throw new Error(
113
- `${relationPrintName}: ".through(column)" must be used on the same table by all columns of the relation`
114
- );
115
- }
116
- }
117
- for (const column of relation.through.target) {
118
- if (tables[column._.tableName] !== relation.throughTable) {
119
- throw new Error(
120
- `${relationPrintName}: ".through(column)" must be used on the same table by all columns of the relation`
121
- );
122
- }
123
- }
124
- }
125
- continue;
126
- }
127
- if (relation.sourceColumns || relation.targetColumns) {
128
- throw new Error(
129
- `${relationPrintName}: relation must have either both "from" and "to" defined, or none of them`
130
- );
131
- }
132
- let reverseRelation;
133
- const targetTableTsName = this.tableNamesMap[(0, import_table.getTableUniqueName)(relation.targetTable)];
134
- if (!targetTableTsName) {
135
- throw new Error(
136
- `Table "${(0, import_table.getTableUniqueName)(relation.targetTable)}" not found in provided TS schema`
137
- );
138
- }
139
- const reverseTableConfig = this.tablesConfig[targetTableTsName];
140
- if (!reverseTableConfig) {
141
- throw new Error(
142
- `${relationPrintName}: not enough data provided to build the relation - "from"/"to" are not defined, and no reverse relations of table "${targetTableTsName}" were found"`
143
- );
144
- }
145
- if (relation.alias) {
146
- const reverseRelations = Object.values(reverseTableConfig.relations).filter(
147
- (it) => (0, import_entity.is)(it, Relation) && it.alias === relation.alias
148
- );
149
- if (reverseRelations.length > 1) {
150
- throw new Error(
151
- `${relationPrintName}: not enough data provided to build the relation - "from"/"to" are not defined, and multiple relations with alias "${relation.alias}" found in table "${targetTableTsName}": ${reverseRelations.map((it) => `"${it.fieldName}"`).join(", ")}`
152
- );
153
- }
154
- reverseRelation = reverseRelations[0];
155
- if (!reverseRelation) {
156
- throw new Error(
157
- `${relationPrintName}: not enough data provided to build the relation - "from"/"to" are not defined, and there is no reverse relation of table "${targetTableTsName}" with alias "${relation.alias}"`
158
- );
159
- }
160
- } else {
161
- const reverseRelations = Object.values(reverseTableConfig.relations).filter(
162
- (it) => (0, import_entity.is)(it, Relation) && it.targetTable === relation.sourceTable && !it.alias
163
- );
164
- if (reverseRelations.length > 1) {
165
- throw new Error(
166
- `${relationPrintName}: not enough data provided to build the relation - "from"/"to" are not defined, and multiple relations between "${targetTableTsName}" and "${(0, import_table.getTableUniqueName)(relation.sourceTable)}" were found.
167
- Hint: you can specify "alias" on both sides of the relation with the same value`
168
- );
169
- }
170
- reverseRelation = reverseRelations[0];
171
- if (!reverseRelation) {
172
- throw new Error(
173
- `${relationPrintName}: not enough data provided to build the relation - "from"/"to" are not defined, and no reverse relation of table "${targetTableTsName}" with target table "${(0, import_table.getTableUniqueName)(relation.sourceTable)}" was found`
174
- );
175
- }
176
- }
177
- if (!reverseRelation.sourceColumns || !reverseRelation.targetColumns) {
178
- throw new Error(
179
- `${relationPrintName}: not enough data provided to build the relation - "from"/"to" are not defined, and reverse relation "${targetTableTsName}.${reverseRelation.fieldName}" does not have "from"/"to" defined`
180
- );
181
- }
182
- relation.sourceColumns = reverseRelation.targetColumns;
183
- relation.targetColumns = reverseRelation.sourceColumns;
184
- relation.through = reverseRelation.through ? {
185
- source: reverseRelation.through.target,
186
- target: reverseRelation.through.source
187
- } : void 0;
188
- relation.throughTable = reverseRelation.throughTable;
189
- relation.isReversed = !relation.where;
190
- relation.where = relation.where ?? reverseRelation.where;
191
- }
192
- }
193
- }
194
- static [import_entity.entityKind] = "RelationsV2";
195
- /** table DB name -> schema table key */
196
- tableNamesMap = {};
197
- tablesConfig = {};
198
- }
199
42
  class Relation {
200
- constructor(targetTable) {
201
- this.targetTable = targetTable;
43
+ constructor(sourceTable, referencedTable, relationName) {
44
+ this.sourceTable = sourceTable;
45
+ this.referencedTable = referencedTable;
46
+ this.relationName = relationName;
47
+ this.referencedTableName = referencedTable[import_table.Table.Symbol.Name];
202
48
  }
203
- static [import_entity.entityKind] = "RelationV2";
49
+ static [import_entity.entityKind] = "Relation";
50
+ referencedTableName;
204
51
  fieldName;
205
- sourceColumns;
206
- targetColumns;
207
- alias;
208
- where;
209
- sourceTable;
210
- through;
211
- throughTable;
212
- isReversed;
52
+ }
53
+ class Relations {
54
+ constructor(table, config) {
55
+ this.table = table;
56
+ this.config = config;
57
+ }
58
+ static [import_entity.entityKind] = "Relations";
213
59
  }
214
60
  class One extends Relation {
215
- static [import_entity.entityKind] = "OneV2";
216
- optional;
217
- constructor(tables, targetTable, config) {
218
- super(targetTable);
219
- this.alias = config?.alias;
220
- this.where = config?.where;
221
- if (config?.from) {
222
- this.sourceColumns = (Array.isArray(config.from) ? config.from : [config.from]).map((it) => {
223
- this.throughTable ??= it._.through ? tables[it._.through._.tableName] : void 0;
224
- return it._.column;
225
- });
226
- }
227
- if (config?.to) {
228
- this.targetColumns = (Array.isArray(config.to) ? config.to : [config.to]).map((it) => {
229
- this.throughTable ??= it._.through ? tables[it._.through._.tableName] : void 0;
230
- return it._.column;
231
- });
232
- }
233
- if (this.throughTable) {
234
- this.through = Array.isArray(config?.from) ? {
235
- source: config.from.map((c) => c._.through),
236
- target: (config.to ?? []).map((c) => c._.through)
237
- } : {
238
- source: (config?.from ? [config.from] : []).map((c) => c._.through),
239
- target: (config?.to ? [config.to] : []).map((c) => c._.through)
240
- };
241
- }
242
- this.optional = config?.optional ?? true;
61
+ constructor(sourceTable, referencedTable, config, isNullable) {
62
+ super(sourceTable, referencedTable, config?.relationName);
63
+ this.config = config;
64
+ this.isNullable = isNullable;
65
+ }
66
+ static [import_entity.entityKind] = "One";
67
+ withFieldName(fieldName) {
68
+ const relation = new One(
69
+ this.sourceTable,
70
+ this.referencedTable,
71
+ this.config,
72
+ this.isNullable
73
+ );
74
+ relation.fieldName = fieldName;
75
+ return relation;
243
76
  }
244
77
  }
245
78
  class Many extends Relation {
246
- constructor(tables, targetTable, config) {
247
- super(targetTable);
79
+ constructor(sourceTable, referencedTable, config) {
80
+ super(sourceTable, referencedTable, config?.relationName);
248
81
  this.config = config;
249
- this.alias = config?.alias;
250
- this.where = config?.where;
251
- if (config?.from) {
252
- this.sourceColumns = (Array.isArray(config.from) ? config.from : [config.from]).map((it) => {
253
- this.throughTable ??= it._.through ? tables[it._.through._.tableName] : void 0;
254
- return it._.column;
255
- });
256
- }
257
- if (config?.to) {
258
- this.targetColumns = (Array.isArray(config.to) ? config.to : [config.to]).map((it) => {
259
- this.throughTable ??= it._.through ? tables[it._.through._.tableName] : void 0;
260
- return it._.column;
261
- });
262
- }
263
- if (this.throughTable) {
264
- this.through = Array.isArray(config?.from) ? {
265
- source: config.from.map((c) => c._.through),
266
- target: (config.to ?? []).map((c) => c._.through)
267
- } : {
268
- source: (config?.from ? [config.from] : []).map((c) => c._.through),
269
- target: (config?.to ? [config.to] : []).map((c) => c._.through)
270
- };
271
- }
272
82
  }
273
- static [import_entity.entityKind] = "ManyV2";
274
- }
275
- class AggregatedField {
276
- static [import_entity.entityKind] = "AggregatedField";
277
- table;
278
- onTable(table) {
279
- this.table = table;
280
- return this;
83
+ static [import_entity.entityKind] = "Many";
84
+ withFieldName(fieldName) {
85
+ const relation = new Many(
86
+ this.sourceTable,
87
+ this.referencedTable,
88
+ this.config
89
+ );
90
+ relation.fieldName = fieldName;
91
+ return relation;
281
92
  }
282
93
  }
283
- class Count extends AggregatedField {
284
- static [import_entity.entityKind] = "AggregatedFieldCount";
285
- query;
286
- getSQL() {
287
- if (!this.query) {
288
- if (!this.table)
289
- throw new Error("Table must be set before building aggregate field");
290
- this.query = import_sql.sql`select count(*) as ${import_sql.sql.identifier("r")} from ${getTableAsAliasSQL(this.table)}`.mapWith(Number);
291
- }
292
- return this.query;
293
- }
94
+ function getOperators() {
95
+ return {
96
+ and: import_expressions.and,
97
+ between: import_expressions.between,
98
+ eq: import_expressions.eq,
99
+ exists: import_expressions.exists,
100
+ gt: import_expressions.gt,
101
+ gte: import_expressions.gte,
102
+ ilike: import_expressions.ilike,
103
+ inArray: import_expressions.inArray,
104
+ isNull: import_expressions.isNull,
105
+ isNotNull: import_expressions.isNotNull,
106
+ like: import_expressions.like,
107
+ lt: import_expressions.lt,
108
+ lte: import_expressions.lte,
109
+ ne: import_expressions.ne,
110
+ not: import_expressions.not,
111
+ notBetween: import_expressions.notBetween,
112
+ notExists: import_expressions.notExists,
113
+ notLike: import_expressions.notLike,
114
+ notIlike: import_expressions.notIlike,
115
+ notInArray: import_expressions.notInArray,
116
+ or: import_expressions.or,
117
+ sql: import_sql.sql
118
+ };
294
119
  }
295
- const operators = {
296
- and: import_expressions.and,
297
- between: import_expressions.between,
298
- eq: import_expressions.eq,
299
- exists: import_expressions.exists,
300
- gt: import_expressions.gt,
301
- gte: import_expressions.gte,
302
- ilike: import_expressions.ilike,
303
- inArray: import_expressions.inArray,
304
- isNull: import_expressions.isNull,
305
- isNotNull: import_expressions.isNotNull,
306
- like: import_expressions.like,
307
- lt: import_expressions.lt,
308
- lte: import_expressions.lte,
309
- ne: import_expressions.ne,
310
- not: import_expressions.not,
311
- notBetween: import_expressions.notBetween,
312
- notExists: import_expressions.notExists,
313
- notLike: import_expressions.notLike,
314
- notIlike: import_expressions.notIlike,
315
- notInArray: import_expressions.notInArray,
316
- or: import_expressions.or,
317
- sql: import_sql.sql
318
- };
319
- const orderByOperators = {
320
- sql: import_sql.sql,
321
- asc: import_expressions.asc,
322
- desc: import_expressions.desc
323
- };
324
120
  function getOrderByOperators() {
325
- return orderByOperators;
121
+ return {
122
+ sql: import_sql.sql,
123
+ asc: import_expressions.asc,
124
+ desc: import_expressions.desc
125
+ };
326
126
  }
327
- function mapRelationalRow(row, buildQueryResultSelection, mapColumnValue = (value) => value, parseJson = false, path) {
328
- for (const selectionItem of buildQueryResultSelection) {
329
- if (selectionItem.selection) {
330
- const currentPath = `${path ? `${path}.` : ""}${selectionItem.key}`;
331
- if (row[selectionItem.key] === null)
332
- continue;
333
- if (parseJson)
334
- row[selectionItem.key] = JSON.parse(row[selectionItem.key]);
335
- if (selectionItem.isArray) {
336
- for (const item of row[selectionItem.key]) {
337
- mapRelationalRow(
338
- item,
339
- selectionItem.selection,
340
- mapColumnValue,
341
- false,
342
- currentPath
343
- );
127
+ function extractTablesRelationalConfig(schema, configHelpers) {
128
+ if (Object.keys(schema).length === 1 && "default" in schema && !(0, import_entity.is)(schema["default"], import_table.Table)) {
129
+ schema = schema["default"];
130
+ }
131
+ const tableNamesMap = {};
132
+ const relationsBuffer = {};
133
+ const tablesConfig = {};
134
+ for (const [key, value] of Object.entries(schema)) {
135
+ if ((0, import_entity.is)(value, import_table.Table)) {
136
+ const dbName = (0, import_table.getTableUniqueName)(value);
137
+ const bufferedRelations = relationsBuffer[dbName];
138
+ tableNamesMap[dbName] = key;
139
+ tablesConfig[key] = {
140
+ tsName: key,
141
+ dbName: value[import_table.Table.Symbol.Name],
142
+ schema: value[import_table.Table.Symbol.Schema],
143
+ columns: value[import_table.Table.Symbol.Columns],
144
+ relations: bufferedRelations?.relations ?? {},
145
+ primaryKey: bufferedRelations?.primaryKey ?? []
146
+ };
147
+ for (const column of Object.values(
148
+ value[import_table.Table.Symbol.Columns]
149
+ )) {
150
+ if (column.primary) {
151
+ tablesConfig[key].primaryKey.push(column);
344
152
  }
345
- continue;
346
153
  }
347
- mapRelationalRow(
348
- row[selectionItem.key],
349
- selectionItem.selection,
350
- mapColumnValue,
351
- false,
352
- currentPath
154
+ const extraConfig = value[import_table.Table.Symbol.ExtraConfigBuilder]?.(value[import_table.Table.Symbol.ExtraConfigColumns]);
155
+ if (extraConfig) {
156
+ for (const configEntry of Object.values(extraConfig)) {
157
+ if ((0, import_entity.is)(configEntry, import_primary_keys.PrimaryKeyBuilder)) {
158
+ tablesConfig[key].primaryKey.push(...configEntry.columns);
159
+ }
160
+ }
161
+ }
162
+ } else if ((0, import_entity.is)(value, Relations)) {
163
+ const dbName = (0, import_table.getTableUniqueName)(value.table);
164
+ const tableName = tableNamesMap[dbName];
165
+ const relations2 = value.config(
166
+ configHelpers(value.table)
353
167
  );
354
- continue;
355
- }
356
- const field = selectionItem.field;
357
- const value = mapColumnValue(row[selectionItem.key]);
358
- if (value === null)
359
- continue;
360
- let decoder;
361
- if ((0, import_entity.is)(field, import_column.Column)) {
362
- decoder = field;
363
- } else if ((0, import_entity.is)(field, import_sql.SQL)) {
364
- decoder = field.decoder;
365
- } else if ((0, import_entity.is)(field, import_sql.SQL.Aliased)) {
366
- decoder = field.sql.decoder;
367
- } else {
368
- decoder = field.getSQL().decoder;
168
+ let primaryKey;
169
+ for (const [relationName, relation] of Object.entries(relations2)) {
170
+ if (tableName) {
171
+ const tableConfig = tablesConfig[tableName];
172
+ tableConfig.relations[relationName] = relation;
173
+ if (primaryKey) {
174
+ tableConfig.primaryKey.push(...primaryKey);
175
+ }
176
+ } else {
177
+ if (!(dbName in relationsBuffer)) {
178
+ relationsBuffer[dbName] = {
179
+ relations: {},
180
+ primaryKey
181
+ };
182
+ }
183
+ relationsBuffer[dbName].relations[relationName] = relation;
184
+ }
185
+ }
369
186
  }
370
- row[selectionItem.key] = decoder.mapFromDriverValue(value);
371
187
  }
372
- return row;
188
+ return { tables: tablesConfig, tableNamesMap };
373
189
  }
374
- class RelationsBuilderTable {
375
- static [import_entity.entityKind] = "RelationsBuilderTable";
376
- _;
377
- constructor(table, key) {
378
- this._ = {
379
- name: key,
380
- table
381
- };
382
- }
383
- getSQL() {
384
- return this._.table.getSQL();
385
- }
190
+ function relations(table, relations2) {
191
+ return new Relations(
192
+ table,
193
+ (helpers) => Object.fromEntries(
194
+ Object.entries(relations2(helpers)).map(([key, value]) => [
195
+ key,
196
+ value.withFieldName(key)
197
+ ])
198
+ )
199
+ );
200
+ }
201
+ function createOne(sourceTable) {
202
+ return function one(table, config) {
203
+ return new One(
204
+ sourceTable,
205
+ table,
206
+ config,
207
+ config?.fields.reduce((res, f) => res && f.notNull, true) ?? false
208
+ );
209
+ };
386
210
  }
387
- class RelationsBuilderColumn {
388
- static [import_entity.entityKind] = "RelationsBuilderColumn";
389
- _;
390
- constructor(column, tableName, key, through) {
391
- this._ = {
392
- tableName,
393
- data: void 0,
394
- column,
395
- through,
396
- key
211
+ function createMany(sourceTable) {
212
+ return function many(referencedTable, config) {
213
+ return new Many(sourceTable, referencedTable, config);
214
+ };
215
+ }
216
+ function normalizeRelation(schema, tableNamesMap, relation) {
217
+ if ((0, import_entity.is)(relation, One) && relation.config) {
218
+ return {
219
+ fields: relation.config.fields,
220
+ references: relation.config.references
397
221
  };
398
222
  }
399
- through(column) {
400
- return new RelationsBuilderColumn(
401
- this._.column,
402
- this._.tableName,
403
- this._.key,
404
- column
223
+ const referencedTableTsName = tableNamesMap[(0, import_table.getTableUniqueName)(relation.referencedTable)];
224
+ if (!referencedTableTsName) {
225
+ throw new Error(
226
+ `Table "${relation.referencedTable[import_table.Table.Symbol.Name]}" not found in schema`
405
227
  );
406
228
  }
407
- getSQL() {
408
- return this._.column.getSQL();
229
+ const referencedTableConfig = schema[referencedTableTsName];
230
+ if (!referencedTableConfig) {
231
+ throw new Error(`Table "${referencedTableTsName}" not found in schema`);
409
232
  }
410
- }
411
- class RelationsHelperStatic {
412
- static [import_entity.entityKind] = "RelationsHelperStatic";
413
- _;
414
- constructor(tables) {
415
- this._ = {
416
- tables
417
- };
418
- const one = {};
419
- const many = {};
420
- for (const [tableName, table] of Object.entries(tables)) {
421
- one[tableName] = (config) => {
422
- return new One(tables, table, config);
423
- };
424
- many[tableName] = (config) => {
425
- return new Many(tables, table, config);
426
- };
427
- }
428
- this.one = one;
429
- this.many = many;
233
+ const sourceTable = relation.sourceTable;
234
+ const sourceTableTsName = tableNamesMap[(0, import_table.getTableUniqueName)(sourceTable)];
235
+ if (!sourceTableTsName) {
236
+ throw new Error(
237
+ `Table "${sourceTable[import_table.Table.Symbol.Name]}" not found in schema`
238
+ );
430
239
  }
431
- one;
432
- many;
433
- /** @internal - to be reworked */
434
- aggs = {
435
- count() {
436
- return new Count();
437
- }
438
- };
439
- }
440
- function createRelationsHelper(schema) {
441
- const schemaTables = Object.fromEntries(
442
- Object.entries(schema).filter((e) => (0, import_entity.is)(e[1], import_table.Table) || (0, import_entity.is)(e[1], import_sql.View))
443
- );
444
- const helperStatic = new RelationsHelperStatic(schemaTables);
445
- const tables = Object.entries(schema).reduce((acc, [tKey, value]) => {
446
- if ((0, import_entity.is)(value, import_table.Table) || (0, import_entity.is)(value, import_sql.View)) {
447
- const rTable = new RelationsBuilderTable(value, tKey);
448
- const columns = Object.entries(value[import_table2.Columns]).reduce(
449
- (acc2, [cKey, column]) => {
450
- const rbColumn = new RelationsBuilderColumn(column, tKey, cKey);
451
- acc2[cKey] = rbColumn;
452
- return acc2;
453
- },
454
- {}
455
- );
456
- acc[tKey] = Object.assign(rTable, columns);
457
- }
458
- return acc;
459
- }, {});
460
- return Object.assign(helperStatic, tables);
461
- }
462
- function defineRelations(schema, relations) {
463
- return new Relations(
464
- schema,
465
- schema,
466
- relations(createRelationsHelper(schema))
467
- );
468
- }
469
- function fieldSelectionToSQL(table, target) {
470
- const field = table[import_table2.Columns][target];
471
- return field ? (0, import_entity.is)(field, import_column.Column) ? field : (0, import_entity.is)(field, import_sql.SQL.Aliased) ? import_sql.sql`${table}.${import_sql.sql.identifier(field.fieldAlias)}` : import_sql.sql`${table}.${import_sql.sql.identifier(target)}` : import_sql.sql`${table}.${import_sql.sql.identifier(target)}`;
472
- }
473
- function relationsFieldFilterToSQL(column, filter) {
474
- if (typeof filter !== "object")
475
- return (0, import_expressions.eq)(column, filter);
476
- const entries = Object.entries(filter);
477
- if (!entries.length)
478
- return void 0;
479
- const parts = [];
480
- for (const [target, value] of entries) {
481
- if (value === void 0)
482
- continue;
483
- switch (target) {
484
- case "NOT": {
485
- const res = relationsFieldFilterToSQL(column, value);
486
- if (!res)
487
- continue;
488
- parts.push((0, import_expressions.not)(res));
489
- continue;
490
- }
491
- case "OR": {
492
- if (!value.length)
493
- continue;
494
- parts.push(
495
- (0, import_expressions.or)(
496
- ...value.map((subFilter) => relationsFieldFilterToSQL(column, subFilter))
497
- )
498
- );
499
- continue;
500
- }
501
- case "isNotNull":
502
- case "isNull": {
503
- if (!value)
504
- continue;
505
- parts.push(operators[target](column));
506
- continue;
507
- }
508
- case "in": {
509
- parts.push(operators.inArray(column, value));
510
- continue;
511
- }
512
- case "notIn": {
513
- parts.push(operators.notInArray(column, value));
514
- continue;
515
- }
516
- default: {
517
- parts.push(
518
- operators[target](
519
- column,
520
- value
521
- )
522
- );
523
- continue;
524
- }
240
+ const reverseRelations = [];
241
+ for (const referencedTableRelation of Object.values(
242
+ referencedTableConfig.relations
243
+ )) {
244
+ if (relation.relationName && relation !== referencedTableRelation && referencedTableRelation.relationName === relation.relationName || !relation.relationName && referencedTableRelation.referencedTable === relation.sourceTable) {
245
+ reverseRelations.push(referencedTableRelation);
525
246
  }
526
247
  }
527
- if (!parts.length)
528
- return void 0;
529
- return (0, import_expressions.and)(...parts);
530
- }
531
- function relationsFilterToSQL(table, filter, tableRelations = {}, tablesRelations = {}, tableNamesMap = {}, depth = 0) {
532
- const entries = Object.entries(filter);
533
- if (!entries.length)
534
- return void 0;
535
- const parts = [];
536
- for (const [target, value] of entries) {
537
- if (value === void 0)
538
- continue;
539
- switch (target) {
540
- case "RAW": {
541
- if (value) {
542
- parts.push(
543
- value(table, operators)
544
- );
545
- }
546
- continue;
547
- }
548
- case "OR": {
549
- if (!value?.length)
550
- continue;
551
- parts.push(
552
- (0, import_expressions.or)(
553
- ...value.map((subFilter) => relationsFilterToSQL(table, subFilter))
554
- )
555
- );
556
- continue;
557
- }
558
- case "NOT": {
559
- if (value === void 0)
560
- continue;
561
- const built = relationsFilterToSQL(table, value);
562
- if (!built)
563
- continue;
564
- parts.push((0, import_expressions.not)(built));
565
- continue;
566
- }
567
- default: {
568
- if (table[import_table2.Columns][target]) {
569
- const column = fieldSelectionToSQL(table, target);
570
- const colFilter = relationsFieldFilterToSQL(
571
- column,
572
- value
573
- );
574
- if (colFilter)
575
- parts.push(colFilter);
576
- continue;
577
- }
578
- const relation = tableRelations[target];
579
- if (!relation) {
580
- throw new import_errors.DrizzleError({
581
- message: `Unknown relational filter field: "${target}"`
582
- });
583
- }
584
- const targetTable = (0, import_alias.aliasedTable)(relation.targetTable, `f${depth}`);
585
- const throughTable = relation.throughTable ? (0, import_alias.aliasedTable)(relation.throughTable, `ft${depth}`) : void 0;
586
- const targetConfig = tablesRelations[tableNamesMap[(0, import_table.getTableUniqueName)(relation.targetTable)]];
587
- const {
588
- filter: relationFilter,
589
- joinCondition
590
- } = relationToSQL(relation, table, targetTable, throughTable);
591
- const subfilter = typeof value === "boolean" ? void 0 : relationsFilterToSQL(
592
- targetTable,
593
- value,
594
- targetConfig.relations,
595
- tablesRelations,
596
- tableNamesMap,
597
- depth + 1
598
- );
599
- const filter2 = (0, import_expressions.and)(
600
- relationFilter,
601
- subfilter
602
- );
603
- const subquery = throughTable ? import_sql.sql`(select * from ${getTableAsAliasSQL(targetTable)} inner join ${getTableAsAliasSQL(throughTable)} on ${joinCondition}${import_sql.sql` where ${filter2}`.if(filter2)} limit 1)` : import_sql.sql`(select * from ${getTableAsAliasSQL(targetTable)}${import_sql.sql` where ${filter2}`.if(filter2)} limit 1)`;
604
- if (filter2)
605
- parts.push((value ? import_expressions.exists : import_expressions.notExists)(subquery));
606
- }
607
- }
248
+ if (reverseRelations.length > 1) {
249
+ throw relation.relationName ? new Error(
250
+ `There are multiple relations with name "${relation.relationName}" in table "${referencedTableTsName}"`
251
+ ) : new Error(
252
+ `There are multiple relations between "${referencedTableTsName}" and "${relation.sourceTable[import_table.Table.Symbol.Name]}". Please specify relation name`
253
+ );
608
254
  }
609
- return (0, import_expressions.and)(...parts);
610
- }
611
- function relationsOrderToSQL(table, orders) {
612
- if (typeof orders === "function") {
613
- const data = orders(table, orderByOperators);
614
- return (0, import_entity.is)(data, import_sql.SQL) ? data : Array.isArray(data) ? data.length ? import_sql.sql.join(data.map((o) => (0, import_entity.is)(o, import_sql.SQL) ? o : (0, import_expressions.asc)(o)), import_sql.sql`, `) : void 0 : (0, import_entity.is)(data, import_column.Column) ? (0, import_expressions.asc)(data) : void 0;
255
+ if (reverseRelations[0] && (0, import_entity.is)(reverseRelations[0], One) && reverseRelations[0].config) {
256
+ return {
257
+ fields: reverseRelations[0].config.references,
258
+ references: reverseRelations[0].config.fields
259
+ };
615
260
  }
616
- const entries = Object.entries(orders).filter(([_, value]) => value);
617
- if (!entries.length)
618
- return void 0;
619
- return import_sql.sql.join(
620
- entries.map(([target, value]) => (value === "asc" ? import_expressions.asc : import_expressions.desc)(fieldSelectionToSQL(table, target))),
621
- import_sql.sql`, `
261
+ throw new Error(
262
+ `There is not enough information to infer relation "${sourceTableTsName}.${relation.fieldName}"`
622
263
  );
623
264
  }
624
- function relationExtrasToSQL(table, extras) {
625
- const subqueries = [];
626
- const selection = [];
627
- for (const [key, extra] of Object.entries(
628
- typeof extras === "function" ? extras(table, { sql: operators.sql }) : extras
629
- )) {
630
- if (!extra)
631
- continue;
632
- const query = import_sql.sql`(${extra.getSQL()}) as ${import_sql.sql.identifier(key)}`;
633
- query.decoder = extra.getSQL().decoder;
634
- subqueries.push(query);
635
- selection.push({
636
- key,
637
- field: query
638
- });
639
- }
265
+ function createTableRelationsHelpers(sourceTable) {
640
266
  return {
641
- sql: subqueries.length ? import_sql.sql.join(subqueries, import_sql.sql`, `) : void 0,
642
- selection
267
+ one: createOne(sourceTable),
268
+ many: createMany(sourceTable)
643
269
  };
644
270
  }
645
- function relationToSQL(relation, sourceTable, targetTable, throughTable) {
646
- if (relation.through) {
647
- const outerColumnWhere = relation.sourceColumns.map((s, i) => {
648
- const t = relation.through.source[i];
649
- return (0, import_expressions.eq)(
650
- import_sql.sql`${sourceTable}.${import_sql.sql.identifier(s.name)}`,
651
- import_sql.sql`${throughTable}.${import_sql.sql.identifier((0, import_entity.is)(t._.column, import_column.Column) ? t._.column.name : t._.key)}`
652
- );
653
- });
654
- const innerColumnWhere = relation.targetColumns.map((s, i) => {
655
- const t = relation.through.target[i];
656
- return (0, import_expressions.eq)(
657
- import_sql.sql`${throughTable}.${import_sql.sql.identifier((0, import_entity.is)(t._.column, import_column.Column) ? t._.column.name : t._.key)}`,
658
- import_sql.sql`${targetTable}.${import_sql.sql.identifier(s.name)}`
271
+ function mapRelationalRow(tablesConfig, tableConfig, row, buildQueryResultSelection, mapColumnValue = (value) => value) {
272
+ const result = {};
273
+ for (const [
274
+ selectionItemIndex,
275
+ selectionItem
276
+ ] of buildQueryResultSelection.entries()) {
277
+ if (selectionItem.isJson) {
278
+ const relation = tableConfig.relations[selectionItem.tsKey];
279
+ const rawSubRows = row[selectionItemIndex];
280
+ const subRows = typeof rawSubRows === "string" ? JSON.parse(rawSubRows) : rawSubRows;
281
+ result[selectionItem.tsKey] = (0, import_entity.is)(relation, One) ? subRows && mapRelationalRow(
282
+ tablesConfig,
283
+ tablesConfig[selectionItem.relationTableTsKey],
284
+ subRows,
285
+ selectionItem.selection,
286
+ mapColumnValue
287
+ ) : subRows.map(
288
+ (subRow) => mapRelationalRow(
289
+ tablesConfig,
290
+ tablesConfig[selectionItem.relationTableTsKey],
291
+ subRow,
292
+ selectionItem.selection,
293
+ mapColumnValue
294
+ )
659
295
  );
660
- });
661
- return {
662
- filter: (0, import_expressions.and)(
663
- relation.where ? relationsFilterToSQL(relation.isReversed ? targetTable : sourceTable, relation.where) : void 0,
664
- ...outerColumnWhere
665
- ),
666
- joinCondition: (0, import_expressions.and)(...innerColumnWhere)
667
- };
296
+ } else {
297
+ const value = mapColumnValue(row[selectionItemIndex]);
298
+ const field = selectionItem.field;
299
+ let decoder;
300
+ if ((0, import_entity.is)(field, import_column.Column)) {
301
+ decoder = field;
302
+ } else if ((0, import_entity.is)(field, import_sql.SQL)) {
303
+ decoder = field.decoder;
304
+ } else {
305
+ decoder = field.sql.decoder;
306
+ }
307
+ result[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);
308
+ }
668
309
  }
669
- const columnWhere = relation.sourceColumns.map((s, i) => {
670
- const t = relation.targetColumns[i];
671
- return (0, import_expressions.eq)(
672
- import_sql.sql`${sourceTable}.${import_sql.sql.identifier(s.name)}`,
673
- import_sql.sql`${targetTable}.${import_sql.sql.identifier(t.name)}`
674
- );
675
- });
676
- const fullWhere = (0, import_expressions.and)(
677
- ...columnWhere,
678
- relation.where ? relationsFilterToSQL(relation.isReversed ? targetTable : sourceTable, relation.where) : void 0
679
- );
680
- return { filter: fullWhere };
681
- }
682
- function getTableAsAliasSQL(table) {
683
- return import_sql.sql`${table[import_table.IsAlias] ? import_sql.sql`${import_sql.sql`${import_sql.sql.identifier(table[import_table.Schema] ?? "")}.`.if(table[import_table.Schema])}${import_sql.sql.identifier(table[import_table.OriginalName])} as ${table}` : table}`;
310
+ return result;
684
311
  }
685
312
  // Annotate the CommonJS export names for ESM import in node:
686
313
  0 && (module.exports = {
687
- AggregatedField,
688
- Count,
689
314
  Many,
690
315
  One,
691
316
  Relation,
692
317
  Relations,
693
- RelationsBuilderColumn,
694
- RelationsBuilderTable,
695
- RelationsHelperStatic,
696
- createRelationsHelper,
697
- defineRelations,
698
- fieldSelectionToSQL,
318
+ createMany,
319
+ createOne,
320
+ createTableRelationsHelpers,
321
+ extractTablesRelationalConfig,
322
+ getOperators,
699
323
  getOrderByOperators,
700
- getTableAsAliasSQL,
701
324
  mapRelationalRow,
702
- operators,
703
- orderByOperators,
704
- relationExtrasToSQL,
705
- relationToSQL,
706
- relationsFilterToSQL,
707
- relationsOrderToSQL
325
+ normalizeRelation,
326
+ relations
708
327
  });
709
328
  //# sourceMappingURL=relations.cjs.map