drizzle-orm 0.28.3 → 0.28.4

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 (752) hide show
  1. package/{alias-d302772a.mjs → alias-e80df77c.mjs} +2302 -2299
  2. package/alias-e80df77c.mjs.map +1 -0
  3. package/alias.d.cts +31 -0
  4. package/alias.d.mts +31 -0
  5. package/alias.d.ts +7 -7
  6. package/aws-data-api/common/index.d.cts +9 -0
  7. package/aws-data-api/common/index.d.mts +9 -0
  8. package/aws-data-api/common/index.d.ts +1 -1
  9. package/aws-data-api/pg/driver.d.cts +23 -0
  10. package/aws-data-api/pg/driver.d.mts +23 -0
  11. package/aws-data-api/pg/driver.d.ts +6 -6
  12. package/aws-data-api/pg/index.cjs +17 -17
  13. package/aws-data-api/pg/index.d.cts +2 -0
  14. package/aws-data-api/pg/index.d.mts +2 -0
  15. package/aws-data-api/pg/index.d.ts +2 -2
  16. package/aws-data-api/pg/index.mjs +3 -2
  17. package/aws-data-api/pg/index.mjs.map +1 -1
  18. package/aws-data-api/pg/migrator.d.cts +3 -0
  19. package/aws-data-api/pg/migrator.d.mts +3 -0
  20. package/aws-data-api/pg/migrator.d.ts +2 -2
  21. package/aws-data-api/pg/session.d.cts +50 -0
  22. package/aws-data-api/pg/session.d.mts +50 -0
  23. package/aws-data-api/pg/session.d.ts +6 -6
  24. package/better-sqlite3/driver.d.cts +5 -0
  25. package/better-sqlite3/driver.d.mts +5 -0
  26. package/better-sqlite3/driver.d.ts +2 -2
  27. package/better-sqlite3/index.cjs +16 -16
  28. package/better-sqlite3/index.d.cts +2 -0
  29. package/better-sqlite3/index.d.mts +2 -0
  30. package/better-sqlite3/index.d.ts +2 -2
  31. package/better-sqlite3/index.mjs +3 -2
  32. package/better-sqlite3/index.mjs.map +1 -1
  33. package/better-sqlite3/migrator.d.cts +3 -0
  34. package/better-sqlite3/migrator.d.mts +3 -0
  35. package/better-sqlite3/migrator.d.ts +2 -2
  36. package/better-sqlite3/session.d.cts +48 -0
  37. package/better-sqlite3/session.d.mts +48 -0
  38. package/better-sqlite3/session.d.ts +8 -8
  39. package/bun-sqlite/driver.d.cts +6 -0
  40. package/bun-sqlite/driver.d.mts +6 -0
  41. package/bun-sqlite/driver.d.ts +2 -2
  42. package/bun-sqlite/index.cjs +16 -16
  43. package/bun-sqlite/index.d.cts +2 -0
  44. package/bun-sqlite/index.d.mts +2 -0
  45. package/bun-sqlite/index.d.ts +2 -2
  46. package/bun-sqlite/index.mjs +3 -2
  47. package/bun-sqlite/index.mjs.map +1 -1
  48. package/bun-sqlite/migrator.d.cts +3 -0
  49. package/bun-sqlite/migrator.d.mts +3 -0
  50. package/bun-sqlite/migrator.d.ts +2 -2
  51. package/bun-sqlite/session.d.cts +52 -0
  52. package/bun-sqlite/session.d.mts +52 -0
  53. package/bun-sqlite/session.d.ts +9 -9
  54. package/column-builder.d.cts +146 -0
  55. package/column-builder.d.mts +146 -0
  56. package/column-builder.d.ts +22 -20
  57. package/column.d.cts +56 -0
  58. package/column.d.mts +56 -0
  59. package/column.d.ts +5 -5
  60. package/d1/driver.d.cts +5 -0
  61. package/d1/driver.d.mts +5 -0
  62. package/d1/driver.d.ts +2 -2
  63. package/d1/index.cjs +19 -19
  64. package/d1/index.d.cts +2 -0
  65. package/d1/index.d.mts +2 -0
  66. package/d1/index.d.ts +2 -2
  67. package/d1/index.mjs +3 -2
  68. package/d1/index.mjs.map +1 -1
  69. package/d1/migrator.d.cts +3 -0
  70. package/d1/migrator.d.mts +3 -0
  71. package/d1/migrator.d.ts +2 -2
  72. package/d1/session.d.cts +50 -0
  73. package/d1/session.d.mts +50 -0
  74. package/d1/session.d.ts +9 -9
  75. package/entity.d.cts +7 -0
  76. package/entity.d.mts +7 -0
  77. package/errors.d.cts +10 -0
  78. package/errors.d.mts +10 -0
  79. package/errors.d.ts +1 -1
  80. package/expressions.d.cts +1 -0
  81. package/expressions.d.mts +1 -0
  82. package/expressions.d.ts +1 -1
  83. package/{alias-58b7b8c9.cjs → index-b1dbb7ec.cjs} +3071 -3030
  84. package/index-b1dbb7ec.cjs.map +1 -0
  85. package/index.cjs +100 -132
  86. package/index.cjs.map +1 -1
  87. package/index.d.cts +15 -0
  88. package/index.d.mts +15 -0
  89. package/index.d.ts +15 -15
  90. package/index.mjs +3 -2
  91. package/index.mjs.map +1 -1
  92. package/knex/index.d.cts +9 -0
  93. package/knex/index.d.mts +9 -0
  94. package/knex/index.d.ts +5 -5
  95. package/kysely/index.d.cts +16 -0
  96. package/kysely/index.d.mts +16 -0
  97. package/kysely/index.d.ts +7 -7
  98. package/libsql/driver.d.cts +5 -0
  99. package/libsql/driver.d.mts +5 -0
  100. package/libsql/driver.d.ts +2 -2
  101. package/libsql/index.cjs +17 -16
  102. package/libsql/index.cjs.map +1 -1
  103. package/libsql/index.d.cts +2 -0
  104. package/libsql/index.d.mts +2 -0
  105. package/libsql/index.d.ts +2 -2
  106. package/libsql/index.mjs +4 -2
  107. package/libsql/index.mjs.map +1 -1
  108. package/libsql/migrator.d.cts +3 -0
  109. package/libsql/migrator.d.mts +3 -0
  110. package/libsql/migrator.d.ts +2 -2
  111. package/libsql/session.d.cts +53 -0
  112. package/libsql/session.d.mts +53 -0
  113. package/libsql/session.d.ts +9 -9
  114. package/logger.d.cts +23 -0
  115. package/logger.d.mts +23 -0
  116. package/logger.d.ts +1 -1
  117. package/migrator.d.cts +15 -0
  118. package/migrator.d.mts +15 -0
  119. package/mysql-core/alias.d.cts +4 -0
  120. package/mysql-core/alias.d.mts +4 -0
  121. package/mysql-core/alias.d.ts +3 -3
  122. package/mysql-core/checks.d.cts +18 -0
  123. package/mysql-core/checks.d.mts +18 -0
  124. package/mysql-core/checks.d.ts +3 -3
  125. package/mysql-core/columns/bigint.d.cts +43 -0
  126. package/mysql-core/columns/bigint.d.mts +43 -0
  127. package/mysql-core/columns/bigint.d.ts +4 -4
  128. package/mysql-core/columns/binary.d.cts +25 -0
  129. package/mysql-core/columns/binary.d.mts +25 -0
  130. package/mysql-core/columns/binary.d.ts +4 -4
  131. package/mysql-core/columns/boolean.d.cts +22 -0
  132. package/mysql-core/columns/boolean.d.mts +22 -0
  133. package/mysql-core/columns/boolean.d.ts +4 -4
  134. package/mysql-core/columns/char.d.cts +28 -0
  135. package/mysql-core/columns/char.d.mts +28 -0
  136. package/mysql-core/columns/char.d.ts +5 -5
  137. package/mysql-core/columns/common.d.cts +49 -0
  138. package/mysql-core/columns/common.d.mts +49 -0
  139. package/mysql-core/columns/common.d.ts +13 -9
  140. package/mysql-core/columns/custom.d.cts +148 -0
  141. package/mysql-core/columns/custom.d.mts +148 -0
  142. package/mysql-core/columns/custom.d.ts +7 -7
  143. package/mysql-core/columns/date.common.d.cts +16 -0
  144. package/mysql-core/columns/date.common.d.mts +16 -0
  145. package/mysql-core/columns/date.common.d.ts +4 -4
  146. package/mysql-core/columns/date.d.cts +49 -0
  147. package/mysql-core/columns/date.d.mts +49 -0
  148. package/mysql-core/columns/date.d.ts +6 -6
  149. package/mysql-core/columns/datetime.d.cts +53 -0
  150. package/mysql-core/columns/datetime.d.mts +53 -0
  151. package/mysql-core/columns/datetime.d.ts +6 -6
  152. package/mysql-core/columns/decimal.d.cts +27 -0
  153. package/mysql-core/columns/decimal.d.mts +27 -0
  154. package/mysql-core/columns/decimal.d.ts +4 -4
  155. package/mysql-core/columns/double.d.cts +27 -0
  156. package/mysql-core/columns/double.d.mts +27 -0
  157. package/mysql-core/columns/double.d.ts +4 -4
  158. package/mysql-core/columns/enum.d.cts +27 -0
  159. package/mysql-core/columns/enum.d.mts +27 -0
  160. package/mysql-core/columns/enum.d.ts +5 -5
  161. package/mysql-core/columns/float.d.cts +21 -0
  162. package/mysql-core/columns/float.d.mts +21 -0
  163. package/mysql-core/columns/float.d.ts +4 -4
  164. package/mysql-core/columns/index.d.cts +25 -0
  165. package/mysql-core/columns/index.d.mts +25 -0
  166. package/mysql-core/columns/index.d.ts +25 -25
  167. package/mysql-core/columns/int.d.cts +22 -0
  168. package/mysql-core/columns/int.d.mts +22 -0
  169. package/mysql-core/columns/int.d.ts +4 -4
  170. package/mysql-core/columns/json.d.cts +22 -0
  171. package/mysql-core/columns/json.d.mts +22 -0
  172. package/mysql-core/columns/json.d.ts +4 -4
  173. package/mysql-core/columns/mediumint.d.cts +22 -0
  174. package/mysql-core/columns/mediumint.d.mts +22 -0
  175. package/mysql-core/columns/mediumint.d.ts +4 -4
  176. package/mysql-core/columns/real.d.cts +27 -0
  177. package/mysql-core/columns/real.d.mts +27 -0
  178. package/mysql-core/columns/real.d.ts +4 -4
  179. package/mysql-core/columns/serial.d.cts +22 -0
  180. package/mysql-core/columns/serial.d.mts +22 -0
  181. package/mysql-core/columns/serial.d.ts +4 -4
  182. package/mysql-core/columns/smallint.d.cts +22 -0
  183. package/mysql-core/columns/smallint.d.mts +22 -0
  184. package/mysql-core/columns/smallint.d.ts +4 -4
  185. package/mysql-core/columns/text.d.cts +37 -0
  186. package/mysql-core/columns/text.d.mts +37 -0
  187. package/mysql-core/columns/text.d.ts +5 -5
  188. package/mysql-core/columns/time.d.cts +25 -0
  189. package/mysql-core/columns/time.d.mts +25 -0
  190. package/mysql-core/columns/time.d.ts +4 -4
  191. package/mysql-core/columns/timestamp.d.cts +47 -0
  192. package/mysql-core/columns/timestamp.d.mts +47 -0
  193. package/mysql-core/columns/timestamp.d.ts +5 -5
  194. package/mysql-core/columns/tinyint.d.cts +22 -0
  195. package/mysql-core/columns/tinyint.d.mts +22 -0
  196. package/mysql-core/columns/tinyint.d.ts +4 -4
  197. package/mysql-core/columns/varbinary.d.cts +24 -0
  198. package/mysql-core/columns/varbinary.d.mts +24 -0
  199. package/mysql-core/columns/varbinary.d.ts +4 -4
  200. package/mysql-core/columns/varchar.d.cts +27 -0
  201. package/mysql-core/columns/varchar.d.mts +27 -0
  202. package/mysql-core/columns/varchar.d.ts +5 -5
  203. package/mysql-core/columns/year.d.cts +21 -0
  204. package/mysql-core/columns/year.d.mts +21 -0
  205. package/mysql-core/columns/year.d.ts +4 -4
  206. package/mysql-core/db.d.cts +55 -0
  207. package/mysql-core/db.d.mts +55 -0
  208. package/mysql-core/db.d.ts +14 -14
  209. package/mysql-core/dialect.d.cts +59 -0
  210. package/mysql-core/dialect.d.mts +59 -0
  211. package/mysql-core/dialect.d.ts +12 -12
  212. package/mysql-core/expressions.d.cts +8 -0
  213. package/mysql-core/expressions.d.mts +8 -0
  214. package/mysql-core/expressions.d.ts +3 -3
  215. package/mysql-core/foreign-keys.d.cts +48 -0
  216. package/mysql-core/foreign-keys.d.mts +48 -0
  217. package/mysql-core/foreign-keys.d.ts +3 -3
  218. package/mysql-core/index.cjs +156 -1028
  219. package/mysql-core/index.cjs.map +1 -1
  220. package/mysql-core/index.d.cts +16 -0
  221. package/mysql-core/index.d.mts +16 -0
  222. package/mysql-core/index.d.ts +16 -16
  223. package/mysql-core/index.mjs +37 -36
  224. package/mysql-core/index.mjs.map +1 -1
  225. package/mysql-core/indexes.d.cts +59 -0
  226. package/mysql-core/indexes.d.mts +59 -0
  227. package/mysql-core/indexes.d.ts +4 -4
  228. package/mysql-core/primary-keys.d.cts +17 -0
  229. package/mysql-core/primary-keys.d.mts +17 -0
  230. package/mysql-core/primary-keys.d.ts +3 -3
  231. package/mysql-core/query-builders/delete.d.cts +39 -0
  232. package/mysql-core/query-builders/delete.d.mts +39 -0
  233. package/mysql-core/query-builders/delete.d.ts +9 -9
  234. package/mysql-core/query-builders/index.d.cts +6 -0
  235. package/mysql-core/query-builders/index.d.mts +6 -0
  236. package/mysql-core/query-builders/index.d.ts +6 -6
  237. package/mysql-core/query-builders/insert.d.cts +59 -0
  238. package/mysql-core/query-builders/insert.d.mts +59 -0
  239. package/mysql-core/query-builders/insert.d.ts +11 -11
  240. package/mysql-core/query-builders/query-builder.d.cts +29 -0
  241. package/mysql-core/query-builders/query-builder.d.mts +29 -0
  242. package/mysql-core/query-builders/query-builder.d.ts +7 -7
  243. package/mysql-core/query-builders/query.d.cts +44 -0
  244. package/mysql-core/query-builders/query.d.mts +44 -0
  245. package/mysql-core/query-builders/query.d.ts +9 -9
  246. package/mysql-core/query-builders/select.d.cts +92 -0
  247. package/mysql-core/query-builders/select.d.mts +92 -0
  248. package/mysql-core/query-builders/select.d.ts +17 -17
  249. package/mysql-core/query-builders/select.types.d.cts +77 -0
  250. package/mysql-core/query-builders/select.types.d.mts +77 -0
  251. package/mysql-core/query-builders/select.types.d.ts +12 -12
  252. package/mysql-core/query-builders/update.d.cts +54 -0
  253. package/mysql-core/query-builders/update.d.mts +54 -0
  254. package/mysql-core/query-builders/update.d.ts +11 -11
  255. package/mysql-core/schema.d.cts +24 -0
  256. package/mysql-core/schema.d.mts +24 -0
  257. package/mysql-core/schema.d.ts +3 -3
  258. package/mysql-core/session.d.cts +63 -0
  259. package/mysql-core/session.d.mts +63 -0
  260. package/mysql-core/session.d.ts +7 -7
  261. package/mysql-core/subquery.d.cts +6 -0
  262. package/mysql-core/subquery.d.mts +6 -0
  263. package/mysql-core/subquery.d.ts +4 -4
  264. package/mysql-core/table.d.cts +35 -0
  265. package/mysql-core/table.d.mts +35 -0
  266. package/mysql-core/table.d.ts +11 -11
  267. package/mysql-core/unique-constraint.d.cts +24 -0
  268. package/mysql-core/unique-constraint.d.mts +24 -0
  269. package/mysql-core/unique-constraint.d.ts +3 -3
  270. package/mysql-core/utils.d.cts +32 -0
  271. package/mysql-core/utils.d.mts +32 -0
  272. package/mysql-core/utils.d.ts +11 -11
  273. package/mysql-core/view.d.cts +73 -0
  274. package/mysql-core/view.d.mts +73 -0
  275. package/mysql-core/view.d.ts +11 -11
  276. package/mysql2/driver.d.cts +31 -0
  277. package/mysql2/driver.d.mts +31 -0
  278. package/mysql2/driver.d.ts +10 -10
  279. package/mysql2/index.cjs +29 -27
  280. package/mysql2/index.cjs.map +1 -1
  281. package/mysql2/index.d.cts +2 -0
  282. package/mysql2/index.d.mts +2 -0
  283. package/mysql2/index.d.ts +2 -2
  284. package/mysql2/index.mjs +5 -2
  285. package/mysql2/index.mjs.map +1 -1
  286. package/mysql2/migrator.d.cts +3 -0
  287. package/mysql2/migrator.d.mts +3 -0
  288. package/mysql2/migrator.d.ts +2 -2
  289. package/mysql2/session.d.cts +52 -0
  290. package/mysql2/session.d.mts +52 -0
  291. package/mysql2/session.d.ts +8 -8
  292. package/neon-http/driver.d.cts +21 -0
  293. package/neon-http/driver.d.mts +21 -0
  294. package/neon-http/driver.d.ts +7 -7
  295. package/neon-http/index.cjs +16 -16
  296. package/neon-http/index.d.cts +2 -0
  297. package/neon-http/index.d.mts +2 -0
  298. package/neon-http/index.d.ts +2 -2
  299. package/neon-http/index.mjs +3 -2
  300. package/neon-http/index.mjs.map +1 -1
  301. package/neon-http/migrator.cjs +9 -6
  302. package/neon-http/migrator.cjs.map +1 -1
  303. package/neon-http/migrator.d.cts +11 -0
  304. package/neon-http/migrator.d.mts +11 -0
  305. package/neon-http/migrator.d.ts +2 -2
  306. package/neon-http/migrator.mjs +3 -1
  307. package/neon-http/migrator.mjs.map +1 -1
  308. package/neon-http/session.d.cts +55 -0
  309. package/neon-http/session.d.mts +55 -0
  310. package/neon-http/session.d.ts +10 -10
  311. package/neon-serverless/driver.d.cts +22 -0
  312. package/neon-serverless/driver.d.mts +22 -0
  313. package/neon-serverless/driver.d.ts +8 -8
  314. package/neon-serverless/index.cjs +22 -22
  315. package/neon-serverless/index.d.cts +2 -0
  316. package/neon-serverless/index.d.mts +2 -0
  317. package/neon-serverless/index.d.ts +2 -2
  318. package/neon-serverless/index.mjs +3 -2
  319. package/neon-serverless/index.mjs.map +1 -1
  320. package/neon-serverless/migrator.d.cts +3 -0
  321. package/neon-serverless/migrator.d.mts +3 -0
  322. package/neon-serverless/migrator.d.ts +2 -2
  323. package/neon-serverless/session.d.cts +48 -0
  324. package/neon-serverless/session.d.mts +48 -0
  325. package/neon-serverless/session.d.ts +10 -10
  326. package/node-postgres/driver.d.cts +22 -0
  327. package/node-postgres/driver.d.mts +22 -0
  328. package/node-postgres/driver.d.ts +8 -8
  329. package/node-postgres/index.cjs +27 -27
  330. package/node-postgres/index.d.cts +2 -0
  331. package/node-postgres/index.d.mts +2 -0
  332. package/node-postgres/index.d.ts +2 -2
  333. package/node-postgres/index.mjs +3 -2
  334. package/node-postgres/index.mjs.map +1 -1
  335. package/node-postgres/migrator.d.cts +3 -0
  336. package/node-postgres/migrator.d.mts +3 -0
  337. package/node-postgres/migrator.d.ts +2 -2
  338. package/node-postgres/session.d.cts +46 -0
  339. package/node-postgres/session.d.mts +46 -0
  340. package/node-postgres/session.d.ts +10 -10
  341. package/operations.d.cts +15 -0
  342. package/operations.d.mts +15 -0
  343. package/operations.d.ts +3 -3
  344. package/package.json +291 -74
  345. package/pg-core/alias.d.cts +4 -0
  346. package/pg-core/alias.d.mts +4 -0
  347. package/pg-core/alias.d.ts +3 -3
  348. package/pg-core/checks.d.cts +18 -0
  349. package/pg-core/checks.d.mts +18 -0
  350. package/pg-core/checks.d.ts +3 -3
  351. package/pg-core/columns/array.d.cts +26 -0
  352. package/pg-core/columns/array.d.mts +26 -0
  353. package/pg-core/columns/array.d.ts +5 -5
  354. package/pg-core/columns/bigint.d.cts +43 -0
  355. package/pg-core/columns/bigint.d.mts +43 -0
  356. package/pg-core/columns/bigint.d.ts +4 -4
  357. package/pg-core/columns/bigserial.d.cts +43 -0
  358. package/pg-core/columns/bigserial.d.mts +43 -0
  359. package/pg-core/columns/bigserial.d.ts +4 -4
  360. package/pg-core/columns/boolean.d.cts +21 -0
  361. package/pg-core/columns/boolean.d.mts +21 -0
  362. package/pg-core/columns/boolean.d.ts +4 -4
  363. package/pg-core/columns/char.d.cts +34 -0
  364. package/pg-core/columns/char.d.mts +34 -0
  365. package/pg-core/columns/char.d.ts +5 -5
  366. package/pg-core/columns/cidr.d.cts +21 -0
  367. package/pg-core/columns/cidr.d.mts +21 -0
  368. package/pg-core/columns/cidr.d.ts +4 -4
  369. package/pg-core/columns/common.d.cts +54 -0
  370. package/pg-core/columns/common.d.mts +54 -0
  371. package/pg-core/columns/common.d.ts +15 -13
  372. package/pg-core/columns/custom.d.cts +148 -0
  373. package/pg-core/columns/custom.d.mts +148 -0
  374. package/pg-core/columns/custom.d.ts +7 -7
  375. package/pg-core/columns/date.common.d.cts +7 -0
  376. package/pg-core/columns/date.common.d.mts +7 -0
  377. package/pg-core/columns/date.common.d.ts +4 -4
  378. package/pg-core/columns/date.d.cts +45 -0
  379. package/pg-core/columns/date.d.mts +45 -0
  380. package/pg-core/columns/date.d.ts +5 -5
  381. package/pg-core/columns/double-precision.d.cts +22 -0
  382. package/pg-core/columns/double-precision.d.mts +22 -0
  383. package/pg-core/columns/double-precision.d.ts +4 -4
  384. package/pg-core/columns/enum.d.cts +42 -0
  385. package/pg-core/columns/enum.d.mts +42 -0
  386. package/pg-core/columns/enum.d.ts +6 -6
  387. package/pg-core/columns/index.d.cts +28 -0
  388. package/pg-core/columns/index.d.mts +28 -0
  389. package/pg-core/columns/index.d.ts +28 -28
  390. package/pg-core/columns/inet.d.cts +21 -0
  391. package/pg-core/columns/inet.d.mts +21 -0
  392. package/pg-core/columns/inet.d.ts +4 -4
  393. package/pg-core/columns/integer.d.cts +23 -0
  394. package/pg-core/columns/integer.d.mts +23 -0
  395. package/pg-core/columns/integer.d.ts +4 -4
  396. package/pg-core/columns/interval.d.cts +32 -0
  397. package/pg-core/columns/interval.d.mts +32 -0
  398. package/pg-core/columns/interval.d.ts +5 -5
  399. package/pg-core/columns/json.d.cts +27 -0
  400. package/pg-core/columns/json.d.mts +27 -0
  401. package/pg-core/columns/json.d.ts +5 -5
  402. package/pg-core/columns/jsonb.d.cts +27 -0
  403. package/pg-core/columns/jsonb.d.mts +27 -0
  404. package/pg-core/columns/jsonb.d.ts +5 -5
  405. package/pg-core/columns/macaddr.d.cts +21 -0
  406. package/pg-core/columns/macaddr.d.mts +21 -0
  407. package/pg-core/columns/macaddr.d.ts +4 -4
  408. package/pg-core/columns/macaddr8.d.cts +21 -0
  409. package/pg-core/columns/macaddr8.d.mts +21 -0
  410. package/pg-core/columns/macaddr8.d.ts +4 -4
  411. package/pg-core/columns/numeric.d.cts +40 -0
  412. package/pg-core/columns/numeric.d.mts +40 -0
  413. package/pg-core/columns/numeric.d.ts +5 -5
  414. package/pg-core/columns/real.d.cts +28 -0
  415. package/pg-core/columns/real.d.mts +28 -0
  416. package/pg-core/columns/real.d.ts +5 -5
  417. package/pg-core/columns/serial.d.cts +21 -0
  418. package/pg-core/columns/serial.d.mts +21 -0
  419. package/pg-core/columns/serial.d.ts +4 -4
  420. package/pg-core/columns/smallint.d.cts +22 -0
  421. package/pg-core/columns/smallint.d.mts +22 -0
  422. package/pg-core/columns/smallint.d.ts +4 -4
  423. package/pg-core/columns/smallserial.d.cts +21 -0
  424. package/pg-core/columns/smallserial.d.mts +21 -0
  425. package/pg-core/columns/smallserial.d.ts +4 -4
  426. package/pg-core/columns/text.d.cts +31 -0
  427. package/pg-core/columns/text.d.mts +31 -0
  428. package/pg-core/columns/text.d.ts +5 -5
  429. package/pg-core/columns/time.d.cts +38 -0
  430. package/pg-core/columns/time.d.mts +38 -0
  431. package/pg-core/columns/time.d.ts +7 -7
  432. package/pg-core/columns/timestamp.d.cts +64 -0
  433. package/pg-core/columns/timestamp.d.mts +64 -0
  434. package/pg-core/columns/timestamp.d.ts +7 -7
  435. package/pg-core/columns/uuid.d.cts +25 -0
  436. package/pg-core/columns/uuid.d.mts +25 -0
  437. package/pg-core/columns/uuid.d.ts +4 -4
  438. package/pg-core/columns/varchar.d.cts +34 -0
  439. package/pg-core/columns/varchar.d.mts +34 -0
  440. package/pg-core/columns/varchar.d.ts +5 -5
  441. package/pg-core/db.d.cts +53 -0
  442. package/pg-core/db.d.mts +53 -0
  443. package/pg-core/db.d.ts +17 -17
  444. package/pg-core/dialect.d.cts +53 -0
  445. package/pg-core/dialect.d.mts +53 -0
  446. package/pg-core/dialect.d.ts +11 -11
  447. package/pg-core/expressions.d.cts +8 -0
  448. package/pg-core/expressions.d.mts +8 -0
  449. package/pg-core/expressions.d.ts +3 -3
  450. package/pg-core/foreign-keys.d.cts +45 -0
  451. package/pg-core/foreign-keys.d.mts +45 -0
  452. package/pg-core/foreign-keys.d.ts +3 -3
  453. package/pg-core/index.cjs +158 -157
  454. package/pg-core/index.cjs.map +1 -1
  455. package/pg-core/index.d.cts +16 -0
  456. package/pg-core/index.d.mts +16 -0
  457. package/pg-core/index.d.ts +16 -16
  458. package/pg-core/index.mjs +8 -7
  459. package/pg-core/index.mjs.map +1 -1
  460. package/pg-core/indexes.d.cts +72 -0
  461. package/pg-core/indexes.d.mts +72 -0
  462. package/pg-core/indexes.d.ts +4 -4
  463. package/pg-core/primary-keys.d.cts +17 -0
  464. package/pg-core/primary-keys.d.mts +17 -0
  465. package/pg-core/primary-keys.d.ts +3 -3
  466. package/pg-core/query-builders/delete.d.cts +35 -0
  467. package/pg-core/query-builders/delete.d.mts +35 -0
  468. package/pg-core/query-builders/delete.d.ts +9 -9
  469. package/pg-core/query-builders/index.d.cts +7 -0
  470. package/pg-core/query-builders/index.d.mts +7 -0
  471. package/pg-core/query-builders/index.d.ts +7 -7
  472. package/pg-core/query-builders/insert.d.cts +63 -0
  473. package/pg-core/query-builders/insert.d.mts +63 -0
  474. package/pg-core/query-builders/insert.d.ts +12 -12
  475. package/pg-core/query-builders/query-builder.d.cts +37 -0
  476. package/pg-core/query-builders/query-builder.d.mts +37 -0
  477. package/pg-core/query-builders/query-builder.d.ts +9 -9
  478. package/pg-core/query-builders/query.d.cts +39 -0
  479. package/pg-core/query-builders/query.d.mts +39 -0
  480. package/pg-core/query-builders/query.d.ts +7 -7
  481. package/pg-core/query-builders/refresh-materialized-view.d.cts +26 -0
  482. package/pg-core/query-builders/refresh-materialized-view.d.mts +26 -0
  483. package/pg-core/query-builders/refresh-materialized-view.d.ts +6 -6
  484. package/pg-core/query-builders/select.d.cts +211 -0
  485. package/pg-core/query-builders/select.d.mts +211 -0
  486. package/pg-core/query-builders/select.d.ts +15 -15
  487. package/pg-core/query-builders/select.types.d.cts +79 -0
  488. package/pg-core/query-builders/select.types.d.mts +79 -0
  489. package/pg-core/query-builders/select.types.d.ts +11 -11
  490. package/pg-core/query-builders/update.d.cts +53 -0
  491. package/pg-core/query-builders/update.d.mts +53 -0
  492. package/pg-core/query-builders/update.d.ts +11 -11
  493. package/pg-core/schema.d.cts +13 -0
  494. package/pg-core/schema.d.mts +13 -0
  495. package/pg-core/schema.d.ts +3 -3
  496. package/pg-core/session.d.cts +54 -0
  497. package/pg-core/session.d.mts +54 -0
  498. package/pg-core/session.d.ts +6 -6
  499. package/pg-core/subquery.d.cts +5 -0
  500. package/pg-core/subquery.d.mts +5 -0
  501. package/pg-core/subquery.d.ts +3 -3
  502. package/pg-core/table.d.cts +28 -0
  503. package/pg-core/table.d.mts +28 -0
  504. package/pg-core/table.d.ts +10 -10
  505. package/pg-core/unique-constraint.d.cts +25 -0
  506. package/pg-core/unique-constraint.d.mts +25 -0
  507. package/pg-core/unique-constraint.d.ts +3 -3
  508. package/pg-core/utils.d.cts +52 -0
  509. package/pg-core/utils.d.mts +52 -0
  510. package/pg-core/utils.d.ts +16 -16
  511. package/pg-core/view.d.cts +143 -0
  512. package/pg-core/view.d.mts +143 -0
  513. package/pg-core/view.d.ts +13 -13
  514. package/planetscale-serverless/driver.d.cts +10 -0
  515. package/planetscale-serverless/driver.d.mts +10 -0
  516. package/planetscale-serverless/driver.d.ts +4 -4
  517. package/planetscale-serverless/index.cjs +18 -18
  518. package/planetscale-serverless/index.cjs.map +1 -1
  519. package/planetscale-serverless/index.d.cts +2 -0
  520. package/planetscale-serverless/index.d.mts +2 -0
  521. package/planetscale-serverless/index.d.ts +2 -2
  522. package/planetscale-serverless/index.mjs +3 -2
  523. package/planetscale-serverless/index.mjs.map +1 -1
  524. package/planetscale-serverless/migrator.d.cts +3 -0
  525. package/planetscale-serverless/migrator.d.mts +3 -0
  526. package/planetscale-serverless/migrator.d.ts +2 -2
  527. package/planetscale-serverless/session.d.cts +52 -0
  528. package/planetscale-serverless/session.d.mts +52 -0
  529. package/planetscale-serverless/session.d.ts +8 -8
  530. package/postgres-js/driver.d.cts +6 -0
  531. package/postgres-js/driver.d.mts +6 -0
  532. package/postgres-js/driver.d.ts +3 -3
  533. package/postgres-js/index.cjs +20 -20
  534. package/postgres-js/index.d.cts +2 -0
  535. package/postgres-js/index.d.mts +2 -0
  536. package/postgres-js/index.d.ts +2 -2
  537. package/postgres-js/index.mjs +3 -2
  538. package/postgres-js/index.mjs.map +1 -1
  539. package/postgres-js/migrator.d.cts +3 -0
  540. package/postgres-js/migrator.d.mts +3 -0
  541. package/postgres-js/migrator.d.ts +2 -2
  542. package/postgres-js/session.d.cts +49 -0
  543. package/postgres-js/session.d.mts +49 -0
  544. package/postgres-js/session.d.ts +10 -10
  545. package/primary-key.d.cts +10 -0
  546. package/primary-key.d.mts +10 -0
  547. package/primary-key.d.ts +3 -3
  548. package/query-builders/query-builder.d.cts +10 -0
  549. package/query-builders/query-builder.d.mts +10 -0
  550. package/query-builders/query-builder.d.ts +2 -2
  551. package/query-builders/select.types.d.cts +56 -0
  552. package/query-builders/select.types.d.mts +56 -0
  553. package/query-builders/select.types.d.ts +8 -8
  554. package/query-promise.d.cts +9 -0
  555. package/query-promise.d.mts +9 -0
  556. package/query-promise.d.ts +1 -1
  557. package/relations.d.cts +189 -0
  558. package/relations.d.mts +189 -0
  559. package/relations.d.ts +10 -10
  560. package/{session-775da517.mjs → session-a0c900ab.mjs} +5 -3
  561. package/session-a0c900ab.mjs.map +1 -0
  562. package/{session-e7fcd577.mjs → session-a706e83f.mjs} +3 -2
  563. package/session-a706e83f.mjs.map +1 -0
  564. package/{session-f61b6e4d.cjs → session-fadbb086.cjs} +239 -239
  565. package/session-fadbb086.cjs.map +1 -0
  566. package/sql/expressions/conditions.d.cts +393 -0
  567. package/sql/expressions/conditions.d.mts +393 -0
  568. package/sql/expressions/conditions.d.ts +2 -2
  569. package/sql/expressions/index.d.cts +2 -0
  570. package/sql/expressions/index.d.mts +2 -0
  571. package/sql/expressions/index.d.ts +2 -2
  572. package/sql/expressions/select.d.cts +38 -0
  573. package/sql/expressions/select.d.mts +38 -0
  574. package/sql/expressions/select.d.ts +2 -2
  575. package/sql/index.d.cts +191 -0
  576. package/sql/index.d.mts +191 -0
  577. package/sql/index.d.ts +7 -7
  578. package/sql-js/driver.d.cts +5 -0
  579. package/sql-js/driver.d.mts +5 -0
  580. package/sql-js/driver.d.ts +2 -2
  581. package/sql-js/index.cjs +19 -19
  582. package/sql-js/index.d.cts +2 -0
  583. package/sql-js/index.d.mts +2 -0
  584. package/sql-js/index.d.ts +2 -2
  585. package/sql-js/index.mjs +3 -2
  586. package/sql-js/index.mjs.map +1 -1
  587. package/sql-js/migrator.d.cts +3 -0
  588. package/sql-js/migrator.d.mts +3 -0
  589. package/sql-js/migrator.d.ts +2 -2
  590. package/sql-js/session.d.cts +52 -0
  591. package/sql-js/session.d.mts +52 -0
  592. package/sql-js/session.d.ts +9 -9
  593. package/sqlite-core/alias.d.cts +4 -0
  594. package/sqlite-core/alias.d.mts +4 -0
  595. package/sqlite-core/alias.d.ts +3 -3
  596. package/sqlite-core/checks.d.cts +22 -0
  597. package/sqlite-core/checks.d.mts +22 -0
  598. package/sqlite-core/checks.d.ts +3 -3
  599. package/sqlite-core/columns/blob.d.cts +65 -0
  600. package/sqlite-core/columns/blob.d.mts +65 -0
  601. package/sqlite-core/columns/blob.d.ts +6 -6
  602. package/sqlite-core/columns/common.d.cts +35 -0
  603. package/sqlite-core/columns/common.d.mts +35 -0
  604. package/sqlite-core/columns/common.d.ts +14 -12
  605. package/sqlite-core/columns/custom.d.cts +148 -0
  606. package/sqlite-core/columns/custom.d.mts +148 -0
  607. package/sqlite-core/columns/custom.d.ts +7 -7
  608. package/sqlite-core/columns/index.d.cts +7 -0
  609. package/sqlite-core/columns/index.d.mts +7 -0
  610. package/sqlite-core/columns/index.d.ts +7 -7
  611. package/sqlite-core/columns/integer.d.cts +106 -0
  612. package/sqlite-core/columns/integer.d.mts +106 -0
  613. package/sqlite-core/columns/integer.d.ts +7 -7
  614. package/sqlite-core/columns/numeric.d.cts +21 -0
  615. package/sqlite-core/columns/numeric.d.mts +21 -0
  616. package/sqlite-core/columns/numeric.d.ts +4 -4
  617. package/sqlite-core/columns/real.d.cts +21 -0
  618. package/sqlite-core/columns/real.d.mts +21 -0
  619. package/sqlite-core/columns/real.d.ts +4 -4
  620. package/sqlite-core/columns/text.d.cts +38 -0
  621. package/sqlite-core/columns/text.d.mts +38 -0
  622. package/sqlite-core/columns/text.d.ts +6 -6
  623. package/sqlite-core/db.d.cts +57 -0
  624. package/sqlite-core/db.d.mts +57 -0
  625. package/sqlite-core/db.d.ts +14 -14
  626. package/sqlite-core/dialect.d.cts +53 -0
  627. package/sqlite-core/dialect.d.mts +53 -0
  628. package/sqlite-core/dialect.d.ts +10 -10
  629. package/sqlite-core/expressions.d.cts +9 -0
  630. package/sqlite-core/expressions.d.mts +9 -0
  631. package/sqlite-core/expressions.d.ts +3 -3
  632. package/sqlite-core/foreign-keys.d.cts +48 -0
  633. package/sqlite-core/foreign-keys.d.mts +48 -0
  634. package/sqlite-core/foreign-keys.d.ts +3 -3
  635. package/sqlite-core/index.cjs +11 -11
  636. package/sqlite-core/index.cjs.map +1 -1
  637. package/sqlite-core/index.d.cts +15 -0
  638. package/sqlite-core/index.d.mts +15 -0
  639. package/sqlite-core/index.d.ts +15 -15
  640. package/sqlite-core/index.mjs +4 -3
  641. package/sqlite-core/index.mjs.map +1 -1
  642. package/sqlite-core/indexes.d.cts +41 -0
  643. package/sqlite-core/indexes.d.mts +41 -0
  644. package/sqlite-core/indexes.d.ts +4 -4
  645. package/sqlite-core/primary-keys.d.cts +20 -0
  646. package/sqlite-core/primary-keys.d.mts +20 -0
  647. package/sqlite-core/primary-keys.d.ts +3 -3
  648. package/sqlite-core/query-builders/delete.d.cts +42 -0
  649. package/sqlite-core/query-builders/delete.d.mts +42 -0
  650. package/sqlite-core/query-builders/delete.d.ts +10 -10
  651. package/sqlite-core/query-builders/index.d.cts +6 -0
  652. package/sqlite-core/query-builders/index.d.mts +6 -0
  653. package/sqlite-core/query-builders/index.d.ts +6 -6
  654. package/sqlite-core/query-builders/insert.d.cts +74 -0
  655. package/sqlite-core/query-builders/insert.d.mts +74 -0
  656. package/sqlite-core/query-builders/insert.d.ts +13 -13
  657. package/sqlite-core/query-builders/query-builder.d.cts +29 -0
  658. package/sqlite-core/query-builders/query-builder.d.mts +29 -0
  659. package/sqlite-core/query-builders/query-builder.d.ts +7 -7
  660. package/sqlite-core/query-builders/query.d.cts +47 -0
  661. package/sqlite-core/query-builders/query.d.mts +47 -0
  662. package/sqlite-core/query-builders/query.d.ts +7 -7
  663. package/sqlite-core/query-builders/select.d.cts +94 -0
  664. package/sqlite-core/query-builders/select.d.mts +94 -0
  665. package/sqlite-core/query-builders/select.d.ts +15 -15
  666. package/sqlite-core/query-builders/select.types.d.cts +63 -0
  667. package/sqlite-core/query-builders/select.types.d.mts +63 -0
  668. package/sqlite-core/query-builders/select.types.d.ts +11 -11
  669. package/sqlite-core/query-builders/update.d.cts +63 -0
  670. package/sqlite-core/query-builders/update.d.mts +63 -0
  671. package/sqlite-core/query-builders/update.d.ts +11 -11
  672. package/sqlite-core/session.d.cts +91 -0
  673. package/sqlite-core/session.d.mts +91 -0
  674. package/sqlite-core/session.d.ts +7 -7
  675. package/sqlite-core/subquery.d.cts +5 -0
  676. package/sqlite-core/subquery.d.mts +5 -0
  677. package/sqlite-core/subquery.d.ts +3 -3
  678. package/sqlite-core/table.d.cts +28 -0
  679. package/sqlite-core/table.d.mts +28 -0
  680. package/sqlite-core/table.d.ts +10 -10
  681. package/sqlite-core/unique-constraint.d.cts +23 -0
  682. package/sqlite-core/unique-constraint.d.mts +23 -0
  683. package/sqlite-core/unique-constraint.d.ts +3 -3
  684. package/sqlite-core/utils.d.cts +31 -0
  685. package/sqlite-core/utils.d.mts +31 -0
  686. package/sqlite-core/utils.d.ts +11 -11
  687. package/sqlite-core/view.d.cts +67 -0
  688. package/sqlite-core/view.d.mts +67 -0
  689. package/sqlite-core/view.d.ts +11 -11
  690. package/sqlite-proxy/driver.d.cts +11 -0
  691. package/sqlite-proxy/driver.d.mts +11 -0
  692. package/sqlite-proxy/driver.d.ts +2 -2
  693. package/sqlite-proxy/index.cjs +19 -19
  694. package/sqlite-proxy/index.d.cts +2 -0
  695. package/sqlite-proxy/index.d.mts +2 -0
  696. package/sqlite-proxy/index.d.ts +2 -2
  697. package/sqlite-proxy/index.mjs +3 -2
  698. package/sqlite-proxy/index.mjs.map +1 -1
  699. package/sqlite-proxy/migrator.cjs +4 -3
  700. package/sqlite-proxy/migrator.cjs.map +1 -1
  701. package/sqlite-proxy/migrator.d.cts +4 -0
  702. package/sqlite-proxy/migrator.d.mts +4 -0
  703. package/sqlite-proxy/migrator.d.ts +2 -2
  704. package/sqlite-proxy/migrator.mjs +2 -1
  705. package/sqlite-proxy/migrator.mjs.map +1 -1
  706. package/sqlite-proxy/session.d.cts +48 -0
  707. package/sqlite-proxy/session.d.mts +48 -0
  708. package/sqlite-proxy/session.d.ts +10 -10
  709. package/subquery.d.cts +23 -0
  710. package/subquery.d.mts +23 -0
  711. package/subquery.d.ts +3 -3
  712. package/table.d.cts +63 -0
  713. package/table.d.mts +63 -0
  714. package/table.d.ts +8 -8
  715. package/tracing.d.cts +1 -0
  716. package/tracing.d.mts +1 -0
  717. package/utils.d.cts +45 -0
  718. package/utils.d.mts +45 -0
  719. package/utils.d.ts +4 -4
  720. package/vercel-postgres/driver.d.cts +21 -0
  721. package/vercel-postgres/driver.d.mts +21 -0
  722. package/vercel-postgres/driver.d.ts +7 -7
  723. package/vercel-postgres/index.cjs +22 -22
  724. package/vercel-postgres/index.d.cts +2 -0
  725. package/vercel-postgres/index.d.mts +2 -0
  726. package/vercel-postgres/index.d.ts +2 -2
  727. package/vercel-postgres/index.mjs +3 -2
  728. package/vercel-postgres/index.mjs.map +1 -1
  729. package/vercel-postgres/migrator.d.cts +3 -0
  730. package/vercel-postgres/migrator.d.mts +3 -0
  731. package/vercel-postgres/migrator.d.ts +2 -2
  732. package/vercel-postgres/session.d.cts +47 -0
  733. package/vercel-postgres/session.d.mts +47 -0
  734. package/vercel-postgres/session.d.ts +9 -9
  735. package/version.cjs +1 -1
  736. package/version.d.cts +2 -0
  737. package/version.d.mts +2 -0
  738. package/version.mjs +1 -1
  739. package/{session-9eb850c1.mjs → view-ba779eb7.mjs} +171 -169
  740. package/view-ba779eb7.mjs.map +1 -0
  741. package/{session-690cd067.cjs → view-e96fe3b6.cjs} +1400 -445
  742. package/view-e96fe3b6.cjs.map +1 -0
  743. package/view.d.cts +24 -0
  744. package/view.d.mts +24 -0
  745. package/view.d.ts +5 -5
  746. package/alias-58b7b8c9.cjs.map +0 -1
  747. package/alias-d302772a.mjs.map +0 -1
  748. package/session-690cd067.cjs.map +0 -1
  749. package/session-775da517.mjs.map +0 -1
  750. package/session-9eb850c1.mjs.map +0 -1
  751. package/session-e7fcd577.mjs.map +0 -1
  752. package/session-f61b6e4d.cjs.map +0 -1
