drizzle-orm 0.42.0-da9af74 → 0.43.0-62ea5c4

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 (532) hide show
  1. package/aws-data-api/pg/driver.cjs +1 -5
  2. package/aws-data-api/pg/driver.cjs.map +1 -1
  3. package/aws-data-api/pg/driver.d.cts +0 -1
  4. package/aws-data-api/pg/driver.d.ts +0 -1
  5. package/aws-data-api/pg/driver.js +1 -5
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/aws-data-api/pg/session.cjs +4 -15
  8. package/aws-data-api/pg/session.cjs.map +1 -1
  9. package/aws-data-api/pg/session.d.cts +2 -13
  10. package/aws-data-api/pg/session.d.ts +2 -13
  11. package/aws-data-api/pg/session.js +4 -15
  12. package/aws-data-api/pg/session.js.map +1 -1
  13. package/better-sqlite3/driver.cjs.map +1 -1
  14. package/better-sqlite3/driver.js.map +1 -1
  15. package/better-sqlite3/session.cjs +3 -9
  16. package/better-sqlite3/session.cjs.map +1 -1
  17. package/better-sqlite3/session.d.cts +2 -12
  18. package/better-sqlite3/session.d.ts +2 -12
  19. package/better-sqlite3/session.js +3 -9
  20. package/better-sqlite3/session.js.map +1 -1
  21. package/bun-sql/driver.cjs +1 -5
  22. package/bun-sql/driver.cjs.map +1 -1
  23. package/bun-sql/driver.js +1 -5
  24. package/bun-sql/driver.js.map +1 -1
  25. package/bun-sql/session.cjs +9 -21
  26. package/bun-sql/session.cjs.map +1 -1
  27. package/bun-sql/session.d.cts +2 -12
  28. package/bun-sql/session.d.ts +2 -12
  29. package/bun-sql/session.js +9 -21
  30. package/bun-sql/session.js.map +1 -1
  31. package/d1/driver.cjs +1 -5
  32. package/d1/driver.cjs.map +1 -1
  33. package/d1/driver.js +1 -5
  34. package/d1/driver.js.map +1 -1
  35. package/d1/session.cjs +9 -23
  36. package/d1/session.cjs.map +1 -1
  37. package/d1/session.d.cts +2 -12
  38. package/d1/session.d.ts +2 -12
  39. package/d1/session.js +9 -23
  40. package/d1/session.js.map +1 -1
  41. package/durable-sqlite/session.cjs +1 -1
  42. package/durable-sqlite/session.cjs.map +1 -1
  43. package/durable-sqlite/session.js +1 -1
  44. package/durable-sqlite/session.js.map +1 -1
  45. package/gel/driver.cjs +2 -9
  46. package/gel/driver.cjs.map +1 -1
  47. package/gel/driver.d.cts +0 -2
  48. package/gel/driver.d.ts +0 -2
  49. package/gel/driver.js +2 -9
  50. package/gel/driver.js.map +1 -1
  51. package/gel/session.cjs +10 -25
  52. package/gel/session.cjs.map +1 -1
  53. package/gel/session.d.cts +2 -12
  54. package/gel/session.d.ts +2 -12
  55. package/gel/session.js +10 -25
  56. package/gel/session.js.map +1 -1
  57. package/gel-core/db.cjs +0 -1
  58. package/gel-core/db.cjs.map +1 -1
  59. package/gel-core/db.d.cts +0 -4
  60. package/gel-core/db.d.ts +0 -4
  61. package/gel-core/db.js +0 -1
  62. package/gel-core/db.js.map +1 -1
  63. package/gel-core/dialect.cjs +8 -23
  64. package/gel-core/dialect.cjs.map +1 -1
  65. package/gel-core/dialect.d.cts +1 -0
  66. package/gel-core/dialect.d.ts +1 -0
  67. package/gel-core/dialect.js +8 -23
  68. package/gel-core/dialect.js.map +1 -1
  69. package/gel-core/query-builders/delete.cjs +1 -5
  70. package/gel-core/query-builders/delete.cjs.map +1 -1
  71. package/gel-core/query-builders/delete.js +1 -5
  72. package/gel-core/query-builders/delete.js.map +1 -1
  73. package/gel-core/query-builders/insert.cjs +1 -5
  74. package/gel-core/query-builders/insert.cjs.map +1 -1
  75. package/gel-core/query-builders/insert.js +1 -5
  76. package/gel-core/query-builders/insert.js.map +1 -1
  77. package/gel-core/query-builders/select.cjs +84 -43
  78. package/gel-core/query-builders/select.cjs.map +1 -1
  79. package/gel-core/query-builders/select.d.cts +78 -22
  80. package/gel-core/query-builders/select.d.ts +78 -22
  81. package/gel-core/query-builders/select.js +84 -43
  82. package/gel-core/query-builders/select.js.map +1 -1
  83. package/gel-core/query-builders/select.types.cjs.map +1 -1
  84. package/gel-core/query-builders/select.types.d.cts +1 -1
  85. package/gel-core/query-builders/select.types.d.ts +1 -1
  86. package/gel-core/query-builders/update.cjs +1 -5
  87. package/gel-core/query-builders/update.cjs.map +1 -1
  88. package/gel-core/query-builders/update.js +1 -5
  89. package/gel-core/query-builders/update.js.map +1 -1
  90. package/gel-core/session.cjs +1 -52
  91. package/gel-core/session.cjs.map +1 -1
  92. package/gel-core/session.d.cts +3 -14
  93. package/gel-core/session.d.ts +3 -14
  94. package/gel-core/session.js +2 -53
  95. package/gel-core/session.js.map +1 -1
  96. package/gel-core/utils.cjs +0 -16
  97. package/gel-core/utils.cjs.map +1 -1
  98. package/gel-core/utils.d.cts +4 -8
  99. package/gel-core/utils.d.ts +4 -8
  100. package/gel-core/utils.js +0 -15
  101. package/gel-core/utils.js.map +1 -1
  102. package/libsql/driver-core.cjs +1 -5
  103. package/libsql/driver-core.cjs.map +1 -1
  104. package/libsql/driver-core.js +1 -5
  105. package/libsql/driver-core.js.map +1 -1
  106. package/libsql/session.cjs +13 -27
  107. package/libsql/session.cjs.map +1 -1
  108. package/libsql/session.d.cts +2 -12
  109. package/libsql/session.d.ts +2 -12
  110. package/libsql/session.js +13 -27
  111. package/libsql/session.js.map +1 -1
  112. package/mysql-core/db.cjs +0 -1
  113. package/mysql-core/db.cjs.map +1 -1
  114. package/mysql-core/db.d.cts +0 -4
  115. package/mysql-core/db.d.ts +0 -4
  116. package/mysql-core/db.js +0 -1
  117. package/mysql-core/db.js.map +1 -1
  118. package/mysql-core/dialect.cjs +5 -4
  119. package/mysql-core/dialect.cjs.map +1 -1
  120. package/mysql-core/dialect.js +5 -4
  121. package/mysql-core/dialect.js.map +1 -1
  122. package/mysql-core/query-builders/delete.cjs +1 -9
  123. package/mysql-core/query-builders/delete.cjs.map +1 -1
  124. package/mysql-core/query-builders/delete.js +1 -9
  125. package/mysql-core/query-builders/delete.js.map +1 -1
  126. package/mysql-core/query-builders/insert.cjs +1 -8
  127. package/mysql-core/query-builders/insert.cjs.map +1 -1
  128. package/mysql-core/query-builders/insert.d.cts +0 -2
  129. package/mysql-core/query-builders/insert.d.ts +0 -2
  130. package/mysql-core/query-builders/insert.js +1 -8
  131. package/mysql-core/query-builders/insert.js.map +1 -1
  132. package/mysql-core/query-builders/select.cjs +75 -61
  133. package/mysql-core/query-builders/select.cjs.map +1 -1
  134. package/mysql-core/query-builders/select.d.cts +66 -34
  135. package/mysql-core/query-builders/select.d.ts +66 -34
  136. package/mysql-core/query-builders/select.js +76 -62
  137. package/mysql-core/query-builders/select.js.map +1 -1
  138. package/mysql-core/query-builders/select.types.cjs.map +1 -1
  139. package/mysql-core/query-builders/select.types.d.cts +5 -4
  140. package/mysql-core/query-builders/select.types.d.ts +5 -4
  141. package/mysql-core/query-builders/update.cjs +1 -11
  142. package/mysql-core/query-builders/update.cjs.map +1 -1
  143. package/mysql-core/query-builders/update.d.cts +0 -2
  144. package/mysql-core/query-builders/update.d.ts +0 -2
  145. package/mysql-core/query-builders/update.js +1 -11
  146. package/mysql-core/query-builders/update.js.map +1 -1
  147. package/mysql-core/session.cjs +0 -53
  148. package/mysql-core/session.cjs.map +1 -1
  149. package/mysql-core/session.d.cts +2 -15
  150. package/mysql-core/session.d.ts +2 -15
  151. package/mysql-core/session.js +1 -54
  152. package/mysql-core/session.js.map +1 -1
  153. package/mysql-core/utils.cjs +0 -16
  154. package/mysql-core/utils.cjs.map +1 -1
  155. package/mysql-core/utils.d.cts +2 -6
  156. package/mysql-core/utils.d.ts +2 -6
  157. package/mysql-core/utils.js +0 -15
  158. package/mysql-core/utils.js.map +1 -1
  159. package/mysql-proxy/session.cjs +5 -15
  160. package/mysql-proxy/session.cjs.map +1 -1
  161. package/mysql-proxy/session.d.cts +2 -12
  162. package/mysql-proxy/session.d.ts +2 -12
  163. package/mysql-proxy/session.js +5 -15
  164. package/mysql-proxy/session.js.map +1 -1
  165. package/mysql2/driver.cjs +2 -10
  166. package/mysql2/driver.cjs.map +1 -1
  167. package/mysql2/driver.d.cts +0 -2
  168. package/mysql2/driver.d.ts +0 -2
  169. package/mysql2/driver.js +2 -10
  170. package/mysql2/driver.js.map +1 -1
  171. package/mysql2/session.cjs +5 -15
  172. package/mysql2/session.cjs.map +1 -1
  173. package/mysql2/session.d.cts +2 -12
  174. package/mysql2/session.d.ts +2 -12
  175. package/mysql2/session.js +5 -15
  176. package/mysql2/session.js.map +1 -1
  177. package/neon-http/driver.cjs +2 -9
  178. package/neon-http/driver.cjs.map +1 -1
  179. package/neon-http/driver.d.cts +0 -2
  180. package/neon-http/driver.d.ts +0 -2
  181. package/neon-http/driver.js +2 -9
  182. package/neon-http/driver.js.map +1 -1
  183. package/neon-http/session.cjs +15 -25
  184. package/neon-http/session.cjs.map +1 -1
  185. package/neon-http/session.d.cts +2 -12
  186. package/neon-http/session.d.ts +2 -12
  187. package/neon-http/session.js +15 -25
  188. package/neon-http/session.js.map +1 -1
  189. package/neon-serverless/driver.cjs +2 -9
  190. package/neon-serverless/driver.cjs.map +1 -1
  191. package/neon-serverless/driver.d.cts +0 -2
  192. package/neon-serverless/driver.d.ts +0 -2
  193. package/neon-serverless/driver.js +2 -9
  194. package/neon-serverless/driver.js.map +1 -1
  195. package/neon-serverless/session.cjs +7 -21
  196. package/neon-serverless/session.cjs.map +1 -1
  197. package/neon-serverless/session.d.cts +2 -12
  198. package/neon-serverless/session.d.ts +2 -12
  199. package/neon-serverless/session.js +7 -21
  200. package/neon-serverless/session.js.map +1 -1
  201. package/node-postgres/driver.cjs +2 -9
  202. package/node-postgres/driver.cjs.map +1 -1
  203. package/node-postgres/driver.d.cts +0 -2
  204. package/node-postgres/driver.d.ts +0 -2
  205. package/node-postgres/driver.js +2 -9
  206. package/node-postgres/driver.js.map +1 -1
  207. package/node-postgres/session.cjs +6 -19
  208. package/node-postgres/session.cjs.map +1 -1
  209. package/node-postgres/session.d.cts +2 -13
  210. package/node-postgres/session.d.ts +2 -13
  211. package/node-postgres/session.js +6 -19
  212. package/node-postgres/session.js.map +1 -1
  213. package/op-sqlite/driver.cjs +1 -5
  214. package/op-sqlite/driver.cjs.map +1 -1
  215. package/op-sqlite/driver.js +1 -5
  216. package/op-sqlite/driver.js.map +1 -1
  217. package/op-sqlite/session.cjs +9 -23
  218. package/op-sqlite/session.cjs.map +1 -1
  219. package/op-sqlite/session.d.cts +2 -12
  220. package/op-sqlite/session.d.ts +2 -12
  221. package/op-sqlite/session.js +9 -23
  222. package/op-sqlite/session.js.map +1 -1
  223. package/operations.cjs.map +1 -1
  224. package/operations.d.cts +5 -1
  225. package/operations.d.ts +5 -1
  226. package/package.json +4 -69
  227. package/pg-core/columns/text.cjs.map +1 -1
  228. package/pg-core/columns/text.d.cts +1 -2
  229. package/pg-core/columns/text.d.ts +1 -2
  230. package/pg-core/columns/text.js.map +1 -1
  231. package/pg-core/db.cjs +0 -1
  232. package/pg-core/db.cjs.map +1 -1
  233. package/pg-core/db.d.cts +0 -4
  234. package/pg-core/db.d.ts +0 -4
  235. package/pg-core/db.js +0 -1
  236. package/pg-core/db.js.map +1 -1
  237. package/pg-core/dialect.cjs +5 -4
  238. package/pg-core/dialect.cjs.map +1 -1
  239. package/pg-core/dialect.js +5 -4
  240. package/pg-core/dialect.js.map +1 -1
  241. package/pg-core/query-builders/delete.cjs +1 -6
  242. package/pg-core/query-builders/delete.cjs.map +1 -1
  243. package/pg-core/query-builders/delete.d.cts +1 -3
  244. package/pg-core/query-builders/delete.d.ts +1 -3
  245. package/pg-core/query-builders/delete.js +1 -6
  246. package/pg-core/query-builders/delete.js.map +1 -1
  247. package/pg-core/query-builders/insert.cjs +1 -6
  248. package/pg-core/query-builders/insert.cjs.map +1 -1
  249. package/pg-core/query-builders/insert.d.cts +0 -2
  250. package/pg-core/query-builders/insert.d.ts +0 -2
  251. package/pg-core/query-builders/insert.js +1 -6
  252. package/pg-core/query-builders/insert.js.map +1 -1
  253. package/pg-core/query-builders/select.cjs +85 -45
  254. package/pg-core/query-builders/select.cjs.map +1 -1
  255. package/pg-core/query-builders/select.d.cts +79 -23
  256. package/pg-core/query-builders/select.d.ts +79 -23
  257. package/pg-core/query-builders/select.js +85 -45
  258. package/pg-core/query-builders/select.js.map +1 -1
  259. package/pg-core/query-builders/select.types.cjs.map +1 -1
  260. package/pg-core/query-builders/select.types.d.cts +1 -1
  261. package/pg-core/query-builders/select.types.d.ts +1 -1
  262. package/pg-core/query-builders/update.cjs +1 -6
  263. package/pg-core/query-builders/update.cjs.map +1 -1
  264. package/pg-core/query-builders/update.d.cts +2 -4
  265. package/pg-core/query-builders/update.d.ts +2 -4
  266. package/pg-core/query-builders/update.js +1 -6
  267. package/pg-core/query-builders/update.js.map +1 -1
  268. package/pg-core/session.cjs +1 -52
  269. package/pg-core/session.cjs.map +1 -1
  270. package/pg-core/session.d.cts +3 -14
  271. package/pg-core/session.d.ts +3 -14
  272. package/pg-core/session.js +2 -53
  273. package/pg-core/session.js.map +1 -1
  274. package/pg-core/utils.cjs +0 -16
  275. package/pg-core/utils.cjs.map +1 -1
  276. package/pg-core/utils.d.cts +4 -8
  277. package/pg-core/utils.d.ts +4 -8
  278. package/pg-core/utils.js +1 -16
  279. package/pg-core/utils.js.map +1 -1
  280. package/pg-proxy/driver.cjs +2 -7
  281. package/pg-proxy/driver.cjs.map +1 -1
  282. package/pg-proxy/driver.js +2 -7
  283. package/pg-proxy/driver.js.map +1 -1
  284. package/pg-proxy/session.cjs +5 -15
  285. package/pg-proxy/session.cjs.map +1 -1
  286. package/pg-proxy/session.d.cts +2 -12
  287. package/pg-proxy/session.d.ts +2 -12
  288. package/pg-proxy/session.js +5 -15
  289. package/pg-proxy/session.js.map +1 -1
  290. package/pglite/driver.cjs +2 -9
  291. package/pglite/driver.cjs.map +1 -1
  292. package/pglite/driver.d.cts +0 -2
  293. package/pglite/driver.d.ts +0 -2
  294. package/pglite/driver.js +2 -9
  295. package/pglite/driver.js.map +1 -1
  296. package/pglite/session.cjs +7 -19
  297. package/pglite/session.cjs.map +1 -1
  298. package/pglite/session.d.cts +2 -12
  299. package/pglite/session.d.ts +2 -12
  300. package/pglite/session.js +7 -19
  301. package/pglite/session.js.map +1 -1
  302. package/planetscale-serverless/driver.cjs +1 -5
  303. package/planetscale-serverless/driver.cjs.map +1 -1
  304. package/planetscale-serverless/driver.d.cts +0 -1
  305. package/planetscale-serverless/driver.d.ts +0 -1
  306. package/planetscale-serverless/driver.js +1 -5
  307. package/planetscale-serverless/driver.js.map +1 -1
  308. package/planetscale-serverless/session.cjs +5 -15
  309. package/planetscale-serverless/session.cjs.map +1 -1
  310. package/planetscale-serverless/session.d.cts +2 -12
  311. package/planetscale-serverless/session.d.ts +2 -12
  312. package/planetscale-serverless/session.js +5 -15
  313. package/planetscale-serverless/session.js.map +1 -1
  314. package/postgres-js/driver.cjs +1 -5
  315. package/postgres-js/driver.cjs.map +1 -1
  316. package/postgres-js/driver.js +1 -5
  317. package/postgres-js/driver.js.map +1 -1
  318. package/postgres-js/session.cjs +6 -18
  319. package/postgres-js/session.cjs.map +1 -1
  320. package/postgres-js/session.d.cts +2 -12
  321. package/postgres-js/session.d.ts +2 -12
  322. package/postgres-js/session.js +6 -18
  323. package/postgres-js/session.js.map +1 -1
  324. package/prisma/mysql/session.cjs +1 -1
  325. package/prisma/mysql/session.cjs.map +1 -1
  326. package/prisma/mysql/session.js +1 -1
  327. package/prisma/mysql/session.js.map +1 -1
  328. package/prisma/pg/session.cjs +1 -1
  329. package/prisma/pg/session.cjs.map +1 -1
  330. package/prisma/pg/session.js +1 -1
  331. package/prisma/pg/session.js.map +1 -1
  332. package/query-builders/query-builder.cjs.map +1 -1
  333. package/query-builders/query-builder.d.cts +1 -2
  334. package/query-builders/query-builder.d.ts +1 -2
  335. package/query-builders/query-builder.js.map +1 -1
  336. package/query-builders/select.types.cjs.map +1 -1
  337. package/query-builders/select.types.d.cts +3 -1
  338. package/query-builders/select.types.d.ts +3 -1
  339. package/singlestore/driver.cjs +26 -14
  340. package/singlestore/driver.cjs.map +1 -1
  341. package/singlestore/driver.d.cts +3 -7
  342. package/singlestore/driver.d.ts +3 -7
  343. package/singlestore/driver.js +26 -14
  344. package/singlestore/driver.js.map +1 -1
  345. package/singlestore/session.cjs +5 -15
  346. package/singlestore/session.cjs.map +1 -1
  347. package/singlestore/session.d.cts +2 -12
  348. package/singlestore/session.d.ts +2 -12
  349. package/singlestore/session.js +5 -15
  350. package/singlestore/session.js.map +1 -1
  351. package/singlestore-core/db.cjs +0 -1
  352. package/singlestore-core/db.cjs.map +1 -1
  353. package/singlestore-core/db.d.cts +0 -4
  354. package/singlestore-core/db.d.ts +0 -4
  355. package/singlestore-core/db.js +0 -1
  356. package/singlestore-core/db.js.map +1 -1
  357. package/singlestore-core/dialect.cjs +5 -4
  358. package/singlestore-core/dialect.cjs.map +1 -1
  359. package/singlestore-core/dialect.js +5 -4
  360. package/singlestore-core/dialect.js.map +1 -1
  361. package/singlestore-core/query-builders/delete.cjs +1 -9
  362. package/singlestore-core/query-builders/delete.cjs.map +1 -1
  363. package/singlestore-core/query-builders/delete.js +1 -9
  364. package/singlestore-core/query-builders/delete.js.map +1 -1
  365. package/singlestore-core/query-builders/insert.cjs +1 -6
  366. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  367. package/singlestore-core/query-builders/insert.js +1 -6
  368. package/singlestore-core/query-builders/insert.js.map +1 -1
  369. package/singlestore-core/query-builders/select.cjs +83 -42
  370. package/singlestore-core/query-builders/select.cjs.map +1 -1
  371. package/singlestore-core/query-builders/select.d.cts +78 -22
  372. package/singlestore-core/query-builders/select.d.ts +78 -22
  373. package/singlestore-core/query-builders/select.js +83 -42
  374. package/singlestore-core/query-builders/select.js.map +1 -1
  375. package/singlestore-core/query-builders/select.types.cjs.map +1 -1
  376. package/singlestore-core/query-builders/select.types.d.cts +1 -2
  377. package/singlestore-core/query-builders/select.types.d.ts +1 -2
  378. package/singlestore-core/query-builders/update.cjs +1 -9
  379. package/singlestore-core/query-builders/update.cjs.map +1 -1
  380. package/singlestore-core/query-builders/update.js +1 -9
  381. package/singlestore-core/query-builders/update.js.map +1 -1
  382. package/singlestore-core/session.cjs +0 -53
  383. package/singlestore-core/session.cjs.map +1 -1
  384. package/singlestore-core/session.d.cts +2 -14
  385. package/singlestore-core/session.d.ts +2 -14
  386. package/singlestore-core/session.js +1 -54
  387. package/singlestore-core/session.js.map +1 -1
  388. package/singlestore-core/utils.cjs +0 -16
  389. package/singlestore-core/utils.cjs.map +1 -1
  390. package/singlestore-core/utils.d.cts +0 -3
  391. package/singlestore-core/utils.d.ts +0 -3
  392. package/singlestore-core/utils.js +0 -15
  393. package/singlestore-core/utils.js.map +1 -1
  394. package/sql/sql.cjs +0 -10
  395. package/sql/sql.cjs.map +1 -1
  396. package/sql/sql.js +0 -10
  397. package/sql/sql.js.map +1 -1
  398. package/sqlite-core/db.cjs +0 -1
  399. package/sqlite-core/db.cjs.map +1 -1
  400. package/sqlite-core/db.d.cts +0 -4
  401. package/sqlite-core/db.d.ts +0 -4
  402. package/sqlite-core/db.js +0 -1
  403. package/sqlite-core/db.js.map +1 -1
  404. package/sqlite-core/dialect.cjs +3 -2
  405. package/sqlite-core/dialect.cjs.map +1 -1
  406. package/sqlite-core/dialect.js +3 -2
  407. package/sqlite-core/dialect.js.map +1 -1
  408. package/sqlite-core/query-builders/delete.cjs +1 -7
  409. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  410. package/sqlite-core/query-builders/delete.js +1 -7
  411. package/sqlite-core/query-builders/delete.js.map +1 -1
  412. package/sqlite-core/query-builders/insert.cjs +1 -7
  413. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  414. package/sqlite-core/query-builders/insert.js +1 -7
  415. package/sqlite-core/query-builders/insert.js.map +1 -1
  416. package/sqlite-core/query-builders/select.cjs +39 -39
  417. package/sqlite-core/query-builders/select.cjs.map +1 -1
  418. package/sqlite-core/query-builders/select.d.cts +40 -22
  419. package/sqlite-core/query-builders/select.d.ts +40 -22
  420. package/sqlite-core/query-builders/select.js +39 -39
  421. package/sqlite-core/query-builders/select.js.map +1 -1
  422. package/sqlite-core/query-builders/select.types.cjs.map +1 -1
  423. package/sqlite-core/query-builders/select.types.d.cts +1 -1
  424. package/sqlite-core/query-builders/select.types.d.ts +1 -1
  425. package/sqlite-core/query-builders/update.cjs +1 -7
  426. package/sqlite-core/query-builders/update.cjs.map +1 -1
  427. package/sqlite-core/query-builders/update.js +1 -7
  428. package/sqlite-core/query-builders/update.js.map +1 -1
  429. package/sqlite-core/session.cjs +3 -62
  430. package/sqlite-core/session.cjs.map +1 -1
  431. package/sqlite-core/session.d.cts +4 -18
  432. package/sqlite-core/session.d.ts +4 -18
  433. package/sqlite-core/session.js +4 -63
  434. package/sqlite-core/session.js.map +1 -1
  435. package/sqlite-core/utils.cjs +0 -16
  436. package/sqlite-core/utils.cjs.map +1 -1
  437. package/sqlite-core/utils.d.cts +2 -6
  438. package/sqlite-core/utils.d.ts +2 -6
  439. package/sqlite-core/utils.js +0 -15
  440. package/sqlite-core/utils.js.map +1 -1
  441. package/sqlite-proxy/driver.cjs +2 -9
  442. package/sqlite-proxy/driver.cjs.map +1 -1
  443. package/sqlite-proxy/driver.js +2 -9
  444. package/sqlite-proxy/driver.js.map +1 -1
  445. package/sqlite-proxy/session.cjs +8 -22
  446. package/sqlite-proxy/session.cjs.map +1 -1
  447. package/sqlite-proxy/session.d.cts +2 -12
  448. package/sqlite-proxy/session.d.ts +2 -12
  449. package/sqlite-proxy/session.js +8 -22
  450. package/sqlite-proxy/session.js.map +1 -1
  451. package/subquery.cjs +3 -4
  452. package/subquery.cjs.map +1 -1
  453. package/subquery.d.cts +1 -2
  454. package/subquery.d.ts +1 -2
  455. package/subquery.js +3 -4
  456. package/subquery.js.map +1 -1
  457. package/tidb-serverless/driver.cjs +1 -5
  458. package/tidb-serverless/driver.cjs.map +1 -1
  459. package/tidb-serverless/driver.d.cts +0 -1
  460. package/tidb-serverless/driver.d.ts +0 -1
  461. package/tidb-serverless/driver.js +1 -5
  462. package/tidb-serverless/driver.js.map +1 -1
  463. package/tidb-serverless/session.cjs +5 -15
  464. package/tidb-serverless/session.cjs.map +1 -1
  465. package/tidb-serverless/session.d.cts +2 -12
  466. package/tidb-serverless/session.d.ts +2 -12
  467. package/tidb-serverless/session.js +5 -15
  468. package/tidb-serverless/session.js.map +1 -1
  469. package/utils.cjs +0 -22
  470. package/utils.cjs.map +1 -1
  471. package/utils.d.cts +0 -3
  472. package/utils.d.ts +0 -3
  473. package/utils.js +0 -11
  474. package/utils.js.map +1 -1
  475. package/vercel-postgres/driver.cjs +2 -9
  476. package/vercel-postgres/driver.cjs.map +1 -1
  477. package/vercel-postgres/driver.d.cts +0 -2
  478. package/vercel-postgres/driver.d.ts +0 -2
  479. package/vercel-postgres/driver.js +2 -9
  480. package/vercel-postgres/driver.js.map +1 -1
  481. package/vercel-postgres/session.cjs +7 -21
  482. package/vercel-postgres/session.cjs.map +1 -1
  483. package/vercel-postgres/session.d.cts +2 -12
  484. package/vercel-postgres/session.d.ts +2 -12
  485. package/vercel-postgres/session.js +7 -21
  486. package/vercel-postgres/session.js.map +1 -1
  487. package/version.cjs +1 -1
  488. package/version.d.cts +1 -1
  489. package/version.d.ts +1 -1
  490. package/version.js +1 -1
  491. package/xata-http/driver.cjs +2 -7
  492. package/xata-http/driver.cjs.map +1 -1
  493. package/xata-http/driver.d.cts +0 -2
  494. package/xata-http/driver.d.ts +0 -2
  495. package/xata-http/driver.js +2 -7
  496. package/xata-http/driver.js.map +1 -1
  497. package/xata-http/session.cjs +7 -21
  498. package/xata-http/session.cjs.map +1 -1
  499. package/xata-http/session.d.cts +2 -12
  500. package/xata-http/session.d.ts +2 -12
  501. package/xata-http/session.js +7 -21
  502. package/xata-http/session.js.map +1 -1
  503. package/cache/core/cache.cjs +0 -47
  504. package/cache/core/cache.cjs.map +0 -1
  505. package/cache/core/cache.d.cts +0 -35
  506. package/cache/core/cache.d.ts +0 -35
  507. package/cache/core/cache.js +0 -22
  508. package/cache/core/cache.js.map +0 -1
  509. package/cache/core/index.cjs +0 -23
  510. package/cache/core/index.cjs.map +0 -1
  511. package/cache/core/index.d.cts +0 -1
  512. package/cache/core/index.d.ts +0 -1
  513. package/cache/core/index.js +0 -2
  514. package/cache/core/index.js.map +0 -1
  515. package/cache/core/types.cjs +0 -17
  516. package/cache/core/types.cjs.map +0 -1
  517. package/cache/core/types.d.cts +0 -33
  518. package/cache/core/types.d.ts +0 -33
  519. package/cache/core/types.js +0 -1
  520. package/cache/core/types.js.map +0 -1
  521. package/cache/upstash/cache.cjs +0 -148
  522. package/cache/upstash/cache.cjs.map +0 -1
  523. package/cache/upstash/cache.d.cts +0 -29
  524. package/cache/upstash/cache.d.ts +0 -29
  525. package/cache/upstash/cache.js +0 -123
  526. package/cache/upstash/cache.js.map +0 -1
  527. package/cache/upstash/index.cjs +0 -23
  528. package/cache/upstash/index.cjs.map +0 -1
  529. package/cache/upstash/index.d.cts +0 -1
  530. package/cache/upstash/index.d.ts +0 -1
  531. package/cache/upstash/index.js +0 -2
  532. package/cache/upstash/index.js.map +0 -1
