drizzle-orm 0.32.0-e7cf338 → 0.32.1-3d4e79a

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 (285) hide show
  1. package/aws-data-api/pg/driver.cjs +3 -4
  2. package/aws-data-api/pg/driver.cjs.map +1 -1
  3. package/aws-data-api/pg/driver.js +3 -4
  4. package/aws-data-api/pg/driver.js.map +1 -1
  5. package/aws-data-api/pg/session.cjs.map +1 -1
  6. package/aws-data-api/pg/session.d.cts +2 -2
  7. package/aws-data-api/pg/session.d.ts +2 -2
  8. package/aws-data-api/pg/session.js.map +1 -1
  9. package/column-builder.cjs.map +1 -1
  10. package/column-builder.d.cts +27 -3
  11. package/column-builder.d.ts +27 -3
  12. package/column-builder.js.map +1 -1
  13. package/column.cjs.map +1 -1
  14. package/column.d.cts +6 -0
  15. package/column.d.ts +6 -0
  16. package/column.js.map +1 -1
  17. package/d1/session.cjs.map +1 -1
  18. package/d1/session.d.cts +2 -2
  19. package/d1/session.d.ts +2 -2
  20. package/d1/session.js.map +1 -1
  21. package/libsql/session.d.cts +1 -1
  22. package/libsql/session.d.ts +1 -1
  23. package/mysql-core/columns/common.cjs.map +1 -1
  24. package/mysql-core/columns/common.d.cts +2 -2
  25. package/mysql-core/columns/common.d.ts +2 -2
  26. package/mysql-core/columns/common.js.map +1 -1
  27. package/mysql-core/columns/serial.cjs.map +1 -1
  28. package/mysql-core/columns/serial.d.cts +3 -3
  29. package/mysql-core/columns/serial.d.ts +3 -3
  30. package/mysql-core/columns/serial.js.map +1 -1
  31. package/mysql-core/db.cjs.map +1 -1
  32. package/mysql-core/db.d.cts +6 -6
  33. package/mysql-core/db.d.ts +6 -6
  34. package/mysql-core/db.js.map +1 -1
  35. package/mysql-core/dialect.cjs +15 -5
  36. package/mysql-core/dialect.cjs.map +1 -1
  37. package/mysql-core/dialect.d.cts +4 -1
  38. package/mysql-core/dialect.d.ts +4 -1
  39. package/mysql-core/dialect.js +16 -6
  40. package/mysql-core/dialect.js.map +1 -1
  41. package/mysql-core/query-builders/delete.cjs.map +1 -1
  42. package/mysql-core/query-builders/delete.d.cts +6 -6
  43. package/mysql-core/query-builders/delete.d.ts +6 -6
  44. package/mysql-core/query-builders/delete.js.map +1 -1
  45. package/mysql-core/query-builders/insert.cjs +17 -3
  46. package/mysql-core/query-builders/insert.cjs.map +1 -1
  47. package/mysql-core/query-builders/insert.d.cts +27 -11
  48. package/mysql-core/query-builders/insert.d.ts +27 -11
  49. package/mysql-core/query-builders/insert.js +18 -4
  50. package/mysql-core/query-builders/insert.js.map +1 -1
  51. package/mysql-core/query-builders/query-builder.d.cts +2 -2
  52. package/mysql-core/query-builders/query-builder.d.ts +2 -2
  53. package/mysql-core/query-builders/query.cjs.map +1 -1
  54. package/mysql-core/query-builders/query.d.cts +3 -3
  55. package/mysql-core/query-builders/query.d.ts +3 -3
  56. package/mysql-core/query-builders/query.js.map +1 -1
  57. package/mysql-core/query-builders/select.cjs.map +1 -1
  58. package/mysql-core/query-builders/select.js.map +1 -1
  59. package/mysql-core/query-builders/select.types.cjs.map +1 -1
  60. package/mysql-core/query-builders/select.types.d.cts +2 -2
  61. package/mysql-core/query-builders/select.types.d.ts +2 -2
  62. package/mysql-core/query-builders/update.cjs.map +1 -1
  63. package/mysql-core/query-builders/update.d.cts +7 -7
  64. package/mysql-core/query-builders/update.d.ts +7 -7
  65. package/mysql-core/query-builders/update.js.map +1 -1
  66. package/mysql-core/session.cjs +5 -5
  67. package/mysql-core/session.cjs.map +1 -1
  68. package/mysql-core/session.d.cts +14 -14
  69. package/mysql-core/session.d.ts +14 -14
  70. package/mysql-core/session.js +3 -3
  71. package/mysql-core/session.js.map +1 -1
  72. package/mysql-proxy/driver.cjs.map +1 -1
  73. package/mysql-proxy/driver.d.cts +2 -0
  74. package/mysql-proxy/driver.d.ts +2 -0
  75. package/mysql-proxy/driver.js.map +1 -1
  76. package/mysql-proxy/session.cjs +33 -7
  77. package/mysql-proxy/session.cjs.map +1 -1
  78. package/mysql-proxy/session.d.cts +10 -8
  79. package/mysql-proxy/session.d.ts +10 -8
  80. package/mysql-proxy/session.js +34 -8
  81. package/mysql-proxy/session.js.map +1 -1
  82. package/mysql2/session.cjs +33 -6
  83. package/mysql2/session.cjs.map +1 -1
  84. package/mysql2/session.d.cts +11 -9
  85. package/mysql2/session.d.ts +11 -9
  86. package/mysql2/session.js +36 -9
  87. package/mysql2/session.js.map +1 -1
  88. package/neon-http/driver.cjs +1 -0
  89. package/neon-http/driver.cjs.map +1 -1
  90. package/neon-http/driver.js +1 -0
  91. package/neon-http/driver.js.map +1 -1
  92. package/neon-http/session.cjs.map +1 -1
  93. package/neon-http/session.d.cts +2 -2
  94. package/neon-http/session.d.ts +2 -2
  95. package/neon-http/session.js.map +1 -1
  96. package/neon-serverless/session.cjs.map +1 -1
  97. package/neon-serverless/session.d.cts +2 -2
  98. package/neon-serverless/session.d.ts +2 -2
  99. package/neon-serverless/session.js.map +1 -1
  100. package/node-postgres/session.cjs.map +1 -1
  101. package/node-postgres/session.d.cts +2 -2
  102. package/node-postgres/session.d.ts +2 -2
  103. package/node-postgres/session.js.map +1 -1
  104. package/package.json +146 -29
  105. package/pg-core/db.cjs.map +1 -1
  106. package/pg-core/db.d.cts +6 -6
  107. package/pg-core/db.d.ts +6 -6
  108. package/pg-core/db.js.map +1 -1
  109. package/pg-core/dialect.cjs +3 -3
  110. package/pg-core/dialect.cjs.map +1 -1
  111. package/pg-core/dialect.js +4 -4
  112. package/pg-core/dialect.js.map +1 -1
  113. package/pg-core/indexes.cjs.map +1 -1
  114. package/pg-core/indexes.d.cts +3 -3
  115. package/pg-core/indexes.d.ts +3 -3
  116. package/pg-core/indexes.js.map +1 -1
  117. package/pg-core/query-builders/delete.cjs.map +1 -1
  118. package/pg-core/query-builders/delete.d.cts +6 -6
  119. package/pg-core/query-builders/delete.d.ts +6 -6
  120. package/pg-core/query-builders/delete.js.map +1 -1
  121. package/pg-core/query-builders/insert.cjs.map +1 -1
  122. package/pg-core/query-builders/insert.d.cts +7 -7
  123. package/pg-core/query-builders/insert.d.ts +7 -7
  124. package/pg-core/query-builders/insert.js.map +1 -1
  125. package/pg-core/query-builders/query-builder.d.cts +2 -2
  126. package/pg-core/query-builders/query-builder.d.ts +2 -2
  127. package/pg-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  128. package/pg-core/query-builders/refresh-materialized-view.d.cts +5 -5
  129. package/pg-core/query-builders/refresh-materialized-view.d.ts +5 -5
  130. package/pg-core/query-builders/refresh-materialized-view.js.map +1 -1
  131. package/pg-core/query-builders/update.cjs.map +1 -1
  132. package/pg-core/query-builders/update.d.cts +7 -7
  133. package/pg-core/query-builders/update.d.ts +7 -7
  134. package/pg-core/query-builders/update.js.map +1 -1
  135. package/pg-core/schema.cjs +7 -0
  136. package/pg-core/schema.cjs.map +1 -1
  137. package/pg-core/schema.d.cts +4 -1
  138. package/pg-core/schema.d.ts +4 -1
  139. package/pg-core/schema.js +7 -0
  140. package/pg-core/schema.js.map +1 -1
  141. package/pg-core/sequence.cjs.map +1 -1
  142. package/pg-core/sequence.d.cts +1 -1
  143. package/pg-core/sequence.d.ts +1 -1
  144. package/pg-core/sequence.js.map +1 -1
  145. package/pg-core/session.cjs.map +1 -1
  146. package/pg-core/session.d.cts +5 -5
  147. package/pg-core/session.d.ts +5 -5
  148. package/pg-core/session.js.map +1 -1
  149. package/pg-proxy/session.cjs.map +1 -1
  150. package/pg-proxy/session.d.cts +2 -2
  151. package/pg-proxy/session.d.ts +2 -2
  152. package/pg-proxy/session.js.map +1 -1
  153. package/pglite/session.cjs.map +1 -1
  154. package/pglite/session.d.cts +2 -2
  155. package/pglite/session.d.ts +2 -2
  156. package/pglite/session.js.map +1 -1
  157. package/planetscale-serverless/session.cjs +50 -6
  158. package/planetscale-serverless/session.cjs.map +1 -1
  159. package/planetscale-serverless/session.d.cts +10 -8
  160. package/planetscale-serverless/session.d.ts +10 -8
  161. package/planetscale-serverless/session.js +53 -9
  162. package/planetscale-serverless/session.js.map +1 -1
  163. package/postgres-js/session.cjs.map +1 -1
  164. package/postgres-js/session.d.cts +2 -2
  165. package/postgres-js/session.d.ts +2 -2
  166. package/postgres-js/session.js.map +1 -1
  167. package/prisma/mysql/driver.cjs +58 -0
  168. package/prisma/mysql/driver.cjs.map +1 -0
  169. package/prisma/mysql/driver.d.cts +23 -0
  170. package/prisma/mysql/driver.d.ts +23 -0
  171. package/prisma/mysql/driver.js +33 -0
  172. package/prisma/mysql/driver.js.map +1 -0
  173. package/prisma/mysql/index.cjs +25 -0
  174. package/prisma/mysql/index.cjs.map +1 -0
  175. package/prisma/mysql/index.d.cts +2 -0
  176. package/prisma/mysql/index.d.ts +2 -0
  177. package/prisma/mysql/index.js +3 -0
  178. package/prisma/mysql/index.js.map +1 -0
  179. package/prisma/mysql/session.cjs +73 -0
  180. package/prisma/mysql/session.cjs.map +1 -0
  181. package/prisma/mysql/session.d.cts +38 -0
  182. package/prisma/mysql/session.d.ts +38 -0
  183. package/prisma/mysql/session.js +48 -0
  184. package/prisma/mysql/session.js.map +1 -0
  185. package/prisma/pg/driver.cjs +58 -0
  186. package/prisma/pg/driver.cjs.map +1 -0
  187. package/prisma/pg/driver.d.cts +23 -0
  188. package/prisma/pg/driver.d.ts +23 -0
  189. package/prisma/pg/driver.js +33 -0
  190. package/prisma/pg/driver.js.map +1 -0
  191. package/prisma/pg/index.cjs +25 -0
  192. package/prisma/pg/index.cjs.map +1 -0
  193. package/prisma/pg/index.d.cts +2 -0
  194. package/prisma/pg/index.d.ts +2 -0
  195. package/prisma/pg/index.js +3 -0
  196. package/prisma/pg/index.js.map +1 -0
  197. package/prisma/pg/session.cjs +72 -0
  198. package/prisma/pg/session.cjs.map +1 -0
  199. package/prisma/pg/session.d.cts +33 -0
  200. package/prisma/pg/session.d.ts +33 -0
  201. package/prisma/pg/session.js +47 -0
  202. package/prisma/pg/session.js.map +1 -0
  203. package/prisma/sqlite/driver.cjs +50 -0
  204. package/prisma/sqlite/driver.cjs.map +1 -0
  205. package/prisma/sqlite/driver.d.cts +16 -0
  206. package/prisma/sqlite/driver.d.ts +16 -0
  207. package/prisma/sqlite/driver.js +26 -0
  208. package/prisma/sqlite/driver.js.map +1 -0
  209. package/prisma/sqlite/index.cjs +25 -0
  210. package/prisma/sqlite/index.cjs.map +1 -0
  211. package/prisma/sqlite/index.d.cts +2 -0
  212. package/prisma/sqlite/index.d.ts +2 -0
  213. package/prisma/sqlite/index.js +3 -0
  214. package/prisma/sqlite/index.js.map +1 -0
  215. package/prisma/sqlite/session.cjs +76 -0
  216. package/prisma/sqlite/session.cjs.map +1 -0
  217. package/prisma/sqlite/session.d.cts +37 -0
  218. package/prisma/sqlite/session.d.ts +37 -0
  219. package/prisma/sqlite/session.js +51 -0
  220. package/prisma/sqlite/session.js.map +1 -0
  221. package/query-builders/select.types.cjs.map +1 -1
  222. package/relations.cjs +5 -5
  223. package/relations.cjs.map +1 -1
  224. package/relations.d.cts +2 -2
  225. package/relations.d.ts +2 -2
  226. package/relations.js +6 -6
  227. package/relations.js.map +1 -1
  228. package/sql/expressions/conditions.cjs +2 -2
  229. package/sql/expressions/conditions.cjs.map +1 -1
  230. package/sql/expressions/conditions.d.cts +1 -1
  231. package/sql/expressions/conditions.d.ts +1 -1
  232. package/sql/expressions/conditions.js +2 -2
  233. package/sql/expressions/conditions.js.map +1 -1
  234. package/sql/sql.cjs +5 -2
  235. package/sql/sql.cjs.map +1 -1
  236. package/sql/sql.d.cts +1 -0
  237. package/sql/sql.d.ts +1 -0
  238. package/sql/sql.js +5 -2
  239. package/sql/sql.js.map +1 -1
  240. package/sql-js/session.d.cts +1 -1
  241. package/sql-js/session.d.ts +1 -1
  242. package/sqlite-core/columns/integer.cjs.map +1 -1
  243. package/sqlite-core/columns/integer.d.cts +2 -2
  244. package/sqlite-core/columns/integer.d.ts +2 -2
  245. package/sqlite-core/columns/integer.js.map +1 -1
  246. package/sqlite-core/db.d.cts +2 -2
  247. package/sqlite-core/db.d.ts +2 -2
  248. package/sqlite-core/dialect.cjs +3 -3
  249. package/sqlite-core/dialect.cjs.map +1 -1
  250. package/sqlite-core/dialect.d.cts +1 -1
  251. package/sqlite-core/dialect.d.ts +1 -1
  252. package/sqlite-core/dialect.js +4 -4
  253. package/sqlite-core/dialect.js.map +1 -1
  254. package/sqlite-core/query-builders/query-builder.d.cts +2 -2
  255. package/sqlite-core/query-builders/query-builder.d.ts +2 -2
  256. package/sqlite-proxy/session.d.cts +1 -1
  257. package/sqlite-proxy/session.d.ts +1 -1
  258. package/table.cjs +5 -1
  259. package/table.cjs.map +1 -1
  260. package/table.d.cts +1 -3
  261. package/table.d.ts +1 -3
  262. package/table.js +4 -1
  263. package/table.js.map +1 -1
  264. package/tidb-serverless/session.cjs +33 -6
  265. package/tidb-serverless/session.cjs.map +1 -1
  266. package/tidb-serverless/session.d.cts +9 -7
  267. package/tidb-serverless/session.d.ts +9 -7
  268. package/tidb-serverless/session.js +36 -9
  269. package/tidb-serverless/session.js.map +1 -1
  270. package/utils.cjs.map +1 -1
  271. package/utils.d.cts +2 -2
  272. package/utils.d.ts +2 -2
  273. package/utils.js.map +1 -1
  274. package/vercel-postgres/session.cjs.map +1 -1
  275. package/vercel-postgres/session.d.cts +2 -2
  276. package/vercel-postgres/session.d.ts +2 -2
  277. package/vercel-postgres/session.js.map +1 -1
  278. package/version.cjs +1 -1
  279. package/version.d.cts +1 -1
  280. package/version.d.ts +1 -1
  281. package/version.js +1 -1
  282. package/xata-http/session.cjs.map +1 -1
  283. package/xata-http/session.d.cts +2 -2
  284. package/xata-http/session.d.ts +2 -2
  285. package/xata-http/session.js.map +1 -1
