drizzle-orm 0.40.0 → 1.0.0-beta.1-cacd055

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 (735) 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 +9 -8
  14. package/aws-data-api/pg/driver.d.ts +9 -8
  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 +7 -6
  30. package/better-sqlite3/driver.d.ts +7 -6
  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-sql/driver.cjs +16 -5
  44. package/bun-sql/driver.cjs.map +1 -1
  45. package/bun-sql/driver.d.cts +7 -6
  46. package/bun-sql/driver.d.ts +7 -6
  47. package/bun-sql/driver.js +6 -8
  48. package/bun-sql/driver.js.map +1 -1
  49. package/bun-sql/migrator.cjs.map +1 -1
  50. package/bun-sql/migrator.d.cts +2 -1
  51. package/bun-sql/migrator.d.ts +2 -1
  52. package/bun-sql/migrator.js.map +1 -1
  53. package/bun-sql/session.cjs +50 -6
  54. package/bun-sql/session.cjs.map +1 -1
  55. package/bun-sql/session.d.cts +14 -9
  56. package/bun-sql/session.d.ts +14 -9
  57. package/bun-sql/session.js +50 -6
  58. package/bun-sql/session.js.map +1 -1
  59. package/bun-sqlite/driver.cjs +22 -5
  60. package/bun-sqlite/driver.cjs.map +1 -1
  61. package/bun-sqlite/driver.d.cts +7 -6
  62. package/bun-sqlite/driver.d.ts +7 -6
  63. package/bun-sqlite/driver.js +12 -8
  64. package/bun-sqlite/driver.js.map +1 -1
  65. package/bun-sqlite/migrator.cjs.map +1 -1
  66. package/bun-sqlite/migrator.d.cts +2 -1
  67. package/bun-sqlite/migrator.d.ts +2 -1
  68. package/bun-sqlite/migrator.js.map +1 -1
  69. package/bun-sqlite/session.cjs +49 -4
  70. package/bun-sqlite/session.cjs.map +1 -1
  71. package/bun-sqlite/session.d.cts +14 -8
  72. package/bun-sqlite/session.d.ts +14 -8
  73. package/bun-sqlite/session.js +49 -4
  74. package/bun-sqlite/session.js.map +1 -1
  75. package/casing.cjs +3 -0
  76. package/casing.cjs.map +1 -1
  77. package/casing.d.cts +1 -1
  78. package/casing.d.ts +1 -1
  79. package/casing.js +4 -1
  80. package/casing.js.map +1 -1
  81. package/d1/driver.cjs +22 -5
  82. package/d1/driver.cjs.map +1 -1
  83. package/d1/driver.d.cts +3 -2
  84. package/d1/driver.d.ts +3 -2
  85. package/d1/driver.js +12 -8
  86. package/d1/driver.js.map +1 -1
  87. package/d1/migrator.cjs.map +1 -1
  88. package/d1/migrator.d.cts +2 -1
  89. package/d1/migrator.d.ts +2 -1
  90. package/d1/migrator.js.map +1 -1
  91. package/d1/session.cjs +50 -8
  92. package/d1/session.cjs.map +1 -1
  93. package/d1/session.d.cts +15 -8
  94. package/d1/session.d.ts +15 -8
  95. package/d1/session.js +50 -8
  96. package/d1/session.js.map +1 -1
  97. package/durable-sqlite/driver.cjs +16 -5
  98. package/durable-sqlite/driver.cjs.map +1 -1
  99. package/durable-sqlite/driver.d.cts +3 -2
  100. package/durable-sqlite/driver.d.ts +3 -2
  101. package/durable-sqlite/driver.js +6 -8
  102. package/durable-sqlite/driver.js.map +1 -1
  103. package/durable-sqlite/migrator.cjs.map +1 -1
  104. package/durable-sqlite/migrator.d.cts +2 -1
  105. package/durable-sqlite/migrator.d.ts +2 -1
  106. package/durable-sqlite/migrator.js.map +1 -1
  107. package/durable-sqlite/session.cjs +46 -4
  108. package/durable-sqlite/session.cjs.map +1 -1
  109. package/durable-sqlite/session.d.cts +14 -8
  110. package/durable-sqlite/session.d.ts +14 -8
  111. package/durable-sqlite/session.js +46 -4
  112. package/durable-sqlite/session.js.map +1 -1
  113. package/expo-sqlite/driver.cjs +22 -5
  114. package/expo-sqlite/driver.cjs.map +1 -1
  115. package/expo-sqlite/driver.d.cts +3 -2
  116. package/expo-sqlite/driver.d.ts +3 -2
  117. package/expo-sqlite/driver.js +12 -8
  118. package/expo-sqlite/driver.js.map +1 -1
  119. package/expo-sqlite/migrator.cjs.map +1 -1
  120. package/expo-sqlite/migrator.d.cts +3 -2
  121. package/expo-sqlite/migrator.d.ts +3 -2
  122. package/expo-sqlite/migrator.js.map +1 -1
  123. package/expo-sqlite/query.cjs +13 -2
  124. package/expo-sqlite/query.cjs.map +1 -1
  125. package/expo-sqlite/query.d.cts +2 -1
  126. package/expo-sqlite/query.d.ts +2 -1
  127. package/expo-sqlite/query.js +3 -2
  128. package/expo-sqlite/query.js.map +1 -1
  129. package/expo-sqlite/session.cjs +47 -4
  130. package/expo-sqlite/session.cjs.map +1 -1
  131. package/expo-sqlite/session.d.cts +14 -8
  132. package/expo-sqlite/session.d.ts +14 -8
  133. package/expo-sqlite/session.js +47 -4
  134. package/expo-sqlite/session.js.map +1 -1
  135. package/gel/driver.cjs +17 -6
  136. package/gel/driver.cjs.map +1 -1
  137. package/gel/driver.d.cts +8 -7
  138. package/gel/driver.d.ts +8 -7
  139. package/gel/driver.js +7 -9
  140. package/gel/driver.js.map +1 -1
  141. package/gel/migrator.cjs.map +1 -1
  142. package/gel/migrator.d.cts +1 -1
  143. package/gel/migrator.d.ts +1 -1
  144. package/gel/migrator.js.map +1 -1
  145. package/gel/session.cjs +46 -4
  146. package/gel/session.cjs.map +1 -1
  147. package/gel/session.d.cts +13 -8
  148. package/gel/session.d.ts +13 -8
  149. package/gel/session.js +46 -4
  150. package/gel/session.js.map +1 -1
  151. package/gel-core/columns/timestamptz.cjs +5 -0
  152. package/gel-core/columns/timestamptz.cjs.map +1 -1
  153. package/gel-core/columns/timestamptz.d.cts +1 -0
  154. package/gel-core/columns/timestamptz.d.ts +1 -0
  155. package/gel-core/columns/timestamptz.js +5 -0
  156. package/gel-core/columns/timestamptz.js.map +1 -1
  157. package/gel-core/db.cjs +28 -4
  158. package/gel-core/db.cjs.map +1 -1
  159. package/gel-core/db.d.cts +16 -9
  160. package/gel-core/db.d.ts +16 -9
  161. package/gel-core/db.js +27 -3
  162. package/gel-core/db.js.map +1 -1
  163. package/gel-core/dialect.cjs +172 -488
  164. package/gel-core/dialect.cjs.map +1 -1
  165. package/gel-core/dialect.d.cts +26 -8
  166. package/gel-core/dialect.d.ts +26 -8
  167. package/gel-core/dialect.js +170 -495
  168. package/gel-core/dialect.js.map +1 -1
  169. package/gel-core/query-builders/_query.cjs +149 -0
  170. package/gel-core/query-builders/_query.cjs.map +1 -0
  171. package/gel-core/query-builders/_query.d.cts +46 -0
  172. package/gel-core/query-builders/_query.d.ts +46 -0
  173. package/gel-core/query-builders/_query.js +114 -0
  174. package/gel-core/query-builders/_query.js.map +1 -0
  175. package/gel-core/query-builders/query.cjs +27 -24
  176. package/gel-core/query-builders/query.cjs.map +1 -1
  177. package/gel-core/query-builders/query.d.cts +9 -8
  178. package/gel-core/query-builders/query.d.ts +9 -8
  179. package/gel-core/query-builders/query.js +26 -23
  180. package/gel-core/query-builders/query.js.map +1 -1
  181. package/gel-core/session.cjs +3 -2
  182. package/gel-core/session.cjs.map +1 -1
  183. package/gel-core/session.d.cts +9 -6
  184. package/gel-core/session.d.ts +9 -6
  185. package/gel-core/session.js +3 -2
  186. package/gel-core/session.js.map +1 -1
  187. package/libsql/driver-core.cjs +22 -5
  188. package/libsql/driver-core.cjs.map +1 -1
  189. package/libsql/driver-core.d.cts +2 -1
  190. package/libsql/driver-core.d.ts +2 -1
  191. package/libsql/driver-core.js +12 -8
  192. package/libsql/driver-core.js.map +1 -1
  193. package/libsql/driver.cjs.map +1 -1
  194. package/libsql/driver.d.cts +6 -5
  195. package/libsql/driver.d.ts +6 -5
  196. package/libsql/driver.js.map +1 -1
  197. package/libsql/http/index.cjs.map +1 -1
  198. package/libsql/http/index.d.cts +6 -5
  199. package/libsql/http/index.d.ts +6 -5
  200. package/libsql/http/index.js.map +1 -1
  201. package/libsql/migrator.cjs.map +1 -1
  202. package/libsql/migrator.d.cts +2 -1
  203. package/libsql/migrator.d.ts +2 -1
  204. package/libsql/migrator.js.map +1 -1
  205. package/libsql/node/index.cjs.map +1 -1
  206. package/libsql/node/index.d.cts +6 -5
  207. package/libsql/node/index.d.ts +6 -5
  208. package/libsql/node/index.js.map +1 -1
  209. package/libsql/session.cjs +56 -4
  210. package/libsql/session.cjs.map +1 -1
  211. package/libsql/session.d.cts +15 -9
  212. package/libsql/session.d.ts +15 -9
  213. package/libsql/session.js +56 -4
  214. package/libsql/session.js.map +1 -1
  215. package/libsql/sqlite3/index.cjs.map +1 -1
  216. package/libsql/sqlite3/index.d.cts +6 -5
  217. package/libsql/sqlite3/index.d.ts +6 -5
  218. package/libsql/sqlite3/index.js.map +1 -1
  219. package/libsql/wasm/index.cjs.map +1 -1
  220. package/libsql/wasm/index.d.cts +6 -5
  221. package/libsql/wasm/index.d.ts +6 -5
  222. package/libsql/wasm/index.js.map +1 -1
  223. package/libsql/web/index.cjs.map +1 -1
  224. package/libsql/web/index.d.cts +6 -5
  225. package/libsql/web/index.d.ts +6 -5
  226. package/libsql/web/index.js.map +1 -1
  227. package/libsql/ws/index.cjs.map +1 -1
  228. package/libsql/ws/index.d.cts +6 -5
  229. package/libsql/ws/index.d.ts +6 -5
  230. package/libsql/ws/index.js.map +1 -1
  231. package/mysql-core/columns/binary.cjs +11 -0
  232. package/mysql-core/columns/binary.cjs.map +1 -1
  233. package/mysql-core/columns/binary.d.cts +1 -0
  234. package/mysql-core/columns/binary.d.ts +1 -0
  235. package/mysql-core/columns/binary.js +11 -0
  236. package/mysql-core/columns/binary.js.map +1 -1
  237. package/mysql-core/columns/decimal.cjs +5 -0
  238. package/mysql-core/columns/decimal.cjs.map +1 -1
  239. package/mysql-core/columns/decimal.d.cts +1 -0
  240. package/mysql-core/columns/decimal.d.ts +1 -0
  241. package/mysql-core/columns/decimal.js +5 -0
  242. package/mysql-core/columns/decimal.js.map +1 -1
  243. package/mysql-core/columns/float.cjs +6 -0
  244. package/mysql-core/columns/float.cjs.map +1 -1
  245. package/mysql-core/columns/float.d.cts +1 -0
  246. package/mysql-core/columns/float.d.ts +1 -0
  247. package/mysql-core/columns/float.js +6 -0
  248. package/mysql-core/columns/float.js.map +1 -1
  249. package/mysql-core/columns/varbinary.cjs +11 -0
  250. package/mysql-core/columns/varbinary.cjs.map +1 -1
  251. package/mysql-core/columns/varbinary.d.cts +1 -0
  252. package/mysql-core/columns/varbinary.d.ts +1 -0
  253. package/mysql-core/columns/varbinary.js +11 -0
  254. package/mysql-core/columns/varbinary.js.map +1 -1
  255. package/mysql-core/columns/varchar.cjs.map +1 -1
  256. package/mysql-core/columns/varchar.d.cts +1 -1
  257. package/mysql-core/columns/varchar.d.ts +1 -1
  258. package/mysql-core/columns/varchar.js.map +1 -1
  259. package/mysql-core/db.cjs +30 -6
  260. package/mysql-core/db.cjs.map +1 -1
  261. package/mysql-core/db.d.cts +15 -8
  262. package/mysql-core/db.d.ts +15 -8
  263. package/mysql-core/db.js +29 -5
  264. package/mysql-core/db.js.map +1 -1
  265. package/mysql-core/dialect.cjs +208 -15
  266. package/mysql-core/dialect.cjs.map +1 -1
  267. package/mysql-core/dialect.d.cts +36 -13
  268. package/mysql-core/dialect.d.ts +36 -13
  269. package/mysql-core/dialect.js +206 -22
  270. package/mysql-core/dialect.js.map +1 -1
  271. package/mysql-core/query-builders/_query.cjs +149 -0
  272. package/mysql-core/query-builders/_query.cjs.map +1 -0
  273. package/mysql-core/query-builders/_query.d.cts +44 -0
  274. package/mysql-core/query-builders/_query.d.ts +44 -0
  275. package/mysql-core/query-builders/_query.js +114 -0
  276. package/mysql-core/query-builders/_query.js.map +1 -0
  277. package/mysql-core/query-builders/count.cjs.map +1 -1
  278. package/mysql-core/query-builders/count.d.cts +1 -1
  279. package/mysql-core/query-builders/count.d.ts +1 -1
  280. package/mysql-core/query-builders/count.js.map +1 -1
  281. package/mysql-core/query-builders/query.cjs +18 -31
  282. package/mysql-core/query-builders/query.cjs.map +1 -1
  283. package/mysql-core/query-builders/query.d.cts +8 -10
  284. package/mysql-core/query-builders/query.d.ts +8 -10
  285. package/mysql-core/query-builders/query.js +18 -31
  286. package/mysql-core/query-builders/query.js.map +1 -1
  287. package/mysql-core/session.cjs +3 -2
  288. package/mysql-core/session.cjs.map +1 -1
  289. package/mysql-core/session.d.cts +10 -7
  290. package/mysql-core/session.d.ts +10 -7
  291. package/mysql-core/session.js +3 -2
  292. package/mysql-core/session.js.map +1 -1
  293. package/mysql-proxy/driver.cjs +22 -5
  294. package/mysql-proxy/driver.cjs.map +1 -1
  295. package/mysql-proxy/driver.d.cts +3 -2
  296. package/mysql-proxy/driver.d.ts +3 -2
  297. package/mysql-proxy/driver.js +12 -8
  298. package/mysql-proxy/driver.js.map +1 -1
  299. package/mysql-proxy/migrator.cjs.map +1 -1
  300. package/mysql-proxy/migrator.d.cts +2 -1
  301. package/mysql-proxy/migrator.d.ts +2 -1
  302. package/mysql-proxy/migrator.js.map +1 -1
  303. package/mysql-proxy/session.cjs +27 -2
  304. package/mysql-proxy/session.cjs.map +1 -1
  305. package/mysql-proxy/session.d.cts +13 -8
  306. package/mysql-proxy/session.d.ts +13 -8
  307. package/mysql-proxy/session.js +27 -2
  308. package/mysql-proxy/session.js.map +1 -1
  309. package/mysql2/driver.cjs +24 -7
  310. package/mysql2/driver.cjs.map +1 -1
  311. package/mysql2/driver.d.cts +10 -9
  312. package/mysql2/driver.d.ts +10 -9
  313. package/mysql2/driver.js +14 -10
  314. package/mysql2/driver.js.map +1 -1
  315. package/mysql2/migrator.cjs.map +1 -1
  316. package/mysql2/migrator.d.cts +2 -1
  317. package/mysql2/migrator.d.ts +2 -1
  318. package/mysql2/migrator.js.map +1 -1
  319. package/mysql2/session.cjs +30 -2
  320. package/mysql2/session.cjs.map +1 -1
  321. package/mysql2/session.d.cts +13 -8
  322. package/mysql2/session.d.ts +13 -8
  323. package/mysql2/session.js +30 -2
  324. package/mysql2/session.js.map +1 -1
  325. package/neon-http/driver.cjs +21 -7
  326. package/neon-http/driver.cjs.map +1 -1
  327. package/neon-http/driver.d.cts +10 -9
  328. package/neon-http/driver.d.ts +10 -9
  329. package/neon-http/driver.js +11 -7
  330. package/neon-http/driver.js.map +1 -1
  331. package/neon-http/migrator.cjs.map +1 -1
  332. package/neon-http/migrator.d.cts +2 -1
  333. package/neon-http/migrator.d.ts +2 -1
  334. package/neon-http/migrator.js.map +1 -1
  335. package/neon-http/session.cjs +32 -2
  336. package/neon-http/session.cjs.map +1 -1
  337. package/neon-http/session.d.cts +13 -8
  338. package/neon-http/session.d.ts +13 -8
  339. package/neon-http/session.js +32 -2
  340. package/neon-http/session.js.map +1 -1
  341. package/neon-serverless/driver.cjs +18 -7
  342. package/neon-serverless/driver.cjs.map +1 -1
  343. package/neon-serverless/driver.d.cts +9 -8
  344. package/neon-serverless/driver.d.ts +9 -8
  345. package/neon-serverless/driver.js +8 -10
  346. package/neon-serverless/driver.js.map +1 -1
  347. package/neon-serverless/migrator.cjs.map +1 -1
  348. package/neon-serverless/migrator.d.cts +2 -1
  349. package/neon-serverless/migrator.d.ts +2 -1
  350. package/neon-serverless/migrator.js.map +1 -1
  351. package/neon-serverless/session.cjs +64 -5
  352. package/neon-serverless/session.cjs.map +1 -1
  353. package/neon-serverless/session.d.cts +13 -8
  354. package/neon-serverless/session.d.ts +13 -8
  355. package/neon-serverless/session.js +64 -5
  356. package/neon-serverless/session.js.map +1 -1
  357. package/node-postgres/driver.cjs +13 -7
  358. package/node-postgres/driver.cjs.map +1 -1
  359. package/node-postgres/driver.d.cts +9 -8
  360. package/node-postgres/driver.d.ts +9 -8
  361. package/node-postgres/driver.js +13 -10
  362. package/node-postgres/driver.js.map +1 -1
  363. package/node-postgres/migrator.cjs.map +1 -1
  364. package/node-postgres/migrator.d.cts +2 -1
  365. package/node-postgres/migrator.d.ts +2 -1
  366. package/node-postgres/migrator.js.map +1 -1
  367. package/node-postgres/session.cjs +69 -4
  368. package/node-postgres/session.cjs.map +1 -1
  369. package/node-postgres/session.d.cts +13 -8
  370. package/node-postgres/session.d.ts +13 -8
  371. package/node-postgres/session.js +69 -4
  372. package/node-postgres/session.js.map +1 -1
  373. package/op-sqlite/driver.cjs +22 -5
  374. package/op-sqlite/driver.cjs.map +1 -1
  375. package/op-sqlite/driver.d.cts +3 -2
  376. package/op-sqlite/driver.d.ts +3 -2
  377. package/op-sqlite/driver.js +12 -8
  378. package/op-sqlite/driver.js.map +1 -1
  379. package/op-sqlite/migrator.cjs.map +1 -1
  380. package/op-sqlite/migrator.d.cts +3 -2
  381. package/op-sqlite/migrator.d.ts +3 -2
  382. package/op-sqlite/migrator.js.map +1 -1
  383. package/op-sqlite/session.cjs +47 -4
  384. package/op-sqlite/session.cjs.map +1 -1
  385. package/op-sqlite/session.d.cts +14 -8
  386. package/op-sqlite/session.d.ts +14 -8
  387. package/op-sqlite/session.js +47 -4
  388. package/op-sqlite/session.js.map +1 -1
  389. package/package.json +111 -51
  390. package/pg-core/columns/numeric.cjs +5 -0
  391. package/pg-core/columns/numeric.cjs.map +1 -1
  392. package/pg-core/columns/numeric.d.cts +1 -0
  393. package/pg-core/columns/numeric.d.ts +1 -0
  394. package/pg-core/columns/numeric.js +5 -0
  395. package/pg-core/columns/numeric.js.map +1 -1
  396. package/pg-core/columns/postgis_extension/geometry.cjs +2 -0
  397. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  398. package/pg-core/columns/postgis_extension/geometry.d.cts +1 -1
  399. package/pg-core/columns/postgis_extension/geometry.d.ts +1 -1
  400. package/pg-core/columns/postgis_extension/geometry.js +2 -0
  401. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  402. package/pg-core/db.cjs +32 -5
  403. package/pg-core/db.cjs.map +1 -1
  404. package/pg-core/db.d.cts +16 -9
  405. package/pg-core/db.d.ts +16 -9
  406. package/pg-core/db.js +31 -4
  407. package/pg-core/db.js.map +1 -1
  408. package/pg-core/dialect.cjs +190 -488
  409. package/pg-core/dialect.cjs.map +1 -1
  410. package/pg-core/dialect.d.cts +27 -8
  411. package/pg-core/dialect.d.ts +27 -8
  412. package/pg-core/dialect.js +189 -495
  413. package/pg-core/dialect.js.map +1 -1
  414. package/pg-core/query-builders/_query.cjs +155 -0
  415. package/pg-core/query-builders/_query.cjs.map +1 -0
  416. package/pg-core/query-builders/_query.d.cts +47 -0
  417. package/pg-core/query-builders/_query.d.ts +47 -0
  418. package/pg-core/query-builders/_query.js +120 -0
  419. package/pg-core/query-builders/_query.js.map +1 -0
  420. package/pg-core/query-builders/count.cjs.map +1 -1
  421. package/pg-core/query-builders/count.d.cts +1 -1
  422. package/pg-core/query-builders/count.d.ts +1 -1
  423. package/pg-core/query-builders/count.js.map +1 -1
  424. package/pg-core/query-builders/query.cjs +15 -18
  425. package/pg-core/query-builders/query.cjs.map +1 -1
  426. package/pg-core/query-builders/query.d.cts +6 -6
  427. package/pg-core/query-builders/query.d.ts +6 -6
  428. package/pg-core/query-builders/query.js +15 -18
  429. package/pg-core/query-builders/query.js.map +1 -1
  430. package/pg-core/session.cjs +3 -2
  431. package/pg-core/session.cjs.map +1 -1
  432. package/pg-core/session.d.cts +9 -6
  433. package/pg-core/session.d.ts +9 -6
  434. package/pg-core/session.js +3 -2
  435. package/pg-core/session.js.map +1 -1
  436. package/pg-proxy/driver.cjs +21 -5
  437. package/pg-proxy/driver.cjs.map +1 -1
  438. package/pg-proxy/driver.d.cts +3 -2
  439. package/pg-proxy/driver.d.ts +3 -2
  440. package/pg-proxy/driver.js +11 -8
  441. package/pg-proxy/driver.js.map +1 -1
  442. package/pg-proxy/migrator.cjs.map +1 -1
  443. package/pg-proxy/migrator.d.cts +2 -1
  444. package/pg-proxy/migrator.d.ts +2 -1
  445. package/pg-proxy/migrator.js.map +1 -1
  446. package/pg-proxy/session.cjs +37 -2
  447. package/pg-proxy/session.cjs.map +1 -1
  448. package/pg-proxy/session.d.cts +13 -8
  449. package/pg-proxy/session.d.ts +13 -8
  450. package/pg-proxy/session.js +37 -2
  451. package/pg-proxy/session.js.map +1 -1
  452. package/pglite/driver.cjs +23 -7
  453. package/pglite/driver.cjs.map +1 -1
  454. package/pglite/driver.d.cts +9 -8
  455. package/pglite/driver.d.ts +9 -8
  456. package/pglite/driver.js +13 -10
  457. package/pglite/driver.js.map +1 -1
  458. package/pglite/migrator.cjs.map +1 -1
  459. package/pglite/migrator.d.cts +2 -1
  460. package/pglite/migrator.d.ts +2 -1
  461. package/pglite/migrator.js.map +1 -1
  462. package/pglite/session.cjs +48 -5
  463. package/pglite/session.cjs.map +1 -1
  464. package/pglite/session.d.cts +13 -8
  465. package/pglite/session.d.ts +13 -8
  466. package/pglite/session.js +48 -5
  467. package/pglite/session.js.map +1 -1
  468. package/planetscale-serverless/driver.cjs +22 -5
  469. package/planetscale-serverless/driver.cjs.map +1 -1
  470. package/planetscale-serverless/driver.d.cts +7 -6
  471. package/planetscale-serverless/driver.d.ts +7 -6
  472. package/planetscale-serverless/driver.js +12 -8
  473. package/planetscale-serverless/driver.js.map +1 -1
  474. package/planetscale-serverless/migrator.cjs.map +1 -1
  475. package/planetscale-serverless/migrator.d.cts +2 -1
  476. package/planetscale-serverless/migrator.d.ts +2 -1
  477. package/planetscale-serverless/migrator.js.map +1 -1
  478. package/planetscale-serverless/session.cjs +45 -5
  479. package/planetscale-serverless/session.cjs.map +1 -1
  480. package/planetscale-serverless/session.d.cts +14 -9
  481. package/planetscale-serverless/session.d.ts +14 -9
  482. package/planetscale-serverless/session.js +45 -5
  483. package/planetscale-serverless/session.js.map +1 -1
  484. package/postgres-js/driver.cjs +7 -6
  485. package/postgres-js/driver.cjs.map +1 -1
  486. package/postgres-js/driver.d.cts +7 -6
  487. package/postgres-js/driver.d.ts +7 -6
  488. package/postgres-js/driver.js +7 -9
  489. package/postgres-js/driver.js.map +1 -1
  490. package/postgres-js/migrator.cjs.map +1 -1
  491. package/postgres-js/migrator.d.cts +2 -1
  492. package/postgres-js/migrator.d.ts +2 -1
  493. package/postgres-js/migrator.js.map +1 -1
  494. package/postgres-js/session.cjs +51 -6
  495. package/postgres-js/session.cjs.map +1 -1
  496. package/postgres-js/session.d.cts +15 -9
  497. package/postgres-js/session.d.ts +15 -9
  498. package/postgres-js/session.js +51 -6
  499. package/postgres-js/session.js.map +1 -1
  500. package/prisma/mysql/driver.cjs +1 -1
  501. package/prisma/mysql/driver.cjs.map +1 -1
  502. package/prisma/mysql/driver.js +1 -1
  503. package/prisma/mysql/driver.js.map +1 -1
  504. package/prisma/mysql/session.cjs +3 -0
  505. package/prisma/mysql/session.cjs.map +1 -1
  506. package/prisma/mysql/session.d.cts +3 -1
  507. package/prisma/mysql/session.d.ts +3 -1
  508. package/prisma/mysql/session.js +3 -0
  509. package/prisma/mysql/session.js.map +1 -1
  510. package/prisma/pg/driver.cjs +1 -1
  511. package/prisma/pg/driver.cjs.map +1 -1
  512. package/prisma/pg/driver.js +1 -1
  513. package/prisma/pg/driver.js.map +1 -1
  514. package/prisma/pg/session.cjs +3 -0
  515. package/prisma/pg/session.cjs.map +1 -1
  516. package/prisma/pg/session.d.cts +3 -1
  517. package/prisma/pg/session.d.ts +3 -1
  518. package/prisma/pg/session.js +3 -0
  519. package/prisma/pg/session.js.map +1 -1
  520. package/prisma/sqlite/driver.cjs +1 -1
  521. package/prisma/sqlite/driver.cjs.map +1 -1
  522. package/prisma/sqlite/driver.js +1 -1
  523. package/prisma/sqlite/driver.js.map +1 -1
  524. package/prisma/sqlite/session.cjs +3 -0
  525. package/prisma/sqlite/session.cjs.map +1 -1
  526. package/prisma/sqlite/session.d.cts +4 -2
  527. package/prisma/sqlite/session.d.ts +4 -2
  528. package/prisma/sqlite/session.js +3 -0
  529. package/prisma/sqlite/session.js.map +1 -1
  530. package/relations.cjs +657 -245
  531. package/relations.cjs.map +1 -1
  532. package/relations.d.cts +339 -140
  533. package/relations.d.ts +339 -140
  534. package/relations.js +643 -240
  535. package/relations.js.map +1 -1
  536. package/singlestore/driver.cjs +1 -1
  537. package/singlestore/driver.cjs.map +1 -1
  538. package/singlestore/driver.d.cts +1 -1
  539. package/singlestore/driver.d.ts +1 -1
  540. package/singlestore/driver.js +3 -3
  541. package/singlestore/driver.js.map +1 -1
  542. package/singlestore/session.cjs.map +1 -1
  543. package/singlestore/session.d.cts +4 -4
  544. package/singlestore/session.d.ts +4 -4
  545. package/singlestore/session.js.map +1 -1
  546. package/singlestore-core/db.cjs.map +1 -1
  547. package/singlestore-core/db.d.cts +3 -3
  548. package/singlestore-core/db.d.ts +3 -3
  549. package/singlestore-core/db.js.map +1 -1
  550. package/singlestore-core/dialect.cjs +16 -6
  551. package/singlestore-core/dialect.cjs.map +1 -1
  552. package/singlestore-core/dialect.d.cts +6 -6
  553. package/singlestore-core/dialect.d.ts +6 -6
  554. package/singlestore-core/dialect.js +6 -12
  555. package/singlestore-core/dialect.js.map +1 -1
  556. package/singlestore-core/query-builders/query.cjs +12 -2
  557. package/singlestore-core/query-builders/query.cjs.map +1 -1
  558. package/singlestore-core/query-builders/query.d.cts +6 -6
  559. package/singlestore-core/query-builders/query.d.ts +6 -6
  560. package/singlestore-core/query-builders/query.js +2 -4
  561. package/singlestore-core/query-builders/query.js.map +1 -1
  562. package/singlestore-core/session.cjs.map +1 -1
  563. package/singlestore-core/session.d.cts +5 -5
  564. package/singlestore-core/session.d.ts +5 -5
  565. package/singlestore-core/session.js.map +1 -1
  566. package/singlestore-proxy/driver.cjs +1 -1
  567. package/singlestore-proxy/driver.cjs.map +1 -1
  568. package/singlestore-proxy/driver.js +3 -3
  569. package/singlestore-proxy/driver.js.map +1 -1
  570. package/singlestore-proxy/session.cjs.map +1 -1
  571. package/singlestore-proxy/session.d.cts +4 -4
  572. package/singlestore-proxy/session.d.ts +4 -4
  573. package/singlestore-proxy/session.js.map +1 -1
  574. package/sql/expressions/conditions.cjs.map +1 -1
  575. package/sql/expressions/conditions.d.cts +4 -4
  576. package/sql/expressions/conditions.d.ts +4 -4
  577. package/sql/expressions/conditions.js.map +1 -1
  578. package/sql/sql.cjs +21 -0
  579. package/sql/sql.cjs.map +1 -1
  580. package/sql/sql.d.cts +8 -8
  581. package/sql/sql.d.ts +8 -8
  582. package/sql/sql.js +22 -1
  583. package/sql/sql.js.map +1 -1
  584. package/sql-js/driver.cjs +16 -5
  585. package/sql-js/driver.cjs.map +1 -1
  586. package/sql-js/driver.d.cts +3 -2
  587. package/sql-js/driver.d.ts +3 -2
  588. package/sql-js/driver.js +6 -8
  589. package/sql-js/driver.js.map +1 -1
  590. package/sql-js/migrator.cjs.map +1 -1
  591. package/sql-js/migrator.d.cts +2 -1
  592. package/sql-js/migrator.d.ts +2 -1
  593. package/sql-js/migrator.js.map +1 -1
  594. package/sql-js/session.cjs +71 -36
  595. package/sql-js/session.cjs.map +1 -1
  596. package/sql-js/session.d.cts +16 -13
  597. package/sql-js/session.d.ts +16 -13
  598. package/sql-js/session.js +71 -36
  599. package/sql-js/session.js.map +1 -1
  600. package/sqlite-core/columns/blob.cjs +12 -0
  601. package/sqlite-core/columns/blob.cjs.map +1 -1
  602. package/sqlite-core/columns/blob.d.cts +2 -1
  603. package/sqlite-core/columns/blob.d.ts +2 -1
  604. package/sqlite-core/columns/blob.js +12 -0
  605. package/sqlite-core/columns/blob.js.map +1 -1
  606. package/sqlite-core/db.cjs +39 -12
  607. package/sqlite-core/db.cjs.map +1 -1
  608. package/sqlite-core/db.d.cts +16 -8
  609. package/sqlite-core/db.d.ts +16 -8
  610. package/sqlite-core/db.js +38 -11
  611. package/sqlite-core/db.js.map +1 -1
  612. package/sqlite-core/dialect.cjs +193 -7
  613. package/sqlite-core/dialect.cjs.map +1 -1
  614. package/sqlite-core/dialect.d.cts +31 -9
  615. package/sqlite-core/dialect.d.ts +31 -9
  616. package/sqlite-core/dialect.js +191 -14
  617. package/sqlite-core/dialect.js.map +1 -1
  618. package/sqlite-core/query-builders/_query.cjs +187 -0
  619. package/sqlite-core/query-builders/_query.cjs.map +1 -0
  620. package/sqlite-core/query-builders/_query.d.cts +55 -0
  621. package/sqlite-core/query-builders/_query.d.ts +55 -0
  622. package/sqlite-core/query-builders/_query.js +151 -0
  623. package/sqlite-core/query-builders/_query.js.map +1 -0
  624. package/sqlite-core/query-builders/count.cjs.map +1 -1
  625. package/sqlite-core/query-builders/count.d.cts +1 -1
  626. package/sqlite-core/query-builders/count.d.ts +1 -1
  627. package/sqlite-core/query-builders/count.js.map +1 -1
  628. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  629. package/sqlite-core/query-builders/delete.d.cts +1 -1
  630. package/sqlite-core/query-builders/delete.d.ts +1 -1
  631. package/sqlite-core/query-builders/delete.js.map +1 -1
  632. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  633. package/sqlite-core/query-builders/insert.d.cts +3 -3
  634. package/sqlite-core/query-builders/insert.d.ts +3 -3
  635. package/sqlite-core/query-builders/insert.js.map +1 -1
  636. package/sqlite-core/query-builders/query.cjs +56 -35
  637. package/sqlite-core/query-builders/query.cjs.map +1 -1
  638. package/sqlite-core/query-builders/query.d.cts +18 -17
  639. package/sqlite-core/query-builders/query.d.ts +18 -17
  640. package/sqlite-core/query-builders/query.js +56 -35
  641. package/sqlite-core/query-builders/query.js.map +1 -1
  642. package/sqlite-core/query-builders/select.cjs.map +1 -1
  643. package/sqlite-core/query-builders/select.d.cts +3 -3
  644. package/sqlite-core/query-builders/select.d.ts +3 -3
  645. package/sqlite-core/query-builders/select.js.map +1 -1
  646. package/sqlite-core/query-builders/update.cjs.map +1 -1
  647. package/sqlite-core/query-builders/update.d.cts +3 -3
  648. package/sqlite-core/query-builders/update.d.ts +3 -3
  649. package/sqlite-core/query-builders/update.js.map +1 -1
  650. package/sqlite-core/session.cjs +6 -2
  651. package/sqlite-core/session.cjs.map +1 -1
  652. package/sqlite-core/session.d.cts +15 -7
  653. package/sqlite-core/session.d.ts +15 -7
  654. package/sqlite-core/session.js +6 -2
  655. package/sqlite-core/session.js.map +1 -1
  656. package/sqlite-proxy/driver.cjs +23 -5
  657. package/sqlite-proxy/driver.cjs.map +1 -1
  658. package/sqlite-proxy/driver.d.cts +4 -3
  659. package/sqlite-proxy/driver.d.ts +4 -3
  660. package/sqlite-proxy/driver.js +13 -5
  661. package/sqlite-proxy/driver.js.map +1 -1
  662. package/sqlite-proxy/migrator.cjs.map +1 -1
  663. package/sqlite-proxy/migrator.d.cts +2 -1
  664. package/sqlite-proxy/migrator.d.ts +2 -1
  665. package/sqlite-proxy/migrator.js.map +1 -1
  666. package/sqlite-proxy/session.cjs +50 -6
  667. package/sqlite-proxy/session.cjs.map +1 -1
  668. package/sqlite-proxy/session.d.cts +14 -8
  669. package/sqlite-proxy/session.d.ts +14 -8
  670. package/sqlite-proxy/session.js +50 -6
  671. package/sqlite-proxy/session.js.map +1 -1
  672. package/table.cjs.map +1 -1
  673. package/table.d.cts +2 -2
  674. package/table.d.ts +2 -2
  675. package/table.js.map +1 -1
  676. package/tidb-serverless/driver.cjs +22 -5
  677. package/tidb-serverless/driver.cjs.map +1 -1
  678. package/tidb-serverless/driver.d.cts +7 -6
  679. package/tidb-serverless/driver.d.ts +7 -6
  680. package/tidb-serverless/driver.js +12 -8
  681. package/tidb-serverless/driver.js.map +1 -1
  682. package/tidb-serverless/migrator.cjs.map +1 -1
  683. package/tidb-serverless/migrator.d.cts +2 -1
  684. package/tidb-serverless/migrator.d.ts +2 -1
  685. package/tidb-serverless/migrator.js.map +1 -1
  686. package/tidb-serverless/session.cjs +62 -5
  687. package/tidb-serverless/session.cjs.map +1 -1
  688. package/tidb-serverless/session.d.cts +14 -9
  689. package/tidb-serverless/session.d.ts +14 -9
  690. package/tidb-serverless/session.js +62 -5
  691. package/tidb-serverless/session.js.map +1 -1
  692. package/utils.cjs +2 -2
  693. package/utils.cjs.map +1 -1
  694. package/utils.d.cts +3 -1
  695. package/utils.d.ts +3 -1
  696. package/utils.js +2 -2
  697. package/utils.js.map +1 -1
  698. package/vercel-postgres/driver.cjs +23 -7
  699. package/vercel-postgres/driver.cjs.map +1 -1
  700. package/vercel-postgres/driver.d.cts +9 -8
  701. package/vercel-postgres/driver.d.ts +9 -8
  702. package/vercel-postgres/driver.js +13 -10
  703. package/vercel-postgres/driver.js.map +1 -1
  704. package/vercel-postgres/migrator.cjs.map +1 -1
  705. package/vercel-postgres/migrator.d.cts +2 -1
  706. package/vercel-postgres/migrator.d.ts +2 -1
  707. package/vercel-postgres/migrator.js.map +1 -1
  708. package/vercel-postgres/session.cjs +58 -4
  709. package/vercel-postgres/session.cjs.map +1 -1
  710. package/vercel-postgres/session.d.cts +13 -8
  711. package/vercel-postgres/session.d.ts +13 -8
  712. package/vercel-postgres/session.js +58 -4
  713. package/vercel-postgres/session.js.map +1 -1
  714. package/version.cjs +2 -2
  715. package/version.cjs.map +1 -1
  716. package/version.d.cts +2 -2
  717. package/version.d.ts +2 -2
  718. package/version.js +2 -2
  719. package/version.js.map +1 -1
  720. package/xata-http/driver.cjs +17 -5
  721. package/xata-http/driver.cjs.map +1 -1
  722. package/xata-http/driver.d.cts +5 -4
  723. package/xata-http/driver.d.ts +5 -4
  724. package/xata-http/driver.js +7 -5
  725. package/xata-http/driver.js.map +1 -1
  726. package/xata-http/migrator.cjs.map +1 -1
  727. package/xata-http/migrator.d.cts +2 -1
  728. package/xata-http/migrator.d.ts +2 -1
  729. package/xata-http/migrator.js.map +1 -1
  730. package/xata-http/session.cjs +30 -2
  731. package/xata-http/session.cjs.map +1 -1
  732. package/xata-http/session.d.cts +13 -8
  733. package/xata-http/session.d.ts +13 -8
  734. package/xata-http/session.js +30 -2
  735. package/xata-http/session.js.map +1 -1