@@ -1,4 +1,3 @@
1
- import type { CacheConfig, WithCacheConfig } from "../../cache/core/types.js";
2
1
  import { entityKind } from "../../entity.js";
3
2
  import type { GelColumn } from "../columns/index.js";
4
3
  import type { GelDialect } from "../dialect.js";
@@ -14,7 +13,7 @@ import { SQL } from "../../sql/sql.js";
14
13
  import type { ColumnsSelection, Placeholder, Query, SQLWrapper } from "../../sql/sql.js";
15
14
  import { Subquery } from "../../subquery.js";
16
15
  import { type ValueOrArray } from "../../utils.js";
17
- import type { CreateGelSelectFromBuilderMode, GelCreateSetOperatorFn, GelSelectConfig, GelSelectDynamic, GelSelectHKT, GelSelectHKTBase, GelSelectJoinFn, GelSelectPrepare, GelSelectWithout, GelSetOperatorExcludedMethods, GelSetOperatorWithResult, GetGelSetOperators, LockConfig, LockStrength, SelectedFields, SetOperatorRightSelect } from "./select.types.js";
16
+ import type { CreateGelSelectFromBuilderMode, GelCreateSetOperatorFn, GelSelectConfig, GelSelectDynamic, GelSelectHKT, GelSelectHKTBase, GelSelectPrepare, GelSelectWithout, GelSetOperatorExcludedMethods, GelSetOperatorWithResult, GetGelSetOperators, LockConfig, LockStrength, SelectedFields, SetOperatorRightSelect } from "./select.types.js";
18
17
  export declare class GelSelectBuilder<TSelection extends SelectedFields | undefined, TBuilderMode extends 'db' | 'qb' = 'db'> {
19
18
  static readonly [entityKind]: string;
20
19
  private fields;
@@ -53,7 +52,6 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
53
52
  readonly excludedMethods: TExcludedMethods;
54
53
  readonly result: TResult;
55
54
  readonly selectedFields: TSelectedFields;
56
- readonly config: GelSelectConfig;
57
55
  };
