drizzle-orm 0.36.3 → 0.36.4-0ab568f

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 (606) hide show
  1. package/_relations.cjs +328 -0
  2. package/_relations.cjs.map +1 -0
  3. package/_relations.d.cts +215 -0
  4. package/_relations.d.ts +215 -0
  5. package/_relations.js +316 -0
  6. package/_relations.js.map +1 -0
  7. package/alias.cjs.map +1 -1
  8. package/alias.d.cts +3 -3
  9. package/alias.d.ts +3 -3
  10. package/alias.js.map +1 -1
  11. package/aws-data-api/pg/driver.cjs +19 -5
  12. package/aws-data-api/pg/driver.cjs.map +1 -1
  13. package/aws-data-api/pg/driver.d.cts +10 -11
  14. package/aws-data-api/pg/driver.d.ts +10 -11
  15. package/aws-data-api/pg/driver.js +9 -8
  16. package/aws-data-api/pg/driver.js.map +1 -1
  17. package/aws-data-api/pg/migrator.cjs.map +1 -1
  18. package/aws-data-api/pg/migrator.d.cts +2 -1
  19. package/aws-data-api/pg/migrator.d.ts +2 -1
  20. package/aws-data-api/pg/migrator.js.map +1 -1
  21. package/aws-data-api/pg/session.cjs +67 -4
  22. package/aws-data-api/pg/session.cjs.map +1 -1
  23. package/aws-data-api/pg/session.d.cts +13 -8
  24. package/aws-data-api/pg/session.d.ts +13 -8
  25. package/aws-data-api/pg/session.js +67 -4
  26. package/aws-data-api/pg/session.js.map +1 -1
  27. package/better-sqlite3/driver.cjs +12 -5
  28. package/better-sqlite3/driver.cjs.map +1 -1
  29. package/better-sqlite3/driver.d.cts +8 -9
  30. package/better-sqlite3/driver.d.ts +8 -9
  31. package/better-sqlite3/driver.js +12 -8
  32. package/better-sqlite3/driver.js.map +1 -1
  33. package/better-sqlite3/migrator.cjs.map +1 -1
  34. package/better-sqlite3/migrator.d.cts +2 -1
  35. package/better-sqlite3/migrator.d.ts +2 -1
  36. package/better-sqlite3/migrator.js.map +1 -1
  37. package/better-sqlite3/session.cjs +49 -4
  38. package/better-sqlite3/session.cjs.map +1 -1
  39. package/better-sqlite3/session.d.cts +14 -8
  40. package/better-sqlite3/session.d.ts +14 -8
  41. package/better-sqlite3/session.js +49 -4
  42. package/better-sqlite3/session.js.map +1 -1
  43. package/bun-sqlite/driver.cjs +22 -5
  44. package/bun-sqlite/driver.cjs.map +1 -1
  45. package/bun-sqlite/driver.d.cts +8 -9
  46. package/bun-sqlite/driver.d.ts +8 -9
  47. package/bun-sqlite/driver.js +12 -8
  48. package/bun-sqlite/driver.js.map +1 -1
  49. package/bun-sqlite/migrator.cjs.map +1 -1
  50. package/bun-sqlite/migrator.d.cts +2 -1
  51. package/bun-sqlite/migrator.d.ts +2 -1
  52. package/bun-sqlite/migrator.js.map +1 -1
  53. package/bun-sqlite/session.cjs +49 -4
  54. package/bun-sqlite/session.cjs.map +1 -1
  55. package/bun-sqlite/session.d.cts +14 -8
  56. package/bun-sqlite/session.d.ts +14 -8
  57. package/bun-sqlite/session.js +49 -4
  58. package/bun-sqlite/session.js.map +1 -1
  59. package/column-builder.cjs.map +1 -1
  60. package/column-builder.d.cts +10 -5
  61. package/column-builder.d.ts +10 -5
  62. package/column-builder.js.map +1 -1
  63. package/column.cjs.map +1 -1
  64. package/column.d.cts +1 -0
  65. package/column.d.ts +1 -0
  66. package/column.js.map +1 -1
  67. package/d1/driver.cjs +22 -5
  68. package/d1/driver.cjs.map +1 -1
  69. package/d1/driver.d.cts +3 -2
  70. package/d1/driver.d.ts +3 -2
  71. package/d1/driver.js +12 -8
  72. package/d1/driver.js.map +1 -1
  73. package/d1/migrator.cjs.map +1 -1
  74. package/d1/migrator.d.cts +2 -1
  75. package/d1/migrator.d.ts +2 -1
  76. package/d1/migrator.js.map +1 -1
  77. package/d1/session.cjs +48 -6
  78. package/d1/session.cjs.map +1 -1
  79. package/d1/session.d.cts +15 -8
  80. package/d1/session.d.ts +15 -8
  81. package/d1/session.js +48 -6
  82. package/d1/session.js.map +1 -1
  83. package/expo-sqlite/driver.cjs +22 -5
  84. package/expo-sqlite/driver.cjs.map +1 -1
  85. package/expo-sqlite/driver.d.cts +3 -2
  86. package/expo-sqlite/driver.d.ts +3 -2
  87. package/expo-sqlite/driver.js +12 -8
  88. package/expo-sqlite/driver.js.map +1 -1
  89. package/expo-sqlite/migrator.cjs.map +1 -1
  90. package/expo-sqlite/migrator.d.cts +3 -2
  91. package/expo-sqlite/migrator.d.ts +3 -2
  92. package/expo-sqlite/migrator.js.map +1 -1
  93. package/expo-sqlite/query.cjs +13 -2
  94. package/expo-sqlite/query.cjs.map +1 -1
  95. package/expo-sqlite/query.d.cts +2 -1
  96. package/expo-sqlite/query.d.ts +2 -1
  97. package/expo-sqlite/query.js +3 -2
  98. package/expo-sqlite/query.js.map +1 -1
  99. package/expo-sqlite/session.cjs +47 -4
  100. package/expo-sqlite/session.cjs.map +1 -1
  101. package/expo-sqlite/session.d.cts +14 -8
  102. package/expo-sqlite/session.d.ts +14 -8
  103. package/expo-sqlite/session.js +47 -4
  104. package/expo-sqlite/session.js.map +1 -1
  105. package/libsql/driver-core.cjs +22 -5
  106. package/libsql/driver-core.cjs.map +1 -1
  107. package/libsql/driver-core.d.cts +2 -1
  108. package/libsql/driver-core.d.ts +2 -1
  109. package/libsql/driver-core.js +12 -8
  110. package/libsql/driver-core.js.map +1 -1
  111. package/libsql/driver.cjs.map +1 -1
  112. package/libsql/driver.d.cts +7 -8
  113. package/libsql/driver.d.ts +7 -8
  114. package/libsql/driver.js.map +1 -1
  115. package/libsql/http/index.cjs.map +1 -1
  116. package/libsql/http/index.d.cts +7 -8
  117. package/libsql/http/index.d.ts +7 -8
  118. package/libsql/http/index.js.map +1 -1
  119. package/libsql/migrator.cjs.map +1 -1
  120. package/libsql/migrator.d.cts +2 -1
  121. package/libsql/migrator.d.ts +2 -1
  122. package/libsql/migrator.js.map +1 -1
  123. package/libsql/node/index.cjs.map +1 -1
  124. package/libsql/node/index.d.cts +7 -8
  125. package/libsql/node/index.d.ts +7 -8
  126. package/libsql/node/index.js.map +1 -1
  127. package/libsql/session.cjs +60 -4
  128. package/libsql/session.cjs.map +1 -1
  129. package/libsql/session.d.cts +15 -9
  130. package/libsql/session.d.ts +15 -9
  131. package/libsql/session.js +60 -4
  132. package/libsql/session.js.map +1 -1
  133. package/libsql/sqlite3/index.cjs.map +1 -1
  134. package/libsql/sqlite3/index.d.cts +7 -8
  135. package/libsql/sqlite3/index.d.ts +7 -8
  136. package/libsql/sqlite3/index.js.map +1 -1
  137. package/libsql/wasm/index.cjs.map +1 -1
  138. package/libsql/wasm/index.d.cts +7 -8
  139. package/libsql/wasm/index.d.ts +7 -8
  140. package/libsql/wasm/index.js.map +1 -1
  141. package/libsql/web/index.cjs.map +1 -1
  142. package/libsql/web/index.d.cts +7 -8
  143. package/libsql/web/index.d.ts +7 -8
  144. package/libsql/web/index.js.map +1 -1
  145. package/libsql/ws/index.cjs.map +1 -1
  146. package/libsql/ws/index.d.cts +7 -8
  147. package/libsql/ws/index.d.ts +7 -8
  148. package/libsql/ws/index.js.map +1 -1
  149. package/mysql-core/db.cjs +29 -8
  150. package/mysql-core/db.cjs.map +1 -1
  151. package/mysql-core/db.d.cts +15 -8
  152. package/mysql-core/db.d.ts +15 -8
  153. package/mysql-core/db.js +28 -7
  154. package/mysql-core/db.js.map +1 -1
  155. package/mysql-core/dialect.cjs +170 -15
  156. package/mysql-core/dialect.cjs.map +1 -1
  157. package/mysql-core/dialect.d.cts +29 -13
  158. package/mysql-core/dialect.d.ts +29 -13
  159. package/mysql-core/dialect.js +167 -21
  160. package/mysql-core/dialect.js.map +1 -1
  161. package/mysql-core/query-builders/_query.cjs +149 -0
  162. package/mysql-core/query-builders/_query.cjs.map +1 -0
  163. package/mysql-core/query-builders/_query.d.cts +44 -0
  164. package/mysql-core/query-builders/_query.d.ts +44 -0
  165. package/mysql-core/query-builders/_query.js +114 -0
  166. package/mysql-core/query-builders/_query.js.map +1 -0
  167. package/mysql-core/query-builders/count.cjs.map +1 -1
  168. package/mysql-core/query-builders/count.d.cts +1 -1
  169. package/mysql-core/query-builders/count.d.ts +1 -1
  170. package/mysql-core/query-builders/count.js.map +1 -1
  171. package/mysql-core/query-builders/query.cjs +18 -31
  172. package/mysql-core/query-builders/query.cjs.map +1 -1
  173. package/mysql-core/query-builders/query.d.cts +8 -10
  174. package/mysql-core/query-builders/query.d.ts +8 -10
  175. package/mysql-core/query-builders/query.js +18 -31
  176. package/mysql-core/query-builders/query.js.map +1 -1
  177. package/mysql-core/session.cjs +3 -2
  178. package/mysql-core/session.cjs.map +1 -1
  179. package/mysql-core/session.d.cts +10 -7
  180. package/mysql-core/session.d.ts +10 -7
  181. package/mysql-core/session.js +3 -2
  182. package/mysql-core/session.js.map +1 -1
  183. package/mysql-proxy/driver.cjs +22 -5
  184. package/mysql-proxy/driver.cjs.map +1 -1
  185. package/mysql-proxy/driver.d.cts +3 -2
  186. package/mysql-proxy/driver.d.ts +3 -2
  187. package/mysql-proxy/driver.js +12 -8
  188. package/mysql-proxy/driver.js.map +1 -1
  189. package/mysql-proxy/migrator.cjs.map +1 -1
  190. package/mysql-proxy/migrator.d.cts +2 -1
  191. package/mysql-proxy/migrator.d.ts +2 -1
  192. package/mysql-proxy/migrator.js.map +1 -1
  193. package/mysql-proxy/session.cjs +47 -2
  194. package/mysql-proxy/session.cjs.map +1 -1
  195. package/mysql-proxy/session.d.cts +13 -8
  196. package/mysql-proxy/session.d.ts +13 -8
  197. package/mysql-proxy/session.js +47 -2
  198. package/mysql-proxy/session.js.map +1 -1
  199. package/mysql2/driver.cjs +24 -7
  200. package/mysql2/driver.cjs.map +1 -1
  201. package/mysql2/driver.d.cts +11 -12
  202. package/mysql2/driver.d.ts +11 -12
  203. package/mysql2/driver.js +14 -10
  204. package/mysql2/driver.js.map +1 -1
  205. package/mysql2/migrator.cjs.map +1 -1
  206. package/mysql2/migrator.d.cts +2 -1
  207. package/mysql2/migrator.d.ts +2 -1
  208. package/mysql2/migrator.js.map +1 -1
  209. package/mysql2/session.cjs +51 -2
  210. package/mysql2/session.cjs.map +1 -1
  211. package/mysql2/session.d.cts +13 -8
  212. package/mysql2/session.d.ts +13 -8
  213. package/mysql2/session.js +51 -2
  214. package/mysql2/session.js.map +1 -1
  215. package/neon-http/driver.cjs +51 -6
  216. package/neon-http/driver.cjs.map +1 -1
  217. package/neon-http/driver.d.cts +11 -11
  218. package/neon-http/driver.d.ts +11 -11
  219. package/neon-http/driver.js +41 -6
  220. package/neon-http/driver.js.map +1 -1
  221. package/neon-http/migrator.cjs.map +1 -1
  222. package/neon-http/migrator.d.cts +2 -1
  223. package/neon-http/migrator.d.ts +2 -1
  224. package/neon-http/migrator.js.map +1 -1
  225. package/neon-http/session.cjs +64 -10
  226. package/neon-http/session.cjs.map +1 -1
  227. package/neon-http/session.d.cts +16 -11
  228. package/neon-http/session.d.ts +16 -11
  229. package/neon-http/session.js +64 -10
  230. package/neon-http/session.js.map +1 -1
  231. package/neon-serverless/driver.cjs +18 -7
  232. package/neon-serverless/driver.cjs.map +1 -1
  233. package/neon-serverless/driver.d.cts +10 -11
  234. package/neon-serverless/driver.d.ts +10 -11
  235. package/neon-serverless/driver.js +8 -10
  236. package/neon-serverless/driver.js.map +1 -1
  237. package/neon-serverless/migrator.cjs.map +1 -1
  238. package/neon-serverless/migrator.d.cts +2 -1
  239. package/neon-serverless/migrator.d.ts +2 -1
  240. package/neon-serverless/migrator.js.map +1 -1
  241. package/neon-serverless/session.cjs +40 -5
  242. package/neon-serverless/session.cjs.map +1 -1
  243. package/neon-serverless/session.d.cts +13 -8
  244. package/neon-serverless/session.d.ts +13 -8
  245. package/neon-serverless/session.js +40 -5
  246. package/neon-serverless/session.js.map +1 -1
  247. package/node-postgres/driver.cjs +13 -7
  248. package/node-postgres/driver.cjs.map +1 -1
  249. package/node-postgres/driver.d.cts +10 -11
  250. package/node-postgres/driver.d.ts +10 -11
  251. package/node-postgres/driver.js +13 -10
  252. package/node-postgres/driver.js.map +1 -1
  253. package/node-postgres/migrator.cjs.map +1 -1
  254. package/node-postgres/migrator.d.cts +2 -1
  255. package/node-postgres/migrator.d.ts +2 -1
  256. package/node-postgres/migrator.js.map +1 -1
  257. package/node-postgres/session.cjs +45 -4
  258. package/node-postgres/session.cjs.map +1 -1
  259. package/node-postgres/session.d.cts +13 -8
  260. package/node-postgres/session.d.ts +13 -8
  261. package/node-postgres/session.js +45 -4
  262. package/node-postgres/session.js.map +1 -1
  263. package/op-sqlite/driver.cjs +22 -5
  264. package/op-sqlite/driver.cjs.map +1 -1
  265. package/op-sqlite/driver.d.cts +3 -2
  266. package/op-sqlite/driver.d.ts +3 -2
  267. package/op-sqlite/driver.js +12 -8
  268. package/op-sqlite/driver.js.map +1 -1
  269. package/op-sqlite/migrator.cjs.map +1 -1
  270. package/op-sqlite/migrator.d.cts +3 -2
  271. package/op-sqlite/migrator.d.ts +3 -2
  272. package/op-sqlite/migrator.js.map +1 -1
  273. package/op-sqlite/session.cjs +47 -4
  274. package/op-sqlite/session.cjs.map +1 -1
  275. package/op-sqlite/session.d.cts +14 -8
  276. package/op-sqlite/session.d.ts +14 -8
  277. package/op-sqlite/session.js +47 -4
  278. package/op-sqlite/session.js.map +1 -1
  279. package/operations.cjs.map +1 -1
  280. package/operations.d.cts +3 -4
  281. package/operations.d.ts +3 -4
  282. package/package.json +101 -53
  283. package/pg-core/columns/common.cjs.map +1 -1
  284. package/pg-core/columns/common.d.cts +1 -2
  285. package/pg-core/columns/common.d.ts +1 -2
  286. package/pg-core/columns/common.js.map +1 -1
  287. package/pg-core/columns/int.common.cjs.map +1 -1
  288. package/pg-core/columns/int.common.d.cts +3 -3
  289. package/pg-core/columns/int.common.d.ts +3 -3
  290. package/pg-core/columns/int.common.js.map +1 -1
  291. package/pg-core/db.cjs +33 -8
  292. package/pg-core/db.cjs.map +1 -1
  293. package/pg-core/db.d.cts +17 -9
  294. package/pg-core/db.d.ts +17 -9
  295. package/pg-core/db.js +32 -7
  296. package/pg-core/db.js.map +1 -1
  297. package/pg-core/dialect.cjs +149 -490
  298. package/pg-core/dialect.cjs.map +1 -1
  299. package/pg-core/dialect.d.cts +22 -8
  300. package/pg-core/dialect.d.ts +22 -8
  301. package/pg-core/dialect.js +146 -496
  302. package/pg-core/dialect.js.map +1 -1
  303. package/pg-core/query-builders/_query.cjs +155 -0
  304. package/pg-core/query-builders/_query.cjs.map +1 -0
  305. package/pg-core/query-builders/_query.d.cts +47 -0
  306. package/pg-core/query-builders/_query.d.ts +47 -0
  307. package/pg-core/query-builders/_query.js +120 -0
  308. package/pg-core/query-builders/_query.js.map +1 -0
  309. package/pg-core/query-builders/count.cjs +6 -1
  310. package/pg-core/query-builders/count.cjs.map +1 -1
  311. package/pg-core/query-builders/count.d.cts +5 -2
  312. package/pg-core/query-builders/count.d.ts +5 -2
  313. package/pg-core/query-builders/count.js +6 -1
  314. package/pg-core/query-builders/count.js.map +1 -1
  315. package/pg-core/query-builders/delete.cjs +7 -1
  316. package/pg-core/query-builders/delete.cjs.map +1 -1
  317. package/pg-core/query-builders/delete.d.cts +1 -0
  318. package/pg-core/query-builders/delete.d.ts +1 -0
  319. package/pg-core/query-builders/delete.js +7 -1
  320. package/pg-core/query-builders/delete.js.map +1 -1
  321. package/pg-core/query-builders/insert.cjs +38 -5
  322. package/pg-core/query-builders/insert.cjs.map +1 -1
  323. package/pg-core/query-builders/insert.d.cts +20 -8
  324. package/pg-core/query-builders/insert.d.ts +20 -8
  325. package/pg-core/query-builders/insert.js +38 -5
  326. package/pg-core/query-builders/insert.js.map +1 -1
  327. package/pg-core/query-builders/query.cjs +22 -19
  328. package/pg-core/query-builders/query.cjs.map +1 -1
  329. package/pg-core/query-builders/query.d.cts +7 -6
  330. package/pg-core/query-builders/query.d.ts +7 -6
  331. package/pg-core/query-builders/query.js +22 -19
  332. package/pg-core/query-builders/query.js.map +1 -1
  333. package/pg-core/query-builders/refresh-materialized-view.cjs +7 -1
  334. package/pg-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  335. package/pg-core/query-builders/refresh-materialized-view.d.cts +1 -0
  336. package/pg-core/query-builders/refresh-materialized-view.d.ts +1 -0
  337. package/pg-core/query-builders/refresh-materialized-view.js +7 -1
  338. package/pg-core/query-builders/refresh-materialized-view.js.map +1 -1
  339. package/pg-core/query-builders/select.cjs +25 -5
  340. package/pg-core/query-builders/select.cjs.map +1 -1
  341. package/pg-core/query-builders/select.d.cts +2 -0
  342. package/pg-core/query-builders/select.d.ts +2 -0
  343. package/pg-core/query-builders/select.js +25 -5
  344. package/pg-core/query-builders/select.js.map +1 -1
  345. package/pg-core/query-builders/update.cjs +20 -3
  346. package/pg-core/query-builders/update.cjs.map +1 -1
  347. package/pg-core/query-builders/update.d.cts +3 -0
  348. package/pg-core/query-builders/update.d.ts +3 -0
  349. package/pg-core/query-builders/update.js +20 -3
  350. package/pg-core/query-builders/update.js.map +1 -1
  351. package/pg-core/session.cjs +15 -6
  352. package/pg-core/session.cjs.map +1 -1
  353. package/pg-core/session.d.cts +10 -6
  354. package/pg-core/session.d.ts +10 -6
  355. package/pg-core/session.js +15 -6
  356. package/pg-core/session.js.map +1 -1
  357. package/pg-proxy/driver.cjs +21 -5
  358. package/pg-proxy/driver.cjs.map +1 -1
  359. package/pg-proxy/driver.d.cts +3 -2
  360. package/pg-proxy/driver.d.ts +3 -2
  361. package/pg-proxy/driver.js +11 -8
  362. package/pg-proxy/driver.js.map +1 -1
  363. package/pg-proxy/migrator.cjs.map +1 -1
  364. package/pg-proxy/migrator.d.cts +2 -1
  365. package/pg-proxy/migrator.d.ts +2 -1
  366. package/pg-proxy/migrator.js.map +1 -1
  367. package/pg-proxy/session.cjs +37 -2
  368. package/pg-proxy/session.cjs.map +1 -1
  369. package/pg-proxy/session.d.cts +13 -8
  370. package/pg-proxy/session.d.ts +13 -8
  371. package/pg-proxy/session.js +37 -2
  372. package/pg-proxy/session.js.map +1 -1
  373. package/pglite/driver.cjs +23 -7
  374. package/pglite/driver.cjs.map +1 -1
  375. package/pglite/driver.d.cts +10 -11
  376. package/pglite/driver.d.ts +10 -11
  377. package/pglite/driver.js +13 -10
  378. package/pglite/driver.js.map +1 -1
  379. package/pglite/migrator.cjs.map +1 -1
  380. package/pglite/migrator.d.cts +2 -1
  381. package/pglite/migrator.d.ts +2 -1
  382. package/pglite/migrator.js.map +1 -1
  383. package/pglite/session.cjs +34 -3
  384. package/pglite/session.cjs.map +1 -1
  385. package/pglite/session.d.cts +13 -8
  386. package/pglite/session.d.ts +13 -8
  387. package/pglite/session.js +34 -3
  388. package/pglite/session.js.map +1 -1
  389. package/planetscale-serverless/driver.cjs +22 -5
  390. package/planetscale-serverless/driver.cjs.map +1 -1
  391. package/planetscale-serverless/driver.d.cts +8 -9
  392. package/planetscale-serverless/driver.d.ts +8 -9
  393. package/planetscale-serverless/driver.js +12 -8
  394. package/planetscale-serverless/driver.js.map +1 -1
  395. package/planetscale-serverless/migrator.cjs.map +1 -1
  396. package/planetscale-serverless/migrator.d.cts +2 -1
  397. package/planetscale-serverless/migrator.d.ts +2 -1
  398. package/planetscale-serverless/migrator.js.map +1 -1
  399. package/planetscale-serverless/session.cjs +68 -5
  400. package/planetscale-serverless/session.cjs.map +1 -1
  401. package/planetscale-serverless/session.d.cts +14 -9
  402. package/planetscale-serverless/session.d.ts +14 -9
  403. package/planetscale-serverless/session.js +68 -5
  404. package/planetscale-serverless/session.js.map +1 -1
  405. package/postgres-js/driver.cjs +12 -6
  406. package/postgres-js/driver.cjs.map +1 -1
  407. package/postgres-js/driver.d.cts +8 -9
  408. package/postgres-js/driver.d.ts +8 -9
  409. package/postgres-js/driver.js +12 -9
  410. package/postgres-js/driver.js.map +1 -1
  411. package/postgres-js/migrator.cjs.map +1 -1
  412. package/postgres-js/migrator.d.cts +2 -1
  413. package/postgres-js/migrator.d.ts +2 -1
  414. package/postgres-js/migrator.js.map +1 -1
  415. package/postgres-js/session.cjs +51 -6
  416. package/postgres-js/session.cjs.map +1 -1
  417. package/postgres-js/session.d.cts +15 -9
  418. package/postgres-js/session.d.ts +15 -9
  419. package/postgres-js/session.js +51 -6
  420. package/postgres-js/session.js.map +1 -1
  421. package/prisma/mysql/driver.cjs +1 -1
  422. package/prisma/mysql/driver.cjs.map +1 -1
  423. package/prisma/mysql/driver.js +1 -1
  424. package/prisma/mysql/driver.js.map +1 -1
  425. package/prisma/mysql/session.cjs +3 -0
  426. package/prisma/mysql/session.cjs.map +1 -1
  427. package/prisma/mysql/session.d.cts +3 -1
  428. package/prisma/mysql/session.d.ts +3 -1
  429. package/prisma/mysql/session.js +3 -0
  430. package/prisma/mysql/session.js.map +1 -1
  431. package/prisma/pg/driver.cjs +1 -1
  432. package/prisma/pg/driver.cjs.map +1 -1
  433. package/prisma/pg/driver.js +1 -1
  434. package/prisma/pg/driver.js.map +1 -1
  435. package/prisma/pg/session.cjs +3 -0
  436. package/prisma/pg/session.cjs.map +1 -1
  437. package/prisma/pg/session.d.cts +3 -1
  438. package/prisma/pg/session.d.ts +3 -1
  439. package/prisma/pg/session.js +3 -0
  440. package/prisma/pg/session.js.map +1 -1
  441. package/prisma/sqlite/driver.cjs +1 -1
  442. package/prisma/sqlite/driver.cjs.map +1 -1
  443. package/prisma/sqlite/driver.js +1 -1
  444. package/prisma/sqlite/driver.js.map +1 -1
  445. package/prisma/sqlite/session.cjs +3 -0
  446. package/prisma/sqlite/session.cjs.map +1 -1
  447. package/prisma/sqlite/session.d.cts +4 -2
  448. package/prisma/sqlite/session.d.ts +4 -2
  449. package/prisma/sqlite/session.js +3 -0
  450. package/prisma/sqlite/session.js.map +1 -1
  451. package/relations.cjs +468 -245
  452. package/relations.cjs.map +1 -1
  453. package/relations.d.cts +259 -126
  454. package/relations.d.ts +259 -126
  455. package/relations.js +455 -238
  456. package/relations.js.map +1 -1
  457. package/sql/sql.cjs.map +1 -1
  458. package/sql/sql.d.cts +4 -4
  459. package/sql/sql.d.ts +4 -4
  460. package/sql/sql.js.map +1 -1
  461. package/sql-js/driver.cjs +16 -5
  462. package/sql-js/driver.cjs.map +1 -1
  463. package/sql-js/driver.d.cts +3 -2
  464. package/sql-js/driver.d.ts +3 -2
  465. package/sql-js/driver.js +6 -8
  466. package/sql-js/driver.js.map +1 -1
  467. package/sql-js/migrator.cjs.map +1 -1
  468. package/sql-js/migrator.d.cts +2 -1
  469. package/sql-js/migrator.d.ts +2 -1
  470. package/sql-js/migrator.js.map +1 -1
  471. package/sql-js/session.cjs +58 -4
  472. package/sql-js/session.cjs.map +1 -1
  473. package/sql-js/session.d.cts +14 -8
  474. package/sql-js/session.d.ts +14 -8
  475. package/sql-js/session.js +58 -4
  476. package/sql-js/session.js.map +1 -1
  477. package/sqlite-core/db.cjs +36 -14
  478. package/sqlite-core/db.cjs.map +1 -1
  479. package/sqlite-core/db.d.cts +15 -8
  480. package/sqlite-core/db.d.ts +15 -8
  481. package/sqlite-core/db.js +35 -13
  482. package/sqlite-core/db.js.map +1 -1
  483. package/sqlite-core/dialect.cjs +164 -7
  484. package/sqlite-core/dialect.cjs.map +1 -1
  485. package/sqlite-core/dialect.d.cts +25 -9
  486. package/sqlite-core/dialect.d.ts +25 -9
  487. package/sqlite-core/dialect.js +161 -13
  488. package/sqlite-core/dialect.js.map +1 -1
  489. package/sqlite-core/query-builders/_query.cjs +187 -0
  490. package/sqlite-core/query-builders/_query.cjs.map +1 -0
  491. package/sqlite-core/query-builders/_query.d.cts +55 -0
  492. package/sqlite-core/query-builders/_query.d.ts +55 -0
  493. package/sqlite-core/query-builders/_query.js +151 -0
  494. package/sqlite-core/query-builders/_query.js.map +1 -0
  495. package/sqlite-core/query-builders/count.cjs.map +1 -1
  496. package/sqlite-core/query-builders/count.d.cts +1 -1
  497. package/sqlite-core/query-builders/count.d.ts +1 -1
  498. package/sqlite-core/query-builders/count.js.map +1 -1
  499. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  500. package/sqlite-core/query-builders/delete.d.cts +1 -1
  501. package/sqlite-core/query-builders/delete.d.ts +1 -1
  502. package/sqlite-core/query-builders/delete.js.map +1 -1
  503. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  504. package/sqlite-core/query-builders/insert.d.cts +3 -3
  505. package/sqlite-core/query-builders/insert.d.ts +3 -3
  506. package/sqlite-core/query-builders/insert.js.map +1 -1
  507. package/sqlite-core/query-builders/query.cjs +32 -29
  508. package/sqlite-core/query-builders/query.cjs.map +1 -1
  509. package/sqlite-core/query-builders/query.d.cts +15 -16
  510. package/sqlite-core/query-builders/query.d.ts +15 -16
  511. package/sqlite-core/query-builders/query.js +32 -29
  512. package/sqlite-core/query-builders/query.js.map +1 -1
  513. package/sqlite-core/query-builders/select.cjs.map +1 -1
  514. package/sqlite-core/query-builders/select.d.cts +3 -3
  515. package/sqlite-core/query-builders/select.d.ts +3 -3
  516. package/sqlite-core/query-builders/select.js.map +1 -1
  517. package/sqlite-core/query-builders/update.cjs.map +1 -1
  518. package/sqlite-core/query-builders/update.d.cts +3 -3
  519. package/sqlite-core/query-builders/update.d.ts +3 -3
  520. package/sqlite-core/query-builders/update.js.map +1 -1
  521. package/sqlite-core/session.cjs +6 -2
  522. package/sqlite-core/session.cjs.map +1 -1
  523. package/sqlite-core/session.d.cts +14 -6
  524. package/sqlite-core/session.d.ts +14 -6
  525. package/sqlite-core/session.js +6 -2
  526. package/sqlite-core/session.js.map +1 -1
  527. package/sqlite-proxy/driver.cjs +22 -5
  528. package/sqlite-proxy/driver.cjs.map +1 -1
  529. package/sqlite-proxy/driver.d.cts +4 -3
  530. package/sqlite-proxy/driver.d.ts +4 -3
  531. package/sqlite-proxy/driver.js +12 -5
  532. package/sqlite-proxy/driver.js.map +1 -1
  533. package/sqlite-proxy/migrator.cjs.map +1 -1
  534. package/sqlite-proxy/migrator.d.cts +2 -1
  535. package/sqlite-proxy/migrator.d.ts +2 -1
  536. package/sqlite-proxy/migrator.js.map +1 -1
  537. package/sqlite-proxy/session.cjs +47 -4
  538. package/sqlite-proxy/session.cjs.map +1 -1
  539. package/sqlite-proxy/session.d.cts +14 -8
  540. package/sqlite-proxy/session.d.ts +14 -8
  541. package/sqlite-proxy/session.js +47 -4
  542. package/sqlite-proxy/session.js.map +1 -1
  543. package/supabase/rls.d.cts +11 -0
  544. package/supabase/rls.d.ts +11 -0
  545. package/table.cjs.map +1 -1
  546. package/table.d.cts +6 -2
  547. package/table.d.ts +6 -2
  548. package/table.js.map +1 -1
  549. package/tidb-serverless/driver.cjs +22 -5
  550. package/tidb-serverless/driver.cjs.map +1 -1
  551. package/tidb-serverless/driver.d.cts +8 -9
  552. package/tidb-serverless/driver.d.ts +8 -9
  553. package/tidb-serverless/driver.js +12 -8
  554. package/tidb-serverless/driver.js.map +1 -1
  555. package/tidb-serverless/migrator.cjs.map +1 -1
  556. package/tidb-serverless/migrator.d.cts +2 -1
  557. package/tidb-serverless/migrator.d.ts +2 -1
  558. package/tidb-serverless/migrator.js.map +1 -1
  559. package/tidb-serverless/session.cjs +62 -5
  560. package/tidb-serverless/session.cjs.map +1 -1
  561. package/tidb-serverless/session.d.cts +14 -9
  562. package/tidb-serverless/session.d.ts +14 -9
  563. package/tidb-serverless/session.js +62 -5
  564. package/tidb-serverless/session.js.map +1 -1
  565. package/utils.cjs +2 -2
  566. package/utils.cjs.map +1 -1
  567. package/utils.d.cts +3 -1
  568. package/utils.d.ts +3 -1
  569. package/utils.js +2 -2
  570. package/utils.js.map +1 -1
  571. package/vercel-postgres/driver.cjs +23 -7
  572. package/vercel-postgres/driver.cjs.map +1 -1
  573. package/vercel-postgres/driver.d.cts +11 -13
  574. package/vercel-postgres/driver.d.ts +11 -13
  575. package/vercel-postgres/driver.js +13 -10
  576. package/vercel-postgres/driver.js.map +1 -1
  577. package/vercel-postgres/migrator.cjs.map +1 -1
  578. package/vercel-postgres/migrator.d.cts +2 -1
  579. package/vercel-postgres/migrator.d.ts +2 -1
  580. package/vercel-postgres/migrator.js.map +1 -1
  581. package/vercel-postgres/session.cjs +34 -4
  582. package/vercel-postgres/session.cjs.map +1 -1
  583. package/vercel-postgres/session.d.cts +13 -8
  584. package/vercel-postgres/session.d.ts +13 -8
  585. package/vercel-postgres/session.js +34 -4
  586. package/vercel-postgres/session.js.map +1 -1
  587. package/version.cjs +1 -1
  588. package/version.d.cts +1 -1
  589. package/version.d.ts +1 -1
  590. package/version.js +1 -1
  591. package/xata-http/driver.cjs +17 -5
  592. package/xata-http/driver.cjs.map +1 -1
  593. package/xata-http/driver.d.cts +5 -4
  594. package/xata-http/driver.d.ts +5 -4
  595. package/xata-http/driver.js +7 -5
  596. package/xata-http/driver.js.map +1 -1
  597. package/xata-http/migrator.cjs.map +1 -1
  598. package/xata-http/migrator.d.cts +2 -1
  599. package/xata-http/migrator.d.ts +2 -1
  600. package/xata-http/migrator.js.map +1 -1
  601. package/xata-http/session.cjs +30 -2
  602. package/xata-http/session.cjs.map +1 -1
  603. package/xata-http/session.d.cts +13 -8
  604. package/xata-http/session.d.ts +13 -8
  605. package/xata-http/session.js +30 -2
  606. package/xata-http/session.js.map +1 -1