@@ -0,0 +1,26 @@
1
+ import { entityKind } from '../../entity.js';
2
+ import type { PgDialect } from '../dialect.js';
3
+ import type { PgSession, PreparedQuery, PreparedQueryConfig, QueryResultHKT, QueryResultKind } from '../session.js';
4
+ import type { PgMaterializedView } from '../view.js';
5
+ import { QueryPromise } from '../../query-promise.js';
6
+ import type { Query } from '../../sql/index.js';
7
+ export interface PgRefreshMaterializedView<TQueryResult extends QueryResultHKT> extends QueryPromise<QueryResultKind<TQueryResult, never>> {
8
+ }
9
+ export declare class PgRefreshMaterializedView<TQueryResult extends QueryResultHKT> extends QueryPromise<QueryResultKind<TQueryResult, never>> {
10
+ private session;
11
+ private dialect;
12
+ static readonly [entityKind]: string;
13
+ private config;
14
+ constructor(view: PgMaterializedView, session: PgSession, dialect: PgDialect);
15
+ concurrently(): this;
16
+ withNoData(): this;
17
+ toSQL(): {
18
+ sql: Query['sql'];
19
+ params: Query['params'];
20
+ };
21
+ private _prepare;
22
+ prepare(name: string): PreparedQuery<PreparedQueryConfig & {
23
+ execute: QueryResultKind<TQueryResult, never>;
24
+ }>;
25
+ execute: ReturnType<this['prepare']>['execute'];
26
+ }
@@ -0,0 +1,26 @@
1
+ import { entityKind } from '../../entity.js';
2
+ import type { PgDialect } from '../dialect.js';
3
+ import type { PgSession, PreparedQuery, PreparedQueryConfig, QueryResultHKT, QueryResultKind } from '../session.js';
4
+ import type { PgMaterializedView } from '../view.js';
5
+ import { QueryPromise } from '../../query-promise.js';
6
+ import type { Query } from '../../sql/index.js';
7
+ export interface PgRefreshMaterializedView<TQueryResult extends QueryResultHKT> extends QueryPromise<QueryResultKind<TQueryResult, never>> {
8
+ }
9
+ export declare class PgRefreshMaterializedView<TQueryResult extends QueryResultHKT> extends QueryPromise<QueryResultKind<TQueryResult, never>> {
10
+ private session;
11
+ private dialect;
12
+ static readonly [entityKind]: string;
13
+ private config;
14
+ constructor(view: PgMaterializedView, session: PgSession, dialect: PgDialect);
15
+ concurrently(): this;
16
+ withNoData(): this;
17
+ toSQL(): {
18
+ sql: Query['sql'];
19
+ params: Query['params'];
20
+ };
21
+ private _prepare;
22
+ prepare(name: string): PreparedQuery<PreparedQueryConfig & {
23
+ execute: QueryResultKind<TQueryResult, never>;
24
+ }>;
25
+ execute: ReturnType<this['prepare']>['execute'];
26
+ }
@@ -1,9 +1,9 @@
1
- import { entityKind } from '../../entity';
2
- import type { PgDialect } from '../dialect';
3
- import type { PgSession, PreparedQuery, PreparedQueryConfig, QueryResultHKT, QueryResultKind } from '../session';
4
- import type { PgMaterializedView } from '../view';
5
- import { QueryPromise } from '../../query-promise';
6
- import type { Query } from '../../sql';
1
+ import { entityKind } from '../../entity.js';
2
+ import type { PgDialect } from '../dialect.js';
3
+ import type { PgSession, PreparedQuery, PreparedQueryConfig, QueryResultHKT, QueryResultKind } from '../session.js';
4
+ import type { PgMaterializedView } from '../view.js';
5
+ import { QueryPromise } from '../../query-promise.js';
6
+ import type { Query } from '../../sql/index.js';
7
7
  export interface PgRefreshMaterializedView<TQueryResult extends QueryResultHKT> extends QueryPromise<QueryResultKind<TQueryResult, never>> {
8
8
  }