58
56
  protected config: GelSelectConfig;
59
57
  protected joinsNotNullableMap: Record<string, boolean>;
@@ -61,8 +59,6 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
61
59
  private isPartialSelect;
62
60
  protected session: GelSession | undefined;
63
61
  protected dialect: GelDialect;
64
- protected cacheConfig?: WithCacheConfig;
65
- protected usedTables: Set<string>;
66
62
  constructor({ table, fields, isPartialSelect, session, dialect, withList, distinct }: {
67
63
  table: GelSelectConfig['table'];
68
64
  fields: GelSelectConfig['fields'];
@@ -89,12 +85,12 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
89
85
  *
90
86
  * ```ts
91
87
  * // Select all users and their pets
92
- * const usersWithPets: { user: User; pets: Pet | null }[] = await db.select()
88
+ * const usersWithPets: { user: User; pets: Pet | null; }[] = await db.select()
93
89
  * .from(users)
94
90
  * .leftJoin(pets, eq(users.id, pets.ownerId))
95
91
  *
96
92
  * // Select userId and petId
97
- * const usersIdsAndPetIds: { userId: number; petId: number | null }[] = await db.select({
93
+ * const usersIdsAndPetIds: { userId: number; petId: number | null; }[] = await db.select({
98
94
  * userId: users.id,
99
95
  * petId: pets.id,
100
96
  * })
@@ -102,7 +98,20 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
102
98
  * .leftJoin(pets, eq(users.id, pets.ownerId))
103
99
  * ```
104
100
  */
105
- leftJoin: GelSelectJoinFn<this, TDynamic, "left">;
101
+ leftJoin: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>> | GelTable<import("../table.js").TableConfig> | GelViewBase<string, boolean, ColumnsSelection>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: SQL<unknown> | ((aliases: this["_"]["selection"]) => SQL | undefined) | undefined) => import("./select.types.js").GelSelectJoin<this, TDynamic, "left", TJoinedTable, TJoinedName>;
102
+ /**
103
+ * Executes a `left join lateral` operation by adding subquery to the current query.
104
+ *
105
+ * A `lateral` join allows the right-hand expression to refer to columns from the left-hand side.
106
+ *
107
+ * Calling this method associates each row of the table with the corresponding row from the joined table, if a match is found. If no matching row exists, it sets all columns of the joined table to null.
108
+ *
109
+ * See docs: {@link https://orm.drizzle.team/docs/joins#left-join-lateral}
110
+ *
111
+ * @param table the subquery to join.
112
+ * @param on the `on` clause.
113
+ */
114
+ leftJoinLateral: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: SQL<unknown> | ((aliases: this["_"]["selection"]) => SQL | undefined) | undefined) => import("./select.types.js").GelSelectJoin<this, TDynamic, "left", TJoinedTable, TJoinedName>;
106
115
  /**
107
116
  * Executes a `right join` operation by adding another table to the current query.
108
117
  *
@@ -117,12 +126,12 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
117
126
  *
118
127
  * ```ts
119
128
  * // Select all users and their pets
120
- * const usersWithPets: { user: User | null; pets: Pet }[] = await db.select()
129
+ * const usersWithPets: { user: User | null; pets: Pet; }[] = await db.select()
121
130
  * .from(users)
122
131
  * .rightJoin(pets, eq(users.id, pets.ownerId))
123
132
  *
124
133
  * // Select userId and petId
125
- * const usersIdsAndPetIds: { userId: number | null; petId: number }[] = await db.select({
134
+ * const usersIdsAndPetIds: { userId: number | null; petId: number; }[] = await db.select({
126
135
  * userId: users.id,
127
136
  * petId: pets.id,
128
137
  * })
@@ -130,7 +139,7 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
130
139
  * .rightJoin(pets, eq(users.id, pets.ownerId))
131
140
  * ```
132
141
  */