@@ -2,7 +2,7 @@ import { entityKind } from "../../entity.cjs";
2
2
  import type { PgDialect } from "../dialect.cjs";
3
3
  import type { IndexColumn } from "../indexes.cjs";
4
4
  import type { PgPreparedQuery, PgQueryResultHKT, PgQueryResultKind, PgSession, PreparedQueryConfig } from "../session.cjs";
5
- import type { PgTable } from "../table.cjs";
5
+ import type { PgTable, TableConfig } from "../table.cjs";
6
6
  import type { TypedQueryBuilder } from "../../query-builders/query-builder.cjs";
7
7
  import type { SelectResultFields } from "../../query-builders/select.types.cjs";
8
8
  import { QueryPromise } from "../../query-promise.cjs";
@@ -10,6 +10,7 @@ import type { RunnableQuery } from "../../runnable-query.cjs";
10
10
  import type { Placeholder, Query, SQLWrapper } from "../../sql/sql.cjs";
11
11
  import { Param, SQL } from "../../sql/sql.cjs";
12
12
  import type { Subquery } from "../../subquery.cjs";
13
+ import type { InferInsertModel } from "../../table.cjs";
13
14
  import type { AnyPgColumn } from "../columns/common.cjs";
14
15
  import { QueryBuilder } from "./query-builder.cjs";