@@ -1,7 +1,7 @@
1
1
  import type { GetColumnData } from "../../column.cjs";
2
2
  import { entityKind } from "../../entity.cjs";
3
3
  import type { PgDialect } from "../dialect.cjs";
4
- import type { PgPreparedQuery, PgSession, PreparedQueryConfig, QueryResultHKT, QueryResultKind } from "../session.cjs";
4
+ import type { PgPreparedQuery, PgQueryResultHKT, PgQueryResultKind, PgSession, PreparedQueryConfig } from "../session.cjs";
5
5
  import type { PgTable } from "../table.cjs";
6
6
  import type { SelectResultFields } from "../../query-builders/select.types.cjs";
7
7
  import { QueryPromise } from "../../query-promise.cjs";
@@ -20,7 +20,7 @@ export interface PgUpdateConfig {
20
20
  export type PgUpdateSetSource<TTable extends PgTable> = {
21
21
  [Key in keyof TTable['$inferInsert']]?: GetColumnData<TTable['_']['columns'][Key]> | SQL;
22
22
  } & {};
23
- export declare class PgUpdateBuilder<TTable extends PgTable, TQueryResult extends QueryResultHKT> {
23
+ export declare class PgUpdateBuilder<TTable extends PgTable, TQueryResult extends PgQueryResultHKT> {
24
24
  private table;
25
25
  private session;
26
26
  private dialect;
@@ -36,12 +36,12 @@ export type PgUpdateWithout<T extends AnyPgUpdate, TDynamic extends boolean, K e
36
36
  export type PgUpdateReturningAll<T extends AnyPgUpdate, TDynamic extends boolean> = PgUpdateWithout<PgUpdateBase<T['_']['table'], T['_']['queryResult'], T['_']['table']['$inferSelect'], TDynamic, T['_']['excludedMethods']>, TDynamic, 'returning'>;
37
37
  export type PgUpdateReturning<T extends AnyPgUpdate, TDynamic extends boolean, TSelectedFields extends SelectedFields> = PgUpdateWithout<PgUpdateBase<T['_']['table'], T['_']['queryResult'], SelectResultFields<TSelectedFields>, TDynamic, T['_']['excludedMethods']>, TDynamic, 'returning'>;
38
38
  export type PgUpdatePrepare<T extends AnyPgUpdate> = PgPreparedQuery<PreparedQueryConfig & {
39
- execute: T['_']['returning'] extends undefined ? QueryResultKind<T['_']['queryResult'], never> : T['_']['returning'][];
39
+ execute: T['_']['returning'] extends undefined ? PgQueryResultKind<T['_']['queryResult'], never> : T['_']['returning'][];
40
40
  }>;
41
41
  export type PgUpdateDynamic<T extends AnyPgUpdate> = PgUpdate<T['_']['table'], T['_']['queryResult'], T['_']['returning']>;
42
- export type PgUpdate<TTable extends PgTable = PgTable, TQueryResult extends QueryResultHKT = QueryResultHKT, TReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = PgUpdateBase<TTable, TQueryResult, TReturning, true, never>;
42
+ export type PgUpdate<TTable extends PgTable = PgTable, TQueryResult extends PgQueryResultHKT = PgQueryResultHKT, TReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = PgUpdateBase<TTable, TQueryResult, TReturning, true, never>;
43
43
  type AnyPgUpdate = PgUpdateBase<any, any, any, any, any>;
44
- export interface PgUpdateBase<TTable extends PgTable, TQueryResult extends QueryResultHKT, TReturning extends Record<string, unknown> | undefined = undefined, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[]>, RunnableQuery<TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[], 'pg'>, SQLWrapper {
44
+ export interface PgUpdateBase<TTable extends PgTable, TQueryResult extends PgQueryResultHKT, TReturning extends Record<string, unknown> | undefined = undefined, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[]>, RunnableQuery<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[], 'pg'>, SQLWrapper {
45
45
  readonly _: {
46
46
  readonly dialect: 'pg';
47
47
  readonly table: TTable;
@@ -49,10 +49,10 @@ export interface PgUpdateBase<TTable extends PgTable, TQueryResult extends Query
49
49
  readonly returning: TReturning;
50
50
  readonly dynamic: TDynamic;
51
51
  readonly excludedMethods: TExcludedMethods;
52
- readonly result: TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[];
52
+ readonly result: TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[];
53
53
  };
54
54
  }
55
- export declare class PgUpdateBase<TTable extends PgTable, TQueryResult extends QueryResultHKT, TReturning extends Record<string, unknown> | undefined = undefined, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[]> implements RunnableQuery<TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[], 'pg'>, SQLWrapper {
55
+ export declare class PgUpdateBase<TTable extends PgTable, TQueryResult extends PgQueryResultHKT, TReturning extends Record<string, unknown> | undefined = undefined, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[]> implements RunnableQuery<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[], 'pg'>, SQLWrapper {
56
56
  private session;
57
57
  private dialect;
58
58
  static readonly [entityKind]: string;
@@ -1,7 +1,7 @@
1
1
  import type { GetColumnData } from "../../column.js";
2
2
  import { entityKind } from "../../entity.js";
3
3
  import type { PgDialect } from "../dialect.js";
4
- import type { PgPreparedQuery, PgSession, PreparedQueryConfig, QueryResultHKT, QueryResultKind } from "../session.js";
4
+ import type { PgPreparedQuery, PgQueryResultHKT, PgQueryResultKind, PgSession, PreparedQueryConfig } from "../session.js";
5
5
  import type { PgTable } from "../table.js";
6
6
  import type { SelectResultFields } from "../../query-builders/select.types.js";
7
7
  import { QueryPromise } from "../../query-promise.js";
@@ -20,7 +20,7 @@ export interface PgUpdateConfig {
20
20
  export type PgUpdateSetSource<TTable extends PgTable> = {
21
21
  [Key in keyof TTable['$inferInsert']]?: GetColumnData<TTable['_']['columns'][Key]> | SQL;
22
22
  } & {};
23
- export declare class PgUpdateBuilder<TTable extends PgTable, TQueryResult extends QueryResultHKT> {
23
+ export declare class PgUpdateBuilder<TTable extends PgTable, TQueryResult extends PgQueryResultHKT> {
24
24
  private table;
25
25
  private session;
26
26
  private dialect;
@@ -36,12 +36,12 @@ export type PgUpdateWithout<T extends AnyPgUpdate, TDynamic extends boolean, K e
36
36
  export type PgUpdateReturningAll<T extends AnyPgUpdate, TDynamic extends boolean> = PgUpdateWithout<PgUpdateBase<T['_']['table'], T['_']['queryResult'], T['_']['table']['$inferSelect'], TDynamic, T['_']['excludedMethods']>, TDynamic, 'returning'>;
37
37
  export type PgUpdateReturning<T extends AnyPgUpdate, TDynamic extends boolean, TSelectedFields extends SelectedFields> = PgUpdateWithout<PgUpdateBase<T['_']['table'], T['_']['queryResult'], SelectResultFields<TSelectedFields>, TDynamic, T['_']['excludedMethods']>, TDynamic, 'returning'>;
38
38
  export type PgUpdatePrepare<T extends AnyPgUpdate> = PgPreparedQuery<PreparedQueryConfig & {
39
- execute: T['_']['returning'] extends undefined ? QueryResultKind<T['_']['queryResult'], never> : T['_']['returning'][];
39
+ execute: T['_']['returning'] extends undefined ? PgQueryResultKind<T['_']['queryResult'], never> : T['_']['returning'][];
40
40
  }>;
41
41
  export type PgUpdateDynamic<T extends AnyPgUpdate> = PgUpdate<T['_']['table'], T['_']['queryResult'], T['_']['returning']>;
42
- export type PgUpdate<TTable extends PgTable = PgTable, TQueryResult extends QueryResultHKT = QueryResultHKT, TReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = PgUpdateBase<TTable, TQueryResult, TReturning, true, never>;
42
+ export type PgUpdate<TTable extends PgTable = PgTable, TQueryResult extends PgQueryResultHKT = PgQueryResultHKT, TReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = PgUpdateBase<TTable, TQueryResult, TReturning, true, never>;
43
43
  type AnyPgUpdate = PgUpdateBase<any, any, any, any, any>;
44
- export interface PgUpdateBase<TTable extends PgTable, TQueryResult extends QueryResultHKT, TReturning extends Record<string, unknown> | undefined = undefined, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[]>, RunnableQuery<TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[], 'pg'>, SQLWrapper {
44
+ export interface PgUpdateBase<TTable extends PgTable, TQueryResult extends PgQueryResultHKT, TReturning extends Record<string, unknown> | undefined = undefined, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[]>, RunnableQuery<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[], 'pg'>, SQLWrapper {
45
45
  readonly _: {
46
46
  readonly dialect: 'pg';
47
47
  readonly table: TTable;
@@ -49,10 +49,10 @@ export interface PgUpdateBase<TTable extends PgTable, TQueryResult extends Query
49
49
  readonly returning: TReturning;
50
50
  readonly dynamic: TDynamic;
51
51
  readonly excludedMethods: TExcludedMethods;
52
- readonly result: TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[];
52
+ readonly result: TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[];
53
53
  };
54
54
  }
55
- export declare class PgUpdateBase<TTable extends PgTable, TQueryResult extends QueryResultHKT, TReturning extends Record<string, unknown> | undefined = undefined, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[]> implements RunnableQuery<TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[], 'pg'>, SQLWrapper {
55
+ export declare class PgUpdateBase<TTable extends PgTable, TQueryResult extends PgQueryResultHKT, TReturning extends Record<string, unknown> | undefined = undefined, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[]> implements RunnableQuery<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[], 'pg'>, SQLWrapper {
56
56
  private session;
57
57
  private dialect;
58
58
  static readonly [entityKind]: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/query-builders/update.ts"],"sourcesContent":["import type { GetColumnData } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport type {\n\tPgPreparedQuery,\n\tPgSession,\n\tPreparedQueryConfig,\n\tQueryResultHKT,\n\tQueryResultKind,\n} from '~/pg-core/session.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { mapUpdateSet, orderSelectedFields, type UpdateSet } from '~/utils.ts';\nimport type { PgColumn } from '../columns/common.ts';\nimport type { SelectedFields, SelectedFieldsOrdered } from './select.types.ts';\n\nexport interface PgUpdateConfig {\n\twhere?: SQL | undefined;\n\tset: UpdateSet;\n\ttable: PgTable;\n\treturning?: SelectedFieldsOrdered;\n\twithList?: Subquery[];\n}\n\nexport type PgUpdateSetSource<TTable extends PgTable> =\n\t& {\n\t\t[Key in keyof TTable['$inferInsert']]?:\n\t\t\t| GetColumnData<TTable['_']['columns'][Key]>\n\t\t\t| SQL;\n\t}\n\t& {};\n\nexport class PgUpdateBuilder<TTable extends PgTable, TQueryResult extends QueryResultHKT> {\n\tstatic readonly [entityKind]: string = 'PgUpdateBuilder';\n\n\tdeclare readonly _: {\n\t\treadonly table: TTable;\n\t};\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: PgSession,\n\t\tprivate dialect: PgDialect,\n\t\tprivate withList?: Subquery[],\n\t) {}\n\n\tset(values: PgUpdateSetSource<TTable>): PgUpdateBase<TTable, TQueryResult> {\n\t\treturn new PgUpdateBase<TTable, TQueryResult>(\n\t\t\tthis.table,\n\t\t\tmapUpdateSet(this.table, values),\n\t\t\tthis.session,\n\t\t\tthis.dialect,\n\t\t\tthis.withList,\n\t\t);\n\t}\n}\n\nexport type PgUpdateWithout<\n\tT extends AnyPgUpdate,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T : Omit<\n\tPgUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tT['_']['returning'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods'] | K\n\t>,\n\tT['_']['excludedMethods'] | K\n>;\n\nexport type PgUpdateReturningAll<T extends AnyPgUpdate, TDynamic extends boolean> = PgUpdateWithout<\n\tPgUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type PgUpdateReturning<\n\tT extends AnyPgUpdate,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFields,\n> = PgUpdateWithout<\n\tPgUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tSelectResultFields<TSelectedFields>,\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type PgUpdatePrepare<T extends AnyPgUpdate> = PgPreparedQuery<\n\tPreparedQueryConfig & {\n\t\texecute: T['_']['returning'] extends undefined ? QueryResultKind<T['_']['queryResult'], never>\n\t\t\t: T['_']['returning'][];\n\t}\n>;\n\nexport type PgUpdateDynamic<T extends AnyPgUpdate> = PgUpdate<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['returning']\n>;\n\nexport type PgUpdate<\n\tTTable extends PgTable = PgTable,\n\tTQueryResult extends QueryResultHKT = QueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = PgUpdateBase<TTable, TQueryResult, TReturning, true, never>;\n\ntype AnyPgUpdate = PgUpdateBase<any, any, any, any, any>;\n\nexport interface PgUpdateBase<\n\tTTable extends PgTable,\n\tTQueryResult extends QueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[], 'pg'>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\treadonly dialect: 'pg';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport class PgUpdateBase<\n\tTTable extends PgTable,\n\tTQueryResult extends QueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<TReturning extends undefined ? QueryResultKind<TQueryResult, never> : TReturning[], 'pg'>,\n\t\tSQLWrapper\n{\n\tstatic readonly [entityKind]: string = 'PgUpdate';\n\n\tprivate config: PgUpdateConfig;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tset: UpdateSet,\n\t\tprivate session: PgSession,\n\t\tprivate dialect: PgDialect,\n\t\twithList?: Subquery[],\n\t) {\n\t\tsuper();\n\t\tthis.config = { set, table, withList };\n\t}\n\n\t/**\n\t * Adds a 'where' clause to the query.\n\t *\n\t * Calling this method will update only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t *\n\t * @param where the 'where' clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be updated.\n\t *\n\t * ```ts\n\t * // Update all cars with green color\n\t * await db.update(cars).set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'));\n\t * // or\n\t * await db.update(cars).set({ color: 'red' })\n\t * .where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Update all BMW cars with a green color\n\t * await db.update(cars).set({ color: 'red' })\n\t * .where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Update all cars with the green or blue color\n\t * await db.update(cars).set({ color: 'red' })\n\t * .where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): PgUpdateWithout<this, TDynamic, 'where'> {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the updated rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update#update-with-returning}\n\t *\n\t * @example\n\t * ```ts\n\t * // Update all cars with the green color and return all fields\n\t * const updatedCars: Car[] = await db.update(cars)\n\t * .set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'))\n\t * .returning();\n\t *\n\t * // Update all cars with the green color and return only their id and brand fields\n\t * const updatedCarsIdsAndBrands: { id: number, brand: string }[] = await db.update(cars)\n\t * .set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'))\n\t * .returning({ id: cars.id, brand: cars.brand });\n\t * ```\n\t */\n\treturning(): PgUpdateReturningAll<this, TDynamic>;\n\treturning<TSelectedFields extends SelectedFields>(\n\t\tfields: TSelectedFields,\n\t): PgUpdateReturning<this, TDynamic, TSelectedFields>;\n\treturning(\n\t\tfields: SelectedFields = this.config.table[Table.Symbol.Columns],\n\t): PgUpdateWithout<AnyPgUpdate, TDynamic, 'returning'> {\n\t\tthis.config.returning = orderSelectedFields<PgColumn>(fields);\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildUpdateQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string): PgUpdatePrepare<this> {\n\t\treturn this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name, true);\n\t}\n\n\tprepare(name: string): PgUpdatePrepare<this> {\n\t\treturn this._prepare(name);\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn this._prepare().execute(placeholderValues);\n\t};\n\n\t$dynamic(): PgUpdateDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAW3B,SAAS,oBAAoB;AAI7B,SAAS,aAAa;AACtB,SAAS,cAAc,2BAA2C;AAoB3D,MAAM,gBAA6E;AAAA,EAOzF,YACS,OACA,SACA,SACA,UACP;AAJO;AACA;AACA;AACA;AAAA,EACN;AAAA,EAXH,QAAiB,UAAU,IAAY;AAAA,EAavC,IAAI,QAAuE;AAC1E,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,aAAa,KAAK,OAAO,MAAM;AAAA,MAC/B,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAwFO,MAAM,qBAQH,aAIV;AAAA,EAKC,YACC,OACA,KACQ,SACA,SACR,UACC;AACD,UAAM;AAJE;AACA;AAIR,SAAK,SAAS,EAAE,KAAK,OAAO,SAAS;AAAA,EACtC;AAAA,EAbA,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA8CR,MAAM,OAAkE;AACvE,SAAK,OAAO,QAAQ;AACpB,WAAO;AAAA,EACR;AAAA,EA4BA,UACC,SAAyB,KAAK,OAAO,MAAM,MAAM,OAAO,OAAO,GACT;AACtD,SAAK,OAAO,YAAY,oBAA8B,MAAM;AAC5D,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,SAAc;AACb,WAAO,KAAK,QAAQ,iBAAiB,KAAK,MAAM;AAAA,EACjD;AAAA,EAEA,QAAe;AACd,UAAM,EAAE,SAAS,UAAU,GAAG,KAAK,IAAI,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAC5E,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,SAAS,MAAsC;AAC9C,WAAO,KAAK,QAAQ,aAAa,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC,GAAG,KAAK,OAAO,WAAW,MAAM,IAAI;AAAA,EAC3G;AAAA,EAEA,QAAQ,MAAqC;AAC5C,WAAO,KAAK,SAAS,IAAI;AAAA,EAC1B;AAAA,EAES,UAAkD,CAAC,sBAAsB;AACjF,WAAO,KAAK,SAAS,EAAE,QAAQ,iBAAiB;AAAA,EACjD;AAAA,EAEA,WAAkC;AACjC,WAAO;AAAA,EACR;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/query-builders/update.ts"],"sourcesContent":["import type { GetColumnData } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport type {\n\tPgPreparedQuery,\n\tPgQueryResultHKT,\n\tPgQueryResultKind,\n\tPgSession,\n\tPreparedQueryConfig,\n} from '~/pg-core/session.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { mapUpdateSet, orderSelectedFields, type UpdateSet } from '~/utils.ts';\nimport type { PgColumn } from '../columns/common.ts';\nimport type { SelectedFields, SelectedFieldsOrdered } from './select.types.ts';\n\nexport interface PgUpdateConfig {\n\twhere?: SQL | undefined;\n\tset: UpdateSet;\n\ttable: PgTable;\n\treturning?: SelectedFieldsOrdered;\n\twithList?: Subquery[];\n}\n\nexport type PgUpdateSetSource<TTable extends PgTable> =\n\t& {\n\t\t[Key in keyof TTable['$inferInsert']]?:\n\t\t\t| GetColumnData<TTable['_']['columns'][Key]>\n\t\t\t| SQL;\n\t}\n\t& {};\n\nexport class PgUpdateBuilder<TTable extends PgTable, TQueryResult extends PgQueryResultHKT> {\n\tstatic readonly [entityKind]: string = 'PgUpdateBuilder';\n\n\tdeclare readonly _: {\n\t\treadonly table: TTable;\n\t};\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: PgSession,\n\t\tprivate dialect: PgDialect,\n\t\tprivate withList?: Subquery[],\n\t) {}\n\n\tset(values: PgUpdateSetSource<TTable>): PgUpdateBase<TTable, TQueryResult> {\n\t\treturn new PgUpdateBase<TTable, TQueryResult>(\n\t\t\tthis.table,\n\t\t\tmapUpdateSet(this.table, values),\n\t\t\tthis.session,\n\t\t\tthis.dialect,\n\t\t\tthis.withList,\n\t\t);\n\t}\n}\n\nexport type PgUpdateWithout<\n\tT extends AnyPgUpdate,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T : Omit<\n\tPgUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tT['_']['returning'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods'] | K\n\t>,\n\tT['_']['excludedMethods'] | K\n>;\n\nexport type PgUpdateReturningAll<T extends AnyPgUpdate, TDynamic extends boolean> = PgUpdateWithout<\n\tPgUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type PgUpdateReturning<\n\tT extends AnyPgUpdate,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFields,\n> = PgUpdateWithout<\n\tPgUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tSelectResultFields<TSelectedFields>,\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type PgUpdatePrepare<T extends AnyPgUpdate> = PgPreparedQuery<\n\tPreparedQueryConfig & {\n\t\texecute: T['_']['returning'] extends undefined ? PgQueryResultKind<T['_']['queryResult'], never>\n\t\t\t: T['_']['returning'][];\n\t}\n>;\n\nexport type PgUpdateDynamic<T extends AnyPgUpdate> = PgUpdate<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['returning']\n>;\n\nexport type PgUpdate<\n\tTTable extends PgTable = PgTable,\n\tTQueryResult extends PgQueryResultHKT = PgQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = PgUpdateBase<TTable, TQueryResult, TReturning, true, never>;\n\ntype AnyPgUpdate = PgUpdateBase<any, any, any, any, any>;\n\nexport interface PgUpdateBase<\n\tTTable extends PgTable,\n\tTQueryResult extends PgQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[], 'pg'>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\treadonly dialect: 'pg';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport class PgUpdateBase<\n\tTTable extends PgTable,\n\tTQueryResult extends PgQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<TReturning extends undefined ? PgQueryResultKind<TQueryResult, never> : TReturning[], 'pg'>,\n\t\tSQLWrapper\n{\n\tstatic readonly [entityKind]: string = 'PgUpdate';\n\n\tprivate config: PgUpdateConfig;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tset: UpdateSet,\n\t\tprivate session: PgSession,\n\t\tprivate dialect: PgDialect,\n\t\twithList?: Subquery[],\n\t) {\n\t\tsuper();\n\t\tthis.config = { set, table, withList };\n\t}\n\n\t/**\n\t * Adds a 'where' clause to the query.\n\t *\n\t * Calling this method will update only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t *\n\t * @param where the 'where' clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be updated.\n\t *\n\t * ```ts\n\t * // Update all cars with green color\n\t * await db.update(cars).set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'));\n\t * // or\n\t * await db.update(cars).set({ color: 'red' })\n\t * .where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Update all BMW cars with a green color\n\t * await db.update(cars).set({ color: 'red' })\n\t * .where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Update all cars with the green or blue color\n\t * await db.update(cars).set({ color: 'red' })\n\t * .where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): PgUpdateWithout<this, TDynamic, 'where'> {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the updated rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update#update-with-returning}\n\t *\n\t * @example\n\t * ```ts\n\t * // Update all cars with the green color and return all fields\n\t * const updatedCars: Car[] = await db.update(cars)\n\t * .set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'))\n\t * .returning();\n\t *\n\t * // Update all cars with the green color and return only their id and brand fields\n\t * const updatedCarsIdsAndBrands: { id: number, brand: string }[] = await db.update(cars)\n\t * .set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'))\n\t * .returning({ id: cars.id, brand: cars.brand });\n\t * ```\n\t */\n\treturning(): PgUpdateReturningAll<this, TDynamic>;\n\treturning<TSelectedFields extends SelectedFields>(\n\t\tfields: TSelectedFields,\n\t): PgUpdateReturning<this, TDynamic, TSelectedFields>;\n\treturning(\n\t\tfields: SelectedFields = this.config.table[Table.Symbol.Columns],\n\t): PgUpdateWithout<AnyPgUpdate, TDynamic, 'returning'> {\n\t\tthis.config.returning = orderSelectedFields<PgColumn>(fields);\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildUpdateQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string): PgUpdatePrepare<this> {\n\t\treturn this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name, true);\n\t}\n\n\tprepare(name: string): PgUpdatePrepare<this> {\n\t\treturn this._prepare(name);\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn this._prepare().execute(placeholderValues);\n\t};\n\n\t$dynamic(): PgUpdateDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAW3B,SAAS,oBAAoB;AAI7B,SAAS,aAAa;AACtB,SAAS,cAAc,2BAA2C;AAoB3D,MAAM,gBAA+E;AAAA,EAO3F,YACS,OACA,SACA,SACA,UACP;AAJO;AACA;AACA;AACA;AAAA,EACN;AAAA,EAXH,QAAiB,UAAU,IAAY;AAAA,EAavC,IAAI,QAAuE;AAC1E,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,aAAa,KAAK,OAAO,MAAM;AAAA,MAC/B,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAwFO,MAAM,qBAQH,aAIV;AAAA,EAKC,YACC,OACA,KACQ,SACA,SACR,UACC;AACD,UAAM;AAJE;AACA;AAIR,SAAK,SAAS,EAAE,KAAK,OAAO,SAAS;AAAA,EACtC;AAAA,EAbA,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA8CR,MAAM,OAAkE;AACvE,SAAK,OAAO,QAAQ;AACpB,WAAO;AAAA,EACR;AAAA,EA4BA,UACC,SAAyB,KAAK,OAAO,MAAM,MAAM,OAAO,OAAO,GACT;AACtD,SAAK,OAAO,YAAY,oBAA8B,MAAM;AAC5D,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,SAAc;AACb,WAAO,KAAK,QAAQ,iBAAiB,KAAK,MAAM;AAAA,EACjD;AAAA,EAEA,QAAe;AACd,UAAM,EAAE,SAAS,UAAU,GAAG,KAAK,IAAI,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAC5E,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,SAAS,MAAsC;AAC9C,WAAO,KAAK,QAAQ,aAAa,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC,GAAG,KAAK,OAAO,WAAW,MAAM,IAAI;AAAA,EAC3G;AAAA,EAEA,QAAQ,MAAqC;AAC5C,WAAO,KAAK,SAAS,IAAI;AAAA,EAC1B;AAAA,EAES,UAAkD,CAAC,sBAAsB;AACjF,WAAO,KAAK,SAAS,EAAE,QAAQ,iBAAiB;AAAA,EACjD;AAAA,EAEA,WAAkC;AACjC,WAAO;AAAA,EACR;AACD;","names":[]}
@@ -24,6 +24,7 @@ __export(schema_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(schema_exports);
26
26
  var import_entity = require("../entity.cjs");
27
+ var import_sql = require("../sql/sql.cjs");
27
28
  var import_enum = require("./columns/enum.cjs");
28
29
  var import_sequence = require("./sequence.cjs");
29
30
  var import_table = require("./table.cjs");
@@ -48,6 +49,12 @@ class PgSchema {
48
49
  sequence = (name, options) => {
49
50
  return (0, import_sequence.pgSequenceWithSchema)(name, options, this.schemaName);
50
51
  };
52
+ getSQL() {
53
+ return new import_sql.SQL([import_sql.sql.identifier(this.schemaName)]);
54
+ }
55
+ shouldOmitSQLParens() {
56
+ return true;
57
+ }
51
58
  }
52
59
  function isPgSchema(obj) {
53
60
  return (0, import_entity.is)(obj, PgSchema);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pg-core/schema.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { pgEnum } from './columns/enum.ts';\nimport { pgEnumWithSchema } from './columns/enum.ts';\nimport { type pgSequence, pgSequenceWithSchema } from './sequence.ts';\nimport { type PgTableFn, pgTableWithSchema } from './table.ts';\nimport { type pgMaterializedView, pgMaterializedViewWithSchema, type pgView, pgViewWithSchema } from './view.ts';\n\nexport class PgSchema<TName extends string = string> {\n\tstatic readonly [entityKind]: string = 'PgSchema';\n\tconstructor(\n\t\tpublic readonly schemaName: TName,\n\t) {}\n\n\ttable: PgTableFn<TName> = ((name, columns, extraConfig) => {\n\t\treturn pgTableWithSchema(name, columns, extraConfig, this.schemaName);\n\t});\n\n\tview = ((name, columns) => {\n\t\treturn pgViewWithSchema(name, columns, this.schemaName);\n\t}) as typeof pgView;\n\n\tmaterializedView = ((name, columns) => {\n\t\treturn pgMaterializedViewWithSchema(name, columns, this.schemaName);\n\t}) as typeof pgMaterializedView;\n\n\tenum: typeof pgEnum = ((name, values) => {\n\t\treturn pgEnumWithSchema(name, values, this.schemaName);\n\t});\n\n\tsequence: typeof pgSequence = ((name, options) => {\n\t\treturn pgSequenceWithSchema(name, options, this.schemaName);\n\t});\n}\n\nexport function isPgSchema(obj: unknown): obj is PgSchema {\n\treturn is(obj, PgSchema);\n}\n\nexport function pgSchema<T extends string>(name: T) {\n\tif (name === 'public') {\n\t\tthrow new Error(\n\t\t\t`You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use pgTable() instead of creating a schema`,\n\t\t);\n\t}\n\n\treturn new PgSchema(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA+B;AAE/B,kBAAiC;AACjC,sBAAsD;AACtD,mBAAkD;AAClD,kBAAqG;AAE9F,MAAM,SAAwC;AAAA,EAEpD,YACiB,YACf;AADe;AAAA,EACd;AAAA,EAHH,QAAiB,wBAAU,IAAY;AAAA,EAKvC,QAA2B,CAAC,MAAM,SAAS,gBAAgB;AAC1D,eAAO,gCAAkB,MAAM,SAAS,aAAa,KAAK,UAAU;AAAA,EACrE;AAAA,EAEA,OAAQ,CAAC,MAAM,YAAY;AAC1B,eAAO,8BAAiB,MAAM,SAAS,KAAK,UAAU;AAAA,EACvD;AAAA,EAEA,mBAAoB,CAAC,MAAM,YAAY;AACtC,eAAO,0CAA6B,MAAM,SAAS,KAAK,UAAU;AAAA,EACnE;AAAA,EAEA,OAAuB,CAAC,MAAM,WAAW;AACxC,eAAO,8BAAiB,MAAM,QAAQ,KAAK,UAAU;AAAA,EACtD;AAAA,EAEA,WAA+B,CAAC,MAAM,YAAY;AACjD,eAAO,sCAAqB,MAAM,SAAS,KAAK,UAAU;AAAA,EAC3D;AACD;AAEO,SAAS,WAAW,KAA+B;AACzD,aAAO,kBAAG,KAAK,QAAQ;AACxB;AAEO,SAAS,SAA2B,MAAS;AACnD,MAAI,SAAS,UAAU;AACtB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO,IAAI,SAAS,IAAI;AACzB;","names":[]}
1
+ {"version":3,"sources":["../../src/pg-core/schema.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { pgEnum } from './columns/enum.ts';\nimport { pgEnumWithSchema } from './columns/enum.ts';\nimport { type pgSequence, pgSequenceWithSchema } from './sequence.ts';\nimport { type PgTableFn, pgTableWithSchema } from './table.ts';\nimport { type pgMaterializedView, pgMaterializedViewWithSchema, type pgView, pgViewWithSchema } from './view.ts';\n\nexport class PgSchema<TName extends string = string> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'PgSchema';\n\tconstructor(\n\t\tpublic readonly schemaName: TName,\n\t) {}\n\n\ttable: PgTableFn<TName> = ((name, columns, extraConfig) => {\n\t\treturn pgTableWithSchema(name, columns, extraConfig, this.schemaName);\n\t});\n\n\tview = ((name, columns) => {\n\t\treturn pgViewWithSchema(name, columns, this.schemaName);\n\t}) as typeof pgView;\n\n\tmaterializedView = ((name, columns) => {\n\t\treturn pgMaterializedViewWithSchema(name, columns, this.schemaName);\n\t}) as typeof pgMaterializedView;\n\n\tenum: typeof pgEnum = ((name, values) => {\n\t\treturn pgEnumWithSchema(name, values, this.schemaName);\n\t});\n\n\tsequence: typeof pgSequence = ((name, options) => {\n\t\treturn pgSequenceWithSchema(name, options, this.schemaName);\n\t});\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([sql.identifier(this.schemaName)]);\n\t}\n\n\tshouldOmitSQLParens(): boolean {\n\t\treturn true;\n\t}\n}\n\nexport function isPgSchema(obj: unknown): obj is PgSchema {\n\treturn is(obj, PgSchema);\n}\n\nexport function pgSchema<T extends string>(name: T) {\n\tif (name === 'public') {\n\t\tthrow new Error(\n\t\t\t`You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use pgTable() instead of creating a schema`,\n\t\t);\n\t}\n\n\treturn new PgSchema(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA+B;AAC/B,iBAA0C;AAE1C,kBAAiC;AACjC,sBAAsD;AACtD,mBAAkD;AAClD,kBAAqG;AAE9F,MAAM,SAA8D;AAAA,EAE1E,YACiB,YACf;AADe;AAAA,EACd;AAAA,EAHH,QAAiB,wBAAU,IAAY;AAAA,EAKvC,QAA2B,CAAC,MAAM,SAAS,gBAAgB;AAC1D,eAAO,gCAAkB,MAAM,SAAS,aAAa,KAAK,UAAU;AAAA,EACrE;AAAA,EAEA,OAAQ,CAAC,MAAM,YAAY;AAC1B,eAAO,8BAAiB,MAAM,SAAS,KAAK,UAAU;AAAA,EACvD;AAAA,EAEA,mBAAoB,CAAC,MAAM,YAAY;AACtC,eAAO,0CAA6B,MAAM,SAAS,KAAK,UAAU;AAAA,EACnE;AAAA,EAEA,OAAuB,CAAC,MAAM,WAAW;AACxC,eAAO,8BAAiB,MAAM,QAAQ,KAAK,UAAU;AAAA,EACtD;AAAA,EAEA,WAA+B,CAAC,MAAM,YAAY;AACjD,eAAO,sCAAqB,MAAM,SAAS,KAAK,UAAU;AAAA,EAC3D;AAAA,EAEA,SAAc;AACb,WAAO,IAAI,eAAI,CAAC,eAAI,WAAW,KAAK,UAAU,CAAC,CAAC;AAAA,EACjD;AAAA,EAEA,sBAA+B;AAC9B,WAAO;AAAA,EACR;AACD;AAEO,SAAS,WAAW,KAA+B;AACzD,aAAO,kBAAG,KAAK,QAAQ;AACxB;AAEO,SAAS,SAA2B,MAAS;AACnD,MAAI,SAAS,UAAU;AACtB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO,IAAI,SAAS,IAAI;AACzB;","names":[]}
@@ -1,9 +1,10 @@
1
1
  import { entityKind } from "../entity.cjs";
2
+ import { SQL, type SQLWrapper } from "../sql/sql.cjs";
2
3
  import type { pgEnum } from "./columns/enum.cjs";
3
4
  import { type pgSequence } from "./sequence.cjs";
4
5
  import { type PgTableFn } from "./table.cjs";
5
6
  import { type pgMaterializedView, type pgView } from "./view.cjs";
6
- export declare class PgSchema<TName extends string = string> {
7
+ export declare class PgSchema<TName extends string = string> implements SQLWrapper {
7
8
  readonly schemaName: TName;
8
9
  static readonly [entityKind]: string;
9
10
  constructor(schemaName: TName);
@@ -12,6 +13,8 @@ export declare class PgSchema<TName extends string = string> {
12
13
  materializedView: typeof pgMaterializedView;
13
14
  enum: typeof pgEnum;
14
15
  sequence: typeof pgSequence;
16
+ getSQL(): SQL;
17
+ shouldOmitSQLParens(): boolean;
15
18
  }
16
19
  export declare function isPgSchema(obj: unknown): obj is PgSchema;
17
20
  export declare function pgSchema<T extends string>(name: T): PgSchema<T>;
@@ -1,9 +1,10 @@
1
1
  import { entityKind } from "../entity.js";
2
+ import { SQL, type SQLWrapper } from "../sql/sql.js";
2
3
  import type { pgEnum } from "./columns/enum.js";
3
4
  import { type pgSequence } from "./sequence.js";
4
5
  import { type PgTableFn } from "./table.js";
5
6
  import { type pgMaterializedView, type pgView } from "./view.js";
6
- export declare class PgSchema<TName extends string = string> {
7
+ export declare class PgSchema<TName extends string = string> implements SQLWrapper {
7
8
  readonly schemaName: TName;
8
9
  static readonly [entityKind]: string;
9
10
  constructor(schemaName: TName);
@@ -12,6 +13,8 @@ export declare class PgSchema<TName extends string = string> {
12
13
  materializedView: typeof pgMaterializedView;
13
14
  enum: typeof pgEnum;
14
15
  sequence: typeof pgSequence;
16
+ getSQL(): SQL;
17
+ shouldOmitSQLParens(): boolean;
15
18
  }
16
19
  export declare function isPgSchema(obj: unknown): obj is PgSchema;
17
20
  export declare function pgSchema<T extends string>(name: T): PgSchema<T>;
package/pg-core/schema.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { entityKind, is } from "../entity.js";
2
+ import { SQL, sql } from "../sql/sql.js";
2
3
  import { pgEnumWithSchema } from "./columns/enum.js";
3
4
  import { pgSequenceWithSchema } from "./sequence.js";
4
5
  import { pgTableWithSchema } from "./table.js";
@@ -23,6 +24,12 @@ class PgSchema {
23
24
  sequence = (name, options) => {
24
25
  return pgSequenceWithSchema(name, options, this.schemaName);
25
26
  };
27
+ getSQL() {
28
+ return new SQL([sql.identifier(this.schemaName)]);
29
+ }
30
+ shouldOmitSQLParens() {
31
+ return true;
32
+ }
26
33
  }
27
34
  function isPgSchema(obj) {
28
35
  return is(obj, PgSchema);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pg-core/schema.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { pgEnum } from './columns/enum.ts';\nimport { pgEnumWithSchema } from './columns/enum.ts';\nimport { type pgSequence, pgSequenceWithSchema } from './sequence.ts';\nimport { type PgTableFn, pgTableWithSchema } from './table.ts';\nimport { type pgMaterializedView, pgMaterializedViewWithSchema, type pgView, pgViewWithSchema } from './view.ts';\n\nexport class PgSchema<TName extends string = string> {\n\tstatic readonly [entityKind]: string = 'PgSchema';\n\tconstructor(\n\t\tpublic readonly schemaName: TName,\n\t) {}\n\n\ttable: PgTableFn<TName> = ((name, columns, extraConfig) => {\n\t\treturn pgTableWithSchema(name, columns, extraConfig, this.schemaName);\n\t});\n\n\tview = ((name, columns) => {\n\t\treturn pgViewWithSchema(name, columns, this.schemaName);\n\t}) as typeof pgView;\n\n\tmaterializedView = ((name, columns) => {\n\t\treturn pgMaterializedViewWithSchema(name, columns, this.schemaName);\n\t}) as typeof pgMaterializedView;\n\n\tenum: typeof pgEnum = ((name, values) => {\n\t\treturn pgEnumWithSchema(name, values, this.schemaName);\n\t});\n\n\tsequence: typeof pgSequence = ((name, options) => {\n\t\treturn pgSequenceWithSchema(name, options, this.schemaName);\n\t});\n}\n\nexport function isPgSchema(obj: unknown): obj is PgSchema {\n\treturn is(obj, PgSchema);\n}\n\nexport function pgSchema<T extends string>(name: T) {\n\tif (name === 'public') {\n\t\tthrow new Error(\n\t\t\t`You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use pgTable() instead of creating a schema`,\n\t\t);\n\t}\n\n\treturn new PgSchema(name);\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAE/B,SAAS,wBAAwB;AACjC,SAA0B,4BAA4B;AACtD,SAAyB,yBAAyB;AAClD,SAAkC,8BAA2C,wBAAwB;AAE9F,MAAM,SAAwC;AAAA,EAEpD,YACiB,YACf;AADe;AAAA,EACd;AAAA,EAHH,QAAiB,UAAU,IAAY;AAAA,EAKvC,QAA2B,CAAC,MAAM,SAAS,gBAAgB;AAC1D,WAAO,kBAAkB,MAAM,SAAS,aAAa,KAAK,UAAU;AAAA,EACrE;AAAA,EAEA,OAAQ,CAAC,MAAM,YAAY;AAC1B,WAAO,iBAAiB,MAAM,SAAS,KAAK,UAAU;AAAA,EACvD;AAAA,EAEA,mBAAoB,CAAC,MAAM,YAAY;AACtC,WAAO,6BAA6B,MAAM,SAAS,KAAK,UAAU;AAAA,EACnE;AAAA,EAEA,OAAuB,CAAC,MAAM,WAAW;AACxC,WAAO,iBAAiB,MAAM,QAAQ,KAAK,UAAU;AAAA,EACtD;AAAA,EAEA,WAA+B,CAAC,MAAM,YAAY;AACjD,WAAO,qBAAqB,MAAM,SAAS,KAAK,UAAU;AAAA,EAC3D;AACD;AAEO,SAAS,WAAW,KAA+B;AACzD,SAAO,GAAG,KAAK,QAAQ;AACxB;AAEO,SAAS,SAA2B,MAAS;AACnD,MAAI,SAAS,UAAU;AACtB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO,IAAI,SAAS,IAAI;AACzB;","names":[]}
1
+ {"version":3,"sources":["../../src/pg-core/schema.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { pgEnum } from './columns/enum.ts';\nimport { pgEnumWithSchema } from './columns/enum.ts';\nimport { type pgSequence, pgSequenceWithSchema } from './sequence.ts';\nimport { type PgTableFn, pgTableWithSchema } from './table.ts';\nimport { type pgMaterializedView, pgMaterializedViewWithSchema, type pgView, pgViewWithSchema } from './view.ts';\n\nexport class PgSchema<TName extends string = string> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'PgSchema';\n\tconstructor(\n\t\tpublic readonly schemaName: TName,\n\t) {}\n\n\ttable: PgTableFn<TName> = ((name, columns, extraConfig) => {\n\t\treturn pgTableWithSchema(name, columns, extraConfig, this.schemaName);\n\t});\n\n\tview = ((name, columns) => {\n\t\treturn pgViewWithSchema(name, columns, this.schemaName);\n\t}) as typeof pgView;\n\n\tmaterializedView = ((name, columns) => {\n\t\treturn pgMaterializedViewWithSchema(name, columns, this.schemaName);\n\t}) as typeof pgMaterializedView;\n\n\tenum: typeof pgEnum = ((name, values) => {\n\t\treturn pgEnumWithSchema(name, values, this.schemaName);\n\t});\n\n\tsequence: typeof pgSequence = ((name, options) => {\n\t\treturn pgSequenceWithSchema(name, options, this.schemaName);\n\t});\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([sql.identifier(this.schemaName)]);\n\t}\n\n\tshouldOmitSQLParens(): boolean {\n\t\treturn true;\n\t}\n}\n\nexport function isPgSchema(obj: unknown): obj is PgSchema {\n\treturn is(obj, PgSchema);\n}\n\nexport function pgSchema<T extends string>(name: T) {\n\tif (name === 'public') {\n\t\tthrow new Error(\n\t\t\t`You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use pgTable() instead of creating a schema`,\n\t\t);\n\t}\n\n\treturn new PgSchema(name);\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAC/B,SAAS,KAAK,WAA4B;AAE1C,SAAS,wBAAwB;AACjC,SAA0B,4BAA4B;AACtD,SAAyB,yBAAyB;AAClD,SAAkC,8BAA2C,wBAAwB;AAE9F,MAAM,SAA8D;AAAA,EAE1E,YACiB,YACf;AADe;AAAA,EACd;AAAA,EAHH,QAAiB,UAAU,IAAY;AAAA,EAKvC,QAA2B,CAAC,MAAM,SAAS,gBAAgB;AAC1D,WAAO,kBAAkB,MAAM,SAAS,aAAa,KAAK,UAAU;AAAA,EACrE;AAAA,EAEA,OAAQ,CAAC,MAAM,YAAY;AAC1B,WAAO,iBAAiB,MAAM,SAAS,KAAK,UAAU;AAAA,EACvD;AAAA,EAEA,mBAAoB,CAAC,MAAM,YAAY;AACtC,WAAO,6BAA6B,MAAM,SAAS,KAAK,UAAU;AAAA,EACnE;AAAA,EAEA,OAAuB,CAAC,MAAM,WAAW;AACxC,WAAO,iBAAiB,MAAM,QAAQ,KAAK,UAAU;AAAA,EACtD;AAAA,EAEA,WAA+B,CAAC,MAAM,YAAY;AACjD,WAAO,qBAAqB,MAAM,SAAS,KAAK,UAAU;AAAA,EAC3D;AAAA,EAEA,SAAc;AACb,WAAO,IAAI,IAAI,CAAC,IAAI,WAAW,KAAK,UAAU,CAAC,CAAC;AAAA,EACjD;AAAA,EAEA,sBAA+B;AAC9B,WAAO;AAAA,EACR;AACD;AAEO,SAAS,WAAW,KAA+B;AACzD,SAAO,GAAG,KAAK,QAAQ;AACxB;AAEO,SAAS,SAA2B,MAAS;AACnD,MAAI,SAAS,UAAU;AACtB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO,IAAI,SAAS,IAAI;AACzB;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pg-core/sequence.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\n\nexport type PgSequenceOptions = {\n\tincrement?: number | string;\n\tminValue?: number | string;\n\tmaxValue?: number | string;\n\tstartWith?: number | string;\n\tcache?: number | string;\n\tcycle?: boolean;\n};\n\nexport class PgSequence {\n\tstatic readonly [entityKind]: string = 'PgSequence';\n\n\tconstructor(\n\t\tpublic readonly seqName: string | undefined,\n\t\tpublic readonly seqOptions: PgSequenceOptions | undefined,\n\t\tpublic readonly schema: string | undefined,\n\t) {\n\t}\n}\n\nexport function pgSequence(\n\tname: string,\n\toptions: PgSequenceOptions,\n): PgSequence {\n\treturn pgSequenceWithSchema(name, options, undefined);\n}\n\n/** @internal */\nexport function pgSequenceWithSchema(\n\tname: string,\n\toptions: PgSequenceOptions,\n\tschema?: string,\n): PgSequence {\n\treturn new PgSequence(name, options, schema);\n}\n\nexport function isPgSequence(obj: unknown): obj is PgSequence {\n\treturn is(obj, PgSequence);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA+B;AAWxB,MAAM,WAAW;AAAA,EAGvB,YACiB,SACA,YACA,QACf;AAHe;AACA;AACA;AAAA,EAEjB;AAAA,EAPA,QAAiB,wBAAU,IAAY;AAQxC;AAEO,SAAS,WACf,MACA,SACa;AACb,SAAO,qBAAqB,MAAM,SAAS,MAAS;AACrD;AAGO,SAAS,qBACf,MACA,SACA,QACa;AACb,SAAO,IAAI,WAAW,MAAM,SAAS,MAAM;AAC5C;AAEO,SAAS,aAAa,KAAiC;AAC7D,aAAO,kBAAG,KAAK,UAAU;AAC1B;","names":[]}
1
+ {"version":3,"sources":["../../src/pg-core/sequence.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\n\nexport type PgSequenceOptions = {\n\tincrement?: number | string;\n\tminValue?: number | string;\n\tmaxValue?: number | string;\n\tstartWith?: number | string;\n\tcache?: number | string;\n\tcycle?: boolean;\n};\n\nexport class PgSequence {\n\tstatic readonly [entityKind]: string = 'PgSequence';\n\n\tconstructor(\n\t\tpublic readonly seqName: string | undefined,\n\t\tpublic readonly seqOptions: PgSequenceOptions | undefined,\n\t\tpublic readonly schema: string | undefined,\n\t) {\n\t}\n}\n\nexport function pgSequence(\n\tname: string,\n\toptions?: PgSequenceOptions,\n): PgSequence {\n\treturn pgSequenceWithSchema(name, options, undefined);\n}\n\n/** @internal */\nexport function pgSequenceWithSchema(\n\tname: string,\n\toptions?: PgSequenceOptions,\n\tschema?: string,\n): PgSequence {\n\treturn new PgSequence(name, options, schema);\n}\n\nexport function isPgSequence(obj: unknown): obj is PgSequence {\n\treturn is(obj, PgSequence);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA+B;AAWxB,MAAM,WAAW;AAAA,EAGvB,YACiB,SACA,YACA,QACf;AAHe;AACA;AACA;AAAA,EAEjB;AAAA,EAPA,QAAiB,wBAAU,IAAY;AAQxC;AAEO,SAAS,WACf,MACA,SACa;AACb,SAAO,qBAAqB,MAAM,SAAS,MAAS;AACrD;AAGO,SAAS,qBACf,MACA,SACA,QACa;AACb,SAAO,IAAI,WAAW,MAAM,SAAS,MAAM;AAC5C;AAEO,SAAS,aAAa,KAAiC;AAC7D,aAAO,kBAAG,KAAK,UAAU;AAC1B;","names":[]}
@@ -14,5 +14,5 @@ export declare class PgSequence {
14
14
  static readonly [entityKind]: string;
15
15
  constructor(seqName: string | undefined, seqOptions: PgSequenceOptions | undefined, schema: string | undefined);
16
16
  }
17
- export declare function pgSequence(name: string, options: PgSequenceOptions): PgSequence;
17
+ export declare function pgSequence(name: string, options?: PgSequenceOptions): PgSequence;
18
18
  export declare function isPgSequence(obj: unknown): obj is PgSequence;
@@ -14,5 +14,5 @@ export declare class PgSequence {
14
14
  static readonly [entityKind]: string;
15
15
  constructor(seqName: string | undefined, seqOptions: PgSequenceOptions | undefined, schema: string | undefined);
16
16
  }
17
- export declare function pgSequence(name: string, options: PgSequenceOptions): PgSequence;
17
+ export declare function pgSequence(name: string, options?: PgSequenceOptions): PgSequence;
18
18
  export declare function isPgSequence(obj: unknown): obj is PgSequence;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pg-core/sequence.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\n\nexport type PgSequenceOptions = {\n\tincrement?: number | string;\n\tminValue?: number | string;\n\tmaxValue?: number | string;\n\tstartWith?: number | string;\n\tcache?: number | string;\n\tcycle?: boolean;\n};\n\nexport class PgSequence {\n\tstatic readonly [entityKind]: string = 'PgSequence';\n\n\tconstructor(\n\t\tpublic readonly seqName: string | undefined,\n\t\tpublic readonly seqOptions: PgSequenceOptions | undefined,\n\t\tpublic readonly schema: string | undefined,\n\t) {\n\t}\n}\n\nexport function pgSequence(\n\tname: string,\n\toptions: PgSequenceOptions,\n): PgSequence {\n\treturn pgSequenceWithSchema(name, options, undefined);\n}\n\n/** @internal */\nexport function pgSequenceWithSchema(\n\tname: string,\n\toptions: PgSequenceOptions,\n\tschema?: string,\n): PgSequence {\n\treturn new PgSequence(name, options, schema);\n}\n\nexport function isPgSequence(obj: unknown): obj is PgSequence {\n\treturn is(obj, PgSequence);\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAWxB,MAAM,WAAW;AAAA,EAGvB,YACiB,SACA,YACA,QACf;AAHe;AACA;AACA;AAAA,EAEjB;AAAA,EAPA,QAAiB,UAAU,IAAY;AAQxC;AAEO,SAAS,WACf,MACA,SACa;AACb,SAAO,qBAAqB,MAAM,SAAS,MAAS;AACrD;AAGO,SAAS,qBACf,MACA,SACA,QACa;AACb,SAAO,IAAI,WAAW,MAAM,SAAS,MAAM;AAC5C;AAEO,SAAS,aAAa,KAAiC;AAC7D,SAAO,GAAG,KAAK,UAAU;AAC1B;","names":[]}
1
+ {"version":3,"sources":["../../src/pg-core/sequence.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\n\nexport type PgSequenceOptions = {\n\tincrement?: number | string;\n\tminValue?: number | string;\n\tmaxValue?: number | string;\n\tstartWith?: number | string;\n\tcache?: number | string;\n\tcycle?: boolean;\n};\n\nexport class PgSequence {\n\tstatic readonly [entityKind]: string = 'PgSequence';\n\n\tconstructor(\n\t\tpublic readonly seqName: string | undefined,\n\t\tpublic readonly seqOptions: PgSequenceOptions | undefined,\n\t\tpublic readonly schema: string | undefined,\n\t) {\n\t}\n}\n\nexport function pgSequence(\n\tname: string,\n\toptions?: PgSequenceOptions,\n): PgSequence {\n\treturn pgSequenceWithSchema(name, options, undefined);\n}\n\n/** @internal */\nexport function pgSequenceWithSchema(\n\tname: string,\n\toptions?: PgSequenceOptions,\n\tschema?: string,\n): PgSequence {\n\treturn new PgSequence(name, options, schema);\n}\n\nexport function isPgSequence(obj: unknown): obj is PgSequence {\n\treturn is(obj, PgSequence);\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAWxB,MAAM,WAAW;AAAA,EAGvB,YACiB,SACA,YACA,QACf;AAHe;AACA;AACA;AAAA,EAEjB;AAAA,EAPA,QAAiB,UAAU,IAAY;AAQxC;AAEO,SAAS,WACf,MACA,SACa;AACb,SAAO,qBAAqB,MAAM,SAAS,MAAS;AACrD;AAGO,SAAS,qBACf,MACA,SACA,QACa;AACb,SAAO,IAAI,WAAW,MAAM,SAAS,MAAM;AAC5C;AAEO,SAAS,aAAa,KAAiC;AAC7D,SAAO,GAAG,KAAK,UAAU;AAC1B;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pg-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { type Query, type SQL, sql } from '~/sql/index.ts';\nimport { tracer } from '~/tracing.ts';\nimport { PgDatabase } from './db.ts';\nimport type { PgDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\texecute: unknown;\n\tall: unknown;\n\tvalues: unknown;\n}\n\nexport abstract class PgPreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {\n\tconstructor(protected query: Query) {}\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tmapResult(response: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn response;\n\t}\n\n\tstatic readonly [entityKind]: string = 'PgPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\t/** @internal */\n\tabstract all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport interface PgTransactionConfig {\n\tisolationLevel?: 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable';\n\taccessMode?: 'read only' | 'read write';\n\tdeferrable?: boolean;\n}\n\nexport abstract class PgSession<\n\tTQueryResult extends QueryResultHKT = QueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'PgSession';\n\n\tconstructor(protected dialect: PgDialect) {}\n\n\tabstract prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => T['execute'],\n\t): PgPreparedQuery<T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\tconst prepared = tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\t\treturn this.prepareQuery<PreparedQueryConfig & { execute: T }>(\n\t\t\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn prepared.execute();\n\t\t});\n\t}\n\n\tall<T = unknown>(query: SQL): Promise<T[]> {\n\t\treturn this.prepareQuery<PreparedQueryConfig & { all: T[] }>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfalse,\n\t\t).all();\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: PgTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig,\n\t): Promise<T>;\n}\n\nexport abstract class PgTransaction<\n\tTQueryResult extends QueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends PgDatabase<TQueryResult, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'PgTransaction';\n\n\tconstructor(\n\t\tdialect: PgDialect,\n\t\tsession: PgSession<any, any, any>,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record<string, unknown>;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record<string, string>;\n\t\t} | undefined,\n\t\tprotected readonly nestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, schema);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\t/** @internal */\n\tgetTransactionConfigSQL(config: PgTransactionConfig): SQL {\n\t\tconst chunks: string[] = [];\n\t\tif (config.isolationLevel) {\n\t\t\tchunks.push(`isolation level ${config.isolationLevel}`);\n\t\t}\n\t\tif (config.accessMode) {\n\t\t\tchunks.push(config.accessMode);\n\t\t}\n\t\tif (typeof config.deferrable === 'boolean') {\n\t\t\tchunks.push(config.deferrable ? 'deferrable' : 'not deferrable');\n\t\t}\n\t\treturn sql.raw(chunks.join(' '));\n\t}\n\n\tsetTransaction(config: PgTransactionConfig): Promise<void> {\n\t\treturn this.session.execute(sql`set transaction ${this.getTransactionConfigSQL(config)}`);\n\t}\n\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: PgTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface QueryResultHKT {\n\treadonly $brand: 'QueryRowHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport type QueryResultKind<TKind extends QueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,oBAAyC;AAGzC,iBAA0C;AAC1C,qBAAuB;AACvB,gBAA2B;AAUpB,MAAe,gBAAwE;AAAA,EAC7F,YAAsB,OAAc;AAAd;AAAA,EAAe;AAAA,EAErC,WAAkB;AACjB,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,UAAU,UAAmB,cAAiC;AAC7D,WAAO;AAAA,EACR;AAAA,EAEA,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AASD;AAQO,MAAe,UAIpB;AAAA,EAGD,YAAsB,SAAoB;AAApB;AAAA,EAAqB;AAAA,EAF3C,QAAiB,wBAAU,IAAY;AAAA,EAYvC,QAAW,OAAwB;AAClC,WAAO,sBAAO,gBAAgB,qBAAqB,MAAM;AACxD,YAAM,WAAW,sBAAO,gBAAgB,wBAAwB,MAAM;AACrE,eAAO,KAAK;AAAA,UACX,KAAK,QAAQ,WAAW,KAAK;AAAA,UAC7B;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD,CAAC;AAED,aAAO,SAAS,QAAQ;AAAA,IACzB,CAAC;AAAA,EACF;AAAA,EAEA,IAAiB,OAA0B;AAC1C,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,IACD,EAAE,IAAI;AAAA,EACP;AAMD;AAEO,MAAe,sBAIZ,qBAA+C;AAAA,EAGxD,YACC,SACA,SACU,QAKS,cAAc,GAChC;AACD,UAAM,SAAS,SAAS,MAAM;AAPpB;AAKS;AAAA,EAGpB;AAAA,EAbA,QAAiB,wBAAU,IAAY;AAAA,EAevC,WAAkB;AACjB,UAAM,IAAI,uCAAyB;AAAA,EACpC;AAAA;AAAA,EAGA,wBAAwB,QAAkC;AACzD,UAAM,SAAmB,CAAC;AAC1B,QAAI,OAAO,gBAAgB;AAC1B,aAAO,KAAK,mBAAmB,OAAO,cAAc,EAAE;AAAA,IACvD;AACA,QAAI,OAAO,YAAY;AACtB,aAAO,KAAK,OAAO,UAAU;AAAA,IAC9B;AACA,QAAI,OAAO,OAAO,eAAe,WAAW;AAC3C,aAAO,KAAK,OAAO,aAAa,eAAe,gBAAgB;AAAA,IAChE;AACA,WAAO,eAAI,IAAI,OAAO,KAAK,GAAG,CAAC;AAAA,EAChC;AAAA,EAEA,eAAe,QAA4C;AAC1D,WAAO,KAAK,QAAQ,QAAQ,iCAAsB,KAAK,wBAAwB,MAAM,CAAC,EAAE;AAAA,EACzF;AAKD;","names":[]}
1
+ {"version":3,"sources":["../../src/pg-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { type Query, type SQL, sql } from '~/sql/index.ts';\nimport { tracer } from '~/tracing.ts';\nimport { PgDatabase } from './db.ts';\nimport type { PgDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\texecute: unknown;\n\tall: unknown;\n\tvalues: unknown;\n}\n\nexport abstract class PgPreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {\n\tconstructor(protected query: Query) {}\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tmapResult(response: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn response;\n\t}\n\n\tstatic readonly [entityKind]: string = 'PgPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\t/** @internal */\n\tabstract all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport interface PgTransactionConfig {\n\tisolationLevel?: 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable';\n\taccessMode?: 'read only' | 'read write';\n\tdeferrable?: boolean;\n}\n\nexport abstract class PgSession<\n\tTQueryResult extends PgQueryResultHKT = PgQueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'PgSession';\n\n\tconstructor(protected dialect: PgDialect) {}\n\n\tabstract prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => T['execute'],\n\t): PgPreparedQuery<T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\tconst prepared = tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\t\treturn this.prepareQuery<PreparedQueryConfig & { execute: T }>(\n\t\t\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn prepared.execute();\n\t\t});\n\t}\n\n\tall<T = unknown>(query: SQL): Promise<T[]> {\n\t\treturn this.prepareQuery<PreparedQueryConfig & { all: T[] }>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfalse,\n\t\t).all();\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: PgTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig,\n\t): Promise<T>;\n}\n\nexport abstract class PgTransaction<\n\tTQueryResult extends PgQueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends PgDatabase<TQueryResult, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'PgTransaction';\n\n\tconstructor(\n\t\tdialect: PgDialect,\n\t\tsession: PgSession<any, any, any>,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record<string, unknown>;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record<string, string>;\n\t\t} | undefined,\n\t\tprotected readonly nestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, schema);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\t/** @internal */\n\tgetTransactionConfigSQL(config: PgTransactionConfig): SQL {\n\t\tconst chunks: string[] = [];\n\t\tif (config.isolationLevel) {\n\t\t\tchunks.push(`isolation level ${config.isolationLevel}`);\n\t\t}\n\t\tif (config.accessMode) {\n\t\t\tchunks.push(config.accessMode);\n\t\t}\n\t\tif (typeof config.deferrable === 'boolean') {\n\t\t\tchunks.push(config.deferrable ? 'deferrable' : 'not deferrable');\n\t\t}\n\t\treturn sql.raw(chunks.join(' '));\n\t}\n\n\tsetTransaction(config: PgTransactionConfig): Promise<void> {\n\t\treturn this.session.execute(sql`set transaction ${this.getTransactionConfigSQL(config)}`);\n\t}\n\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: PgTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface PgQueryResultHKT {\n\treadonly $brand: 'PgQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport type PgQueryResultKind<TKind extends PgQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,oBAAyC;AAGzC,iBAA0C;AAC1C,qBAAuB;AACvB,gBAA2B;AAUpB,MAAe,gBAAwE;AAAA,EAC7F,YAAsB,OAAc;AAAd;AAAA,EAAe;AAAA,EAErC,WAAkB;AACjB,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,UAAU,UAAmB,cAAiC;AAC7D,WAAO;AAAA,EACR;AAAA,EAEA,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AASD;AAQO,MAAe,UAIpB;AAAA,EAGD,YAAsB,SAAoB;AAApB;AAAA,EAAqB;AAAA,EAF3C,QAAiB,wBAAU,IAAY;AAAA,EAYvC,QAAW,OAAwB;AAClC,WAAO,sBAAO,gBAAgB,qBAAqB,MAAM;AACxD,YAAM,WAAW,sBAAO,gBAAgB,wBAAwB,MAAM;AACrE,eAAO,KAAK;AAAA,UACX,KAAK,QAAQ,WAAW,KAAK;AAAA,UAC7B;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD,CAAC;AAED,aAAO,SAAS,QAAQ;AAAA,IACzB,CAAC;AAAA,EACF;AAAA,EAEA,IAAiB,OAA0B;AAC1C,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,IACD,EAAE,IAAI;AAAA,EACP;AAMD;AAEO,MAAe,sBAIZ,qBAA+C;AAAA,EAGxD,YACC,SACA,SACU,QAKS,cAAc,GAChC;AACD,UAAM,SAAS,SAAS,MAAM;AAPpB;AAKS;AAAA,EAGpB;AAAA,EAbA,QAAiB,wBAAU,IAAY;AAAA,EAevC,WAAkB;AACjB,UAAM,IAAI,uCAAyB;AAAA,EACpC;AAAA;AAAA,EAGA,wBAAwB,QAAkC;AACzD,UAAM,SAAmB,CAAC;AAC1B,QAAI,OAAO,gBAAgB;AAC1B,aAAO,KAAK,mBAAmB,OAAO,cAAc,EAAE;AAAA,IACvD;AACA,QAAI,OAAO,YAAY;AACtB,aAAO,KAAK,OAAO,UAAU;AAAA,IAC9B;AACA,QAAI,OAAO,OAAO,eAAe,WAAW;AAC3C,aAAO,KAAK,OAAO,aAAa,eAAe,gBAAgB;AAAA,IAChE;AACA,WAAO,eAAI,IAAI,OAAO,KAAK,GAAG,CAAC;AAAA,EAChC;AAAA,EAEA,eAAe,QAA4C;AAC1D,WAAO,KAAK,QAAQ,QAAQ,iCAAsB,KAAK,wBAAwB,MAAM,CAAC,EAAE;AAAA,EACzF;AAKD;","names":[]}
@@ -23,7 +23,7 @@ export interface PgTransactionConfig {
23
23
  accessMode?: 'read only' | 'read write';
24
24
  deferrable?: boolean;
25
25
  }
26
- export declare abstract class PgSession<TQueryResult extends QueryResultHKT = QueryResultHKT, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> {
26
+ export declare abstract class PgSession<TQueryResult extends PgQueryResultHKT = PgQueryResultHKT, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> {
27
27
  protected dialect: PgDialect;
28
28
  static readonly [entityKind]: string;
29
29
  constructor(dialect: PgDialect);
@@ -32,7 +32,7 @@ export declare abstract class PgSession<TQueryResult extends QueryResultHKT = Qu
32
32
  all<T = unknown>(query: SQL): Promise<T[]>;
33
33
  abstract transaction<T>(transaction: (tx: PgTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>, config?: PgTransactionConfig): Promise<T>;
34
34
  }
35
- export declare abstract class PgTransaction<TQueryResult extends QueryResultHKT, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> extends PgDatabase<TQueryResult, TFullSchema, TSchema> {
35
+ export declare abstract class PgTransaction<TQueryResult extends PgQueryResultHKT, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> extends PgDatabase<TQueryResult, TFullSchema, TSchema> {
36
36
  protected schema: {
37
37
  fullSchema: Record<string, unknown>;
38
38
  schema: TSchema;
@@ -49,11 +49,11 @@ export declare abstract class PgTransaction<TQueryResult extends QueryResultHKT,
49
49
  setTransaction(config: PgTransactionConfig): Promise<void>;
50
50
  abstract transaction<T>(transaction: (tx: PgTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>): Promise<T>;
51
51
  }
52
- export interface QueryResultHKT {
53
- readonly $brand: 'QueryRowHKT';
52
+ export interface PgQueryResultHKT {
53
+ readonly $brand: 'PgQueryResultHKT';
54
54
  readonly row: unknown;
55
55
  readonly type: unknown;
56
56
  }
57
- export type QueryResultKind<TKind extends QueryResultHKT, TRow> = (TKind & {
57
+ export type PgQueryResultKind<TKind extends PgQueryResultHKT, TRow> = (TKind & {
58
58
  readonly row: TRow;
59
59
  })['type'];
@@ -23,7 +23,7 @@ export interface PgTransactionConfig {
23
23
  accessMode?: 'read only' | 'read write';
24
24
  deferrable?: boolean;
25
25
  }
26
- export declare abstract class PgSession<TQueryResult extends QueryResultHKT = QueryResultHKT, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> {
26
+ export declare abstract class PgSession<TQueryResult extends PgQueryResultHKT = PgQueryResultHKT, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> {
27
27
  protected dialect: PgDialect;
28
28
  static readonly [entityKind]: string;
29
29
  constructor(dialect: PgDialect);
@@ -32,7 +32,7 @@ export declare abstract class PgSession<TQueryResult extends QueryResultHKT = Qu
32
32
  all<T = unknown>(query: SQL): Promise<T[]>;
33
33
  abstract transaction<T>(transaction: (tx: PgTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>, config?: PgTransactionConfig): Promise<T>;
34
34
  }
35
- export declare abstract class PgTransaction<TQueryResult extends QueryResultHKT, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> extends PgDatabase<TQueryResult, TFullSchema, TSchema> {
35
+ export declare abstract class PgTransaction<TQueryResult extends PgQueryResultHKT, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> extends PgDatabase<TQueryResult, TFullSchema, TSchema> {
36
36
  protected schema: {
37
37
  fullSchema: Record<string, unknown>;
38
38
  schema: TSchema;
@@ -49,11 +49,11 @@ export declare abstract class PgTransaction<TQueryResult extends QueryResultHKT,
49
49
  setTransaction(config: PgTransactionConfig): Promise<void>;
50
50
  abstract transaction<T>(transaction: (tx: PgTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>): Promise<T>;
51
51
  }
52
- export interface QueryResultHKT {
53
- readonly $brand: 'QueryRowHKT';
52
+ export interface PgQueryResultHKT {
53
+ readonly $brand: 'PgQueryResultHKT';
54
54
  readonly row: unknown;
55
55
  readonly type: unknown;
56
56
  }
57
- export type QueryResultKind<TKind extends QueryResultHKT, TRow> = (TKind & {
57
+ export type PgQueryResultKind<TKind extends PgQueryResultHKT, TRow> = (TKind & {
58
58
  readonly row: TRow;
59
59
  })['type'];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pg-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { type Query, type SQL, sql } from '~/sql/index.ts';\nimport { tracer } from '~/tracing.ts';\nimport { PgDatabase } from './db.ts';\nimport type { PgDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\texecute: unknown;\n\tall: unknown;\n\tvalues: unknown;\n}\n\nexport abstract class PgPreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {\n\tconstructor(protected query: Query) {}\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tmapResult(response: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn response;\n\t}\n\n\tstatic readonly [entityKind]: string = 'PgPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\t/** @internal */\n\tabstract all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport interface PgTransactionConfig {\n\tisolationLevel?: 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable';\n\taccessMode?: 'read only' | 'read write';\n\tdeferrable?: boolean;\n}\n\nexport abstract class PgSession<\n\tTQueryResult extends QueryResultHKT = QueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'PgSession';\n\n\tconstructor(protected dialect: PgDialect) {}\n\n\tabstract prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => T['execute'],\n\t): PgPreparedQuery<T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\tconst prepared = tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\t\treturn this.prepareQuery<PreparedQueryConfig & { execute: T }>(\n\t\t\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn prepared.execute();\n\t\t});\n\t}\n\n\tall<T = unknown>(query: SQL): Promise<T[]> {\n\t\treturn this.prepareQuery<PreparedQueryConfig & { all: T[] }>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfalse,\n\t\t).all();\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: PgTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig,\n\t): Promise<T>;\n}\n\nexport abstract class PgTransaction<\n\tTQueryResult extends QueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends PgDatabase<TQueryResult, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'PgTransaction';\n\n\tconstructor(\n\t\tdialect: PgDialect,\n\t\tsession: PgSession<any, any, any>,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record<string, unknown>;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record<string, string>;\n\t\t} | undefined,\n\t\tprotected readonly nestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, schema);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\t/** @internal */\n\tgetTransactionConfigSQL(config: PgTransactionConfig): SQL {\n\t\tconst chunks: string[] = [];\n\t\tif (config.isolationLevel) {\n\t\t\tchunks.push(`isolation level ${config.isolationLevel}`);\n\t\t}\n\t\tif (config.accessMode) {\n\t\t\tchunks.push(config.accessMode);\n\t\t}\n\t\tif (typeof config.deferrable === 'boolean') {\n\t\t\tchunks.push(config.deferrable ? 'deferrable' : 'not deferrable');\n\t\t}\n\t\treturn sql.raw(chunks.join(' '));\n\t}\n\n\tsetTransaction(config: PgTransactionConfig): Promise<void> {\n\t\treturn this.session.execute(sql`set transaction ${this.getTransactionConfigSQL(config)}`);\n\t}\n\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: PgTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface QueryResultHKT {\n\treadonly $brand: 'QueryRowHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport type QueryResultKind<TKind extends QueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,gCAAgC;AAGzC,SAA+B,WAAW;AAC1C,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAUpB,MAAe,gBAAwE;AAAA,EAC7F,YAAsB,OAAc;AAAd;AAAA,EAAe;AAAA,EAErC,WAAkB;AACjB,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,UAAU,UAAmB,cAAiC;AAC7D,WAAO;AAAA,EACR;AAAA,EAEA,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AASD;AAQO,MAAe,UAIpB;AAAA,EAGD,YAAsB,SAAoB;AAApB;AAAA,EAAqB;AAAA,EAF3C,QAAiB,UAAU,IAAY;AAAA,EAYvC,QAAW,OAAwB;AAClC,WAAO,OAAO,gBAAgB,qBAAqB,MAAM;AACxD,YAAM,WAAW,OAAO,gBAAgB,wBAAwB,MAAM;AACrE,eAAO,KAAK;AAAA,UACX,KAAK,QAAQ,WAAW,KAAK;AAAA,UAC7B;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD,CAAC;AAED,aAAO,SAAS,QAAQ;AAAA,IACzB,CAAC;AAAA,EACF;AAAA,EAEA,IAAiB,OAA0B;AAC1C,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,IACD,EAAE,IAAI;AAAA,EACP;AAMD;AAEO,MAAe,sBAIZ,WAA+C;AAAA,EAGxD,YACC,SACA,SACU,QAKS,cAAc,GAChC;AACD,UAAM,SAAS,SAAS,MAAM;AAPpB;AAKS;AAAA,EAGpB;AAAA,EAbA,QAAiB,UAAU,IAAY;AAAA,EAevC,WAAkB;AACjB,UAAM,IAAI,yBAAyB;AAAA,EACpC;AAAA;AAAA,EAGA,wBAAwB,QAAkC;AACzD,UAAM,SAAmB,CAAC;AAC1B,QAAI,OAAO,gBAAgB;AAC1B,aAAO,KAAK,mBAAmB,OAAO,cAAc,EAAE;AAAA,IACvD;AACA,QAAI,OAAO,YAAY;AACtB,aAAO,KAAK,OAAO,UAAU;AAAA,IAC9B;AACA,QAAI,OAAO,OAAO,eAAe,WAAW;AAC3C,aAAO,KAAK,OAAO,aAAa,eAAe,gBAAgB;AAAA,IAChE;AACA,WAAO,IAAI,IAAI,OAAO,KAAK,GAAG,CAAC;AAAA,EAChC;AAAA,EAEA,eAAe,QAA4C;AAC1D,WAAO,KAAK,QAAQ,QAAQ,sBAAsB,KAAK,wBAAwB,MAAM,CAAC,EAAE;AAAA,EACzF;AAKD;","names":[]}
1
+ {"version":3,"sources":["../../src/pg-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { type Query, type SQL, sql } from '~/sql/index.ts';\nimport { tracer } from '~/tracing.ts';\nimport { PgDatabase } from './db.ts';\nimport type { PgDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\texecute: unknown;\n\tall: unknown;\n\tvalues: unknown;\n}\n\nexport abstract class PgPreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {\n\tconstructor(protected query: Query) {}\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tmapResult(response: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn response;\n\t}\n\n\tstatic readonly [entityKind]: string = 'PgPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\t/** @internal */\n\tabstract all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport interface PgTransactionConfig {\n\tisolationLevel?: 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable';\n\taccessMode?: 'read only' | 'read write';\n\tdeferrable?: boolean;\n}\n\nexport abstract class PgSession<\n\tTQueryResult extends PgQueryResultHKT = PgQueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'PgSession';\n\n\tconstructor(protected dialect: PgDialect) {}\n\n\tabstract prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => T['execute'],\n\t): PgPreparedQuery<T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\tconst prepared = tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\t\treturn this.prepareQuery<PreparedQueryConfig & { execute: T }>(\n\t\t\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn prepared.execute();\n\t\t});\n\t}\n\n\tall<T = unknown>(query: SQL): Promise<T[]> {\n\t\treturn this.prepareQuery<PreparedQueryConfig & { all: T[] }>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfalse,\n\t\t).all();\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: PgTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig,\n\t): Promise<T>;\n}\n\nexport abstract class PgTransaction<\n\tTQueryResult extends PgQueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends PgDatabase<TQueryResult, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'PgTransaction';\n\n\tconstructor(\n\t\tdialect: PgDialect,\n\t\tsession: PgSession<any, any, any>,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record<string, unknown>;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record<string, string>;\n\t\t} | undefined,\n\t\tprotected readonly nestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, schema);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\t/** @internal */\n\tgetTransactionConfigSQL(config: PgTransactionConfig): SQL {\n\t\tconst chunks: string[] = [];\n\t\tif (config.isolationLevel) {\n\t\t\tchunks.push(`isolation level ${config.isolationLevel}`);\n\t\t}\n\t\tif (config.accessMode) {\n\t\t\tchunks.push(config.accessMode);\n\t\t}\n\t\tif (typeof config.deferrable === 'boolean') {\n\t\t\tchunks.push(config.deferrable ? 'deferrable' : 'not deferrable');\n\t\t}\n\t\treturn sql.raw(chunks.join(' '));\n\t}\n\n\tsetTransaction(config: PgTransactionConfig): Promise<void> {\n\t\treturn this.session.execute(sql`set transaction ${this.getTransactionConfigSQL(config)}`);\n\t}\n\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: PgTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface PgQueryResultHKT {\n\treadonly $brand: 'PgQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport type PgQueryResultKind<TKind extends PgQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,gCAAgC;AAGzC,SAA+B,WAAW;AAC1C,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAUpB,MAAe,gBAAwE;AAAA,EAC7F,YAAsB,OAAc;AAAd;AAAA,EAAe;AAAA,EAErC,WAAkB;AACjB,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,UAAU,UAAmB,cAAiC;AAC7D,WAAO;AAAA,EACR;AAAA,EAEA,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AASD;AAQO,MAAe,UAIpB;AAAA,EAGD,YAAsB,SAAoB;AAApB;AAAA,EAAqB;AAAA,EAF3C,QAAiB,UAAU,IAAY;AAAA,EAYvC,QAAW,OAAwB;AAClC,WAAO,OAAO,gBAAgB,qBAAqB,MAAM;AACxD,YAAM,WAAW,OAAO,gBAAgB,wBAAwB,MAAM;AACrE,eAAO,KAAK;AAAA,UACX,KAAK,QAAQ,WAAW,KAAK;AAAA,UAC7B;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD,CAAC;AAED,aAAO,SAAS,QAAQ;AAAA,IACzB,CAAC;AAAA,EACF;AAAA,EAEA,IAAiB,OAA0B;AAC1C,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,IACD,EAAE,IAAI;AAAA,EACP;AAMD;AAEO,MAAe,sBAIZ,WAA+C;AAAA,EAGxD,YACC,SACA,SACU,QAKS,cAAc,GAChC;AACD,UAAM,SAAS,SAAS,MAAM;AAPpB;AAKS;AAAA,EAGpB;AAAA,EAbA,QAAiB,UAAU,IAAY;AAAA,EAevC,WAAkB;AACjB,UAAM,IAAI,yBAAyB;AAAA,EACpC;AAAA;AAAA,EAGA,wBAAwB,QAAkC;AACzD,UAAM,SAAmB,CAAC;AAC1B,QAAI,OAAO,gBAAgB;AAC1B,aAAO,KAAK,mBAAmB,OAAO,cAAc,EAAE;AAAA,IACvD;AACA,QAAI,OAAO,YAAY;AACtB,aAAO,KAAK,OAAO,UAAU;AAAA,IAC9B;AACA,QAAI,OAAO,OAAO,eAAe,WAAW;AAC3C,aAAO,KAAK,OAAO,aAAa,eAAe,gBAAgB;AAAA,IAChE;AACA,WAAO,IAAI,IAAI,OAAO,KAAK,GAAG,CAAC;AAAA,EAChC;AAAA,EAEA,eAAe,QAA4C;AAC1D,WAAO,KAAK,QAAQ,QAAQ,sBAAsB,KAAK,wBAAwB,MAAM,CAAC,EAAE;AAAA,EACzF;AAKD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pg-proxy/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgTransaction } from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { PgTransactionConfig, PreparedQueryConfig, QueryResultHKT } from '~/pg-core/session.ts';\nimport { PgPreparedQuery as PreparedQueryBase, PgSession } from '~/pg-core/session.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport type { QueryWithTypings } from '~/sql/sql.ts';\nimport { fillPlaceholders } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\nimport type { RemoteCallback } from './driver.ts';\n\nexport interface PgRemoteSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class PgRemoteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<PgRemoteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'PgRemoteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: RemoteCallback,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: PgRemoteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig>(\n\t\tquery: QueryWithTypings,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PreparedQuery<T> {\n\t\treturn new PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tquery.typings,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: PgProxyTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\t_config?: PgTransactionConfig,\n\t): Promise<T> {\n\t\tthrow new Error('Transactions are not supported by the Postgres Proxy driver');\n\t}\n}\n\nexport class PgProxyTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<PgRemoteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'PgProxyTransaction';\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: PgProxyTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tthrow new Error('Transactions are not supported by the Postgres Proxy driver');\n\t}\n}\n\nexport class PreparedQuery<T extends PreparedQueryConfig> extends PreparedQueryBase<T> {\n\tstatic readonly [entityKind]: string = 'PgProxyPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: RemoteCallback,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate typings: any[] | undefined,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params });\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', async (span) => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\t\tconst { fields, client, queryString, joinsNotNullableMap, customResultMapper, logger, typings } = this;\n\n\t\t\tspan?.setAttributes({\n\t\t\t\t'drizzle.query.text': queryString,\n\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t});\n\n\t\t\tlogger.logQuery(queryString, params);\n\n\t\t\tif (!fields && !customResultMapper) {\n\t\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', async () => {\n\t\t\t\t\tconst { rows } = await client(queryString, params as any[], 'execute', typings);\n\n\t\t\t\t\treturn rows;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst rows = await tracer.startActiveSpan('drizzle.driver.execute', async () => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': queryString,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\n\t\t\t\tconst { rows } = await client(queryString, params as any[], 'all', typings);\n\n\t\t\t\treturn rows;\n\t\t\t});\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn customResultMapper\n\t\t\t\t\t? customResultMapper(rows)\n\t\t\t\t\t: rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t\t\t});\n\t\t});\n\t}\n\n\tasync all() {}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface PgRemoteQueryResultHKT extends QueryResultHKT {\n\ttype: Assume<this['row'], {\n\t\t[column: string]: any;\n\t}>[];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAE3B,oBAA2B;AAE3B,qBAA8B;AAG9B,qBAAgE;AAGhE,iBAAiC;AACjC,qBAAuB;AACvB,mBAA0C;AAOnC,MAAM,wBAGH,yBAAwD;AAAA,EAKjE,YACS,QACR,SACQ,QACR,UAAkC,CAAC,GAClC;AACD,UAAM,OAAO;AALL;AAEA;AAIR,SAAK,SAAS,QAAQ,UAAU,IAAI,yBAAW;AAAA,EAChD;AAAA,EAZA,QAAiB,wBAAU,IAAY;AAAA,EAE/B;AAAA,EAYR,aACC,OACA,QACA,MACA,uBACA,oBACmB;AACnB,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAe,YACd,cACA,SACa;AACb,UAAM,IAAI,MAAM,6DAA6D;AAAA,EAC9E;AACD;AAEO,MAAM,2BAGH,6BAA4D;AAAA,EACrE,QAAiB,wBAAU,IAAY;AAAA,EAEvC,MAAe,YACd,cACa;AACb,UAAM,IAAI,MAAM,6DAA6D;AAAA,EAC9E;AACD;AAEO,MAAM,sBAAqD,eAAAA,gBAAqB;AAAA,EAGtF,YACS,QACA,aACA,QACA,SACA,QACA,QACA,wBACA,oBACP;AACD,UAAM,EAAE,KAAK,aAAa,OAAO,CAAC;AAT1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,EAGT;AAAA,EAbA,QAAiB,wBAAU,IAAY;AAAA,EAevC,MAAM,QAAQ,oBAAyD,CAAC,GAA0B;AACjG,WAAO,sBAAO,gBAAgB,mBAAmB,OAAO,SAAS;AAChE,YAAM,aAAS,6BAAiB,KAAK,QAAQ,iBAAiB;AAC9D,YAAM,EAAE,QAAQ,QAAQ,aAAa,qBAAqB,oBAAoB,QAAQ,QAAQ,IAAI;AAElG,YAAM,cAAc;AAAA,QACnB,sBAAsB;AAAA,QACtB,wBAAwB,KAAK,UAAU,MAAM;AAAA,MAC9C,CAAC;AAED,aAAO,SAAS,aAAa,MAAM;AAEnC,UAAI,CAAC,UAAU,CAAC,oBAAoB;AACnC,eAAO,sBAAO,gBAAgB,0BAA0B,YAAY;AACnE,gBAAM,EAAE,MAAAC,MAAK,IAAI,MAAM,OAAO,aAAa,QAAiB,WAAW,OAAO;AAE9E,iBAAOA;AAAA,QACR,CAAC;AAAA,MACF;AAEA,YAAM,OAAO,MAAM,sBAAO,gBAAgB,0BAA0B,YAAY;AAC/E,cAAM,cAAc;AAAA,UACnB,sBAAsB;AAAA,UACtB,wBAAwB,KAAK,UAAU,MAAM;AAAA,QAC9C,CAAC;AAED,cAAM,EAAE,MAAAA,MAAK,IAAI,MAAM,OAAO,aAAa,QAAiB,OAAO,OAAO;AAE1E,eAAOA;AAAA,MACR,CAAC;AAED,aAAO,sBAAO,gBAAgB,uBAAuB,MAAM;AAC1D,eAAO,qBACJ,mBAAmB,IAAI,IACvB,KAAK,IAAI,CAAC,YAAQ,2BAA2B,QAAS,KAAK,mBAAmB,CAAC;AAAA,MACnF,CAAC;AAAA,IACF,CAAC;AAAA,EACF;AAAA,EAEA,MAAM,MAAM;AAAA,EAAC;AAAA;AAAA,EAGb,wBAAiC;AAChC,WAAO,KAAK;AAAA,EACb;AACD;","names":["PreparedQueryBase","rows"]}
1
+ {"version":3,"sources":["../../src/pg-proxy/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgTransaction } from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport { PgPreparedQuery as PreparedQueryBase, PgSession } from '~/pg-core/session.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport type { QueryWithTypings } from '~/sql/sql.ts';\nimport { fillPlaceholders } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\nimport type { RemoteCallback } from './driver.ts';\n\nexport interface PgRemoteSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class PgRemoteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<PgRemoteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'PgRemoteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: RemoteCallback,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: PgRemoteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig>(\n\t\tquery: QueryWithTypings,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PreparedQuery<T> {\n\t\treturn new PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tquery.typings,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: PgProxyTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\t_config?: PgTransactionConfig,\n\t): Promise<T> {\n\t\tthrow new Error('Transactions are not supported by the Postgres Proxy driver');\n\t}\n}\n\nexport class PgProxyTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<PgRemoteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'PgProxyTransaction';\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: PgProxyTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tthrow new Error('Transactions are not supported by the Postgres Proxy driver');\n\t}\n}\n\nexport class PreparedQuery<T extends PreparedQueryConfig> extends PreparedQueryBase<T> {\n\tstatic readonly [entityKind]: string = 'PgProxyPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: RemoteCallback,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate typings: any[] | undefined,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params });\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', async (span) => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\t\tconst { fields, client, queryString, joinsNotNullableMap, customResultMapper, logger, typings } = this;\n\n\t\t\tspan?.setAttributes({\n\t\t\t\t'drizzle.query.text': queryString,\n\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t});\n\n\t\t\tlogger.logQuery(queryString, params);\n\n\t\t\tif (!fields && !customResultMapper) {\n\t\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', async () => {\n\t\t\t\t\tconst { rows } = await client(queryString, params as any[], 'execute', typings);\n\n\t\t\t\t\treturn rows;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst rows = await tracer.startActiveSpan('drizzle.driver.execute', async () => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': queryString,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\n\t\t\t\tconst { rows } = await client(queryString, params as any[], 'all', typings);\n\n\t\t\t\treturn rows;\n\t\t\t});\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn customResultMapper\n\t\t\t\t\t? customResultMapper(rows)\n\t\t\t\t\t: rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t\t\t});\n\t\t});\n\t}\n\n\tasync all() {}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface PgRemoteQueryResultHKT extends PgQueryResultHKT {\n\ttype: Assume<this['row'], {\n\t\t[column: string]: any;\n\t}>[];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAE3B,oBAA2B;AAE3B,qBAA8B;AAG9B,qBAAgE;AAGhE,iBAAiC;AACjC,qBAAuB;AACvB,mBAA0C;AAOnC,MAAM,wBAGH,yBAAwD;AAAA,EAKjE,YACS,QACR,SACQ,QACR,UAAkC,CAAC,GAClC;AACD,UAAM,OAAO;AALL;AAEA;AAIR,SAAK,SAAS,QAAQ,UAAU,IAAI,yBAAW;AAAA,EAChD;AAAA,EAZA,QAAiB,wBAAU,IAAY;AAAA,EAE/B;AAAA,EAYR,aACC,OACA,QACA,MACA,uBACA,oBACmB;AACnB,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAe,YACd,cACA,SACa;AACb,UAAM,IAAI,MAAM,6DAA6D;AAAA,EAC9E;AACD;AAEO,MAAM,2BAGH,6BAA4D;AAAA,EACrE,QAAiB,wBAAU,IAAY;AAAA,EAEvC,MAAe,YACd,cACa;AACb,UAAM,IAAI,MAAM,6DAA6D;AAAA,EAC9E;AACD;AAEO,MAAM,sBAAqD,eAAAA,gBAAqB;AAAA,EAGtF,YACS,QACA,aACA,QACA,SACA,QACA,QACA,wBACA,oBACP;AACD,UAAM,EAAE,KAAK,aAAa,OAAO,CAAC;AAT1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,EAGT;AAAA,EAbA,QAAiB,wBAAU,IAAY;AAAA,EAevC,MAAM,QAAQ,oBAAyD,CAAC,GAA0B;AACjG,WAAO,sBAAO,gBAAgB,mBAAmB,OAAO,SAAS;AAChE,YAAM,aAAS,6BAAiB,KAAK,QAAQ,iBAAiB;AAC9D,YAAM,EAAE,QAAQ,QAAQ,aAAa,qBAAqB,oBAAoB,QAAQ,QAAQ,IAAI;AAElG,YAAM,cAAc;AAAA,QACnB,sBAAsB;AAAA,QACtB,wBAAwB,KAAK,UAAU,MAAM;AAAA,MAC9C,CAAC;AAED,aAAO,SAAS,aAAa,MAAM;AAEnC,UAAI,CAAC,UAAU,CAAC,oBAAoB;AACnC,eAAO,sBAAO,gBAAgB,0BAA0B,YAAY;AACnE,gBAAM,EAAE,MAAAC,MAAK,IAAI,MAAM,OAAO,aAAa,QAAiB,WAAW,OAAO;AAE9E,iBAAOA;AAAA,QACR,CAAC;AAAA,MACF;AAEA,YAAM,OAAO,MAAM,sBAAO,gBAAgB,0BAA0B,YAAY;AAC/E,cAAM,cAAc;AAAA,UACnB,sBAAsB;AAAA,UACtB,wBAAwB,KAAK,UAAU,MAAM;AAAA,QAC9C,CAAC;AAED,cAAM,EAAE,MAAAA,MAAK,IAAI,MAAM,OAAO,aAAa,QAAiB,OAAO,OAAO;AAE1E,eAAOA;AAAA,MACR,CAAC;AAED,aAAO,sBAAO,gBAAgB,uBAAuB,MAAM;AAC1D,eAAO,qBACJ,mBAAmB,IAAI,IACvB,KAAK,IAAI,CAAC,YAAQ,2BAA2B,QAAS,KAAK,mBAAmB,CAAC;AAAA,MACnF,CAAC;AAAA,IACF,CAAC;AAAA,EACF;AAAA,EAEA,MAAM,MAAM;AAAA,EAAC;AAAA;AAAA,EAGb,wBAAiC;AAChC,WAAO,KAAK;AAAA,EACb;AACD;","names":["PreparedQueryBase","rows"]}
@@ -3,7 +3,7 @@ import type { Logger } from "../logger.cjs";
3
3
  import type { PgDialect } from "../pg-core/dialect.cjs";
4
4
  import { PgTransaction } from "../pg-core/index.cjs";
5
5
  import type { SelectedFieldsOrdered } from "../pg-core/query-builders/select.types.cjs";
6
- import type { PgTransactionConfig, PreparedQueryConfig, QueryResultHKT } from "../pg-core/session.cjs";
6
+ import type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from "../pg-core/session.cjs";
7
7
  import { PgPreparedQuery as PreparedQueryBase, PgSession } from "../pg-core/session.cjs";
8
8
  import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.cjs";
9
9
  import type { QueryWithTypings } from "../sql/sql.cjs";
@@ -39,7 +39,7 @@ export declare class PreparedQuery<T extends PreparedQueryConfig> extends Prepar
39
39
  execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
40
40
  all(): Promise<void>;
41
41
  }
42
- export interface PgRemoteQueryResultHKT extends QueryResultHKT {
42
+ export interface PgRemoteQueryResultHKT extends PgQueryResultHKT {
43
43
  type: Assume<this['row'], {
44
44
  [column: string]: any;
45
45
  }>[];
@@ -3,7 +3,7 @@ import type { Logger } from "../logger.js";
3
3
  import type { PgDialect } from "../pg-core/dialect.js";
4
4
  import { PgTransaction } from "../pg-core/index.js";
5
5
  import type { SelectedFieldsOrdered } from "../pg-core/query-builders/select.types.js";
6
- import type { PgTransactionConfig, PreparedQueryConfig, QueryResultHKT } from "../pg-core/session.js";
6
+ import type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from "../pg-core/session.js";
7
7
  import { PgPreparedQuery as PreparedQueryBase, PgSession } from "../pg-core/session.js";
8
8
  import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.js";
9
9
  import type { QueryWithTypings } from "../sql/sql.js";
@@ -39,7 +39,7 @@ export declare class PreparedQuery<T extends PreparedQueryConfig> extends Prepar
39
39
  execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
40
40
  all(): Promise<void>;
41
41
  }
42
- export interface PgRemoteQueryResultHKT extends QueryResultHKT {
42
+ export interface PgRemoteQueryResultHKT extends PgQueryResultHKT {
43
43
  type: Assume<this['row'], {
44
44
  [column: string]: any;
45
45
  }>[];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pg-proxy/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgTransaction } from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { PgTransactionConfig, PreparedQueryConfig, QueryResultHKT } from '~/pg-core/session.ts';\nimport { PgPreparedQuery as PreparedQueryBase, PgSession } from '~/pg-core/session.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport type { QueryWithTypings } from '~/sql/sql.ts';\nimport { fillPlaceholders } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\nimport type { RemoteCallback } from './driver.ts';\n\nexport interface PgRemoteSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class PgRemoteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<PgRemoteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'PgRemoteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: RemoteCallback,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: PgRemoteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig>(\n\t\tquery: QueryWithTypings,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PreparedQuery<T> {\n\t\treturn new PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tquery.typings,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: PgProxyTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\t_config?: PgTransactionConfig,\n\t): Promise<T> {\n\t\tthrow new Error('Transactions are not supported by the Postgres Proxy driver');\n\t}\n}\n\nexport class PgProxyTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<PgRemoteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'PgProxyTransaction';\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: PgProxyTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tthrow new Error('Transactions are not supported by the Postgres Proxy driver');\n\t}\n}\n\nexport class PreparedQuery<T extends PreparedQueryConfig> extends PreparedQueryBase<T> {\n\tstatic readonly [entityKind]: string = 'PgProxyPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: RemoteCallback,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate typings: any[] | undefined,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params });\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', async (span) => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\t\tconst { fields, client, queryString, joinsNotNullableMap, customResultMapper, logger, typings } = this;\n\n\t\t\tspan?.setAttributes({\n\t\t\t\t'drizzle.query.text': queryString,\n\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t});\n\n\t\t\tlogger.logQuery(queryString, params);\n\n\t\t\tif (!fields && !customResultMapper) {\n\t\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', async () => {\n\t\t\t\t\tconst { rows } = await client(queryString, params as any[], 'execute', typings);\n\n\t\t\t\t\treturn rows;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst rows = await tracer.startActiveSpan('drizzle.driver.execute', async () => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': queryString,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\n\t\t\t\tconst { rows } = await client(queryString, params as any[], 'all', typings);\n\n\t\t\t\treturn rows;\n\t\t\t});\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn customResultMapper\n\t\t\t\t\t? customResultMapper(rows)\n\t\t\t\t\t: rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t\t\t});\n\t\t});\n\t}\n\n\tasync all() {}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface PgRemoteQueryResultHKT extends QueryResultHKT {\n\ttype: Assume<this['row'], {\n\t\t[column: string]: any;\n\t}>[];\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAE3B,SAAS,kBAAkB;AAE3B,SAAS,qBAAqB;AAG9B,SAAS,mBAAmB,mBAAmB,iBAAiB;AAGhE,SAAS,wBAAwB;AACjC,SAAS,cAAc;AACvB,SAAsB,oBAAoB;AAOnC,MAAM,wBAGH,UAAwD;AAAA,EAKjE,YACS,QACR,SACQ,QACR,UAAkC,CAAC,GAClC;AACD,UAAM,OAAO;AALL;AAEA;AAIR,SAAK,SAAS,QAAQ,UAAU,IAAI,WAAW;AAAA,EAChD;AAAA,EAZA,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA,EAYR,aACC,OACA,QACA,MACA,uBACA,oBACmB;AACnB,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAe,YACd,cACA,SACa;AACb,UAAM,IAAI,MAAM,6DAA6D;AAAA,EAC9E;AACD;AAEO,MAAM,2BAGH,cAA4D;AAAA,EACrE,QAAiB,UAAU,IAAY;AAAA,EAEvC,MAAe,YACd,cACa;AACb,UAAM,IAAI,MAAM,6DAA6D;AAAA,EAC9E;AACD;AAEO,MAAM,sBAAqD,kBAAqB;AAAA,EAGtF,YACS,QACA,aACA,QACA,SACA,QACA,QACA,wBACA,oBACP;AACD,UAAM,EAAE,KAAK,aAAa,OAAO,CAAC;AAT1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,EAGT;AAAA,EAbA,QAAiB,UAAU,IAAY;AAAA,EAevC,MAAM,QAAQ,oBAAyD,CAAC,GAA0B;AACjG,WAAO,OAAO,gBAAgB,mBAAmB,OAAO,SAAS;AAChE,YAAM,SAAS,iBAAiB,KAAK,QAAQ,iBAAiB;AAC9D,YAAM,EAAE,QAAQ,QAAQ,aAAa,qBAAqB,oBAAoB,QAAQ,QAAQ,IAAI;AAElG,YAAM,cAAc;AAAA,QACnB,sBAAsB;AAAA,QACtB,wBAAwB,KAAK,UAAU,MAAM;AAAA,MAC9C,CAAC;AAED,aAAO,SAAS,aAAa,MAAM;AAEnC,UAAI,CAAC,UAAU,CAAC,oBAAoB;AACnC,eAAO,OAAO,gBAAgB,0BAA0B,YAAY;AACnE,gBAAM,EAAE,MAAAA,MAAK,IAAI,MAAM,OAAO,aAAa,QAAiB,WAAW,OAAO;AAE9E,iBAAOA;AAAA,QACR,CAAC;AAAA,MACF;AAEA,YAAM,OAAO,MAAM,OAAO,gBAAgB,0BAA0B,YAAY;AAC/E,cAAM,cAAc;AAAA,UACnB,sBAAsB;AAAA,UACtB,wBAAwB,KAAK,UAAU,MAAM;AAAA,QAC9C,CAAC;AAED,cAAM,EAAE,MAAAA,MAAK,IAAI,MAAM,OAAO,aAAa,QAAiB,OAAO,OAAO;AAE1E,eAAOA;AAAA,MACR,CAAC;AAED,aAAO,OAAO,gBAAgB,uBAAuB,MAAM;AAC1D,eAAO,qBACJ,mBAAmB,IAAI,IACvB,KAAK,IAAI,CAAC,QAAQ,aAA2B,QAAS,KAAK,mBAAmB,CAAC;AAAA,MACnF,CAAC;AAAA,IACF,CAAC;AAAA,EACF;AAAA,EAEA,MAAM,MAAM;AAAA,EAAC;AAAA;AAAA,EAGb,wBAAiC;AAChC,WAAO,KAAK;AAAA,EACb;AACD;","names":["rows"]}
1
+ {"version":3,"sources":["../../src/pg-proxy/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgTransaction } from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport { PgPreparedQuery as PreparedQueryBase, PgSession } from '~/pg-core/session.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport type { QueryWithTypings } from '~/sql/sql.ts';\nimport { fillPlaceholders } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\nimport type { RemoteCallback } from './driver.ts';\n\nexport interface PgRemoteSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class PgRemoteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<PgRemoteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'PgRemoteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: RemoteCallback,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: PgRemoteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig>(\n\t\tquery: QueryWithTypings,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PreparedQuery<T> {\n\t\treturn new PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tquery.typings,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: PgProxyTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\t_config?: PgTransactionConfig,\n\t): Promise<T> {\n\t\tthrow new Error('Transactions are not supported by the Postgres Proxy driver');\n\t}\n}\n\nexport class PgProxyTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<PgRemoteQueryResultHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'PgProxyTransaction';\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: PgProxyTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tthrow new Error('Transactions are not supported by the Postgres Proxy driver');\n\t}\n}\n\nexport class PreparedQuery<T extends PreparedQueryConfig> extends PreparedQueryBase<T> {\n\tstatic readonly [entityKind]: string = 'PgProxyPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: RemoteCallback,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate typings: any[] | undefined,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params });\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', async (span) => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\t\tconst { fields, client, queryString, joinsNotNullableMap, customResultMapper, logger, typings } = this;\n\n\t\t\tspan?.setAttributes({\n\t\t\t\t'drizzle.query.text': queryString,\n\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t});\n\n\t\t\tlogger.logQuery(queryString, params);\n\n\t\t\tif (!fields && !customResultMapper) {\n\t\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', async () => {\n\t\t\t\t\tconst { rows } = await client(queryString, params as any[], 'execute', typings);\n\n\t\t\t\t\treturn rows;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst rows = await tracer.startActiveSpan('drizzle.driver.execute', async () => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': queryString,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\n\t\t\t\tconst { rows } = await client(queryString, params as any[], 'all', typings);\n\n\t\t\t\treturn rows;\n\t\t\t});\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn customResultMapper\n\t\t\t\t\t? customResultMapper(rows)\n\t\t\t\t\t: rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t\t\t});\n\t\t});\n\t}\n\n\tasync all() {}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface PgRemoteQueryResultHKT extends PgQueryResultHKT {\n\ttype: Assume<this['row'], {\n\t\t[column: string]: any;\n\t}>[];\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAE3B,SAAS,kBAAkB;AAE3B,SAAS,qBAAqB;AAG9B,SAAS,mBAAmB,mBAAmB,iBAAiB;AAGhE,SAAS,wBAAwB;AACjC,SAAS,cAAc;AACvB,SAAsB,oBAAoB;AAOnC,MAAM,wBAGH,UAAwD;AAAA,EAKjE,YACS,QACR,SACQ,QACR,UAAkC,CAAC,GAClC;AACD,UAAM,OAAO;AALL;AAEA;AAIR,SAAK,SAAS,QAAQ,UAAU,IAAI,WAAW;AAAA,EAChD;AAAA,EAZA,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA,EAYR,aACC,OACA,QACA,MACA,uBACA,oBACmB;AACnB,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAe,YACd,cACA,SACa;AACb,UAAM,IAAI,MAAM,6DAA6D;AAAA,EAC9E;AACD;AAEO,MAAM,2BAGH,cAA4D;AAAA,EACrE,QAAiB,UAAU,IAAY;AAAA,EAEvC,MAAe,YACd,cACa;AACb,UAAM,IAAI,MAAM,6DAA6D;AAAA,EAC9E;AACD;AAEO,MAAM,sBAAqD,kBAAqB;AAAA,EAGtF,YACS,QACA,aACA,QACA,SACA,QACA,QACA,wBACA,oBACP;AACD,UAAM,EAAE,KAAK,aAAa,OAAO,CAAC;AAT1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,EAGT;AAAA,EAbA,QAAiB,UAAU,IAAY;AAAA,EAevC,MAAM,QAAQ,oBAAyD,CAAC,GAA0B;AACjG,WAAO,OAAO,gBAAgB,mBAAmB,OAAO,SAAS;AAChE,YAAM,SAAS,iBAAiB,KAAK,QAAQ,iBAAiB;AAC9D,YAAM,EAAE,QAAQ,QAAQ,aAAa,qBAAqB,oBAAoB,QAAQ,QAAQ,IAAI;AAElG,YAAM,cAAc;AAAA,QACnB,sBAAsB;AAAA,QACtB,wBAAwB,KAAK,UAAU,MAAM;AAAA,MAC9C,CAAC;AAED,aAAO,SAAS,aAAa,MAAM;AAEnC,UAAI,CAAC,UAAU,CAAC,oBAAoB;AACnC,eAAO,OAAO,gBAAgB,0BAA0B,YAAY;AACnE,gBAAM,EAAE,MAAAA,MAAK,IAAI,MAAM,OAAO,aAAa,QAAiB,WAAW,OAAO;AAE9E,iBAAOA;AAAA,QACR,CAAC;AAAA,MACF;AAEA,YAAM,OAAO,MAAM,OAAO,gBAAgB,0BAA0B,YAAY;AAC/E,cAAM,cAAc;AAAA,UACnB,sBAAsB;AAAA,UACtB,wBAAwB,KAAK,UAAU,MAAM;AAAA,QAC9C,CAAC;AAED,cAAM,EAAE,MAAAA,MAAK,IAAI,MAAM,OAAO,aAAa,QAAiB,OAAO,OAAO;AAE1E,eAAOA;AAAA,MACR,CAAC;AAED,aAAO,OAAO,gBAAgB,uBAAuB,MAAM;AAC1D,eAAO,qBACJ,mBAAmB,IAAI,IACvB,KAAK,IAAI,CAAC,QAAQ,aAA2B,QAAS,KAAK,mBAAmB,CAAC;AAAA,MACnF,CAAC;AAAA,IACF,CAAC;AAAA,EACF;AAAA,EAEA,MAAM,MAAM;AAAA,EAAC;AAAA;AAAA,EAGb,wBAAiC;AAChC,WAAO,KAAK;AAAA,EACb;AACD;","names":["rows"]}