133
- rightJoin: GelSelectJoinFn<this, TDynamic, "right">;
142
+ rightJoin: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>> | GelTable<import("../table.js").TableConfig> | GelViewBase<string, boolean, ColumnsSelection>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: SQL<unknown> | ((aliases: this["_"]["selection"]) => SQL | undefined) | undefined) => import("./select.types.js").GelSelectJoin<this, TDynamic, "right", TJoinedTable, TJoinedName>;
134
143
  /**
135
144
  * Executes an `inner join` operation, creating a new table by combining rows from two tables that have matching values.
136
145
  *
@@ -145,12 +154,12 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
145
154
  *
146
155
  * ```ts
147
156
  * // Select all users and their pets
148
- * const usersWithPets: { user: User; pets: Pet }[] = await db.select()
157
+ * const usersWithPets: { user: User; pets: Pet; }[] = await db.select()
149
158
  * .from(users)
150
159
  * .innerJoin(pets, eq(users.id, pets.ownerId))
151
160
  *
152
161
  * // Select userId and petId
153
- * const usersIdsAndPetIds: { userId: number; petId: number }[] = await db.select({
162
+ * const usersIdsAndPetIds: { userId: number; petId: number; }[] = await db.select({
154
163
  * userId: users.id,
155
164
  * petId: pets.id,
156
165
  * })
@@ -158,7 +167,20 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
158
167
  * .innerJoin(pets, eq(users.id, pets.ownerId))
159
168
  * ```
160
169
  */