15
16
  import type { SelectedFieldsFlat, SelectedFieldsOrdered } from "./select.types.cjs";
@@ -21,22 +22,32 @@ export interface PgInsertConfig<TTable extends PgTable = PgTable> {
21
22
  onConflict?: SQL;
22
23
  returning?: SelectedFieldsOrdered;
23
24
  select?: boolean;
25
+ overridingSystemValue_?: boolean;
24
26
  }
25
- export type PgInsertValue<TTable extends PgTable> = {
26
- [Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;
27
+ export type PgInsertValue<TTable extends PgTable<TableConfig>, OverrideT extends boolean = false> = {
28
+ [Key in keyof InferInsertModel<TTable, {
29
+ dbColumnNames: false;
30
+ override: OverrideT;
31
+ }>]: InferInsertModel<TTable, {
32
+ dbColumnNames: false;
33
+ override: OverrideT;
34
+ }>[Key] | SQL | Placeholder;
27
35
  } & {};
28
36
  export type PgInsertSelectQueryBuilder<TTable extends PgTable> = TypedQueryBuilder<{
29
37
  [K in keyof TTable['$inferInsert']]: AnyPgColumn | SQL | SQL.Aliased | TTable['$inferInsert'][K];
30
38
  }>;
31
- export declare class PgInsertBuilder<TTable extends PgTable, TQueryResult extends PgQueryResultHKT> {
39
+ export declare class PgInsertBuilder<TTable extends PgTable, TQueryResult extends PgQueryResultHKT, OverrideT extends boolean = false> {
32
40
  private table;
33
41
  private session;
34
42
  private dialect;
35
43
  private withList?;
44
+ private overridingSystemValue_?;
36
45
  static readonly [entityKind]: string;
37
- constructor(table: TTable, session: PgSession, dialect: PgDialect, withList?: Subquery[] | undefined);
38
- values(value: PgInsertValue<TTable>): PgInsertBase<TTable, TQueryResult>;
39
- values(values: PgInsertValue<TTable>[]): PgInsertBase<TTable, TQueryResult>;
46
+ constructor(table: TTable, session: PgSession, dialect: PgDialect, withList?: Subquery[] | undefined, overridingSystemValue_?: boolean | undefined);
47
+ private authToken?;
48
+ overridingSystemValue(): Omit<PgInsertBuilder<TTable, TQueryResult, true>, 'overridingSystemValue'>;
49
+ values(value: PgInsertValue<TTable, OverrideT>): PgInsertBase<TTable, TQueryResult>;
50
+ values(values: PgInsertValue<TTable, OverrideT>[]): PgInsertBase<TTable, TQueryResult>;
40
51
  select(selectQuery: (qb: QueryBuilder) => PgInsertSelectQueryBuilder<TTable>): PgInsertBase<TTable, TQueryResult>;
41
52
  select(selectQuery: (qb: QueryBuilder) => SQL): PgInsertBase<TTable, TQueryResult>;
42
53
  select(selectQuery: SQL): PgInsertBase<TTable, TQueryResult>;
@@ -75,7 +86,7 @@ export declare class PgInsertBase<TTable extends PgTable, TQueryResult extends P
75
86
  private dialect;
76
87
  static readonly [entityKind]: string;
77
88
  private config;
78
- constructor(table: TTable, values: PgInsertConfig['values'], session: PgSession, dialect: PgDialect, withList?: Subquery[], select?: boolean);
89
+ constructor(table: TTable, values: PgInsertConfig['values'], session: PgSession, dialect: PgDialect, withList?: Subquery[], select?: boolean, overridingSystemValue_?: boolean);
79
90
  /**
80
91
  * Adds a `returning` clause to the query.
81
92
  *
@@ -156,6 +167,7 @@ export declare class PgInsertBase<TTable extends PgTable, TQueryResult extends P
156
167
  onConflictDoUpdate(config: PgInsertOnConflictDoUpdateConfig<this>): PgInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'>;
157
168
  toSQL(): Query;
158
169
  prepare(name: string): PgInsertPrepare<this>;
170
+ private authToken?;
159
171
  execute: ReturnType<this['prepare']>['execute'];
160
172
  $dynamic(): PgInsertDynamic<this>;
161
173
  }
@@ -2,7 +2,7 @@ import { entityKind } from "../../entity.js";
2
2
  import type { PgDialect } from "../dialect.js";
3
3
  import type { IndexColumn } from "../indexes.js";
4
4
  import type { PgPreparedQuery, PgQueryResultHKT, PgQueryResultKind, PgSession, PreparedQueryConfig } from "../session.js";
5
- import type { PgTable } from "../table.js";
5
+ import type { PgTable, TableConfig } from "../table.js";
6
6
  import type { TypedQueryBuilder } from "../../query-builders/query-builder.js";
7
7
  import type { SelectResultFields } from "../../query-builders/select.types.js";
8
8
  import { QueryPromise } from "../../query-promise.js";
@@ -10,6 +10,7 @@ import type { RunnableQuery } from "../../runnable-query.js";
10
10
  import type { Placeholder, Query, SQLWrapper } from "../../sql/sql.js";
11
11
  import { Param, SQL } from "../../sql/sql.js";
12
12
  import type { Subquery } from "../../subquery.js";
13
+ import type { InferInsertModel } from "../../table.js";
13
14
  import type { AnyPgColumn } from "../columns/common.js";
14
15
  import { QueryBuilder } from "./query-builder.js";
15
16
  import type { SelectedFieldsFlat, SelectedFieldsOrdered } from "./select.types.js";
@@ -21,22 +22,32 @@ export interface PgInsertConfig<TTable extends PgTable = PgTable> {
21
22
  onConflict?: SQL;
22
23
  returning?: SelectedFieldsOrdered;
23
24
  select?: boolean;
25
+ overridingSystemValue_?: boolean;
24
26
  }
25
- export type PgInsertValue<TTable extends PgTable> = {
26
- [Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;
27
+ export type PgInsertValue<TTable extends PgTable<TableConfig>, OverrideT extends boolean = false> = {
28
+ [Key in keyof InferInsertModel<TTable, {
29
+ dbColumnNames: false;
30
+ override: OverrideT;
31
+ }>]: InferInsertModel<TTable, {
32
+ dbColumnNames: false;
33
+ override: OverrideT;
34
+ }>[Key] | SQL | Placeholder;
27
35
  } & {};
28
36
  export type PgInsertSelectQueryBuilder<TTable extends PgTable> = TypedQueryBuilder<{
29
37
  [K in keyof TTable['$inferInsert']]: AnyPgColumn | SQL | SQL.Aliased | TTable['$inferInsert'][K];
30
38
  }>;
31
- export declare class PgInsertBuilder<TTable extends PgTable, TQueryResult extends PgQueryResultHKT> {
39
+ export declare class PgInsertBuilder<TTable extends PgTable, TQueryResult extends PgQueryResultHKT, OverrideT extends boolean = false> {
32
40
  private table;
33
41
  private session;
34
42
  private dialect;
35
43
  private withList?;
44
+ private overridingSystemValue_?;
36
45
  static readonly [entityKind]: string;
37
- constructor(table: TTable, session: PgSession, dialect: PgDialect, withList?: Subquery[] | undefined);
38
- values(value: PgInsertValue<TTable>): PgInsertBase<TTable, TQueryResult>;
39
- values(values: PgInsertValue<TTable>[]): PgInsertBase<TTable, TQueryResult>;
46
+ constructor(table: TTable, session: PgSession, dialect: PgDialect, withList?: Subquery[] | undefined, overridingSystemValue_?: boolean | undefined);
47
+ private authToken?;
48
+ overridingSystemValue(): Omit<PgInsertBuilder<TTable, TQueryResult, true>, 'overridingSystemValue'>;
49
+ values(value: PgInsertValue<TTable, OverrideT>): PgInsertBase<TTable, TQueryResult>;
50
+ values(values: PgInsertValue<TTable, OverrideT>[]): PgInsertBase<TTable, TQueryResult>;
40
51
  select(selectQuery: (qb: QueryBuilder) => PgInsertSelectQueryBuilder<TTable>): PgInsertBase<TTable, TQueryResult>;
41
52
  select(selectQuery: (qb: QueryBuilder) => SQL): PgInsertBase<TTable, TQueryResult>;
42
53
  select(selectQuery: SQL): PgInsertBase<TTable, TQueryResult>;
@@ -75,7 +86,7 @@ export declare class PgInsertBase<TTable extends PgTable, TQueryResult extends P
75
86
  private dialect;
76
87
  static readonly [entityKind]: string;
77
88
  private config;
78
- constructor(table: TTable, values: PgInsertConfig['values'], session: PgSession, dialect: PgDialect, withList?: Subquery[], select?: boolean);
89
+ constructor(table: TTable, values: PgInsertConfig['values'], session: PgSession, dialect: PgDialect, withList?: Subquery[], select?: boolean, overridingSystemValue_?: boolean);
79
90
  /**
80
91
  * Adds a `returning` clause to the query.
81
92
  *
@@ -156,6 +167,7 @@ export declare class PgInsertBase<TTable extends PgTable, TQueryResult extends P
156
167
  onConflictDoUpdate(config: PgInsertOnConflictDoUpdateConfig<this>): PgInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'>;
157
168
  toSQL(): Query;
158
169
  prepare(name: string): PgInsertPrepare<this>;
170
+ private authToken?;
159
171
  execute: ReturnType<this['prepare']>['execute'];
160
172
  $dynamic(): PgInsertDynamic<this>;
161
173
  }
@@ -6,13 +6,24 @@ import { tracer } from "../../tracing.js";
6
6
  import { haveSameKeys, mapUpdateSet, orderSelectedFields } from "../../utils.js";
7
7
  import { QueryBuilder } from "./query-builder.js";
8
8
  class PgInsertBuilder {
9
- constructor(table, session, dialect, withList) {
9
+ constructor(table, session, dialect, withList, overridingSystemValue_) {
10
10
  this.table = table;
11
11
  this.session = session;
12
12
  this.dialect = dialect;
13
13
  this.withList = withList;
14
+ this.overridingSystemValue_ = overridingSystemValue_;
14
15
  }
15
16
  static [entityKind] = "PgInsertBuilder";
17
+ authToken;
18
+ /** @internal */
19
+ setToken(token) {
20
+ this.authToken = token;
21
+ return this;
22
+ }
23
+ overridingSystemValue() {
24
+ this.overridingSystemValue_ = true;
25
+ return this;
26
+ }
16
27
  values(values) {
17
28
  values = Array.isArray(values) ? values : [values];
18
29
  if (values.length === 0) {
@@ -27,7 +38,23 @@ class PgInsertBuilder {
27
38
  }
28
39
  return result;
29
40
  });
30
- return new PgInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
41
+ return this.authToken === void 0 ? new PgInsertBase(
42
+ this.table,
43
+ mappedValues,
44
+ this.session,
45
+ this.dialect,
46
+ this.withList,
47
+ false,
48
+ this.overridingSystemValue_
49
+ ) : new PgInsertBase(
50
+ this.table,
51
+ mappedValues,
52
+ this.session,
53
+ this.dialect,
54
+ this.withList,
55
+ false,
56
+ this.overridingSystemValue_
57
+ ).setToken(this.authToken);
31
58
  }
32
59
  select(selectQuery) {
33
60
  const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder()) : selectQuery;
@@ -40,11 +67,11 @@ class PgInsertBuilder {
40
67
  }
41
68
  }
42
69
  class PgInsertBase extends QueryPromise {
43
- constructor(table, values, session, dialect, withList, select) {
70
+ constructor(table, values, session, dialect, withList, select, overridingSystemValue_) {
44
71
  super();
45
72
  this.session = session;
46
73
  this.dialect = dialect;
47
- this.config = { table, values, withList, select };
74
+ this.config = { table, values, withList, select, overridingSystemValue_ };
48
75
  }
49
76
  static [entityKind] = "PgInsert";
50
77
  config;
@@ -146,9 +173,15 @@ class PgInsertBase extends QueryPromise {
146
173
  prepare(name) {
147
174
  return this._prepare(name);
148
175
  }
176
+ authToken;
177
+ /** @internal */
178
+ setToken(token) {
179
+ this.authToken = token;
180
+ return this;
181
+ }
149
182
  execute = (placeholderValues) => {
150
183
  return tracer.startActiveSpan("drizzle.operation", () => {
151
- return this._prepare().execute(placeholderValues);
184
+ return this._prepare().execute(placeholderValues, this.authToken);
152
185
  });
153
186
  };
154
187
  $dynamic() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/query-builders/insert.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport type { IndexColumn } from '~/pg-core/indexes.ts';\nimport type {\n\tPgPreparedQuery,\n\tPgQueryResultHKT,\n\tPgQueryResultKind,\n\tPgSession,\n\tPreparedQueryConfig,\n} from '~/pg-core/session.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';\nimport { Param, SQL, sql } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Columns, Table } from '~/table.ts';\nimport { tracer } from '~/tracing.ts';\nimport { haveSameKeys, mapUpdateSet, orderSelectedFields } from '~/utils.ts';\nimport type { AnyPgColumn, PgColumn } from '../columns/common.ts';\nimport { QueryBuilder } from './query-builder.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\nimport type { PgUpdateSetSource } from './update.ts';\n\nexport interface PgInsertConfig<TTable extends PgTable = PgTable> {\n\ttable: TTable;\n\tvalues: Record<string, Param | SQL>[] | PgInsertSelectQueryBuilder<TTable> | SQL;\n\twithList?: Subquery[];\n\tonConflict?: SQL;\n\treturning?: SelectedFieldsOrdered;\n\tselect?: boolean;\n}\n\nexport type PgInsertValue<TTable extends PgTable> =\n\t& {\n\t\t[Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;\n\t}\n\t& {};\n\nexport type PgInsertSelectQueryBuilder<TTable extends PgTable> = TypedQueryBuilder<\n\t{ [K in keyof TTable['$inferInsert']]: AnyPgColumn | SQL | SQL.Aliased | TTable['$inferInsert'][K] }\n>;\n\nexport class PgInsertBuilder<TTable extends PgTable, TQueryResult extends PgQueryResultHKT> {\n\tstatic readonly [entityKind]: string = 'PgInsertBuilder';\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: PgSession,\n\t\tprivate dialect: PgDialect,\n\t\tprivate withList?: Subquery[],\n\t) {}\n\n\tvalues(value: PgInsertValue<TTable>): PgInsertBase<TTable, TQueryResult>;\n\tvalues(values: PgInsertValue<TTable>[]): PgInsertBase<TTable, TQueryResult>;\n\tvalues(values: PgInsertValue<TTable> | PgInsertValue<TTable>[]): PgInsertBase<TTable, TQueryResult> {\n\t\tvalues = Array.isArray(values) ? values : [values];\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('values() must be called with at least one value');\n\t\t}\n\t\tconst mappedValues = values.map((entry) => {\n\t\t\tconst result: Record<string, Param | SQL> = {};\n\t\t\tconst cols = this.table[Table.Symbol.Columns];\n\t\t\tfor (const colKey of Object.keys(entry)) {\n\t\t\t\tconst colValue = entry[colKey as keyof typeof entry];\n\t\t\t\tresult[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\n\t\treturn new PgInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);\n\t}\n\n\tselect(selectQuery: (qb: QueryBuilder) => PgInsertSelectQueryBuilder<TTable>): PgInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: (qb: QueryBuilder) => SQL): PgInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: SQL): PgInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: PgInsertSelectQueryBuilder<TTable>): PgInsertBase<TTable, TQueryResult>;\n\tselect(\n\t\tselectQuery:\n\t\t\t| SQL\n\t\t\t| PgInsertSelectQueryBuilder<TTable>\n\t\t\t| ((qb: QueryBuilder) => PgInsertSelectQueryBuilder<TTable> | SQL),\n\t): PgInsertBase<TTable, TQueryResult> {\n\t\tconst select = typeof selectQuery === 'function' ? selectQuery(new QueryBuilder()) : selectQuery;\n\n\t\tif (\n\t\t\t!is(select, SQL)\n\t\t\t&& !haveSameKeys(this.table[Columns], select._.selectedFields)\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t'Insert select error: selected fields are not the same or are in a different order compared to the table definition',\n\t\t\t);\n\t\t}\n\n\t\treturn new PgInsertBase(this.table, select, this.session, this.dialect, this.withList, true);\n\t}\n}\n\nexport type PgInsertWithout<T extends AnyPgInsert, TDynamic extends boolean, K extends keyof T & string> =\n\tTDynamic extends true ? T\n\t\t: Omit<\n\t\t\tPgInsertBase<\n\t\t\t\tT['_']['table'],\n\t\t\t\tT['_']['queryResult'],\n\t\t\t\tT['_']['returning'],\n\t\t\t\tTDynamic,\n\t\t\t\tT['_']['excludedMethods'] | K\n\t\t\t>,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>;\n\nexport type PgInsertReturning<\n\tT extends AnyPgInsert,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = PgInsertBase<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tSelectResultFields<TSelectedFields>,\n\tTDynamic,\n\tT['_']['excludedMethods']\n>;\n\nexport type PgInsertReturningAll<T extends AnyPgInsert, TDynamic extends boolean> = PgInsertBase<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['table']['$inferSelect'],\n\tTDynamic,\n\tT['_']['excludedMethods']\n>;\n\nexport interface PgInsertOnConflictDoUpdateConfig<T extends AnyPgInsert> {\n\ttarget: IndexColumn | IndexColumn[];\n\t/** @deprecated use either `targetWhere` or `setWhere` */\n\twhere?: SQL;\n\t// TODO: add tests for targetWhere and setWhere\n\ttargetWhere?: SQL;\n\tsetWhere?: SQL;\n\tset: PgUpdateSetSource<T['_']['table']>;\n}\n\nexport type PgInsertPrepare<T extends AnyPgInsert> = PgPreparedQuery<\n\tPreparedQueryConfig & {\n\t\texecute: T['_']['returning'] extends undefined ? PgQueryResultKind<T['_']['queryResult'], never>\n\t\t\t: T['_']['returning'][];\n\t}\n>;\n\nexport type PgInsertDynamic<T extends AnyPgInsert> = PgInsert<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['returning']\n>;\n\nexport type AnyPgInsert = PgInsertBase<any, any, any, any, any>;\n\nexport type PgInsert<\n\tTTable extends PgTable = PgTable,\n\tTQueryResult extends PgQueryResultHKT = PgQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = PgInsertBase<TTable, TQueryResult, TReturning, true, never>;\n\nexport interface PgInsertBase<\n\tTTable extends PgTable,\n\tTQueryResult extends PgQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[], 'pg'>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\treadonly dialect: 'pg';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport class PgInsertBase<\n\tTTable extends PgTable,\n\tTQueryResult extends PgQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[], 'pg'>,\n\t\tSQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'PgInsert';\n\n\tprivate config: PgInsertConfig<TTable>;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tvalues: PgInsertConfig['values'],\n\t\tprivate session: PgSession,\n\t\tprivate dialect: PgDialect,\n\t\twithList?: Subquery[],\n\t\tselect?: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, values: values as any, withList, select };\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the inserted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#insert-returning}\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and return all fields\n\t * const insertedCar: Car[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning();\n\t *\n\t * // Insert one row and return only the id\n\t * const insertedCarId: { id: number }[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning({ id: cars.id });\n\t * ```\n\t */\n\treturning(): PgInsertWithout<PgInsertReturningAll<this, TDynamic>, TDynamic, 'returning'>;\n\treturning<TSelectedFields extends SelectedFieldsFlat>(\n\t\tfields: TSelectedFields,\n\t): PgInsertWithout<PgInsertReturning<this, TDynamic, TSelectedFields>, TDynamic, 'returning'>;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[Table.Symbol.Columns],\n\t): PgInsertWithout<AnyPgInsert, TDynamic, 'returning'> {\n\t\tthis.config.returning = orderSelectedFields<PgColumn>(fields);\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `on conflict do nothing` clause to the query.\n\t *\n\t * Calling this method simply avoids inserting a row as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}\n\t *\n\t * @param config The `target` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and cancel the insert if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing();\n\t *\n\t * // Explicitly specify conflict target\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing({ target: cars.id });\n\t * ```\n\t */\n\tonConflictDoNothing(\n\t\tconfig: { target?: IndexColumn | IndexColumn[]; where?: SQL } = {},\n\t): PgInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'> {\n\t\tif (config.target === undefined) {\n\t\t\tthis.config.onConflict = sql`do nothing`;\n\t\t} else {\n\t\t\tlet targetColumn = '';\n\t\t\ttargetColumn = Array.isArray(config.target)\n\t\t\t\t? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(',')\n\t\t\t\t: this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));\n\n\t\t\tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t\t\tthis.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;\n\t\t}\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `on conflict do update` clause to the query.\n\t *\n\t * Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}\n\t *\n\t * @param config The `target`, `set` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Update the row if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'Porsche' }\n\t * });\n\t *\n\t * // Upsert with 'where' clause\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'newBMW' },\n\t * targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,\n\t * });\n\t * ```\n\t */\n\tonConflictDoUpdate(\n\t\tconfig: PgInsertOnConflictDoUpdateConfig<this>,\n\t): PgInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'> {\n\t\tif (config.where && (config.targetWhere || config.setWhere)) {\n\t\t\tthrow new Error(\n\t\t\t\t'You cannot use both \"where\" and \"targetWhere\"/\"setWhere\" at the same time - \"where\" is deprecated, use \"targetWhere\" or \"setWhere\" instead.',\n\t\t\t);\n\t\t}\n\t\tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t\tconst targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : undefined;\n\t\tconst setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : undefined;\n\t\tconst setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));\n\t\tlet targetColumn = '';\n\t\ttargetColumn = Array.isArray(config.target)\n\t\t\t? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(',')\n\t\t\t: this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));\n\t\tthis.config.onConflict = sql`(${\n\t\t\tsql.raw(targetColumn)\n\t\t})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildInsertQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string): PgInsertPrepare<this> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\treturn this.session.prepareQuery<\n\t\t\t\tPreparedQueryConfig & {\n\t\t\t\t\texecute: TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[];\n\t\t\t\t}\n\t\t\t>(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name, true);\n\t\t});\n\t}\n\n\tprepare(name: string): PgInsertPrepare<this> {\n\t\treturn this._prepare(name);\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute(placeholderValues);\n\t\t});\n\t};\n\n\t$dynamic(): PgInsertDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/query-builders/insert.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport type { IndexColumn } from '~/pg-core/indexes.ts';\nimport type {\n\tPgPreparedQuery,\n\tPgQueryResultHKT,\n\tPgQueryResultKind,\n\tPgSession,\n\tPreparedQueryConfig,\n} from '~/pg-core/session.ts';\nimport type { PgTable, TableConfig } from '~/pg-core/table.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';\nimport { Param, SQL, sql } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport type { InferInsertModel } from '~/table.ts';\nimport { Columns, Table } from '~/table.ts';\nimport { tracer } from '~/tracing.ts';\nimport { haveSameKeys, mapUpdateSet, orderSelectedFields } from '~/utils.ts';\nimport type { AnyPgColumn, PgColumn } from '../columns/common.ts';\nimport { QueryBuilder } from './query-builder.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\nimport type { PgUpdateSetSource } from './update.ts';\n\nexport interface PgInsertConfig<TTable extends PgTable = PgTable> {\n\ttable: TTable;\n\tvalues: Record<string, Param | SQL>[] | PgInsertSelectQueryBuilder<TTable> | SQL;\n\twithList?: Subquery[];\n\tonConflict?: SQL;\n\treturning?: SelectedFieldsOrdered;\n\tselect?: boolean;\n\toverridingSystemValue_?: boolean;\n}\n\nexport type PgInsertValue<TTable extends PgTable<TableConfig>, OverrideT extends boolean = false> =\n\t& {\n\t\t[Key in keyof InferInsertModel<TTable, { dbColumnNames: false; override: OverrideT }>]:\n\t\t\t| InferInsertModel<TTable, { dbColumnNames: false; override: OverrideT }>[Key]\n\t\t\t| SQL\n\t\t\t| Placeholder;\n\t}\n\t& {};\n\nexport type PgInsertSelectQueryBuilder<TTable extends PgTable> = TypedQueryBuilder<\n\t{ [K in keyof TTable['$inferInsert']]: AnyPgColumn | SQL | SQL.Aliased | TTable['$inferInsert'][K] }\n>;\n\nexport class PgInsertBuilder<\n\tTTable extends PgTable,\n\tTQueryResult extends PgQueryResultHKT,\n\tOverrideT extends boolean = false,\n> {\n\tstatic readonly [entityKind]: string = 'PgInsertBuilder';\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: PgSession,\n\t\tprivate dialect: PgDialect,\n\t\tprivate withList?: Subquery[],\n\t\tprivate overridingSystemValue_?: boolean,\n\t) {}\n\n\tprivate authToken?: string;\n\t/** @internal */\n\tsetToken(token: string) {\n\t\tthis.authToken = token;\n\t\treturn this;\n\t}\n\n\toverridingSystemValue(): Omit<PgInsertBuilder<TTable, TQueryResult, true>, 'overridingSystemValue'> {\n\t\tthis.overridingSystemValue_ = true;\n\t\treturn this as any;\n\t}\n\n\tvalues(value: PgInsertValue<TTable, OverrideT>): PgInsertBase<TTable, TQueryResult>;\n\tvalues(values: PgInsertValue<TTable, OverrideT>[]): PgInsertBase<TTable, TQueryResult>;\n\tvalues(\n\t\tvalues: PgInsertValue<TTable, OverrideT> | PgInsertValue<TTable, OverrideT>[],\n\t): PgInsertBase<TTable, TQueryResult> {\n\t\tvalues = Array.isArray(values) ? values : [values];\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('values() must be called with at least one value');\n\t\t}\n\t\tconst mappedValues = values.map((entry) => {\n\t\t\tconst result: Record<string, Param | SQL> = {};\n\t\t\tconst cols = this.table[Table.Symbol.Columns];\n\t\t\tfor (const colKey of Object.keys(entry)) {\n\t\t\t\tconst colValue = entry[colKey as keyof typeof entry];\n\t\t\t\tresult[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\n\t\treturn this.authToken === undefined\n\t\t\t? new PgInsertBase(\n\t\t\t\tthis.table,\n\t\t\t\tmappedValues,\n\t\t\t\tthis.session,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.withList,\n\t\t\t\tfalse,\n\t\t\t\tthis.overridingSystemValue_,\n\t\t\t)\n\t\t\t: new PgInsertBase(\n\t\t\t\tthis.table,\n\t\t\t\tmappedValues,\n\t\t\t\tthis.session,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.withList,\n\t\t\t\tfalse,\n\t\t\t\tthis.overridingSystemValue_,\n\t\t\t).setToken(this.authToken) as any;\n\t}\n\n\tselect(selectQuery: (qb: QueryBuilder) => PgInsertSelectQueryBuilder<TTable>): PgInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: (qb: QueryBuilder) => SQL): PgInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: SQL): PgInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: PgInsertSelectQueryBuilder<TTable>): PgInsertBase<TTable, TQueryResult>;\n\tselect(\n\t\tselectQuery:\n\t\t\t| SQL\n\t\t\t| PgInsertSelectQueryBuilder<TTable>\n\t\t\t| ((qb: QueryBuilder) => PgInsertSelectQueryBuilder<TTable> | SQL),\n\t): PgInsertBase<TTable, TQueryResult> {\n\t\tconst select = typeof selectQuery === 'function' ? selectQuery(new QueryBuilder()) : selectQuery;\n\n\t\tif (\n\t\t\t!is(select, SQL)\n\t\t\t&& !haveSameKeys(this.table[Columns], select._.selectedFields)\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t'Insert select error: selected fields are not the same or are in a different order compared to the table definition',\n\t\t\t);\n\t\t}\n\n\t\treturn new PgInsertBase(this.table, select, this.session, this.dialect, this.withList, true);\n\t}\n}\n\nexport type PgInsertWithout<T extends AnyPgInsert, TDynamic extends boolean, K extends keyof T & string> =\n\tTDynamic extends true ? T\n\t\t: Omit<\n\t\t\tPgInsertBase<\n\t\t\t\tT['_']['table'],\n\t\t\t\tT['_']['queryResult'],\n\t\t\t\tT['_']['returning'],\n\t\t\t\tTDynamic,\n\t\t\t\tT['_']['excludedMethods'] | K\n\t\t\t>,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>;\n\nexport type PgInsertReturning<\n\tT extends AnyPgInsert,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = PgInsertBase<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tSelectResultFields<TSelectedFields>,\n\tTDynamic,\n\tT['_']['excludedMethods']\n>;\n\nexport type PgInsertReturningAll<T extends AnyPgInsert, TDynamic extends boolean> = PgInsertBase<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['table']['$inferSelect'],\n\tTDynamic,\n\tT['_']['excludedMethods']\n>;\n\nexport interface PgInsertOnConflictDoUpdateConfig<T extends AnyPgInsert> {\n\ttarget: IndexColumn | IndexColumn[];\n\t/** @deprecated use either `targetWhere` or `setWhere` */\n\twhere?: SQL;\n\t// TODO: add tests for targetWhere and setWhere\n\ttargetWhere?: SQL;\n\tsetWhere?: SQL;\n\tset: PgUpdateSetSource<T['_']['table']>;\n}\n\nexport type PgInsertPrepare<T extends AnyPgInsert> = PgPreparedQuery<\n\tPreparedQueryConfig & {\n\t\texecute: T['_']['returning'] extends undefined ? PgQueryResultKind<T['_']['queryResult'], never>\n\t\t\t: T['_']['returning'][];\n\t}\n>;\n\nexport type PgInsertDynamic<T extends AnyPgInsert> = PgInsert<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['returning']\n>;\n\nexport type AnyPgInsert = PgInsertBase<any, any, any, any, any>;\n\nexport type PgInsert<\n\tTTable extends PgTable = PgTable,\n\tTQueryResult extends PgQueryResultHKT = PgQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = PgInsertBase<TTable, TQueryResult, TReturning, true, never>;\n\nexport interface PgInsertBase<\n\tTTable extends PgTable,\n\tTQueryResult extends PgQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[], 'pg'>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\treadonly dialect: 'pg';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport class PgInsertBase<\n\tTTable extends PgTable,\n\tTQueryResult extends PgQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[], 'pg'>,\n\t\tSQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'PgInsert';\n\n\tprivate config: PgInsertConfig<TTable>;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tvalues: PgInsertConfig['values'],\n\t\tprivate session: PgSession,\n\t\tprivate dialect: PgDialect,\n\t\twithList?: Subquery[],\n\t\tselect?: boolean,\n\t\toverridingSystemValue_?: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, values: values as any, withList, select, overridingSystemValue_ };\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the inserted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#insert-returning}\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and return all fields\n\t * const insertedCar: Car[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning();\n\t *\n\t * // Insert one row and return only the id\n\t * const insertedCarId: { id: number }[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning({ id: cars.id });\n\t * ```\n\t */\n\treturning(): PgInsertWithout<PgInsertReturningAll<this, TDynamic>, TDynamic, 'returning'>;\n\treturning<TSelectedFields extends SelectedFieldsFlat>(\n\t\tfields: TSelectedFields,\n\t): PgInsertWithout<PgInsertReturning<this, TDynamic, TSelectedFields>, TDynamic, 'returning'>;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[Table.Symbol.Columns],\n\t): PgInsertWithout<AnyPgInsert, TDynamic, 'returning'> {\n\t\tthis.config.returning = orderSelectedFields<PgColumn>(fields);\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `on conflict do nothing` clause to the query.\n\t *\n\t * Calling this method simply avoids inserting a row as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}\n\t *\n\t * @param config The `target` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and cancel the insert if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing();\n\t *\n\t * // Explicitly specify conflict target\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing({ target: cars.id });\n\t * ```\n\t */\n\tonConflictDoNothing(\n\t\tconfig: { target?: IndexColumn | IndexColumn[]; where?: SQL } = {},\n\t): PgInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'> {\n\t\tif (config.target === undefined) {\n\t\t\tthis.config.onConflict = sql`do nothing`;\n\t\t} else {\n\t\t\tlet targetColumn = '';\n\t\t\ttargetColumn = Array.isArray(config.target)\n\t\t\t\t? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(',')\n\t\t\t\t: this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));\n\n\t\t\tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t\t\tthis.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;\n\t\t}\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `on conflict do update` clause to the query.\n\t *\n\t * Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}\n\t *\n\t * @param config The `target`, `set` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Update the row if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'Porsche' }\n\t * });\n\t *\n\t * // Upsert with 'where' clause\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'newBMW' },\n\t * targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,\n\t * });\n\t * ```\n\t */\n\tonConflictDoUpdate(\n\t\tconfig: PgInsertOnConflictDoUpdateConfig<this>,\n\t): PgInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'> {\n\t\tif (config.where && (config.targetWhere || config.setWhere)) {\n\t\t\tthrow new Error(\n\t\t\t\t'You cannot use both \"where\" and \"targetWhere\"/\"setWhere\" at the same time - \"where\" is deprecated, use \"targetWhere\" or \"setWhere\" instead.',\n\t\t\t);\n\t\t}\n\t\tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t\tconst targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : undefined;\n\t\tconst setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : undefined;\n\t\tconst setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));\n\t\tlet targetColumn = '';\n\t\ttargetColumn = Array.isArray(config.target)\n\t\t\t? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(',')\n\t\t\t: this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));\n\t\tthis.config.onConflict = sql`(${\n\t\t\tsql.raw(targetColumn)\n\t\t})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildInsertQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string): PgInsertPrepare<this> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\treturn this.session.prepareQuery<\n\t\t\t\tPreparedQueryConfig & {\n\t\t\t\t\texecute: TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[];\n\t\t\t\t}\n\t\t\t>(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name, true);\n\t\t});\n\t}\n\n\tprepare(name: string): PgInsertPrepare<this> {\n\t\treturn this._prepare(name);\n\t}\n\n\tprivate authToken?: string;\n\t/** @internal */\n\tsetToken(token: string) {\n\t\tthis.authToken = token;\n\t\treturn this;\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute(placeholderValues, this.authToken);\n\t\t});\n\t};\n\n\t$dynamic(): PgInsertDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":"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","names":[]}