9
9
  export declare class PgRefreshMaterializedView<TQueryResult extends QueryResultHKT> extends QueryPromise<QueryResultKind<TQueryResult, never>> {
@@ -0,0 +1,211 @@
1
+ import { entityKind } from '../../entity.js';
2
+ import type { PgColumn } from '../columns/index.js';
3
+ import type { PgDialect } from '../dialect.js';
4
+ import type { PgSession, PreparedQuery, PreparedQueryConfig } from '../session.js';
5
+ import type { SubqueryWithSelection } from '../subquery.js';
6
+ import type { PgTable } from '../table.js';
7
+ import { PgViewBase } from '../view.js';
8
+ import { TypedQueryBuilder } from '../../query-builders/query-builder.js';
9
+ import type { BuildSubquerySelection, GetSelectTableName, GetSelectTableSelection, JoinNullability, SelectMode, SelectResult } from '../../query-builders/select.types.js';
10
+ import { QueryPromise } from '../../query-promise.js';
11
+ import { type Placeholder, type Query, SQL, type SQLWrapper } from '../../sql/index.js';
12
+ import { Subquery } from '../../subquery.js';
13
+ import { type ValueOrArray } from '../../utils.js';
14
+ import { type ColumnsSelection } from '../../view.js';
15
+ import type { JoinFn, LockConfig, LockStrength, PgSelectConfig, PgSelectHKT, PgSelectHKTBase, PgSelectQueryBuilderHKT, SelectedFields } from './select.types.js';
16
+ type CreatePgSelectFromBuilderMode<TBuilderMode extends 'db' | 'qb', TTableName extends string | undefined, TSelection extends ColumnsSelection, TSelectMode extends SelectMode> = TBuilderMode extends 'db' ? PgSelect<TTableName, TSelection, TSelectMode> : PgSelectQueryBuilder<PgSelectQueryBuilderHKT, TTableName, TSelection, TSelectMode>;
17
+ export declare class PgSelectBuilder<TSelection extends SelectedFields | undefined, TBuilderMode extends 'db' | 'qb' = 'db'> {
18
+ static readonly [entityKind]: string;
19
+ private fields;
20
+ private session;
21
+ private dialect;
22
+ private withList;
23
+ private distinct;
24
+ constructor(config: {
25
+ fields: TSelection;
26
+ session: PgSession | undefined;
27
+ dialect: PgDialect;
28
+ withList?: Subquery[];
29
+ distinct?: boolean | {
30
+ on: (PgColumn | SQLWrapper)[];
31
+ };
32
+ });
33
+ /**
34
+ * Specify the table, subquery, or other target that you're
35
+ * building a select query against.
36
+ *
37
+ * {@link https://www.postgresql.org/docs/current/sql-select.html#SQL-FROM|Postgres from documentation}
38
+ */
39
+ from<TFrom extends PgTable | Subquery | PgViewBase | SQL>(source: TFrom): CreatePgSelectFromBuilderMode<TBuilderMode, GetSelectTableName<TFrom>, TSelection extends undefined ? GetSelectTableSelection<TFrom> : TSelection, TSelection extends undefined ? 'single' : 'partial'>;
40
+ }
41
+ export declare abstract class PgSelectQueryBuilder<THKT extends PgSelectHKTBase, TTableName extends string | undefined, TSelection extends ColumnsSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}> extends TypedQueryBuilder<BuildSubquerySelection<TSelection, TNullabilityMap>, SelectResult<TSelection, TSelectMode, TNullabilityMap>[]> {
42
+ static readonly [entityKind]: string;
43
+ readonly _: {
44
+ readonly selectMode: TSelectMode;
45
+ readonly selection: TSelection;
46
+ readonly result: SelectResult<TSelection, TSelectMode, TNullabilityMap>[];
47
+ readonly selectedFields: BuildSubquerySelection<TSelection, TNullabilityMap>;
48
+ };
49
+ protected config: PgSelectConfig;
50
+ protected joinsNotNullableMap: Record<string, boolean>;
51
+ private tableName;
52
+ private isPartialSelect;
53
+ protected session: PgSession | undefined;
54
+ protected dialect: PgDialect;
55
+ constructor({ table, fields, isPartialSelect, session, dialect, withList, distinct }: {
56
+ table: PgSelectConfig['table'];
57
+ fields: PgSelectConfig['fields'];
58
+ isPartialSelect: boolean;
59
+ session: PgSession | undefined;
60
+ dialect: PgDialect;
61
+ withList: Subquery[];
62
+ distinct: boolean | {
63
+ on: (PgColumn | SQLWrapper)[];
64
+ } | undefined;
65
+ });
66
+ private createJoin;
67
+ /**
68
+ * For each row of the table, include
69
+ * values from a matching row of the joined
70
+ * table, if there is a matching row. If not,
71
+ * all of the columns of the joined table
72
+ * will be set to null.
73
+ */
74
+ leftJoin: JoinFn<THKT, TTableName, TSelectMode, "left", TSelection, TNullabilityMap>;
75
+ /**
76
+ * Includes all of the rows of the joined table.
77
+ * If there is no matching row in the main table,
78
+ * all the columns of the main table will be
79
+ * set to null.
80
+ */
81
+ rightJoin: JoinFn<THKT, TTableName, TSelectMode, "right", TSelection, TNullabilityMap>;
82
+ /**
83
+ * This is the default type of join.
84
+ *
85
+ * For each row of the table, the joined table
86
+ * needs to have a matching row, or it will
87
+ * be excluded from results.
88
+ */
89
+ innerJoin: JoinFn<THKT, TTableName, TSelectMode, "inner", TSelection, TNullabilityMap>;
90
+ /**
91
+ * Rows from both the main & joined are included,
92
+ * regardless of whether or not they have matching
93
+ * rows in the other table.
94
+ */
95
+ fullJoin: JoinFn<THKT, TTableName, TSelectMode, "full", TSelection, TNullabilityMap>;
96
+ /**
97
+ * Specify a condition to narrow the result set. Multiple
98
+ * conditions can be combined with the `and` and `or`
99
+ * functions.
100
+ *
101
+ * ## Examples
102
+ *
103
+ * ```ts
104
+ * // Find cars made in the year 2000
105
+ * db.select().from(cars).where(eq(cars.year, 2000));
106
+ * ```
107
+ */
108
+ where(where: ((aliases: TSelection) => SQL | undefined) | SQL | undefined): this;
109
+ /**
110
+ * Sets the HAVING clause of this query, which often
111
+ * used with GROUP BY and filters rows after they've been
112
+ * grouped together and combined.
113
+ *
114
+ * {@link https://www.postgresql.org/docs/current/sql-select.html#SQL-HAVING|Postgres having clause documentation}
115
+ */
116
+ having(having: ((aliases: TSelection) => SQL | undefined) | SQL | undefined): this;
117
+ /**
118
+ * Specify the GROUP BY of this query: given
119
+ * a list of columns or SQL expressions, Postgres will
120
+ * combine all rows with the same values in those columns
121
+ * into a single row.
122
+ *
123
+ * ## Examples
124
+ *
125
+ * ```ts
126
+ * // Group and count people by their last names
127
+ * db.select({
128
+ * lastName: people.lastName,
129
+ * count: sql<number>`count(*)::integer`
130
+ * }).from(people).groupBy(people.lastName);
131
+ * ```
132
+ *
133
+ * {@link https://www.postgresql.org/docs/current/sql-select.html#SQL-GROUPBY|Postgres GROUP BY documentation}
134
+ */
135
+ groupBy(builder: (aliases: TSelection) => ValueOrArray<PgColumn | SQL | SQL.Aliased>): this;
136
+ groupBy(...columns: (PgColumn | SQL | SQL.Aliased)[]): this;
137
+ /**
138
+ * Specify the ORDER BY clause of this query: a number of
139
+ * columns or SQL expressions that will control sorting
140
+ * of results. You can specify whether results are in ascending
141
+ * or descending order with the `asc()` and `desc()` operators.
142
+ *
143
+ * ## Examples
144
+ *
145
+ * ```
146
+ * // Select cars by year released
147
+ * db.select().from(cars).orderBy(cars.year);
148
+ * ```
149
+ *
150
+ * {@link https://www.postgresql.org/docs/current/sql-select.html#SQL-ORDERBY|Postgres ORDER BY documentation}
151
+ */
152
+ orderBy(builder: (aliases: TSelection) => ValueOrArray<PgColumn | SQL | SQL.Aliased>): this;
153
+ orderBy(...columns: (PgColumn | SQL | SQL.Aliased)[]): this;
154
+ /**
155
+ * Set the maximum number of rows that will be
156
+ * returned by this query.
157
+ *
158
+ * ## Examples
159
+ *
160
+ * ```ts
161
+ * // Get the first 10 people from this query.
162
+ * db.select().from(people).limit(10);
163
+ * ```
164
+ *
165
+ * {@link https://www.postgresql.org/docs/current/sql-select.html#SQL-LIMIT|Postgres LIMIT documentation}
166
+ */
167
+ limit(limit: number | Placeholder): this;
168
+ /**
169
+ * Skip a number of rows when returning results
170
+ * from this query.
171
+ *
172
+ * ## Examples
173
+ *
174
+ * ```ts
175
+ * // Get the 10th-20th people from this query.
176
+ * db.select().from(people).offset(10).limit(10);
177
+ * ```
178
+ */
179
+ offset(offset: number | Placeholder): this;
180
+ /**
181
+ * The FOR clause specifies a lock strength for this query
182
+ * that controls how strictly it acquires exclusive access to
183
+ * the rows being queried.
184
+ *
185
+ * {@link https://www.postgresql.org/docs/current/sql-select.html#SQL-FOR-UPDATE-SHARE|Postgres locking clause documentation}
186
+ */
187
+ for(strength: LockStrength, config?: LockConfig): this;
188
+ toSQL(): {
189
+ sql: Query['sql'];
190
+ params: Query['params'];
191
+ };
192
+ as<TAlias extends string>(alias: TAlias): SubqueryWithSelection<BuildSubquerySelection<TSelection, TNullabilityMap>, TAlias>;
193
+ }
194
+ export interface PgSelect<TTableName extends string | undefined, TSelection extends ColumnsSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}> extends PgSelectQueryBuilder<PgSelectHKT, TTableName, TSelection, TSelectMode, TNullabilityMap>, QueryPromise<SelectResult<TSelection, TSelectMode, TNullabilityMap>[]> {
195
+ }
196
+ export declare class PgSelect<TTableName extends string | undefined, TSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}> extends PgSelectQueryBuilder<PgSelectHKT, TTableName, TSelection, TSelectMode, TNullabilityMap> {
197
+ static readonly [entityKind]: string;
198
+ private _prepare;
199
+ /**
200
+ * Create a prepared statement for this query. This allows
201
+ * the database to remember this query for the given session
202
+ * and call it by name, rather than specifying the full query.
203
+ *
204
+ * {@link https://www.postgresql.org/docs/current/sql-prepare.html|Postgres prepare documentation}
205
+ */
206
+ prepare(name: string): PreparedQuery<PreparedQueryConfig & {
207
+ execute: SelectResult<TSelection, TSelectMode, TNullabilityMap>[];
208
+ }>;
209
+ execute: ReturnType<this['prepare']>['execute'];
210
+ }
211
+ export {};
@@ -0,0 +1,211 @@
1
+ import { entityKind } from '../../entity.js';
2
+ import type { PgColumn } from '../columns/index.js';
3
+ import type { PgDialect } from '../dialect.js';
4
+ import type { PgSession, PreparedQuery, PreparedQueryConfig } from '../session.js';
5
+ import type { SubqueryWithSelection } from '../subquery.js';
6
+ import type { PgTable } from '../table.js';
7
+ import { PgViewBase } from '../view.js';
8
+ import { TypedQueryBuilder } from '../../query-builders/query-builder.js';
9
+ import type { BuildSubquerySelection, GetSelectTableName, GetSelectTableSelection, JoinNullability, SelectMode, SelectResult } from '../../query-builders/select.types.js';
10
+ import { QueryPromise } from '../../query-promise.js';
11
+ import { type Placeholder, type Query, SQL, type SQLWrapper } from '../../sql/index.js';
12
+ import { Subquery } from '../../subquery.js';
13
+ import { type ValueOrArray } from '../../utils.js';
14
+ import { type ColumnsSelection } from '../../view.js';
15
+ import type { JoinFn, LockConfig, LockStrength, PgSelectConfig, PgSelectHKT, PgSelectHKTBase, PgSelectQueryBuilderHKT, SelectedFields } from './select.types.js';
16
+ type CreatePgSelectFromBuilderMode<TBuilderMode extends 'db' | 'qb', TTableName extends string | undefined, TSelection extends ColumnsSelection, TSelectMode extends SelectMode> = TBuilderMode extends 'db' ? PgSelect<TTableName, TSelection, TSelectMode> : PgSelectQueryBuilder<PgSelectQueryBuilderHKT, TTableName, TSelection, TSelectMode>;
17
+ export declare class PgSelectBuilder<TSelection extends SelectedFields | undefined, TBuilderMode extends 'db' | 'qb' = 'db'> {
18
+ static readonly [entityKind]: string;
19
+ private fields;
20
+ private session;
21
+ private dialect;
22
+ private withList;
23
+ private distinct;
24
+ constructor(config: {
25
+ fields: TSelection;
26
+ session: PgSession | undefined;
27
+ dialect: PgDialect;
28
+ withList?: Subquery[];
29
+ distinct?: boolean | {
30
+ on: (PgColumn | SQLWrapper)[];
31
+ };
32
+ });
33
+ /**
34
+ * Specify the table, subquery, or other target that you're
35
+ * building a select query against.
36
+ *
37
+ * {@link https://www.postgresql.org/docs/current/sql-select.html#SQL-FROM|Postgres from documentation}
38
+ */
39
+ from<TFrom extends PgTable | Subquery | PgViewBase | SQL>(source: TFrom): CreatePgSelectFromBuilderMode<TBuilderMode, GetSelectTableName<TFrom>, TSelection extends undefined ? GetSelectTableSelection<TFrom> : TSelection, TSelection extends undefined ? 'single' : 'partial'>;
40
+ }
41
+ export declare abstract class PgSelectQueryBuilder<THKT extends PgSelectHKTBase, TTableName extends string | undefined, TSelection extends ColumnsSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}> extends TypedQueryBuilder<BuildSubquerySelection<TSelection, TNullabilityMap>, SelectResult<TSelection, TSelectMode, TNullabilityMap>[]> {
42
+ static readonly [entityKind]: string;
43
+ readonly _: {
44
+ readonly selectMode: TSelectMode;
45
+ readonly selection: TSelection;
46
+ readonly result: SelectResult<TSelection, TSelectMode, TNullabilityMap>[];
47
+ readonly selectedFields: BuildSubquerySelection<TSelection, TNullabilityMap>;
48
+ };
49
+ protected config: PgSelectConfig;
50
+ protected joinsNotNullableMap: Record<string, boolean>;
51
+ private tableName;
52
+ private isPartialSelect;
53
+ protected session: PgSession | undefined;
54
+ protected dialect: PgDialect;
55
+ constructor({ table, fields, isPartialSelect, session, dialect, withList, distinct }: {
56
+ table: PgSelectConfig['table'];
57
+ fields: PgSelectConfig['fields'];
58
+ isPartialSelect: boolean;
59
+ session: PgSession | undefined;
60
+ dialect: PgDialect;
61
+ withList: Subquery[];
62
+ distinct: boolean | {
63
+ on: (PgColumn | SQLWrapper)[];
64
+ } | undefined;
65
+ });
66
+ private createJoin;
67
+ /**
68
+ * For each row of the table, include
69
+ * values from a matching row of the joined
70
+ * table, if there is a matching row. If not,
71
+ * all of the columns of the joined table
72
+ * will be set to null.
73
+ */
74
+ leftJoin: JoinFn<THKT, TTableName, TSelectMode, "left", TSelection, TNullabilityMap>;
75
+ /**
76
+ * Includes all of the rows of the joined table.
77
+ * If there is no matching row in the main table,
78
+ * all the columns of the main table will be
79
+ * set to null.
80
+ */
81
+ rightJoin: JoinFn<THKT, TTableName, TSelectMode, "right", TSelection, TNullabilityMap>;
82
+ /**
83
+ * This is the default type of join.
84
+ *
85
+ * For each row of the table, the joined table
86
+ * needs to have a matching row, or it will
87
+ * be excluded from results.
88
+ */
89
+ innerJoin: JoinFn<THKT, TTableName, TSelectMode, "inner", TSelection, TNullabilityMap>;
90
+ /**
91
+ * Rows from both the main & joined are included,
92
+ * regardless of whether or not they have matching
93
+ * rows in the other table.
94
+ */
95
+ fullJoin: JoinFn<THKT, TTableName, TSelectMode, "full", TSelection, TNullabilityMap>;
96
+ /**
97
+ * Specify a condition to narrow the result set. Multiple
98
+ * conditions can be combined with the `and` and `or`
99
+ * functions.
100
+ *
101
+ * ## Examples
102
+ *
103
+ * ```ts
104
+ * // Find cars made in the year 2000
105
+ * db.select().from(cars).where(eq(cars.year, 2000));
106
+ * ```
107
+ */
108
+ where(where: ((aliases: TSelection) => SQL | undefined) | SQL | undefined): this;
109
+ /**
110
+ * Sets the HAVING clause of this query, which often
111
+ * used with GROUP BY and filters rows after they've been
112
+ * grouped together and combined.
113
+ *
114
+ * {@link https://www.postgresql.org/docs/current/sql-select.html#SQL-HAVING|Postgres having clause documentation}
115
+ */
116
+ having(having: ((aliases: TSelection) => SQL | undefined) | SQL | undefined): this;
117
+ /**
118
+ * Specify the GROUP BY of this query: given
119
+ * a list of columns or SQL expressions, Postgres will
120
+ * combine all rows with the same values in those columns
121
+ * into a single row.
122
+ *
123
+ * ## Examples
124
+ *
125
+ * ```ts
126
+ * // Group and count people by their last names
127
+ * db.select({
128
+ * lastName: people.lastName,
129
+ * count: sql<number>`count(*)::integer`
130
+ * }).from(people).groupBy(people.lastName);
131
+ * ```
132
+ *
133
+ * {@link https://www.postgresql.org/docs/current/sql-select.html#SQL-GROUPBY|Postgres GROUP BY documentation}
134
+ */
135
+ groupBy(builder: (aliases: TSelection) => ValueOrArray<PgColumn | SQL | SQL.Aliased>): this;
136
+ groupBy(...columns: (PgColumn | SQL | SQL.Aliased)[]): this;
137
+ /**
138
+ * Specify the ORDER BY clause of this query: a number of
139
+ * columns or SQL expressions that will control sorting
140
+ * of results. You can specify whether results are in ascending
141
+ * or descending order with the `asc()` and `desc()` operators.
142
+ *
143
+ * ## Examples
144
+ *
145
+ * ```
146
+ * // Select cars by year released
147
+ * db.select().from(cars).orderBy(cars.year);
148
+ * ```
149
+ *
150
+ * {@link https://www.postgresql.org/docs/current/sql-select.html#SQL-ORDERBY|Postgres ORDER BY documentation}
151
+ */
152
+ orderBy(builder: (aliases: TSelection) => ValueOrArray<PgColumn | SQL | SQL.Aliased>): this;
153
+ orderBy(...columns: (PgColumn | SQL | SQL.Aliased)[]): this;
154
+ /**
155
+ * Set the maximum number of rows that will be
156
+ * returned by this query.
157
+ *
158
+ * ## Examples
159
+ *
160
+ * ```ts
161
+ * // Get the first 10 people from this query.
162
+ * db.select().from(people).limit(10);
163
+ * ```
164
+ *
165
+ * {@link https://www.postgresql.org/docs/current/sql-select.html#SQL-LIMIT|Postgres LIMIT documentation}
166
+ */
167
+ limit(limit: number | Placeholder): this;
168
+ /**
169
+ * Skip a number of rows when returning results
170
+ * from this query.
171
+ *
172
+ * ## Examples
173
+ *
174
+ * ```ts
175
+ * // Get the 10th-20th people from this query.
176
+ * db.select().from(people).offset(10).limit(10);
177
+ * ```
178
+ */
179
+ offset(offset: number | Placeholder): this;
180
+ /**
181
+ * The FOR clause specifies a lock strength for this query
182
+ * that controls how strictly it acquires exclusive access to
183
+ * the rows being queried.
184
+ *
185
+ * {@link https://www.postgresql.org/docs/current/sql-select.html#SQL-FOR-UPDATE-SHARE|Postgres locking clause documentation}
186
+ */
187
+ for(strength: LockStrength, config?: LockConfig): this;
188
+ toSQL(): {
189
+ sql: Query['sql'];
190
+ params: Query['params'];
191
+ };
192
+ as<TAlias extends string>(alias: TAlias): SubqueryWithSelection<BuildSubquerySelection<TSelection, TNullabilityMap>, TAlias>;
193
+ }
194
+ export interface PgSelect<TTableName extends string | undefined, TSelection extends ColumnsSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}> extends PgSelectQueryBuilder<PgSelectHKT, TTableName, TSelection, TSelectMode, TNullabilityMap>, QueryPromise<SelectResult<TSelection, TSelectMode, TNullabilityMap>[]> {
195
+ }
196
+ export declare class PgSelect<TTableName extends string | undefined, TSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}> extends PgSelectQueryBuilder<PgSelectHKT, TTableName, TSelection, TSelectMode, TNullabilityMap> {
197
+ static readonly [entityKind]: string;
198
+ private _prepare;
199
+ /**
200
+ * Create a prepared statement for this query. This allows
201
+ * the database to remember this query for the given session
202
+ * and call it by name, rather than specifying the full query.
203
+ *
204
+ * {@link https://www.postgresql.org/docs/current/sql-prepare.html|Postgres prepare documentation}
205
+ */
206
+ prepare(name: string): PreparedQuery<PreparedQueryConfig & {
207
+ execute: SelectResult<TSelection, TSelectMode, TNullabilityMap>[];
208
+ }>;
209
+ execute: ReturnType<this['prepare']>['execute'];
210
+ }
211
+ export {};
@@ -1,18 +1,18 @@
1
- import { entityKind } from '../../entity';
2
- import type { PgColumn } from '../columns';
3
- import type { PgDialect } from '../dialect';
4
- import type { PgSession, PreparedQuery, PreparedQueryConfig } from '../session';
5
- import type { SubqueryWithSelection } from '../subquery';
6
- import type { PgTable } from '../table';
7
- import { PgViewBase } from '../view';
8
- import { TypedQueryBuilder } from '../../query-builders/query-builder';
9
- import type { BuildSubquerySelection, GetSelectTableName, GetSelectTableSelection, JoinNullability, SelectMode, SelectResult } from '../../query-builders/select.types';
10
- import { QueryPromise } from '../../query-promise';
11
- import { type Placeholder, type Query, SQL, type SQLWrapper } from '../../sql';
12
- import { Subquery } from '../../subquery';
13
- import { type ValueOrArray } from '../../utils';
14
- import { type ColumnsSelection } from '../../view';
15
- import type { JoinFn, LockConfig, LockStrength, PgSelectConfig, PgSelectHKT, PgSelectHKTBase, PgSelectQueryBuilderHKT, SelectedFields } from './select.types';
1
+ import { entityKind } from '../../entity.js';
2
+ import type { PgColumn } from '../columns/index.js';
3
+ import type { PgDialect } from '../dialect.js';
4
+ import type { PgSession, PreparedQuery, PreparedQueryConfig } from '../session.js';
5
+ import type { SubqueryWithSelection } from '../subquery.js';
6
+ import type { PgTable } from '../table.js';
7
+ import { PgViewBase } from '../view.js';
8
+ import { TypedQueryBuilder } from '../../query-builders/query-builder.js';
9
+ import type { BuildSubquerySelection, GetSelectTableName, GetSelectTableSelection, JoinNullability, SelectMode, SelectResult } from '../../query-builders/select.types.js';
10
+ import { QueryPromise } from '../../query-promise.js';
11
+ import { type Placeholder, type Query, SQL, type SQLWrapper } from '../../sql/index.js';
12
+ import { Subquery } from '../../subquery.js';
13
+ import { type ValueOrArray } from '../../utils.js';
14
+ import { type ColumnsSelection } from '../../view.js';
15
+ import type { JoinFn, LockConfig, LockStrength, PgSelectConfig, PgSelectHKT, PgSelectHKTBase, PgSelectQueryBuilderHKT, SelectedFields } from './select.types.js';
16
16
  type CreatePgSelectFromBuilderMode<TBuilderMode extends 'db' | 'qb', TTableName extends string | undefined, TSelection extends ColumnsSelection, TSelectMode extends SelectMode> = TBuilderMode extends 'db' ? PgSelect<TTableName, TSelection, TSelectMode> : PgSelectQueryBuilder<PgSelectQueryBuilderHKT, TTableName, TSelection, TSelectMode>;