161
- innerJoin: GelSelectJoinFn<this, TDynamic, "inner">;
170
+ innerJoin: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>> | GelTable<import("../table.js").TableConfig> | GelViewBase<string, boolean, ColumnsSelection>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: SQL<unknown> | ((aliases: this["_"]["selection"]) => SQL | undefined) | undefined) => import("./select.types.js").GelSelectJoin<this, TDynamic, "inner", TJoinedTable, TJoinedName>;
171
+ /**
172
+ * Executes an `inner join lateral` operation, creating a new table by combining rows from two queries that have matching values.
173
+ *
174
+ * A `lateral` join allows the right-hand expression to refer to columns from the left-hand side.
175
+ *
176
+ * Calling this method retrieves rows that have corresponding entries in both joined tables. Rows without matching entries in either table are excluded, resulting in a table that includes only matching pairs.
177
+ *
178
+ * See docs: {@link https://orm.drizzle.team/docs/joins#inner-join-lateral}
179
+ *
180
+ * @param table the subquery to join.
181
+ * @param on the `on` clause.
182
+ */
183
+ innerJoinLateral: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: SQL<unknown> | ((aliases: this["_"]["selection"]) => SQL | undefined) | undefined) => import("./select.types.js").GelSelectJoin<this, TDynamic, "inner", TJoinedTable, TJoinedName>;
162
184
  /**
163
185
  * Executes a `full join` operation by combining rows from two tables into a new table.
164
186
  *
@@ -173,12 +195,12 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
173
195
  *
174
196
  * ```ts
175
197
  * // Select all users and their pets
176
- * const usersWithPets: { user: User | null; pets: Pet | null }[] = await db.select()
198
+ * const usersWithPets: { user: User | null; pets: Pet | null; }[] = await db.select()
177
199
  * .from(users)
178
200
  * .fullJoin(pets, eq(users.id, pets.ownerId))
179
201
  *
180
202
  * // Select userId and petId
181
- * const usersIdsAndPetIds: { userId: number | null; petId: number | null }[] = await db.select({
203
+ * const usersIdsAndPetIds: { userId: number | null; petId: number | null; }[] = await db.select({
182
204
  * userId: users.id,
183
205
  * petId: pets.id,
184
206
  * })
@@ -186,7 +208,46 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
186
208
  * .fullJoin(pets, eq(users.id, pets.ownerId))
187
209
  * ```
188
210
  */