@@ -27,8 +27,8 @@ var import_query_promise = require("../../query-promise.cjs");
27
27
  var import_relations = require("../../relations.cjs");
28
28
  var import_tracing = require("../../tracing.cjs");
29
29
  class RelationalQueryBuilder {
30
- constructor(fullSchema, schema, tableNamesMap, table, tableConfig, dialect, session) {
31
- this.fullSchema = fullSchema;
30
+ constructor(tables, schema, tableNamesMap, table, tableConfig, dialect, session) {
31
+ this.tables = tables;
32
32
  this.schema = schema;
33
33
  this.tableNamesMap = tableNamesMap;
34
34
  this.table = table;
@@ -36,38 +36,38 @@ class RelationalQueryBuilder {
36
36
  this.dialect = dialect;
37
37
  this.session = session;
38
38
  }
39
- static [import_entity.entityKind] = "PgRelationalQueryBuilder";
39
+ static [import_entity.entityKind] = "PgRelationalQueryBuilderV2";
40
40
  findMany(config) {
41
41
  return new PgRelationalQuery(
42
- this.fullSchema,
42
+ this.tables,
43
43
  this.schema,
44
44
  this.tableNamesMap,
45
45
  this.table,
46
46
  this.tableConfig,
47
47
  this.dialect,
48
48
  this.session,
49
- config ? config : {},
49
+ config ?? true,
50
50
  "many"
51
51
  );
52
52
  }
53
53
  findFirst(config) {
54
54
  return new PgRelationalQuery(
55
- this.fullSchema,
55
+ this.tables,
56
56
  this.schema,
57
57
  this.tableNamesMap,
58
58
  this.table,
59
59
  this.tableConfig,
60
60
  this.dialect,
61
61
  this.session,
62
- config ? { ...config, limit: 1 } : { limit: 1 },
62
+ config ?? true,
63
63
  "first"
64
64
  );
65
65
  }
66
66
  }
67
67
  class PgRelationalQuery extends import_query_promise.QueryPromise {
68
- constructor(fullSchema, schema, tableNamesMap, table, tableConfig, dialect, session, config, mode) {
68
+ constructor(tables, schema, tableNamesMap, table, tableConfig, dialect, session, config, mode) {
69
69
  super();
70
- this.fullSchema = fullSchema;
70
+ this.tables = tables;
71
71
  this.schema = schema;
72
72
  this.tableNamesMap = tableNamesMap;
73
73
  this.table = table;
@@ -77,20 +77,17 @@ class PgRelationalQuery extends import_query_promise.QueryPromise {
77
77
  this.config = config;
78
78
  this.mode = mode;
79
79
  }
80
- static [import_entity.entityKind] = "PgRelationalQuery";
80
+ static [import_entity.entityKind] = "PgRelationalQueryV2";
81
81
  /** @internal */
82
82
  _prepare(name) {
83
83
  return import_tracing.tracer.startActiveSpan("drizzle.prepareQuery", () => {
84
84
  const { query, builtQuery } = this._toSQL();
85
- return this.session.prepareQuery(
85
+ return this.session.prepareRelationalQuery(
86
86
  builtQuery,
87
87
  void 0,
88
88
  name,
89
- true,
90
89
  (rawRows, mapColumnValue) => {
91
- const rows = rawRows.map(
92
- (row) => (0, import_relations.mapRelationalRow)(this.schema, this.tableConfig, row, query.selection, mapColumnValue)
93
- );
90
+ const rows = rawRows.map((row) => (0, import_relations.mapRelationalRow)(row, query.selection, mapColumnValue));
94
91
  if (this.mode === "first") {
95
92
  return rows[0];
96
93
  }
@@ -103,14 +100,14 @@ class PgRelationalQuery extends import_query_promise.QueryPromise {
103
100
  return this._prepare(name);
104
101
  }
105
102
  _getQuery() {
106
- return this.dialect.buildRelationalQueryWithoutPK({
107
- fullSchema: this.fullSchema,
103
+ return this.dialect.buildRelationalQuery({
108
104
  schema: this.schema,
109
105
  tableNamesMap: this.tableNamesMap,
110
106
  table: this.table,
111
107
  tableConfig: this.tableConfig,
112
108
  queryConfig: this.config,
113
- tableAlias: this.tableConfig.tsName
109
+ tables: this.tables,
110
+ mode: this.mode
114
111
  });
115
112
  }
116
113
  /** @internal */
@@ -125,9 +122,15 @@ class PgRelationalQuery extends import_query_promise.QueryPromise {
125
122
  toSQL() {
126
123
  return this._toSQL().builtQuery;
127
124
  }
125
+ authToken;
126
+ /** @internal */
127
+ setToken(token) {
128
+ this.authToken = token;
129
+ return this;
130
+ }
128
131
  execute() {
129
132
  return import_tracing.tracer.startActiveSpan("drizzle.operation", () => {
130
- return this._prepare().execute();
133
+ return this._prepare().execute(void 0, this.authToken);
131
134
  });
132
135
  }
133
136
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/query-builders/query.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport {\n\ttype BuildQueryResult,\n\ttype BuildRelationalQueryResult,\n\ttype DBQueryConfig,\n\tmapRelationalRow,\n\ttype TableRelationalConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, QueryWithTypings, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { KnownKeysOnly } from '~/utils.ts';\nimport type { PgDialect } from '../dialect.ts';\nimport type { PgPreparedQuery, PgSession, PreparedQueryConfig } from '../session.ts';\nimport type { PgTable } from '../table.ts';\n\nexport class RelationalQueryBuilder<TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {\n\tstatic readonly [entityKind]: string = 'PgRelationalQueryBuilder';\n\n\tconstructor(\n\t\tprivate fullSchema: Record<string, unknown>,\n\t\tprivate schema: TSchema,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: PgTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: PgDialect,\n\t\tprivate session: PgSession,\n\t) {}\n\n\tfindMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>,\n\t): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig>[]> {\n\t\treturn new PgRelationalQuery(\n\t\t\tthis.fullSchema,\n\t\t\tthis.schema,\n\t\t\tthis.tableNamesMap,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig ? (config as DBQueryConfig<'many', true>) : {},\n\t\t\t'many',\n\t\t);\n\t}\n\n\tfindFirst<TSelection extends Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(\n\t\tconfig?: KnownKeysOnly<TSelection, Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>,\n\t): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TSelection> | undefined> {\n\t\treturn new PgRelationalQuery(\n\t\t\tthis.fullSchema,\n\t\t\tthis.schema,\n\t\t\tthis.tableNamesMap,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig ? { ...(config as DBQueryConfig<'many', true> | undefined), limit: 1 } : { limit: 1 },\n\t\t\t'first',\n\t\t);\n\t}\n}\n\nexport class PgRelationalQuery<TResult> extends QueryPromise<TResult>\n\timplements RunnableQuery<TResult, 'pg'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'PgRelationalQuery';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'pg';\n\t\treadonly result: TResult;\n\t};\n\n\tconstructor(\n\t\tprivate fullSchema: Record<string, unknown>,\n\t\tprivate schema: TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: PgTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: PgDialect,\n\t\tprivate session: PgSession,\n\t\tprivate config: DBQueryConfig<'many', true> | true,\n\t\tprivate mode: 'many' | 'first',\n\t) {\n\t\tsuper();\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string): PgPreparedQuery<PreparedQueryConfig & { execute: TResult }> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst { query, builtQuery } = this._toSQL();\n\n\t\t\treturn this.session.prepareQuery<PreparedQueryConfig & { execute: TResult }>(\n\t\t\t\tbuiltQuery,\n\t\t\t\tundefined,\n\t\t\t\tname,\n\t\t\t\ttrue,\n\t\t\t\t(rawRows, mapColumnValue) => {\n\t\t\t\t\tconst rows = rawRows.map((row) =>\n\t\t\t\t\t\tmapRelationalRow(this.schema, this.tableConfig, row, query.selection, mapColumnValue)\n\t\t\t\t\t);\n\t\t\t\t\tif (this.mode === 'first') {\n\t\t\t\t\t\treturn rows[0] as TResult;\n\t\t\t\t\t}\n\t\t\t\t\treturn rows as TResult;\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\tprepare(name: string): PgPreparedQuery<PreparedQueryConfig & { execute: TResult }> {\n\t\treturn this._prepare(name);\n\t}\n\n\tprivate _getQuery() {\n\t\treturn this.dialect.buildRelationalQueryWithoutPK({\n\t\t\tfullSchema: this.fullSchema,\n\t\t\tschema: this.schema,\n\t\t\ttableNamesMap: this.tableNamesMap,\n\t\t\ttable: this.table,\n\t\t\ttableConfig: this.tableConfig,\n\t\t\tqueryConfig: this.config,\n\t\t\ttableAlias: this.tableConfig.tsName,\n\t\t});\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this._getQuery().sql as SQL;\n\t}\n\n\tprivate _toSQL(): { query: BuildRelationalQueryResult; builtQuery: QueryWithTypings } {\n\t\tconst query = this._getQuery();\n\n\t\tconst builtQuery = this.dialect.sqlToQuery(query.sql as SQL);\n\n\t\treturn { query, builtQuery };\n\t}\n\n\ttoSQL(): Query {\n\t\treturn this._toSQL().builtQuery;\n\t}\n\n\toverride execute(): Promise<TResult> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute();\n\t\t});\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,2BAA6B;AAC7B,uBAOO;AAGP,qBAAuB;AAMhB,MAAM,uBAAsG;AAAA,EAGlH,YACS,YACA,QACA,eACA,OACA,aACA,SACA,SACP;AAPO;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,EACN;AAAA,EAVH,QAAiB,wBAAU,IAAY;AAAA,EAYvC,SACC,QACmE;AACnE,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,SAAU,SAAyC,CAAC;AAAA,MACpD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,UACC,QACgF;AAChF,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,SAAS,EAAE,GAAI,QAAoD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;AAAA,MAC3F;AAAA,IACD;AAAA,EACD;AACD;AAEO,MAAM,0BAAmC,kCAEhD;AAAA,EAQC,YACS,YACA,QACA,eACA,OACA,aACA,SACA,SACA,QACA,MACP;AACD,UAAM;AAVE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,EAGT;AAAA,EAnBA,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAsBhD,SAAS,MAA4E;AACpF,WAAO,sBAAO,gBAAgB,wBAAwB,MAAM;AAC3D,YAAM,EAAE,OAAO,WAAW,IAAI,KAAK,OAAO;AAE1C,aAAO,KAAK,QAAQ;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,CAAC,SAAS,mBAAmB;AAC5B,gBAAM,OAAO,QAAQ;AAAA,YAAI,CAAC,YACzB,mCAAiB,KAAK,QAAQ,KAAK,aAAa,KAAK,MAAM,WAAW,cAAc;AAAA,UACrF;AACA,cAAI,KAAK,SAAS,SAAS;AAC1B,mBAAO,KAAK,CAAC;AAAA,UACd;AACA,iBAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD,CAAC;AAAA,EACF;AAAA,EAEA,QAAQ,MAA2E;AAClF,WAAO,KAAK,SAAS,IAAI;AAAA,EAC1B;AAAA,EAEQ,YAAY;AACnB,WAAO,KAAK,QAAQ,8BAA8B;AAAA,MACjD,YAAY,KAAK;AAAA,MACjB,QAAQ,KAAK;AAAA,MACb,eAAe,KAAK;AAAA,MACpB,OAAO,KAAK;AAAA,MACZ,aAAa,KAAK;AAAA,MAClB,aAAa,KAAK;AAAA,MAClB,YAAY,KAAK,YAAY;AAAA,IAC9B,CAAC;AAAA,EACF;AAAA;AAAA,EAGA,SAAc;AACb,WAAO,KAAK,UAAU,EAAE;AAAA,EACzB;AAAA,EAEQ,SAA8E;AACrF,UAAM,QAAQ,KAAK,UAAU;AAE7B,UAAM,aAAa,KAAK,QAAQ,WAAW,MAAM,GAAU;AAE3D,WAAO,EAAE,OAAO,WAAW;AAAA,EAC5B;AAAA,EAEA,QAAe;AACd,WAAO,KAAK,OAAO,EAAE;AAAA,EACtB;AAAA,EAES,UAA4B;AACpC,WAAO,sBAAO,gBAAgB,qBAAqB,MAAM;AACxD,aAAO,KAAK,SAAS,EAAE,QAAQ;AAAA,IAChC,CAAC;AAAA,EACF;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/query-builders/query.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport {\n\ttype BuildQueryResult,\n\ttype BuildRelationalQueryResult,\n\ttype DBQueryConfig,\n\tmapRelationalRow,\n\ttype TableRelationalConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, QueryWithTypings, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { KnownKeysOnly } from '~/utils.ts';\nimport type { PgDialect } from '../dialect.ts';\nimport type { PgPreparedQuery, PgSession, PreparedQueryConfig } from '../session.ts';\nimport type { PgTable } from '../table.ts';\n\nexport class RelationalQueryBuilder<\n\tTSchema extends TablesRelationalConfig,\n\tTFields extends TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'PgRelationalQueryBuilderV2';\n\n\tconstructor(\n\t\tprivate tables: Record<string, PgTable>,\n\t\tprivate schema: TSchema,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: PgTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: PgDialect,\n\t\tprivate session: PgSession,\n\t) {}\n\n\tfindMany<TConfig extends DBQueryConfig<'many', TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, DBQueryConfig<'many', TSchema, TFields>>,\n\t): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig>[]> {\n\t\treturn new PgRelationalQuery(\n\t\t\tthis.tables,\n\t\t\tthis.schema,\n\t\t\tthis.tableNamesMap,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig as DBQueryConfig<'many'> | undefined ?? true,\n\t\t\t'many',\n\t\t);\n\t}\n\n\tfindFirst<TConfig extends DBQueryConfig<'one', TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, DBQueryConfig<'one', TSchema, TFields>>,\n\t): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig> | undefined> {\n\t\treturn new PgRelationalQuery(\n\t\t\tthis.tables,\n\t\t\tthis.schema,\n\t\t\tthis.tableNamesMap,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig as DBQueryConfig<'one'> | undefined ?? true,\n\t\t\t'first',\n\t\t);\n\t}\n}\n\nexport class PgRelationalQuery<TResult> extends QueryPromise<TResult>\n\timplements RunnableQuery<TResult, 'pg'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'PgRelationalQueryV2';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'pg';\n\t\treadonly result: TResult;\n\t};\n\n\tconstructor(\n\t\tprivate tables: Record<string, PgTable>,\n\t\tprivate schema: TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: PgTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: PgDialect,\n\t\tprivate session: PgSession,\n\t\tprivate config: DBQueryConfig<'many' | 'one'> | true,\n\t\tprivate mode: 'many' | 'first',\n\t) {\n\t\tsuper();\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string): PgPreparedQuery<PreparedQueryConfig & { execute: TResult }> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst { query, builtQuery } = this._toSQL();\n\n\t\t\treturn this.session.prepareRelationalQuery<PreparedQueryConfig & { execute: TResult }>(\n\t\t\t\tbuiltQuery,\n\t\t\t\tundefined,\n\t\t\t\tname,\n\t\t\t\t(rawRows, mapColumnValue) => {\n\t\t\t\t\tconst rows = rawRows.map((row) => mapRelationalRow(row, query.selection, mapColumnValue));\n\t\t\t\t\tif (this.mode === 'first') {\n\t\t\t\t\t\treturn rows[0] as TResult;\n\t\t\t\t\t}\n\t\t\t\t\treturn rows as TResult;\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\tprepare(name: string): PgPreparedQuery<PreparedQueryConfig & { execute: TResult }> {\n\t\treturn this._prepare(name);\n\t}\n\n\tprivate _getQuery() {\n\t\treturn this.dialect.buildRelationalQuery({\n\t\t\tschema: this.schema,\n\t\t\ttableNamesMap: this.tableNamesMap,\n\t\t\ttable: this.table,\n\t\t\ttableConfig: this.tableConfig,\n\t\t\tqueryConfig: this.config,\n\t\t\ttables: this.tables,\n\t\t\tmode: this.mode,\n\t\t});\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this._getQuery().sql;\n\t}\n\n\tprivate _toSQL(): { query: BuildRelationalQueryResult; builtQuery: QueryWithTypings } {\n\t\tconst query = this._getQuery();\n\n\t\tconst builtQuery = this.dialect.sqlToQuery(query.sql);\n\n\t\treturn { query, builtQuery };\n\t}\n\n\ttoSQL(): Query {\n\t\treturn this._toSQL().builtQuery;\n\t}\n\n\tprivate authToken?: string;\n\t/** @internal */\n\tsetToken(token: string) {\n\t\tthis.authToken = token;\n\t\treturn this;\n\t}\n\n\toverride execute(): Promise<TResult> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute(undefined, this.authToken);\n\t\t});\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,2BAA6B;AAC7B,uBAOO;AAGP,qBAAuB;AAMhB,MAAM,uBAGX;AAAA,EAGD,YACS,QACA,QACA,eACA,OACA,aACA,SACA,SACP;AAPO;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,EACN;AAAA,EAVH,QAAiB,wBAAU,IAAY;AAAA,EAYvC,SACC,QACmE;AACnE,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,UAA+C;AAAA,MAC/C;AAAA,IACD;AAAA,EACD;AAAA,EAEA,UACC,QAC6E;AAC7E,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,UAA8C;AAAA,MAC9C;AAAA,IACD;AAAA,EACD;AACD;AAEO,MAAM,0BAAmC,kCAEhD;AAAA,EAQC,YACS,QACA,QACA,eACA,OACA,aACA,SACA,SACA,QACA,MACP;AACD,UAAM;AAVE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,EAGT;AAAA,EAnBA,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAsBhD,SAAS,MAA4E;AACpF,WAAO,sBAAO,gBAAgB,wBAAwB,MAAM;AAC3D,YAAM,EAAE,OAAO,WAAW,IAAI,KAAK,OAAO;AAE1C,aAAO,KAAK,QAAQ;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,QACA,CAAC,SAAS,mBAAmB;AAC5B,gBAAM,OAAO,QAAQ,IAAI,CAAC,YAAQ,mCAAiB,KAAK,MAAM,WAAW,cAAc,CAAC;AACxF,cAAI,KAAK,SAAS,SAAS;AAC1B,mBAAO,KAAK,CAAC;AAAA,UACd;AACA,iBAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD,CAAC;AAAA,EACF;AAAA,EAEA,QAAQ,MAA2E;AAClF,WAAO,KAAK,SAAS,IAAI;AAAA,EAC1B;AAAA,EAEQ,YAAY;AACnB,WAAO,KAAK,QAAQ,qBAAqB;AAAA,MACxC,QAAQ,KAAK;AAAA,MACb,eAAe,KAAK;AAAA,MACpB,OAAO,KAAK;AAAA,MACZ,aAAa,KAAK;AAAA,MAClB,aAAa,KAAK;AAAA,MAClB,QAAQ,KAAK;AAAA,MACb,MAAM,KAAK;AAAA,IACZ,CAAC;AAAA,EACF;AAAA;AAAA,EAGA,SAAc;AACb,WAAO,KAAK,UAAU,EAAE;AAAA,EACzB;AAAA,EAEQ,SAA8E;AACrF,UAAM,QAAQ,KAAK,UAAU;AAE7B,UAAM,aAAa,KAAK,QAAQ,WAAW,MAAM,GAAG;AAEpD,WAAO,EAAE,OAAO,WAAW;AAAA,EAC5B;AAAA,EAEA,QAAe;AACd,WAAO,KAAK,OAAO,EAAE;AAAA,EACtB;AAAA,EAEQ;AAAA;AAAA,EAER,SAAS,OAAe;AACvB,SAAK,YAAY;AACjB,WAAO;AAAA,EACR;AAAA,EAES,UAA4B;AACpC,WAAO,sBAAO,gBAAgB,qBAAqB,MAAM;AACxD,aAAO,KAAK,SAAS,EAAE,QAAQ,QAAW,KAAK,SAAS;AAAA,IACzD,CAAC;AAAA,EACF;AACD;","names":[]}
@@ -8,7 +8,7 @@ import type { PgDialect } from "../dialect.cjs";
8
8
  import type { PgPreparedQuery, PgSession, PreparedQueryConfig } from "../session.cjs";
9
9
  import type { PgTable } from "../table.cjs";
10
10
  export declare class RelationalQueryBuilder<TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {
11
- private fullSchema;
11
+ private tables;
12
12
  private schema;
13
13
  private tableNamesMap;
14
14
  private table;
@@ -16,12 +16,12 @@ export declare class RelationalQueryBuilder<TSchema extends TablesRelationalConf
16
16
  private dialect;
17
17
  private session;
18
18
  static readonly [entityKind]: string;
19
- constructor(fullSchema: Record<string, unknown>, schema: TSchema, tableNamesMap: Record<string, string>, table: PgTable, tableConfig: TableRelationalConfig, dialect: PgDialect, session: PgSession);
20
- findMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig>[]>;
21
- findFirst<TSelection extends Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(config?: KnownKeysOnly<TSelection, Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TSelection> | undefined>;
19
+ constructor(tables: Record<string, PgTable>, schema: TSchema, tableNamesMap: Record<string, string>, table: PgTable, tableConfig: TableRelationalConfig, dialect: PgDialect, session: PgSession);
20
+ findMany<TConfig extends DBQueryConfig<'many', TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', TSchema, TFields>>): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig>[]>;
21
+ findFirst<TConfig extends DBQueryConfig<'one', TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'one', TSchema, TFields>>): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig> | undefined>;
22
22
  }
23
23
  export declare class PgRelationalQuery<TResult> extends QueryPromise<TResult> implements RunnableQuery<TResult, 'pg'>, SQLWrapper {
24
- private fullSchema;
24
+ private tables;
25
25
  private schema;
26
26
  private tableNamesMap;
27
27
  private table;
@@ -35,12 +35,13 @@ export declare class PgRelationalQuery<TResult> extends QueryPromise<TResult> im
35
35
  readonly dialect: 'pg';
36
36
  readonly result: TResult;
37
37
  };
38
- constructor(fullSchema: Record<string, unknown>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: PgTable, tableConfig: TableRelationalConfig, dialect: PgDialect, session: PgSession, config: DBQueryConfig<'many', true> | true, mode: 'many' | 'first');
38
+ constructor(tables: Record<string, PgTable>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: PgTable, tableConfig: TableRelationalConfig, dialect: PgDialect, session: PgSession, config: DBQueryConfig<'many' | 'one'> | true, mode: 'many' | 'first');
39
39
  prepare(name: string): PgPreparedQuery<PreparedQueryConfig & {
40
40
  execute: TResult;
41
41
  }>;
42
42
  private _getQuery;
43
43
  private _toSQL;
44
44
  toSQL(): Query;
45
+ private authToken?;
45
46
  execute(): Promise<TResult>;
46
47
  }
@@ -8,7 +8,7 @@ import type { PgDialect } from "../dialect.js";
8
8
  import type { PgPreparedQuery, PgSession, PreparedQueryConfig } from "../session.js";
9
9
  import type { PgTable } from "../table.js";
10
10
  export declare class RelationalQueryBuilder<TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {
11
- private fullSchema;
11
+ private tables;
12
12
  private schema;
13
13
  private tableNamesMap;
14
14
  private table;
@@ -16,12 +16,12 @@ export declare class RelationalQueryBuilder<TSchema extends TablesRelationalConf
16
16
  private dialect;
17
17
  private session;
18
18
  static readonly [entityKind]: string;
19
- constructor(fullSchema: Record<string, unknown>, schema: TSchema, tableNamesMap: Record<string, string>, table: PgTable, tableConfig: TableRelationalConfig, dialect: PgDialect, session: PgSession);
20
- findMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig>[]>;
21
- findFirst<TSelection extends Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(config?: KnownKeysOnly<TSelection, Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TSelection> | undefined>;
19
+ constructor(tables: Record<string, PgTable>, schema: TSchema, tableNamesMap: Record<string, string>, table: PgTable, tableConfig: TableRelationalConfig, dialect: PgDialect, session: PgSession);
20
+ findMany<TConfig extends DBQueryConfig<'many', TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', TSchema, TFields>>): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig>[]>;
21
+ findFirst<TConfig extends DBQueryConfig<'one', TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'one', TSchema, TFields>>): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig> | undefined>;
22
22
  }
23
23
  export declare class PgRelationalQuery<TResult> extends QueryPromise<TResult> implements RunnableQuery<TResult, 'pg'>, SQLWrapper {
24
- private fullSchema;
24
+ private tables;
25
25
  private schema;
26
26
  private tableNamesMap;
27
27
  private table;
@@ -35,12 +35,13 @@ export declare class PgRelationalQuery<TResult> extends QueryPromise<TResult> im
35
35
  readonly dialect: 'pg';
36
36
  readonly result: TResult;
37
37
  };
38
- constructor(fullSchema: Record<string, unknown>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: PgTable, tableConfig: TableRelationalConfig, dialect: PgDialect, session: PgSession, config: DBQueryConfig<'many', true> | true, mode: 'many' | 'first');
38
+ constructor(tables: Record<string, PgTable>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: PgTable, tableConfig: TableRelationalConfig, dialect: PgDialect, session: PgSession, config: DBQueryConfig<'many' | 'one'> | true, mode: 'many' | 'first');
39
39
  prepare(name: string): PgPreparedQuery<PreparedQueryConfig & {
40
40
  execute: TResult;
41
41
  }>;
42
42
  private _getQuery;
43
43
  private _toSQL;
44
44
  toSQL(): Query;
45
+ private authToken?;
45
46
  execute(): Promise<TResult>;
46
47
  }