@@ -0,0 +1,114 @@
1
+ import * as V1 from "../../_relations.js";
2
+ import { entityKind } from "../../entity.js";
3
+ import { QueryPromise } from "../../query-promise.js";
4
+ import { tracer } from "../../tracing.js";
5
+ class _RelationalQueryBuilder {
6
+ constructor(fullSchema, schema, tableNamesMap, table, tableConfig, dialect, session) {
7
+ this.fullSchema = fullSchema;
8
+ this.schema = schema;
9
+ this.tableNamesMap = tableNamesMap;
10
+ this.table = table;
11
+ this.tableConfig = tableConfig;
12
+ this.dialect = dialect;
13
+ this.session = session;
14
+ }
15
+ static [entityKind] = "GelRelationalQueryBuilder";
16
+ findMany(config) {
17
+ return new GelRelationalQuery(
18
+ this.fullSchema,
19
+ this.schema,
20
+ this.tableNamesMap,
21
+ this.table,
22
+ this.tableConfig,
23
+ this.dialect,
24
+ this.session,
25
+ config ? config : {},
26
+ "many"
27
+ );
28
+ }
29
+ findFirst(config) {
30
+ return new GelRelationalQuery(
31
+ this.fullSchema,
32
+ this.schema,
33
+ this.tableNamesMap,
34
+ this.table,
35
+ this.tableConfig,
36
+ this.dialect,
37
+ this.session,
38
+ config ? { ...config, limit: 1 } : { limit: 1 },
39
+ "first"
40
+ );
41
+ }
42
+ }
43
+ class GelRelationalQuery extends QueryPromise {
44
+ constructor(fullSchema, schema, tableNamesMap, table, tableConfig, dialect, session, config, mode) {
45
+ super();
46
+ this.fullSchema = fullSchema;
47
+ this.schema = schema;
48
+ this.tableNamesMap = tableNamesMap;
49
+ this.table = table;
50
+ this.tableConfig = tableConfig;
51
+ this.dialect = dialect;
52
+ this.session = session;
53
+ this.config = config;
54
+ this.mode = mode;
55
+ }
56
+ static [entityKind] = "GelRelationalQuery";
57
+ /** @internal */
58
+ _prepare(name) {
59
+ return tracer.startActiveSpan("drizzle.prepareQuery", () => {
60
+ const { query, builtQuery } = this._toSQL();
61
+ return this.session.prepareQuery(
62
+ builtQuery,
63
+ void 0,
64
+ name,
65
+ true,
66
+ (rawRows, mapColumnValue) => {
67
+ const rows = rawRows.map(
68
+ (row) => V1.mapRelationalRow(this.schema, this.tableConfig, row, query.selection, mapColumnValue)
69
+ );
70
+ if (this.mode === "first") {
71
+ return rows[0];
72
+ }
73
+ return rows;
74
+ }
75
+ );
76
+ });
77
+ }
78
+ prepare(name) {
79
+ return this._prepare(name);
80
+ }
81
+ _getQuery() {
82
+ return this.dialect._buildRelationalQuery({
83
+ fullSchema: this.fullSchema,
84
+ schema: this.schema,
85
+ tableNamesMap: this.tableNamesMap,
86
+ table: this.table,
87
+ tableConfig: this.tableConfig,
88
+ queryConfig: this.config,
89
+ tableAlias: this.tableConfig.tsName
90
+ });
91
+ }
92
+ /** @internal */
93
+ getSQL() {
94
+ return this._getQuery().sql;
95
+ }
96
+ _toSQL() {
97
+ const query = this._getQuery();
98
+ const builtQuery = this.dialect.sqlToQuery(query.sql);
99
+ return { query, builtQuery };
100
+ }
101
+ toSQL() {
102
+ return this._toSQL().builtQuery;
103
+ }
104
+ execute() {
105
+ return tracer.startActiveSpan("drizzle.operation", () => {
106
+ return this._prepare().execute(void 0);
107
+ });
108
+ }
109
+ }
110
+ export {
111
+ GelRelationalQuery,
112
+ _RelationalQueryBuilder
113
+ };
114
+ //# sourceMappingURL=_query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/gel-core/query-builders/_query.ts"],"sourcesContent":["import * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { QueryPromise } from '~/query-promise.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 { GelDialect } from '../dialect.ts';\nimport type { GelPreparedQuery, GelSession, PreparedQueryConfig } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class _RelationalQueryBuilder<\n\tTSchema extends V1.TablesRelationalConfig,\n\tTFields extends V1.TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'GelRelationalQueryBuilder';\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: GelTable,\n\t\tprivate tableConfig: V1.TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t) {}\n\n\tfindMany<TConfig extends V1.DBQueryConfig<'many', true, TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, V1.DBQueryConfig<'many', true, TSchema, TFields>>,\n\t): GelRelationalQuery<V1.BuildQueryResult<TSchema, TFields, TConfig>[]> {\n\t\treturn new GelRelationalQuery(\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 V1.DBQueryConfig<'many', true>) : {},\n\t\t\t'many',\n\t\t);\n\t}\n\n\tfindFirst<TSelection extends Omit<V1.DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(\n\t\tconfig?: KnownKeysOnly<TSelection, Omit<V1.DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>,\n\t): GelRelationalQuery<V1.BuildQueryResult<TSchema, TFields, TSelection> | undefined> {\n\t\treturn new GelRelationalQuery(\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 V1.DBQueryConfig<'many', true> | undefined), limit: 1 } : { limit: 1 },\n\t\t\t'first',\n\t\t);\n\t}\n}\n\nexport class GelRelationalQuery<TResult> extends QueryPromise<TResult>\n\timplements RunnableQuery<TResult, 'gel'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelRelationalQuery';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'gel';\n\t\treadonly result: TResult;\n\t};\n\n\tconstructor(\n\t\tprivate fullSchema: Record<string, unknown>,\n\t\tprivate schema: V1.TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: V1.TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t\tprivate config: V1.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): GelPreparedQuery<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\tV1.mapRelationalRow(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): GelPreparedQuery<PreparedQueryConfig & { execute: TResult }> {\n\t\treturn this._prepare(name);\n\t}\n\n\tprivate _getQuery() {\n\t\treturn this.dialect._buildRelationalQuery({\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: V1.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(undefined);\n\t\t});\n\t}\n}\n"],"mappings":"AAAA,YAAY,QAAQ;AACpB,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAG7B,SAAS,cAAc;AAMhB,MAAM,wBAGX;AAAA,EAGD,YACS,YACA,QACA,eACA,OACA,aACA,SACA,SACP;AAPO;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,EACN;AAAA,EAVH,QAAiB,UAAU,IAAY;AAAA,EAYvC,SACC,QACuE;AACvE,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,SAA4C,CAAC;AAAA,MACvD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,UACC,QACoF;AACpF,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,QAAuD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;AAAA,MAC9F;AAAA,IACD;AAAA,EACD;AACD;AAEO,MAAM,2BAAoC,aAEjD;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,UAAU,IAAY;AAAA;AAAA,EAsBhD,SAAS,MAA6E;AACrF,WAAO,OAAO,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,QACzB,GAAG,iBAAiB,KAAK,QAAQ,KAAK,aAAa,KAAK,MAAM,WAAW,cAAc;AAAA,UACxF;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,MAA4E;AACnF,WAAO,KAAK,SAAS,IAAI;AAAA,EAC1B;AAAA,EAEQ,YAAY;AACnB,WAAO,KAAK,QAAQ,sBAAsB;AAAA,MACzC,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,SAAiF;AACxF,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,OAAO,gBAAgB,qBAAqB,MAAM;AACxD,aAAO,KAAK,SAAS,EAAE,QAAQ,MAAS;AAAA,IACzC,CAAC;AAAA,EACF;AACD;","names":[]}
@@ -18,7 +18,7 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var query_exports = {};
20
20
  __export(query_exports, {
21
- GelRelationalQuery: () => GelRelationalQuery,
21
+ PgRelationalQuery: () => PgRelationalQuery,
22
22
  RelationalQueryBuilder: () => RelationalQueryBuilder
23
23
  });