189
- fullJoin: GelSelectJoinFn<this, TDynamic, "full">;
211
+ fullJoin: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>> | GelTable<import("../table.js").TableConfig> | GelViewBase<string, boolean, ColumnsSelection>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: SQL<unknown> | ((aliases: this["_"]["selection"]) => SQL | undefined) | undefined) => import("./select.types.js").GelSelectJoin<this, TDynamic, "full", TJoinedTable, TJoinedName>;
212
+ /**
213
+ * Executes a `cross join` operation by combining rows from two tables into a new table.
214
+ *
215
+ * Calling this method retrieves all rows from both main and joined tables, merging all rows from each table.
216
+ *
217
+ * See docs: {@link https://orm.drizzle.team/docs/joins#cross-join}
218
+ *
219
+ * @param table the table to join.
220
+ *
221
+ * @example
222
+ *
223
+ * ```ts
224
+ * // Select all users, each user with every pet
225
+ * const usersWithPets: { user: User; pets: Pet; }[] = await db.select()
226
+ * .from(users)
227
+ * .crossJoin(pets)
228
+ *
229
+ * // Select userId and petId
230
+ * const usersIdsAndPetIds: { userId: number; petId: number; }[] = await db.select({
231
+ * userId: users.id,
232
+ * petId: pets.id,
233
+ * })
234
+ * .from(users)
235
+ * .crossJoin(pets)
236
+ * ```
237
+ */
238
+ crossJoin: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>> | GelTable<import("../table.js").TableConfig> | GelViewBase<string, boolean, ColumnsSelection>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable) => import("./select.types.js").GelSelectJoin<this, TDynamic, "cross", TJoinedTable, TJoinedName>;
239
+ /**
240
+ * Executes a `cross join lateral` operation by combining rows from two queries into a new table.
241
+ *
242
+ * A `lateral` join allows the right-hand expression to refer to columns from the left-hand side.
243
+ *
244
+ * Calling this method retrieves all rows from both main and joined queries, merging all rows from each query.
245
+ *
246
+ * See docs: {@link https://orm.drizzle.team/docs/joins#cross-join-lateral}
247
+ *
248
+ * @param table the query to join.
249
+ */
250
+ crossJoinLateral: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable) => import("./select.types.js").GelSelectJoin<this, TDynamic, "cross", TJoinedTable, TJoinedName>;
190
251
  private createSetOperator;