17
17
  export declare class PgSelectBuilder<TSelection extends SelectedFields | undefined, TBuilderMode extends 'db' | 'qb' = 'db'> {
18
18
  static readonly [entityKind]: string;
@@ -0,0 +1,79 @@
1
+ import type { SelectedFields as SelectedFieldsBase, SelectedFieldsFlat as SelectedFieldsFlatBase, SelectedFieldsOrdered as SelectedFieldsOrderedBase } from '../../operations.js';
2
+ import type { PgColumn } from '../columns/index.js';
3
+ import type { PgTable, PgTableWithColumns } from '../table.js';
4
+ import type { PgViewBase, PgViewWithSelection } from '../view.js';
5
+ import type { AppendToNullabilityMap, AppendToResult, GetSelectTableName, JoinNullability, JoinType, MapColumnsToTableAlias, SelectMode } from '../../query-builders/select.types.js';
6
+ import type { Placeholder, SQL, SQLWrapper } from '../../sql/index.js';
7
+ import type { Subquery } from '../../subquery.js';
8
+ import type { Table, UpdateTableConfig } from '../../table.js';
9
+ import type { Assume } from '../../utils.js';
10
+ import { type ColumnsSelection, type View } from '../../view.js';
11
+ import type { PgSelect, PgSelectQueryBuilder } from './select.js';
12
+ export interface Join {
13
+ on: SQL | undefined;
14
+ table: PgTable | Subquery | PgViewBase | SQL;
15
+ alias: string | undefined;
16
+ joinType: JoinType;
17
+ lateral?: boolean;
18
+ }
19
+ export type AnyPgSelect = PgSelect<any, any, any, any>;
20
+ export type BuildAliasTable<TTable extends PgTable | View, TAlias extends string> = TTable extends Table ? PgTableWithColumns<UpdateTableConfig<TTable['_']['config'], {
21
+ name: TAlias;
22
+ columns: MapColumnsToTableAlias<TTable['_']['columns'], TAlias, 'pg'>;
23
+ }>> : TTable extends View ? PgViewWithSelection<TAlias, TTable['_']['existing'], MapColumnsToTableAlias<TTable['_']['selectedFields'], TAlias, 'pg'>> : never;
24
+ export interface PgSelectConfig {
25
+ withList?: Subquery[];
26
+ fields: Record<string, unknown>;
27
+ fieldsFlat?: SelectedFieldsOrdered;
28
+ where?: SQL;
29
+ having?: SQL;
30
+ table: PgTable | Subquery | PgViewBase | SQL;
31
+ limit?: number | Placeholder;
32
+ offset?: number | Placeholder;
33
+ joins?: Join[];
34
+ orderBy?: (PgColumn | SQL | SQL.Aliased)[];
35
+ groupBy?: (PgColumn | SQL | SQL.Aliased)[];
36
+ lockingClauses?: {
37
+ strength: LockStrength;
38
+ config: LockConfig;
39
+ }[];
40
+ distinct?: boolean | {
41
+ on: (PgColumn | SQLWrapper)[];
42
+ };
43
+ }
44
+ export type JoinFn<THKT extends PgSelectHKTBase, TTableName extends string | undefined, TSelectMode extends SelectMode, TJoinType extends JoinType, TSelection, TNullabilityMap extends Record<string, JoinNullability>> = <TJoinedTable extends PgTable | Subquery | PgViewBase | SQL, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: ((aliases: TSelection) => SQL | undefined) | SQL | undefined) => PgSelectKind<THKT, TTableName, AppendToResult<TTableName, TSelection, TJoinedName, TJoinedTable extends Table ? TJoinedTable['_']['columns'] : TJoinedTable extends Subquery ? Assume<TJoinedTable['_']['selectedFields'], SelectedFields> : never, TSelectMode>, TSelectMode extends 'partial' ? TSelectMode : 'multiple', AppendToNullabilityMap<TNullabilityMap, TJoinedName, TJoinType>>;
45
+ export type SelectedFieldsFlat = SelectedFieldsFlatBase<PgColumn>;
46
+ export type SelectedFields = SelectedFieldsBase<PgColumn, PgTable>;
47
+ export type SelectedFieldsOrdered = SelectedFieldsOrderedBase<PgColumn>;
48
+ export type LockStrength = 'update' | 'no key update' | 'share' | 'key share';
49
+ export type LockConfig = {
50
+ of?: PgTable;
51
+ } & ({
52
+ noWait: true;
53
+ skipLocked?: undefined;
54
+ } | {
55
+ noWait?: undefined;
56
+ skipLocked: true;
57
+ } | {
58
+ noWait?: undefined;
59
+ skipLocked?: undefined;
60
+ });
61
+ export interface PgSelectHKTBase {
62
+ tableName: string | undefined;
63
+ selection: unknown;
64
+ selectMode: SelectMode;
65
+ nullabilityMap: unknown;
66
+ _type: unknown;
67
+ }
68
+ export type PgSelectKind<T extends PgSelectHKTBase, TTableName extends string | undefined, TSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability>> = (T & {
69
+ tableName: TTableName;
70
+ selection: TSelection;
71
+ selectMode: TSelectMode;
72
+ nullabilityMap: TNullabilityMap;
73
+ })['_type'];
74
+ export interface PgSelectQueryBuilderHKT extends PgSelectHKTBase {
75
+ _type: PgSelectQueryBuilder<this, this['tableName'], Assume<this['selection'], ColumnsSelection>, this['selectMode'], Assume<this['nullabilityMap'], Record<string, JoinNullability>>>;
76
+ }
77
+ export interface PgSelectHKT extends PgSelectHKTBase {
78
+ _type: PgSelect<this['tableName'], Assume<this['selection'], ColumnsSelection>, this['selectMode'], Assume<this['nullabilityMap'], Record<string, JoinNullability>>>;
79
+ }