24
24
  module.exports = __toCommonJS(query_exports);
@@ -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] = "GelRelationalQueryBuilder";
39
+ static [import_entity.entityKind] = "GelRelationalQueryBuilderV2";
40
40
  findMany(config) {
41
- return new GelRelationalQuery(
42
- this.fullSchema,
41
+ return new PgRelationalQuery(
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
- return new GelRelationalQuery(
55
- this.fullSchema,
54
+ return new PgRelationalQuery(
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
- class GelRelationalQuery extends import_query_promise.QueryPromise {
68
- constructor(fullSchema, schema, tableNamesMap, table, tableConfig, dialect, session, config, mode) {
67
+ class PgRelationalQuery extends import_query_promise.QueryPromise {
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 GelRelationalQuery extends import_query_promise.QueryPromise {
77
77
  this.config = config;
78
78
  this.mode = mode;
79
79
  }
80
- static [import_entity.entityKind] = "GelRelationalQuery";
80
+ static [import_entity.entityKind] = "GelRelationalQueryV2";
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 GelRelationalQuery 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,15 +122,21 @@ class GelRelationalQuery 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(void 0);
133
+ return this._prepare().execute();
131
134
  });
132
135
  }
133
136
  }
134
137
  // Annotate the CommonJS export names for ESM import in node:
135
138
  0 && (module.exports = {
136
- GelRelationalQuery,
139
+ PgRelationalQuery,
137
140
  RelationalQueryBuilder
138
141
  });
139
142
  //# sourceMappingURL=query.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/gel-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 { GelDialect } from '../dialect.ts';\nimport type { GelPreparedQuery, GelSession, PreparedQueryConfig } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class RelationalQueryBuilder<TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {\n\tstatic readonly [entityKind]: string = 'GelRelationalQueryBuilder';\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: GelTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t) {}\n\n\tfindMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>,\n\t): GelRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig>[]> {\n\t\treturn new GelRelationalQuery(\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): GelRelationalQuery<BuildQueryResult<TSchema, TFields, TSelection> | undefined> {\n\t\treturn new GelRelationalQuery(\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 GelRelationalQuery<TResult> extends QueryPromise<TResult>\n\timplements RunnableQuery<TResult, 'gel'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelRelationalQuery';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'gel';\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: GelTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\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): GelPreparedQuery<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): GelPreparedQuery<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(undefined);\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,QACoE;AACpE,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,QACiF;AACjF,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,2BAAoC,kCAEjD;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,MAA6E;AACrF,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,MAA4E;AACnF,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,MAAS;AAAA,IACzC,CAAC;AAAA,EACF;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/gel-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, NeonAuthToken } from '~/utils.ts';\nimport type { GelDialect } from '../dialect.ts';\nimport type { GelPreparedQuery, GelSession, PreparedQueryConfig } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class RelationalQueryBuilder<\n\tTSchema extends TablesRelationalConfig,\n\tTFields extends TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'GelRelationalQueryBuilderV2';\n\n\tconstructor(\n\t\tprivate tables: Record<string, GelTable>,\n\t\tprivate schema: TSchema,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\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 = 'GelRelationalQueryV2';\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, GelTable>,\n\t\tprivate schema: TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\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): GelPreparedQuery<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): GelPreparedQuery<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?: NeonAuthToken;\n\t/** @internal */\n\tsetToken(token?: NeonAuthToken) {\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();\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,MAA6E;AACrF,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,MAA4E;AACnF,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,OAAuB;AAC/B,SAAK,YAAY;AACjB,WAAO;AAAA,EACR;AAAA,EAES,UAA4B;AACpC,WAAO,sBAAO,gBAAgB,qBAAqB,MAAM;AACxD,aAAO,KAAK,SAAS,EAAE,QAAQ;AAAA,IAChC,CAAC;AAAA,EACF;AACD;","names":[]}
@@ -8,7 +8,7 @@ import type { GelDialect } from "../dialect.cjs";
8
8
  import type { GelPreparedQuery, GelSession, PreparedQueryConfig } from "../session.cjs";
9
9
  import type { GelTable } 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: GelTable, tableConfig: TableRelationalConfig, dialect: GelDialect, session: GelSession);
20
- findMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>): GelRelationalQuery<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'>>): GelRelationalQuery<BuildQueryResult<TSchema, TFields, TSelection> | undefined>;
19
+ constructor(tables: Record<string, GelTable>, schema: TSchema, tableNamesMap: Record<string, string>, table: GelTable, tableConfig: TableRelationalConfig, dialect: GelDialect, session: GelSession);
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
- export declare class GelRelationalQuery<TResult> extends QueryPromise<TResult> implements RunnableQuery<TResult, 'gel'>, SQLWrapper {
24
- private fullSchema;
23
+ export declare class PgRelationalQuery<TResult> extends QueryPromise<TResult> implements RunnableQuery<TResult, 'pg'>, SQLWrapper {
24
+ private tables;
25
25
  private schema;
26
26
  private tableNamesMap;
27
27
  private table;
@@ -32,15 +32,16 @@ export declare class GelRelationalQuery<TResult> extends QueryPromise<TResult> i
32
32
  private mode;
33
33
  static readonly [entityKind]: string;
34
34
  readonly _: {
35
- readonly dialect: 'gel';
35
+ readonly dialect: 'pg';
36
36
  readonly result: TResult;
37
37
  };
38
- constructor(fullSchema: Record<string, unknown>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: GelTable, tableConfig: TableRelationalConfig, dialect: GelDialect, session: GelSession, config: DBQueryConfig<'many', true> | true, mode: 'many' | 'first');
38
+ constructor(tables: Record<string, GelTable>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: GelTable, tableConfig: TableRelationalConfig, dialect: GelDialect, session: GelSession, config: DBQueryConfig<'many' | 'one'> | true, mode: 'many' | 'first');
39
39
  prepare(name: string): GelPreparedQuery<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 { GelDialect } from "../dialect.js";
8
8
  import type { GelPreparedQuery, GelSession, PreparedQueryConfig } from "../session.js";
9
9
  import type { GelTable } 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: GelTable, tableConfig: TableRelationalConfig, dialect: GelDialect, session: GelSession);
20
- findMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>): GelRelationalQuery<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'>>): GelRelationalQuery<BuildQueryResult<TSchema, TFields, TSelection> | undefined>;
19
+ constructor(tables: Record<string, GelTable>, schema: TSchema, tableNamesMap: Record<string, string>, table: GelTable, tableConfig: TableRelationalConfig, dialect: GelDialect, session: GelSession);
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
- export declare class GelRelationalQuery<TResult> extends QueryPromise<TResult> implements RunnableQuery<TResult, 'gel'>, SQLWrapper {
24
- private fullSchema;
23
+ export declare class PgRelationalQuery<TResult> extends QueryPromise<TResult> implements RunnableQuery<TResult, 'pg'>, SQLWrapper {
24
+ private tables;
25
25
  private schema;
26
26
  private tableNamesMap;
27
27
  private table;
@@ -32,15 +32,16 @@ export declare class GelRelationalQuery<TResult> extends QueryPromise<TResult> i
32
32
  private mode;
33
33
  static readonly [entityKind]: string;
34
34
  readonly _: {
35
- readonly dialect: 'gel';
35
+ readonly dialect: 'pg';
36
36
  readonly result: TResult;
37
37
  };
38
- constructor(fullSchema: Record<string, unknown>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: GelTable, tableConfig: TableRelationalConfig, dialect: GelDialect, session: GelSession, config: DBQueryConfig<'many', true> | true, mode: 'many' | 'first');
38
+ constructor(tables: Record<string, GelTable>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: GelTable, tableConfig: TableRelationalConfig, dialect: GelDialect, session: GelSession, config: DBQueryConfig<'many' | 'one'> | true, mode: 'many' | 'first');
39
39
  prepare(name: string): GelPreparedQuery<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
  }
@@ -5,8 +5,8 @@ import {
5
5
  } from "../../relations.js";
6
6
  import { tracer } from "../../tracing.js";
7
7
  class RelationalQueryBuilder {
8
- constructor(fullSchema, schema, tableNamesMap, table, tableConfig, dialect, session) {
9
- this.fullSchema = fullSchema;
8
+ constructor(tables, schema, tableNamesMap, table, tableConfig, dialect, session) {
9
+ this.tables = tables;
10
10
  this.schema = schema;
11
11
  this.tableNamesMap = tableNamesMap;
12
12
  this.table = table;
@@ -14,38 +14,38 @@ class RelationalQueryBuilder {
14
14
  this.dialect = dialect;
15
15
  this.session = session;
16
16
  }
17
- static [entityKind] = "GelRelationalQueryBuilder";
17
+ static [entityKind] = "GelRelationalQueryBuilderV2";
18
18
  findMany(config) {
19
- return new GelRelationalQuery(
20
- this.fullSchema,
19
+ return new PgRelationalQuery(
20
+ this.tables,
21
21
  this.schema,
22
22
  this.tableNamesMap,
23
23
  this.table,
24
24
  this.tableConfig,
25
25
  this.dialect,
26
26
  this.session,
27
- config ? config : {},
27
+ config ?? true,
28
28
  "many"
29
29
  );
30
30
  }
31
31
  findFirst(config) {
32
- return new GelRelationalQuery(
33
- this.fullSchema,
32
+ return new PgRelationalQuery(
33
+ this.tables,
34
34
  this.schema,
35
35
  this.tableNamesMap,
36
36
  this.table,
37
37
  this.tableConfig,
38
38
  this.dialect,
39
39
  this.session,
40
- config ? { ...config, limit: 1 } : { limit: 1 },
40
+ config ?? true,
41
41
  "first"
42
42
  );
43
43
  }
44
44
  }
45
- class GelRelationalQuery extends QueryPromise {
46
- constructor(fullSchema, schema, tableNamesMap, table, tableConfig, dialect, session, config, mode) {
45
+ class PgRelationalQuery extends QueryPromise {
46
+ constructor(tables, schema, tableNamesMap, table, tableConfig, dialect, session, config, mode) {
47
47
  super();
48
- this.fullSchema = fullSchema;
48
+ this.tables = tables;
49
49
  this.schema = schema;
50
50
  this.tableNamesMap = tableNamesMap;
51
51
  this.table = table;
@@ -55,20 +55,17 @@ class GelRelationalQuery extends QueryPromise {
55
55
  this.config = config;
56
56
  this.mode = mode;
57
57
  }
58
- static [entityKind] = "GelRelationalQuery";
58
+ static [entityKind] = "GelRelationalQueryV2";
59
59
  /** @internal */
60
60
  _prepare(name) {
61
61
  return tracer.startActiveSpan("drizzle.prepareQuery", () => {
62
62
  const { query, builtQuery } = this._toSQL();
63
- return this.session.prepareQuery(
63
+ return this.session.prepareRelationalQuery(
64
64
  builtQuery,
65
65
  void 0,
66
66
  name,
67
- true,
68
67
  (rawRows, mapColumnValue) => {
69
- const rows = rawRows.map(
70
- (row) => mapRelationalRow(this.schema, this.tableConfig, row, query.selection, mapColumnValue)
71
- );
68
+ const rows = rawRows.map((row) => mapRelationalRow(row, query.selection, mapColumnValue));
72
69
  if (this.mode === "first") {
73
70
  return rows[0];
74
71
  }
@@ -81,14 +78,14 @@ class GelRelationalQuery extends QueryPromise {
81
78
  return this._prepare(name);
82
79
  }
83
80
  _getQuery() {
84
- return this.dialect.buildRelationalQueryWithoutPK({
85
- fullSchema: this.fullSchema,
81
+ return this.dialect.buildRelationalQuery({
86
82
  schema: this.schema,
87
83
  tableNamesMap: this.tableNamesMap,
88
84
  table: this.table,
89
85
  tableConfig: this.tableConfig,
90
86
  queryConfig: this.config,
91
- tableAlias: this.tableConfig.tsName
87
+ tables: this.tables,
88
+ mode: this.mode
92
89
  });
93
90
  }
94
91
  /** @internal */
@@ -103,14 +100,20 @@ class GelRelationalQuery extends QueryPromise {
103
100
  toSQL() {
104
101
  return this._toSQL().builtQuery;
105
102
  }
103
+ authToken;
104
+ /** @internal */
105
+ setToken(token) {
106
+ this.authToken = token;
107
+ return this;
108
+ }
106
109
  execute() {
107
110
  return tracer.startActiveSpan("drizzle.operation", () => {
108
- return this._prepare().execute(void 0);
111
+ return this._prepare().execute();
109
112
  });
110
113
  }
111
114
  }
112
115
  export {
113
- GelRelationalQuery,
116
+ PgRelationalQuery,
114
117
  RelationalQueryBuilder
115
118
  };
116
119
  //# sourceMappingURL=query.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/gel-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 { GelDialect } from '../dialect.ts';\nimport type { GelPreparedQuery, GelSession, PreparedQueryConfig } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class RelationalQueryBuilder<TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {\n\tstatic readonly [entityKind]: string = 'GelRelationalQueryBuilder';\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: GelTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t) {}\n\n\tfindMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>,\n\t): GelRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig>[]> {\n\t\treturn new GelRelationalQuery(\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): GelRelationalQuery<BuildQueryResult<TSchema, TFields, TSelection> | undefined> {\n\t\treturn new GelRelationalQuery(\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 GelRelationalQuery<TResult> extends QueryPromise<TResult>\n\timplements RunnableQuery<TResult, 'gel'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelRelationalQuery';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'gel';\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: GelTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\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): GelPreparedQuery<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): GelPreparedQuery<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(undefined);\n\t\t});\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B;AAAA,EAIC;AAAA,OAGM;AAGP,SAAS,cAAc;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,UAAU,IAAY;AAAA,EAYvC,SACC,QACoE;AACpE,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,QACiF;AACjF,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,2BAAoC,aAEjD;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,UAAU,IAAY;AAAA;AAAA,EAsBhD,SAAS,MAA6E;AACrF,WAAO,OAAO,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,QACzB,iBAAiB,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,MAA4E;AACnF,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,OAAO,gBAAgB,qBAAqB,MAAM;AACxD,aAAO,KAAK,SAAS,EAAE,QAAQ,MAAS;AAAA,IACzC,CAAC;AAAA,EACF;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/gel-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, NeonAuthToken } from '~/utils.ts';\nimport type { GelDialect } from '../dialect.ts';\nimport type { GelPreparedQuery, GelSession, PreparedQueryConfig } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class RelationalQueryBuilder<\n\tTSchema extends TablesRelationalConfig,\n\tTFields extends TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'GelRelationalQueryBuilderV2';\n\n\tconstructor(\n\t\tprivate tables: Record<string, GelTable>,\n\t\tprivate schema: TSchema,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\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 = 'GelRelationalQueryV2';\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, GelTable>,\n\t\tprivate schema: TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\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): GelPreparedQuery<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): GelPreparedQuery<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?: NeonAuthToken;\n\t/** @internal */\n\tsetToken(token?: NeonAuthToken) {\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();\n\t\t});\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B;AAAA,EAIC;AAAA,OAGM;AAGP,SAAS,cAAc;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,UAAU,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,aAEhD;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,UAAU,IAAY;AAAA;AAAA,EAsBhD,SAAS,MAA6E;AACrF,WAAO,OAAO,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,QAAQ,iBAAiB,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,MAA4E;AACnF,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,OAAuB;AAC/B,SAAK,YAAY;AACjB,WAAO;AAAA,EACR;AAAA,EAES,UAA4B;AACpC,WAAO,OAAO,gBAAgB,qBAAqB,MAAM;AACxD,aAAO,KAAK,SAAS,EAAE,QAAQ;AAAA,IAChC,CAAC;AAAA,EACF;AACD;","names":[]}
@@ -76,8 +76,9 @@ class GelSession {
76
76
  }
77
77
  }
78
78
  class GelTransaction extends import_db.GelDatabase {
79
- constructor(dialect, session, schema) {
80
- super(dialect, session, schema);
79
+ constructor(dialect, session, relations, schema) {
80
+ super(dialect, session, relations, schema);
81
+ this.relations = relations;
81
82
  this.schema = schema;
82
83
  }
83
84
  static [import_entity.entityKind] = "GelTransaction";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/gel-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport type { Query, SQL } from '~/sql/index.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { NeonAuthToken } from '~/utils.ts';\nimport { GelDatabase } from './db.ts';\nimport type { GelDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\texecute: unknown;\n\tall: unknown;\n\tvalues: unknown;\n}\n\nexport abstract class GelPreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {\n\tconstructor(protected query: Query) {}\n\n\tprotected authToken?: NeonAuthToken;\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tmapResult(response: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn response;\n\t}\n\n\tstatic readonly [entityKind]: string = 'GelPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\t/** @internal */\n\tabstract all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport abstract class GelSession<\n\tTQueryResult extends GelQueryResultHKT = any, // TO\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'GelSession';\n\n\tconstructor(protected dialect: GelDialect) {}\n\n\tabstract prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => T['execute'],\n\t): GelPreparedQuery<T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\tconst prepared = tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\t\treturn this.prepareQuery<PreparedQueryConfig & { execute: T }>(\n\t\t\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn prepared.execute(undefined);\n\t\t});\n\t}\n\n\tall<T = unknown>(query: SQL): Promise<T[]> {\n\t\treturn this.prepareQuery<PreparedQueryConfig & { all: T[] }>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfalse,\n\t\t).all();\n\t}\n\n\tasync count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<[{ count: string }]>(sql);\n\n\t\treturn Number(\n\t\t\tres[0]['count'],\n\t\t);\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: GelTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport abstract class GelTransaction<\n\tTQueryResult extends GelQueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends GelDatabase<TQueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'GelTransaction';\n\n\tconstructor(\n\t\tdialect: GelDialect,\n\t\tsession: GelSession<any, any, any>,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record<string, unknown>;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record<string, string>;\n\t\t} | undefined,\n\t) {\n\t\tsuper(dialect, session, schema);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: GelTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface GelQueryResultHKT {\n\treadonly $brand: 'GelQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport type GelQueryResultKind<TKind extends GelQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,oBAAyC;AAIzC,qBAAuB;AAEvB,gBAA4B;AAUrB,MAAe,iBAAyE;AAAA,EAC9F,YAAsB,OAAc;AAAd;AAAA,EAAe;AAAA,EAE3B;AAAA,EAEV,WAAkB;AACjB,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,UAAU,UAAmB,cAAiC;AAC7D,WAAO;AAAA,EACR;AAAA,EAEA,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AASD;AAEO,MAAe,WAIpB;AAAA,EAGD,YAAsB,SAAqB;AAArB;AAAA,EAAsB;AAAA,EAF5C,QAAiB,wBAAU,IAAY;AAAA,EAYvC,QAAW,OAAwB;AAClC,WAAO,sBAAO,gBAAgB,qBAAqB,MAAM;AACxD,YAAM,WAAW,sBAAO,gBAAgB,wBAAwB,MAAM;AACrE,eAAO,KAAK;AAAA,UACX,KAAK,QAAQ,WAAW,KAAK;AAAA,UAC7B;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD,CAAC;AAED,aAAO,SAAS,QAAQ,MAAS;AAAA,IAClC,CAAC;AAAA,EACF;AAAA,EAEA,IAAiB,OAA0B;AAC1C,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,IACD,EAAE,IAAI;AAAA,EACP;AAAA,EAEA,MAAM,MAAM,KAA2B;AACtC,UAAM,MAAM,MAAM,KAAK,QAA6B,GAAG;AAEvD,WAAO;AAAA,MACN,IAAI,CAAC,EAAE,OAAO;AAAA,IACf;AAAA,EACD;AAKD;AAEO,MAAe,uBAIZ,sBAAgD;AAAA,EAGzD,YACC,SACA,SACU,QAKT;AACD,UAAM,SAAS,SAAS,MAAM;AANpB;AAAA,EAOX;AAAA,EAZA,QAA0B,wBAAU,IAAY;AAAA,EAchD,WAAkB;AACjB,UAAM,IAAI,uCAAyB;AAAA,EACpC;AAKD;","names":[]}
1
+ {"version":3,"sources":["../../src/gel-core/session.ts"],"sourcesContent":["import type * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { AnyRelations, EmptyRelations, TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport type { Query, SQL } from '~/sql/index.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { NeonAuthToken } from '~/utils.ts';\nimport { GelDatabase } from './db.ts';\nimport type { GelDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\texecute: unknown;\n\tall: unknown;\n\tvalues: unknown;\n}\n\nexport abstract class GelPreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {\n\tconstructor(protected query: Query) {}\n\n\tprotected authToken?: NeonAuthToken;\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tmapResult(response: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn response;\n\t}\n\n\tstatic readonly [entityKind]: string = 'GelPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\t/** @internal */\n\tabstract all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport abstract class GelSession<\n\tTQueryResult extends GelQueryResultHKT = any, // TO\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTTablesConfig extends TablesRelationalConfig = TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'GelSession';\n\n\tconstructor(protected dialect: GelDialect) {}\n\n\tabstract prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => T['execute'],\n\t): GelPreparedQuery<T>;\n\n\tabstract prepareRelationalQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tcustomResultMapper?: (\n\t\t\trows: Record<string, unknown>[],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => T['execute'],\n\t): GelPreparedQuery<T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\tconst prepared = tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\t\treturn this.prepareQuery<PreparedQueryConfig & { execute: T }>(\n\t\t\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn prepared.execute(undefined);\n\t\t});\n\t}\n\n\tall<T = unknown>(query: SQL): Promise<T[]> {\n\t\treturn this.prepareQuery<PreparedQueryConfig & { all: T[] }>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfalse,\n\t\t).all();\n\t}\n\n\tasync count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<[{ count: string }]>(sql);\n\n\t\treturn Number(\n\t\t\tres[0]['count'],\n\t\t);\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: GelTransaction<TQueryResult, TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport abstract class GelTransaction<\n\tTQueryResult extends GelQueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTTablesConfig extends TablesRelationalConfig = TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig = Record<string, never>,\n> extends GelDatabase<TQueryResult, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'GelTransaction';\n\n\tconstructor(\n\t\tdialect: GelDialect,\n\t\tsession: GelSession<any, any, any, any, any>,\n\t\tprotected relations: AnyRelations | undefined,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record<string, unknown>;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record<string, string>;\n\t\t} | undefined,\n\t) {\n\t\tsuper(dialect, session, relations, schema);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: GelTransaction<TQueryResult, TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface GelQueryResultHKT {\n\treadonly $brand: 'GelQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport type GelQueryResultKind<TKind extends GelQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,oBAAyC;AAIzC,qBAAuB;AAEvB,gBAA4B;AAUrB,MAAe,iBAAyE;AAAA,EAC9F,YAAsB,OAAc;AAAd;AAAA,EAAe;AAAA,EAE3B;AAAA,EAEV,WAAkB;AACjB,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,UAAU,UAAmB,cAAiC;AAC7D,WAAO;AAAA,EACR;AAAA,EAEA,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AASD;AAEO,MAAe,WAMpB;AAAA,EAGD,YAAsB,SAAqB;AAArB;AAAA,EAAsB;AAAA,EAF5C,QAAiB,wBAAU,IAAY;AAAA,EAsBvC,QAAW,OAAwB;AAClC,WAAO,sBAAO,gBAAgB,qBAAqB,MAAM;AACxD,YAAM,WAAW,sBAAO,gBAAgB,wBAAwB,MAAM;AACrE,eAAO,KAAK;AAAA,UACX,KAAK,QAAQ,WAAW,KAAK;AAAA,UAC7B;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD,CAAC;AAED,aAAO,SAAS,QAAQ,MAAS;AAAA,IAClC,CAAC;AAAA,EACF;AAAA,EAEA,IAAiB,OAA0B;AAC1C,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,IACD,EAAE,IAAI;AAAA,EACP;AAAA,EAEA,MAAM,MAAM,KAA2B;AACtC,UAAM,MAAM,MAAM,KAAK,QAA6B,GAAG;AAEvD,WAAO;AAAA,MACN,IAAI,CAAC,EAAE,OAAO;AAAA,IACf;AAAA,EACD;AAKD;AAEO,MAAe,uBAMZ,sBAA2E;AAAA,EAGpF,YACC,SACA,SACU,WACA,QAKT;AACD,UAAM,SAAS,SAAS,WAAW,MAAM;AAP/B;AACA;AAAA,EAOX;AAAA,EAbA,QAA0B,wBAAU,IAAY;AAAA,EAehD,WAAkB;AACjB,UAAM,IAAI,uCAAyB;AAAA,EACpC;AAKD;","names":[]}