191
252
  /**
192
253
  * Adds `union` set operator to the query.
@@ -527,11 +588,6 @@ export interface GelSelectBase<TTableName extends string | undefined, TSelection
527
588
  }
528
589
  export declare class GelSelectBase<TTableName extends string | undefined, TSelection extends ColumnsSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}, TDynamic extends boolean = false, TExcludedMethods extends string = never, TResult = SelectResult<TSelection, TSelectMode, TNullabilityMap>[], TSelectedFields = BuildSubquerySelection<TSelection, TNullabilityMap>> extends GelSelectQueryBuilderBase<GelSelectHKT, TTableName, TSelection, TSelectMode, TNullabilityMap, TDynamic, TExcludedMethods, TResult, TSelectedFields> implements RunnableQuery<TResult, 'gel'>, SQLWrapper {
529
590
  static readonly [entityKind]: string;
530
- $withCache(config?: {
531
- config?: CacheConfig;
532
- tag?: string;
533
- autoInvalidate?: boolean;
534
- } | false): this;
535
591
  /**
536
592
  * Create a prepared statement for this query. This allows
537
593
  * the database to remember this query for the given session
@@ -15,7 +15,6 @@ import {
15
15
  } from "../../utils.js";
16
16
  import { orderSelectedFields } from "../../utils.js";
17
17
  import { ViewBaseConfig } from "../../view-common.js";
18
- import { extractUsedTable } from "../utils.js";
19
18
  class GelSelectBuilder {
20
19
  static [entityKind] = "GelSelectBuilder";
21
20
  fields;
@@ -80,8 +79,6 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
80
79
  isPartialSelect;
81
80
  session;
82
81
  dialect;
83
- cacheConfig = void 0;
84
- usedTables = /* @__PURE__ */ new Set();
85
82
  constructor({ table, fields, isPartialSelect, session, dialect, withList, distinct }) {
86
83
  super();
87
84
  this.config = {
@@ -95,27 +92,18 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
95
92
  this.session = session;
96
93
  this.dialect = dialect;
97
94
  this._ = {
98
- selectedFields: fields,
99
- config: this.config
95
+ selectedFields: fields
100
96
  };
101
97
  this.tableName = getTableLikeName(table);
102
98
  this.joinsNotNullableMap = typeof this.tableName === "string" ? { [this.tableName]: true } : {};
103
- for (const item of extractUsedTable(table))
104
- this.usedTables.add(item);
105
99
  }
106
- /** @internal */
107
- getUsedTables() {
108
- return [...this.usedTables];
109
- }
110
- createJoin(joinType) {
100
+ createJoin(joinType, lateral) {
111
101
  return (table, on) => {
112
102
  const baseTableName = this.tableName;
113
103
  const tableName = getTableLikeName(table);
114
104
  if (typeof tableName === "string" && this.config.joins?.some((join) => join.alias === tableName)) {
115
105
  throw new Error(`Alias "${tableName}" is already used in this query`);
116
106
  }
117
- for (const item of extractUsedTable(table))
118
- this.usedTables.add(item);
119
107
  if (!this.isPartialSelect) {
120
108
  if (Object.keys(this.joinsNotNullableMap).length === 1 && typeof baseTableName === "string") {
121
109
  this.config.fields = {
@@ -138,7 +126,7 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
138
126
  if (!this.config.joins) {
139
127
  this.config.joins = [];
140
128
  }
141
- this.config.joins.push({ on, table, joinType, alias: tableName });
129
+ this.config.joins.push({ on, table, joinType, alias: tableName, lateral });
142
130
  if (typeof tableName === "string") {
143
131
  switch (joinType) {
144
132
  case "left": {
@@ -152,6 +140,7 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
152
140
  this.joinsNotNullableMap[tableName] = true;
153
141
  break;
154
142
  }
143
+ case "cross":
155
144
  case "inner": {
156
145
  this.joinsNotNullableMap[tableName] = true;
157
146
  break;
@@ -182,12 +171,12 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
182
171
  *
183
172
  * ```ts
184
173
  * // Select all users and their pets
185
- * const usersWithPets: { user: User; pets: Pet | null }[] = await db.select()
174
+ * const usersWithPets: { user: User; pets: Pet | null; }[] = await db.select()
186
175
  * .from(users)
187
176
  * .leftJoin(pets, eq(users.id, pets.ownerId))
188
177
  *
189
178
  * // Select userId and petId
190
- * const usersIdsAndPetIds: { userId: number; petId: number | null }[] = await db.select({
179
+ * const usersIdsAndPetIds: { userId: number; petId: number | null; }[] = await db.select({
191
180
  * userId: users.id,
192
181
  * petId: pets.id,
193
182
  * })
@@ -195,7 +184,20 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
195
184
  * .leftJoin(pets, eq(users.id, pets.ownerId))
196
185
  * ```
197
186
  */
198
- leftJoin = this.createJoin("left");
187
+ leftJoin = this.createJoin("left", false);
188
+ /**
189
+ * Executes a `left join lateral` operation by adding subquery to the current query.
190
+ *
191
+ * A `lateral` join allows the right-hand expression to refer to columns from the left-hand side.
192
+ *
193
+ * Calling this method associates each row of the table with the corresponding row from the joined table, if a match is found. If no matching row exists, it sets all columns of the joined table to null.
194
+ *
195
+ * See docs: {@link https://orm.drizzle.team/docs/joins#left-join-lateral}
196
+ *
197
+ * @param table the subquery to join.
198
+ * @param on the `on` clause.
199
+ */
200
+ leftJoinLateral = this.createJoin("left", true);
199
201
  /**
200
202
  * Executes a `right join` operation by adding another table to the current query.
201
203
  *
@@ -210,12 +212,12 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
210
212
  *
211
213
  * ```ts
212
214
  * // Select all users and their pets
213
- * const usersWithPets: { user: User | null; pets: Pet }[] = await db.select()
215
+ * const usersWithPets: { user: User | null; pets: Pet; }[] = await db.select()
214
216
  * .from(users)
215
217
  * .rightJoin(pets, eq(users.id, pets.ownerId))
216
218
  *
217
219
  * // Select userId and petId
218
- * const usersIdsAndPetIds: { userId: number | null; petId: number }[] = await db.select({
220
+ * const usersIdsAndPetIds: { userId: number | null; petId: number; }[] = await db.select({
219
221
  * userId: users.id,
220
222
  * petId: pets.id,
221
223
  * })
@@ -223,7 +225,7 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
223
225
  * .rightJoin(pets, eq(users.id, pets.ownerId))
224
226
  * ```
225
227
  */
226
- rightJoin = this.createJoin("right");
228
+ rightJoin = this.createJoin("right", false);
227
229
  /**
228
230
  * Executes an `inner join` operation, creating a new table by combining rows from two tables that have matching values.
229
231
  *
@@ -238,12 +240,12 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
238
240
  *
239
241
  * ```ts
240
242
  * // Select all users and their pets
241
- * const usersWithPets: { user: User; pets: Pet }[] = await db.select()
243
+ * const usersWithPets: { user: User; pets: Pet; }[] = await db.select()
242
244
  * .from(users)
243
245
  * .innerJoin(pets, eq(users.id, pets.ownerId))
244
246
  *
245
247
  * // Select userId and petId
246
- * const usersIdsAndPetIds: { userId: number; petId: number }[] = await db.select({
248
+ * const usersIdsAndPetIds: { userId: number; petId: number; }[] = await db.select({
247
249
  * userId: users.id,
248
250
  * petId: pets.id,
249
251
  * })
@@ -251,7 +253,20 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
251
253
  * .innerJoin(pets, eq(users.id, pets.ownerId))
252
254
  * ```
253
255
  */
254
- innerJoin = this.createJoin("inner");
256
+ innerJoin = this.createJoin("inner", false);
257
+ /**
258
+ * Executes an `inner join lateral` operation, creating a new table by combining rows from two queries that have matching values.
259
+ *
260
+ * A `lateral` join allows the right-hand expression to refer to columns from the left-hand side.
261
+ *
262
+ * Calling this method retrieves rows that have corresponding entries in both joined tables. Rows without matching entries in either table are excluded, resulting in a table that includes only matching pairs.
263
+ *
264
+ * See docs: {@link https://orm.drizzle.team/docs/joins#inner-join-lateral}
265
+ *
266
+ * @param table the subquery to join.
267
+ * @param on the `on` clause.
268
+ */
269
+ innerJoinLateral = this.createJoin("inner", true);
255
270
  /**
256
271
  * Executes a `full join` operation by combining rows from two tables into a new table.
257
272
  *
@@ -266,12 +281,12 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
266
281
  *
267
282
  * ```ts
268
283
  * // Select all users and their pets
269
- * const usersWithPets: { user: User | null; pets: Pet | null }[] = await db.select()
284
+ * const usersWithPets: { user: User | null; pets: Pet | null; }[] = await db.select()
270
285
  * .from(users)
271
286
  * .fullJoin(pets, eq(users.id, pets.ownerId))
272
287
  *
273
288
  * // Select userId and petId
274
- * const usersIdsAndPetIds: { userId: number | null; petId: number | null }[] = await db.select({
289
+ * const usersIdsAndPetIds: { userId: number | null; petId: number | null; }[] = await db.select({
275
290
  * userId: users.id,
276
291
  * petId: pets.id,
277
292
  * })
@@ -279,7 +294,46 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
279
294
  * .fullJoin(pets, eq(users.id, pets.ownerId))
280
295
  * ```
281
296
  */
282
- fullJoin = this.createJoin("full");
297
+ fullJoin = this.createJoin("full", false);
298
+ /**
299
+ * Executes a `cross join` operation by combining rows from two tables into a new table.
300
+ *
301
+ * Calling this method retrieves all rows from both main and joined tables, merging all rows from each table.
302
+ *
303
+ * See docs: {@link https://orm.drizzle.team/docs/joins#cross-join}
304
+ *
305
+ * @param table the table to join.
306
+ *
307
+ * @example
308
+ *
309
+ * ```ts
310
+ * // Select all users, each user with every pet
311
+ * const usersWithPets: { user: User; pets: Pet; }[] = await db.select()
312
+ * .from(users)
313
+ * .crossJoin(pets)
314
+ *
315
+ * // Select userId and petId
316
+ * const usersIdsAndPetIds: { userId: number; petId: number; }[] = await db.select({
317
+ * userId: users.id,
318
+ * petId: pets.id,
319
+ * })
320
+ * .from(users)
321
+ * .crossJoin(pets)
322
+ * ```
323
+ */
324
+ crossJoin = this.createJoin("cross", false);
325
+ /**
326
+ * Executes a `cross join lateral` operation by combining rows from two queries into a new table.
327
+ *
328
+ * A `lateral` join allows the right-hand expression to refer to columns from the left-hand side.
329
+ *
330
+ * Calling this method retrieves all rows from both main and joined queries, merging all rows from each query.
331
+ *
332
+ * See docs: {@link https://orm.drizzle.team/docs/joins#cross-join-lateral}
333
+ *
334
+ * @param table the query to join.
335
+ */
336
+ crossJoinLateral = this.createJoin("cross", true);
283
337
  createSetOperator(type, isAll) {
284
338
  return (rightSelection) => {
285
339
  const rightSelect = typeof rightSelection === "function" ? rightSelection(getGelSetOperators()) : rightSelection;
@@ -667,14 +721,8 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
667
721
  return rest;
668
722
  }
669
723
  as(alias) {
670
- const usedTables = [];
671
- usedTables.push(...extractUsedTable(this.config.table));
672
- if (this.config.joins) {
673
- for (const it of this.config.joins)
674
- usedTables.push(...extractUsedTable(it.table));
675
- }
676
724
  return new Proxy(
677
- new Subquery(this.getSQL(), this.config.fields, alias, false, [...new Set(usedTables)]),
725
+ new Subquery(this.getSQL(), this.config.fields, alias),
678
726
  new SelectionProxyHandler({ alias, sqlAliasedBehavior: "alias", sqlBehavior: "error" })
679
727
  );
680
728
  }
@@ -693,24 +741,17 @@ class GelSelectBase extends GelSelectQueryBuilderBase {
693
741
  static [entityKind] = "GelSelect";
694
742
  /** @internal */
695
743
  _prepare(name) {
696
- const { session, config, dialect, joinsNotNullableMap, cacheConfig, usedTables } = this;
744
+ const { session, config, dialect, joinsNotNullableMap } = this;
697
745
  if (!session) {
698
746
  throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");
699
747
  }
700
748
  return tracer.startActiveSpan("drizzle.prepareQuery", () => {
701
749
  const fieldsList = orderSelectedFields(config.fields);
702
- const query = session.prepareQuery(dialect.sqlToQuery(this.getSQL()), fieldsList, name, true, void 0, {
703
- type: "select",
704
- tables: [...usedTables]
705
- }, cacheConfig);
750
+ const query = session.prepareQuery(dialect.sqlToQuery(this.getSQL()), fieldsList, name, true);
706
751
  query.joinsNotNullableMap = joinsNotNullableMap;
707
752
  return query;
708
753
  });
709
754
  }
710
- $withCache(config) {
711
- this.cacheConfig = config === void 0 ? { config: {}, enable: true, autoInvalidate: true } : config === false ? { enable: false } : { enable: true, autoInvalidate: true, ...config };
712
- return this;
713
- }
714
755
  /**
715
756
  * Create a prepared statement for this query. This allows
716
757
  * the database to remember this query for the given session