drizzle-kit 0.28.0-cc4f208 → 0.28.1-442f74d
Sign up to get free protection for your applications and to get access to all the features.
- package/api.js +1007 -709
- package/api.mjs +1007 -709
- package/bin.cjs +1 -1
- package/package.json +1 -1
package/api.js
CHANGED
@@ -21121,7 +21121,7 @@ var version;
|
|
21121
21121
|
var init_version = __esm({
|
21122
21122
|
"../drizzle-orm/dist/version.js"() {
|
21123
21123
|
"use strict";
|
21124
|
-
version = "0.36.
|
21124
|
+
version = "0.36.3";
|
21125
21125
|
}
|
21126
21126
|
});
|
21127
21127
|
|
@@ -22144,7 +22144,7 @@ function haveSameKeys(left, right) {
|
|
22144
22144
|
}
|
22145
22145
|
function mapUpdateSet(table4, values) {
|
22146
22146
|
const entries = Object.entries(values).filter(([, value]) => value !== void 0).map(([key, value]) => {
|
22147
|
-
if (is(value, SQL)) {
|
22147
|
+
if (is(value, SQL) || is(value, Column2)) {
|
22148
22148
|
return [key, value];
|
22149
22149
|
} else {
|
22150
22150
|
return [key, new Param(value, table4[Table2.Symbol.Columns][key])];
|
@@ -24583,9 +24583,10 @@ var init_delete = __esm({
|
|
24583
24583
|
constructor(table4, session, dialect4, withList) {
|
24584
24584
|
super();
|
24585
24585
|
__publicField(this, "config");
|
24586
|
+
__publicField(this, "authToken");
|
24586
24587
|
__publicField(this, "execute", (placeholderValues) => {
|
24587
24588
|
return tracer.startActiveSpan("drizzle.operation", () => {
|
24588
|
-
return this._prepare().execute(placeholderValues);
|
24589
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
24589
24590
|
});
|
24590
24591
|
});
|
24591
24592
|
this.session = session;
|
@@ -24646,167 +24647,16 @@ var init_delete = __esm({
|
|
24646
24647
|
prepare(name2) {
|
24647
24648
|
return this._prepare(name2);
|
24648
24649
|
}
|
24649
|
-
$dynamic() {
|
24650
|
-
return this;
|
24651
|
-
}
|
24652
|
-
};
|
24653
|
-
__publicField(PgDeleteBase, _a124, "PgDelete");
|
24654
|
-
}
|
24655
|
-
});
|
24656
|
-
|
24657
|
-
// ../drizzle-orm/dist/pg-core/query-builders/insert.js
|
24658
|
-
var _a125, PgInsertBuilder, _a126, _b98, PgInsertBase;
|
24659
|
-
var init_insert = __esm({
|
24660
|
-
"../drizzle-orm/dist/pg-core/query-builders/insert.js"() {
|
24661
|
-
"use strict";
|
24662
|
-
init_entity();
|
24663
|
-
init_query_promise();
|
24664
|
-
init_sql();
|
24665
|
-
init_table();
|
24666
|
-
init_tracing();
|
24667
|
-
init_utils2();
|
24668
|
-
_a125 = entityKind;
|
24669
|
-
PgInsertBuilder = class {
|
24670
|
-
constructor(table4, session, dialect4, withList) {
|
24671
|
-
this.table = table4;
|
24672
|
-
this.session = session;
|
24673
|
-
this.dialect = dialect4;
|
24674
|
-
this.withList = withList;
|
24675
|
-
}
|
24676
|
-
values(values) {
|
24677
|
-
values = Array.isArray(values) ? values : [values];
|
24678
|
-
if (values.length === 0) {
|
24679
|
-
throw new Error("values() must be called with at least one value");
|
24680
|
-
}
|
24681
|
-
const mappedValues = values.map((entry) => {
|
24682
|
-
const result = {};
|
24683
|
-
const cols = this.table[Table2.Symbol.Columns];
|
24684
|
-
for (const colKey of Object.keys(entry)) {
|
24685
|
-
const colValue = entry[colKey];
|
24686
|
-
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
24687
|
-
}
|
24688
|
-
return result;
|
24689
|
-
});
|
24690
|
-
return new PgInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
24691
|
-
}
|
24692
|
-
};
|
24693
|
-
__publicField(PgInsertBuilder, _a125, "PgInsertBuilder");
|
24694
|
-
PgInsertBase = class extends (_b98 = QueryPromise, _a126 = entityKind, _b98) {
|
24695
|
-
constructor(table4, values, session, dialect4, withList) {
|
24696
|
-
super();
|
24697
|
-
__publicField(this, "config");
|
24698
|
-
__publicField(this, "execute", (placeholderValues) => {
|
24699
|
-
return tracer.startActiveSpan("drizzle.operation", () => {
|
24700
|
-
return this._prepare().execute(placeholderValues);
|
24701
|
-
});
|
24702
|
-
});
|
24703
|
-
this.session = session;
|
24704
|
-
this.dialect = dialect4;
|
24705
|
-
this.config = { table: table4, values, withList };
|
24706
|
-
}
|
24707
|
-
returning(fields = this.config.table[Table2.Symbol.Columns]) {
|
24708
|
-
this.config.returning = orderSelectedFields(fields);
|
24709
|
-
return this;
|
24710
|
-
}
|
24711
|
-
/**
|
24712
|
-
* Adds an `on conflict do nothing` clause to the query.
|
24713
|
-
*
|
24714
|
-
* Calling this method simply avoids inserting a row as its alternative action.
|
24715
|
-
*
|
24716
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
24717
|
-
*
|
24718
|
-
* @param config The `target` and `where` clauses.
|
24719
|
-
*
|
24720
|
-
* @example
|
24721
|
-
* ```ts
|
24722
|
-
* // Insert one row and cancel the insert if there's a conflict
|
24723
|
-
* await db.insert(cars)
|
24724
|
-
* .values({ id: 1, brand: 'BMW' })
|
24725
|
-
* .onConflictDoNothing();
|
24726
|
-
*
|
24727
|
-
* // Explicitly specify conflict target
|
24728
|
-
* await db.insert(cars)
|
24729
|
-
* .values({ id: 1, brand: 'BMW' })
|
24730
|
-
* .onConflictDoNothing({ target: cars.id });
|
24731
|
-
* ```
|
24732
|
-
*/
|
24733
|
-
onConflictDoNothing(config = {}) {
|
24734
|
-
if (config.target === void 0) {
|
24735
|
-
this.config.onConflict = sql`do nothing`;
|
24736
|
-
} else {
|
24737
|
-
let targetColumn = "";
|
24738
|
-
targetColumn = Array.isArray(config.target) ? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(",") : this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));
|
24739
|
-
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
24740
|
-
this.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;
|
24741
|
-
}
|
24742
|
-
return this;
|
24743
|
-
}
|
24744
|
-
/**
|
24745
|
-
* Adds an `on conflict do update` clause to the query.
|
24746
|
-
*
|
24747
|
-
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
24748
|
-
*
|
24749
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
24750
|
-
*
|
24751
|
-
* @param config The `target`, `set` and `where` clauses.
|
24752
|
-
*
|
24753
|
-
* @example
|
24754
|
-
* ```ts
|
24755
|
-
* // Update the row if there's a conflict
|
24756
|
-
* await db.insert(cars)
|
24757
|
-
* .values({ id: 1, brand: 'BMW' })
|
24758
|
-
* .onConflictDoUpdate({
|
24759
|
-
* target: cars.id,
|
24760
|
-
* set: { brand: 'Porsche' }
|
24761
|
-
* });
|
24762
|
-
*
|
24763
|
-
* // Upsert with 'where' clause
|
24764
|
-
* await db.insert(cars)
|
24765
|
-
* .values({ id: 1, brand: 'BMW' })
|
24766
|
-
* .onConflictDoUpdate({
|
24767
|
-
* target: cars.id,
|
24768
|
-
* set: { brand: 'newBMW' },
|
24769
|
-
* targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,
|
24770
|
-
* });
|
24771
|
-
* ```
|
24772
|
-
*/
|
24773
|
-
onConflictDoUpdate(config) {
|
24774
|
-
if (config.where && (config.targetWhere || config.setWhere)) {
|
24775
|
-
throw new Error(
|
24776
|
-
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
24777
|
-
);
|
24778
|
-
}
|
24779
|
-
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
24780
|
-
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
24781
|
-
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
24782
|
-
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
24783
|
-
let targetColumn = "";
|
24784
|
-
targetColumn = Array.isArray(config.target) ? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(",") : this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));
|
24785
|
-
this.config.onConflict = sql`(${sql.raw(targetColumn)})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
24786
|
-
return this;
|
24787
|
-
}
|
24788
|
-
/** @internal */
|
24789
|
-
getSQL() {
|
24790
|
-
return this.dialect.buildInsertQuery(this.config);
|
24791
|
-
}
|
24792
|
-
toSQL() {
|
24793
|
-
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
24794
|
-
return rest;
|
24795
|
-
}
|
24796
24650
|
/** @internal */
|
24797
|
-
|
24798
|
-
|
24799
|
-
|
24800
|
-
});
|
24801
|
-
}
|
24802
|
-
prepare(name2) {
|
24803
|
-
return this._prepare(name2);
|
24651
|
+
setToken(token) {
|
24652
|
+
this.authToken = token;
|
24653
|
+
return this;
|
24804
24654
|
}
|
24805
24655
|
$dynamic() {
|
24806
24656
|
return this;
|
24807
24657
|
}
|
24808
24658
|
};
|
24809
|
-
__publicField(
|
24659
|
+
__publicField(PgDeleteBase, _a124, "PgDelete");
|
24810
24660
|
}
|
24811
24661
|
});
|
24812
24662
|
|
@@ -24825,13 +24675,13 @@ function toCamelCase(input) {
|
|
24825
24675
|
function noopCase(input) {
|
24826
24676
|
return input;
|
24827
24677
|
}
|
24828
|
-
var
|
24678
|
+
var _a125, CasingCache;
|
24829
24679
|
var init_casing = __esm({
|
24830
24680
|
"../drizzle-orm/dist/casing.js"() {
|
24831
24681
|
"use strict";
|
24832
24682
|
init_entity();
|
24833
24683
|
init_table();
|
24834
|
-
|
24684
|
+
_a125 = entityKind;
|
24835
24685
|
CasingCache = class {
|
24836
24686
|
constructor(casing2) {
|
24837
24687
|
/** @internal */
|
@@ -24868,25 +24718,25 @@ var init_casing = __esm({
|
|
24868
24718
|
this.cachedTables = {};
|
24869
24719
|
}
|
24870
24720
|
};
|
24871
|
-
__publicField(CasingCache,
|
24721
|
+
__publicField(CasingCache, _a125, "CasingCache");
|
24872
24722
|
}
|
24873
24723
|
});
|
24874
24724
|
|
24875
24725
|
// ../drizzle-orm/dist/pg-core/view-base.js
|
24876
|
-
var
|
24726
|
+
var _a126, _b98, PgViewBase;
|
24877
24727
|
var init_view_base = __esm({
|
24878
24728
|
"../drizzle-orm/dist/pg-core/view-base.js"() {
|
24879
24729
|
"use strict";
|
24880
24730
|
init_entity();
|
24881
24731
|
init_sql();
|
24882
|
-
PgViewBase = class extends (
|
24732
|
+
PgViewBase = class extends (_b98 = View3, _a126 = entityKind, _b98) {
|
24883
24733
|
};
|
24884
|
-
__publicField(PgViewBase,
|
24734
|
+
__publicField(PgViewBase, _a126, "PgViewBase");
|
24885
24735
|
}
|
24886
24736
|
});
|
24887
24737
|
|
24888
24738
|
// ../drizzle-orm/dist/pg-core/dialect.js
|
24889
|
-
var
|
24739
|
+
var _a127, PgDialect;
|
24890
24740
|
var init_dialect = __esm({
|
24891
24741
|
"../drizzle-orm/dist/pg-core/dialect.js"() {
|
24892
24742
|
"use strict";
|
@@ -24905,7 +24755,7 @@ var init_dialect = __esm({
|
|
24905
24755
|
init_utils2();
|
24906
24756
|
init_view_common();
|
24907
24757
|
init_view_base();
|
24908
|
-
|
24758
|
+
_a127 = entityKind;
|
24909
24759
|
PgDialect = class {
|
24910
24760
|
constructor(config) {
|
24911
24761
|
/** @internal */
|
@@ -24985,12 +24835,19 @@ var init_dialect = __esm({
|
|
24985
24835
|
return [res];
|
24986
24836
|
}));
|
24987
24837
|
}
|
24988
|
-
buildUpdateQuery({ table: table4, set, where, returning, withList }) {
|
24838
|
+
buildUpdateQuery({ table: table4, set, where, returning, withList, from, joins }) {
|
24989
24839
|
const withSql = this.buildWithCTE(withList);
|
24840
|
+
const tableName = table4[PgTable.Symbol.Name];
|
24841
|
+
const tableSchema = table4[PgTable.Symbol.Schema];
|
24842
|
+
const origTableName = table4[PgTable.Symbol.OriginalName];
|
24843
|
+
const alias = tableName === origTableName ? void 0 : tableName;
|
24844
|
+
const tableSql = sql`${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`}`;
|
24990
24845
|
const setSql = this.buildUpdateSet(table4, set);
|
24991
|
-
const
|
24846
|
+
const fromSql = from && sql.join([sql.raw(" from "), this.buildFromTable(from)]);
|
24847
|
+
const joinsSql = this.buildJoins(joins);
|
24848
|
+
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: !from })}` : void 0;
|
24992
24849
|
const whereSql = where ? sql` where ${where}` : void 0;
|
24993
|
-
return sql`${withSql}update ${
|
24850
|
+
return sql`${withSql}update ${tableSql} set ${setSql}${fromSql}${joinsSql}${whereSql}${returningSql}`;
|
24994
24851
|
}
|
24995
24852
|
/**
|
24996
24853
|
* Builds selection SQL with provided fields/expressions
|
@@ -25042,6 +24899,54 @@ var init_dialect = __esm({
|
|
25042
24899
|
});
|
25043
24900
|
return sql.join(chunks);
|
25044
24901
|
}
|
24902
|
+
buildJoins(joins) {
|
24903
|
+
if (!joins || joins.length === 0) {
|
24904
|
+
return void 0;
|
24905
|
+
}
|
24906
|
+
const joinsArray = [];
|
24907
|
+
for (const [index4, joinMeta] of joins.entries()) {
|
24908
|
+
if (index4 === 0) {
|
24909
|
+
joinsArray.push(sql` `);
|
24910
|
+
}
|
24911
|
+
const table4 = joinMeta.table;
|
24912
|
+
const lateralSql = joinMeta.lateral ? sql` lateral` : void 0;
|
24913
|
+
if (is(table4, PgTable)) {
|
24914
|
+
const tableName = table4[PgTable.Symbol.Name];
|
24915
|
+
const tableSchema = table4[PgTable.Symbol.Schema];
|
24916
|
+
const origTableName = table4[PgTable.Symbol.OriginalName];
|
24917
|
+
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
24918
|
+
joinsArray.push(
|
24919
|
+
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
24920
|
+
);
|
24921
|
+
} else if (is(table4, View3)) {
|
24922
|
+
const viewName = table4[ViewBaseConfig].name;
|
24923
|
+
const viewSchema = table4[ViewBaseConfig].schema;
|
24924
|
+
const origViewName = table4[ViewBaseConfig].originalName;
|
24925
|
+
const alias = viewName === origViewName ? void 0 : joinMeta.alias;
|
24926
|
+
joinsArray.push(
|
24927
|
+
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${viewSchema ? sql`${sql.identifier(viewSchema)}.` : void 0}${sql.identifier(origViewName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
24928
|
+
);
|
24929
|
+
} else {
|
24930
|
+
joinsArray.push(
|
24931
|
+
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${table4} on ${joinMeta.on}`
|
24932
|
+
);
|
24933
|
+
}
|
24934
|
+
if (index4 < joins.length - 1) {
|
24935
|
+
joinsArray.push(sql` `);
|
24936
|
+
}
|
24937
|
+
}
|
24938
|
+
return sql.join(joinsArray);
|
24939
|
+
}
|
24940
|
+
buildFromTable(table4) {
|
24941
|
+
if (is(table4, Table2) && table4[Table2.Symbol.OriginalName] !== table4[Table2.Symbol.Name]) {
|
24942
|
+
let fullName = sql`${sql.identifier(table4[Table2.Symbol.OriginalName])}`;
|
24943
|
+
if (table4[Table2.Symbol.Schema]) {
|
24944
|
+
fullName = sql`${sql.identifier(table4[Table2.Symbol.Schema])}.${fullName}`;
|
24945
|
+
}
|
24946
|
+
return sql`${fullName} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
24947
|
+
}
|
24948
|
+
return table4;
|
24949
|
+
}
|
25045
24950
|
buildSelectQuery({
|
25046
24951
|
withList,
|
25047
24952
|
fields,
|
@@ -25076,51 +24981,8 @@ var init_dialect = __esm({
|
|
25076
24981
|
distinctSql = distinct === true ? sql` distinct` : sql` distinct on (${sql.join(distinct.on, sql`, `)})`;
|
25077
24982
|
}
|
25078
24983
|
const selection = this.buildSelection(fieldsList, { isSingleTable });
|
25079
|
-
const tableSql = (
|
25080
|
-
|
25081
|
-
let fullName = sql`${sql.identifier(table4[Table2.Symbol.OriginalName])}`;
|
25082
|
-
if (table4[Table2.Symbol.Schema]) {
|
25083
|
-
fullName = sql`${sql.identifier(table4[Table2.Symbol.Schema])}.${fullName}`;
|
25084
|
-
}
|
25085
|
-
return sql`${fullName} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
25086
|
-
}
|
25087
|
-
return table4;
|
25088
|
-
})();
|
25089
|
-
const joinsArray = [];
|
25090
|
-
if (joins) {
|
25091
|
-
for (const [index4, joinMeta] of joins.entries()) {
|
25092
|
-
if (index4 === 0) {
|
25093
|
-
joinsArray.push(sql` `);
|
25094
|
-
}
|
25095
|
-
const table22 = joinMeta.table;
|
25096
|
-
const lateralSql = joinMeta.lateral ? sql` lateral` : void 0;
|
25097
|
-
if (is(table22, PgTable)) {
|
25098
|
-
const tableName = table22[PgTable.Symbol.Name];
|
25099
|
-
const tableSchema = table22[PgTable.Symbol.Schema];
|
25100
|
-
const origTableName = table22[PgTable.Symbol.OriginalName];
|
25101
|
-
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
25102
|
-
joinsArray.push(
|
25103
|
-
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
25104
|
-
);
|
25105
|
-
} else if (is(table22, View3)) {
|
25106
|
-
const viewName = table22[ViewBaseConfig].name;
|
25107
|
-
const viewSchema = table22[ViewBaseConfig].schema;
|
25108
|
-
const origViewName = table22[ViewBaseConfig].originalName;
|
25109
|
-
const alias = viewName === origViewName ? void 0 : joinMeta.alias;
|
25110
|
-
joinsArray.push(
|
25111
|
-
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${viewSchema ? sql`${sql.identifier(viewSchema)}.` : void 0}${sql.identifier(origViewName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
25112
|
-
);
|
25113
|
-
} else {
|
25114
|
-
joinsArray.push(
|
25115
|
-
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${table22} on ${joinMeta.on}`
|
25116
|
-
);
|
25117
|
-
}
|
25118
|
-
if (index4 < joins.length - 1) {
|
25119
|
-
joinsArray.push(sql` `);
|
25120
|
-
}
|
25121
|
-
}
|
25122
|
-
}
|
25123
|
-
const joinsSql = sql.join(joinsArray);
|
24984
|
+
const tableSql = this.buildFromTable(table4);
|
24985
|
+
const joinsSql = this.buildJoins(joins);
|
25124
24986
|
const whereSql = where ? sql` where ${where}` : void 0;
|
25125
24987
|
const havingSql = having ? sql` having ${having}` : void 0;
|
25126
24988
|
let orderBySql;
|
@@ -25201,43 +25063,54 @@ var init_dialect = __esm({
|
|
25201
25063
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
25202
25064
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
25203
25065
|
}
|
25204
|
-
buildInsertQuery({ table: table4, values, onConflict, returning, withList }) {
|
25066
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, onConflict, returning, withList, select }) {
|
25205
25067
|
const valuesSqlList = [];
|
25206
25068
|
const columns = table4[Table2.Symbol.Columns];
|
25207
25069
|
const colEntries = Object.entries(columns).filter(([_2, col]) => !col.shouldDisableInsert());
|
25208
25070
|
const insertOrder = colEntries.map(
|
25209
25071
|
([, column4]) => sql.identifier(this.casing.getColumnCasing(column4))
|
25210
25072
|
);
|
25211
|
-
|
25212
|
-
const
|
25213
|
-
|
25214
|
-
|
25215
|
-
|
25216
|
-
|
25217
|
-
|
25218
|
-
|
25219
|
-
|
25220
|
-
|
25221
|
-
|
25222
|
-
|
25223
|
-
|
25073
|
+
if (select) {
|
25074
|
+
const select2 = valuesOrSelect;
|
25075
|
+
if (is(select2, SQL)) {
|
25076
|
+
valuesSqlList.push(select2);
|
25077
|
+
} else {
|
25078
|
+
valuesSqlList.push(select2.getSQL());
|
25079
|
+
}
|
25080
|
+
} else {
|
25081
|
+
const values = valuesOrSelect;
|
25082
|
+
valuesSqlList.push(sql.raw("values "));
|
25083
|
+
for (const [valueIndex, value] of values.entries()) {
|
25084
|
+
const valueList = [];
|
25085
|
+
for (const [fieldName, col] of colEntries) {
|
25086
|
+
const colValue = value[fieldName];
|
25087
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
25088
|
+
if (col.defaultFn !== void 0) {
|
25089
|
+
const defaultFnResult = col.defaultFn();
|
25090
|
+
const defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
25091
|
+
valueList.push(defaultValue);
|
25092
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
25093
|
+
const onUpdateFnResult = col.onUpdateFn();
|
25094
|
+
const newValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
25095
|
+
valueList.push(newValue);
|
25096
|
+
} else {
|
25097
|
+
valueList.push(sql`default`);
|
25098
|
+
}
|
25224
25099
|
} else {
|
25225
|
-
valueList.push(
|
25100
|
+
valueList.push(colValue);
|
25226
25101
|
}
|
25227
|
-
} else {
|
25228
|
-
valueList.push(colValue);
|
25229
25102
|
}
|
25230
|
-
|
25231
|
-
|
25232
|
-
|
25233
|
-
|
25103
|
+
valuesSqlList.push(valueList);
|
25104
|
+
if (valueIndex < values.length - 1) {
|
25105
|
+
valuesSqlList.push(sql`, `);
|
25106
|
+
}
|
25234
25107
|
}
|
25235
25108
|
}
|
25236
25109
|
const withSql = this.buildWithCTE(withList);
|
25237
25110
|
const valuesSql = sql.join(valuesSqlList);
|
25238
25111
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
25239
25112
|
const onConflictSql = onConflict ? sql` on conflict ${onConflict}` : void 0;
|
25240
|
-
return sql`${withSql}insert into ${table4} ${insertOrder}
|
25113
|
+
return sql`${withSql}insert into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}${returningSql}`;
|
25241
25114
|
}
|
25242
25115
|
buildRefreshMaterializedViewQuery({ view: view4, concurrently, withNoData }) {
|
25243
25116
|
const concurrentlySql = concurrently ? sql` concurrently` : void 0;
|
@@ -25973,12 +25846,12 @@ var init_dialect = __esm({
|
|
25973
25846
|
};
|
25974
25847
|
}
|
25975
25848
|
};
|
25976
|
-
__publicField(PgDialect,
|
25849
|
+
__publicField(PgDialect, _a127, "PgDialect");
|
25977
25850
|
}
|
25978
25851
|
});
|
25979
25852
|
|
25980
25853
|
// ../drizzle-orm/dist/selection-proxy.js
|
25981
|
-
var
|
25854
|
+
var _a128, _SelectionProxyHandler, SelectionProxyHandler;
|
25982
25855
|
var init_selection_proxy = __esm({
|
25983
25856
|
"../drizzle-orm/dist/selection-proxy.js"() {
|
25984
25857
|
"use strict";
|
@@ -25988,7 +25861,7 @@ var init_selection_proxy = __esm({
|
|
25988
25861
|
init_sql();
|
25989
25862
|
init_subquery();
|
25990
25863
|
init_view_common();
|
25991
|
-
|
25864
|
+
_a128 = entityKind;
|
25992
25865
|
_SelectionProxyHandler = class _SelectionProxyHandler {
|
25993
25866
|
constructor(config) {
|
25994
25867
|
__publicField(this, "config");
|
@@ -26054,25 +25927,25 @@ var init_selection_proxy = __esm({
|
|
26054
25927
|
return new Proxy(value, new _SelectionProxyHandler(this.config));
|
26055
25928
|
}
|
26056
25929
|
};
|
26057
|
-
__publicField(_SelectionProxyHandler,
|
25930
|
+
__publicField(_SelectionProxyHandler, _a128, "SelectionProxyHandler");
|
26058
25931
|
SelectionProxyHandler = _SelectionProxyHandler;
|
26059
25932
|
}
|
26060
25933
|
});
|
26061
25934
|
|
26062
25935
|
// ../drizzle-orm/dist/query-builders/query-builder.js
|
26063
|
-
var
|
25936
|
+
var _a129, TypedQueryBuilder;
|
26064
25937
|
var init_query_builder = __esm({
|
26065
25938
|
"../drizzle-orm/dist/query-builders/query-builder.js"() {
|
26066
25939
|
"use strict";
|
26067
25940
|
init_entity();
|
26068
|
-
|
25941
|
+
_a129 = entityKind;
|
26069
25942
|
TypedQueryBuilder = class {
|
26070
25943
|
/** @internal */
|
26071
25944
|
getSelectedFields() {
|
26072
25945
|
return this._.selectedFields;
|
26073
25946
|
}
|
26074
25947
|
};
|
26075
|
-
__publicField(TypedQueryBuilder,
|
25948
|
+
__publicField(TypedQueryBuilder, _a129, "TypedQueryBuilder");
|
26076
25949
|
}
|
26077
25950
|
});
|
26078
25951
|
|
@@ -26094,7 +25967,7 @@ function createSetOperator(type, isAll) {
|
|
26094
25967
|
return leftSelect.addSetOperators(setOperators);
|
26095
25968
|
};
|
26096
25969
|
}
|
26097
|
-
var
|
25970
|
+
var _a130, PgSelectBuilder, _a131, _b99, PgSelectQueryBuilderBase, _a132, _b100, PgSelectBase, getPgSetOperators, union, unionAll, intersect, intersectAll, except, exceptAll;
|
26098
25971
|
var init_select2 = __esm({
|
26099
25972
|
"../drizzle-orm/dist/pg-core/query-builders/select.js"() {
|
26100
25973
|
"use strict";
|
@@ -26110,7 +25983,7 @@ var init_select2 = __esm({
|
|
26110
25983
|
init_utils2();
|
26111
25984
|
init_utils2();
|
26112
25985
|
init_view_common();
|
26113
|
-
|
25986
|
+
_a130 = entityKind;
|
26114
25987
|
PgSelectBuilder = class {
|
26115
25988
|
constructor(config) {
|
26116
25989
|
__publicField(this, "fields");
|
@@ -26118,6 +25991,7 @@ var init_select2 = __esm({
|
|
26118
25991
|
__publicField(this, "dialect");
|
26119
25992
|
__publicField(this, "withList", []);
|
26120
25993
|
__publicField(this, "distinct");
|
25994
|
+
__publicField(this, "authToken");
|
26121
25995
|
this.fields = config.fields;
|
26122
25996
|
this.session = config.session;
|
26123
25997
|
this.dialect = config.dialect;
|
@@ -26126,6 +26000,11 @@ var init_select2 = __esm({
|
|
26126
26000
|
}
|
26127
26001
|
this.distinct = config.distinct;
|
26128
26002
|
}
|
26003
|
+
/** @internal */
|
26004
|
+
setToken(token) {
|
26005
|
+
this.authToken = token;
|
26006
|
+
return this;
|
26007
|
+
}
|
26129
26008
|
/**
|
26130
26009
|
* Specify the table, subquery, or other target that you're
|
26131
26010
|
* building a select query against.
|
@@ -26148,7 +26027,7 @@ var init_select2 = __esm({
|
|
26148
26027
|
} else {
|
26149
26028
|
fields = getTableColumns(source);
|
26150
26029
|
}
|
26151
|
-
return new PgSelectBase({
|
26030
|
+
return this.authToken === void 0 ? new PgSelectBase({
|
26152
26031
|
table: source,
|
26153
26032
|
fields,
|
26154
26033
|
isPartialSelect,
|
@@ -26156,11 +26035,19 @@ var init_select2 = __esm({
|
|
26156
26035
|
dialect: this.dialect,
|
26157
26036
|
withList: this.withList,
|
26158
26037
|
distinct: this.distinct
|
26159
|
-
})
|
26038
|
+
}) : new PgSelectBase({
|
26039
|
+
table: source,
|
26040
|
+
fields,
|
26041
|
+
isPartialSelect,
|
26042
|
+
session: this.session,
|
26043
|
+
dialect: this.dialect,
|
26044
|
+
withList: this.withList,
|
26045
|
+
distinct: this.distinct
|
26046
|
+
}).setToken(this.authToken);
|
26160
26047
|
}
|
26161
26048
|
};
|
26162
|
-
__publicField(PgSelectBuilder,
|
26163
|
-
PgSelectQueryBuilderBase = class extends (
|
26049
|
+
__publicField(PgSelectBuilder, _a130, "PgSelectBuilder");
|
26050
|
+
PgSelectQueryBuilderBase = class extends (_b99 = TypedQueryBuilder, _a131 = entityKind, _b99) {
|
26164
26051
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
26165
26052
|
super();
|
26166
26053
|
__publicField(this, "_");
|
@@ -26760,19 +26647,20 @@ var init_select2 = __esm({
|
|
26760
26647
|
return this;
|
26761
26648
|
}
|
26762
26649
|
};
|
26763
|
-
__publicField(PgSelectQueryBuilderBase,
|
26764
|
-
PgSelectBase = class extends (
|
26650
|
+
__publicField(PgSelectQueryBuilderBase, _a131, "PgSelectQueryBuilder");
|
26651
|
+
PgSelectBase = class extends (_b100 = PgSelectQueryBuilderBase, _a132 = entityKind, _b100) {
|
26765
26652
|
constructor() {
|
26766
26653
|
super(...arguments);
|
26654
|
+
__publicField(this, "authToken");
|
26767
26655
|
__publicField(this, "execute", (placeholderValues) => {
|
26768
26656
|
return tracer.startActiveSpan("drizzle.operation", () => {
|
26769
|
-
return this._prepare().execute(placeholderValues);
|
26657
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
26770
26658
|
});
|
26771
26659
|
});
|
26772
26660
|
}
|
26773
26661
|
/** @internal */
|
26774
26662
|
_prepare(name2) {
|
26775
|
-
const { session, config, dialect: dialect4, joinsNotNullableMap } = this;
|
26663
|
+
const { session, config, dialect: dialect4, joinsNotNullableMap, authToken } = this;
|
26776
26664
|
if (!session) {
|
26777
26665
|
throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");
|
26778
26666
|
}
|
@@ -26780,7 +26668,7 @@ var init_select2 = __esm({
|
|
26780
26668
|
const fieldsList = orderSelectedFields(config.fields);
|
26781
26669
|
const query = session.prepareQuery(dialect4.sqlToQuery(this.getSQL()), fieldsList, name2, true);
|
26782
26670
|
query.joinsNotNullableMap = joinsNotNullableMap;
|
26783
|
-
return query;
|
26671
|
+
return authToken === void 0 ? query : query.setToken(authToken);
|
26784
26672
|
});
|
26785
26673
|
}
|
26786
26674
|
/**
|
@@ -26793,8 +26681,13 @@ var init_select2 = __esm({
|
|
26793
26681
|
prepare(name2) {
|
26794
26682
|
return this._prepare(name2);
|
26795
26683
|
}
|
26684
|
+
/** @internal */
|
26685
|
+
setToken(token) {
|
26686
|
+
this.authToken = token;
|
26687
|
+
return this;
|
26688
|
+
}
|
26796
26689
|
};
|
26797
|
-
__publicField(PgSelectBase,
|
26690
|
+
__publicField(PgSelectBase, _a132, "PgSelect");
|
26798
26691
|
applyMixins(PgSelectBase, [QueryPromise]);
|
26799
26692
|
getPgSetOperators = () => ({
|
26800
26693
|
union,
|
@@ -26814,7 +26707,7 @@ var init_select2 = __esm({
|
|
26814
26707
|
});
|
26815
26708
|
|
26816
26709
|
// ../drizzle-orm/dist/pg-core/query-builders/query-builder.js
|
26817
|
-
var
|
26710
|
+
var _a133, QueryBuilder;
|
26818
26711
|
var init_query_builder2 = __esm({
|
26819
26712
|
"../drizzle-orm/dist/pg-core/query-builders/query-builder.js"() {
|
26820
26713
|
"use strict";
|
@@ -26823,7 +26716,7 @@ var init_query_builder2 = __esm({
|
|
26823
26716
|
init_selection_proxy();
|
26824
26717
|
init_subquery();
|
26825
26718
|
init_select2();
|
26826
|
-
|
26719
|
+
_a133 = entityKind;
|
26827
26720
|
QueryBuilder = class {
|
26828
26721
|
constructor(dialect4) {
|
26829
26722
|
__publicField(this, "dialect");
|
@@ -26904,30 +26797,211 @@ var init_query_builder2 = __esm({
|
|
26904
26797
|
return this.dialect;
|
26905
26798
|
}
|
26906
26799
|
};
|
26907
|
-
__publicField(QueryBuilder,
|
26800
|
+
__publicField(QueryBuilder, _a133, "PgQueryBuilder");
|
26908
26801
|
}
|
26909
26802
|
});
|
26910
26803
|
|
26911
|
-
// ../drizzle-orm/dist/pg-core/query-builders/
|
26912
|
-
var
|
26913
|
-
var
|
26914
|
-
"../drizzle-orm/dist/pg-core/query-builders/
|
26804
|
+
// ../drizzle-orm/dist/pg-core/query-builders/insert.js
|
26805
|
+
var _a134, PgInsertBuilder, _a135, _b101, PgInsertBase;
|
26806
|
+
var init_insert = __esm({
|
26807
|
+
"../drizzle-orm/dist/pg-core/query-builders/insert.js"() {
|
26915
26808
|
"use strict";
|
26916
26809
|
init_entity();
|
26917
26810
|
init_query_promise();
|
26811
|
+
init_sql();
|
26812
|
+
init_table();
|
26918
26813
|
init_tracing();
|
26919
|
-
|
26920
|
-
|
26921
|
-
|
26922
|
-
|
26923
|
-
|
26924
|
-
|
26925
|
-
|
26926
|
-
});
|
26927
|
-
});
|
26814
|
+
init_utils2();
|
26815
|
+
init_query_builder2();
|
26816
|
+
_a134 = entityKind;
|
26817
|
+
PgInsertBuilder = class {
|
26818
|
+
constructor(table4, session, dialect4, withList) {
|
26819
|
+
__publicField(this, "authToken");
|
26820
|
+
this.table = table4;
|
26928
26821
|
this.session = session;
|
26929
26822
|
this.dialect = dialect4;
|
26930
|
-
this.
|
26823
|
+
this.withList = withList;
|
26824
|
+
}
|
26825
|
+
/** @internal */
|
26826
|
+
setToken(token) {
|
26827
|
+
this.authToken = token;
|
26828
|
+
return this;
|
26829
|
+
}
|
26830
|
+
values(values) {
|
26831
|
+
values = Array.isArray(values) ? values : [values];
|
26832
|
+
if (values.length === 0) {
|
26833
|
+
throw new Error("values() must be called with at least one value");
|
26834
|
+
}
|
26835
|
+
const mappedValues = values.map((entry) => {
|
26836
|
+
const result = {};
|
26837
|
+
const cols = this.table[Table2.Symbol.Columns];
|
26838
|
+
for (const colKey of Object.keys(entry)) {
|
26839
|
+
const colValue = entry[colKey];
|
26840
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
26841
|
+
}
|
26842
|
+
return result;
|
26843
|
+
});
|
26844
|
+
return this.authToken === void 0 ? new PgInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList) : new PgInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList).setToken(
|
26845
|
+
this.authToken
|
26846
|
+
);
|
26847
|
+
}
|
26848
|
+
select(selectQuery) {
|
26849
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder()) : selectQuery;
|
26850
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
26851
|
+
throw new Error(
|
26852
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
26853
|
+
);
|
26854
|
+
}
|
26855
|
+
return new PgInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
|
26856
|
+
}
|
26857
|
+
};
|
26858
|
+
__publicField(PgInsertBuilder, _a134, "PgInsertBuilder");
|
26859
|
+
PgInsertBase = class extends (_b101 = QueryPromise, _a135 = entityKind, _b101) {
|
26860
|
+
constructor(table4, values, session, dialect4, withList, select) {
|
26861
|
+
super();
|
26862
|
+
__publicField(this, "config");
|
26863
|
+
__publicField(this, "authToken");
|
26864
|
+
__publicField(this, "execute", (placeholderValues) => {
|
26865
|
+
return tracer.startActiveSpan("drizzle.operation", () => {
|
26866
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
26867
|
+
});
|
26868
|
+
});
|
26869
|
+
this.session = session;
|
26870
|
+
this.dialect = dialect4;
|
26871
|
+
this.config = { table: table4, values, withList, select };
|
26872
|
+
}
|
26873
|
+
returning(fields = this.config.table[Table2.Symbol.Columns]) {
|
26874
|
+
this.config.returning = orderSelectedFields(fields);
|
26875
|
+
return this;
|
26876
|
+
}
|
26877
|
+
/**
|
26878
|
+
* Adds an `on conflict do nothing` clause to the query.
|
26879
|
+
*
|
26880
|
+
* Calling this method simply avoids inserting a row as its alternative action.
|
26881
|
+
*
|
26882
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
26883
|
+
*
|
26884
|
+
* @param config The `target` and `where` clauses.
|
26885
|
+
*
|
26886
|
+
* @example
|
26887
|
+
* ```ts
|
26888
|
+
* // Insert one row and cancel the insert if there's a conflict
|
26889
|
+
* await db.insert(cars)
|
26890
|
+
* .values({ id: 1, brand: 'BMW' })
|
26891
|
+
* .onConflictDoNothing();
|
26892
|
+
*
|
26893
|
+
* // Explicitly specify conflict target
|
26894
|
+
* await db.insert(cars)
|
26895
|
+
* .values({ id: 1, brand: 'BMW' })
|
26896
|
+
* .onConflictDoNothing({ target: cars.id });
|
26897
|
+
* ```
|
26898
|
+
*/
|
26899
|
+
onConflictDoNothing(config = {}) {
|
26900
|
+
if (config.target === void 0) {
|
26901
|
+
this.config.onConflict = sql`do nothing`;
|
26902
|
+
} else {
|
26903
|
+
let targetColumn = "";
|
26904
|
+
targetColumn = Array.isArray(config.target) ? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(",") : this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));
|
26905
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
26906
|
+
this.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;
|
26907
|
+
}
|
26908
|
+
return this;
|
26909
|
+
}
|
26910
|
+
/**
|
26911
|
+
* Adds an `on conflict do update` clause to the query.
|
26912
|
+
*
|
26913
|
+
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
26914
|
+
*
|
26915
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
26916
|
+
*
|
26917
|
+
* @param config The `target`, `set` and `where` clauses.
|
26918
|
+
*
|
26919
|
+
* @example
|
26920
|
+
* ```ts
|
26921
|
+
* // Update the row if there's a conflict
|
26922
|
+
* await db.insert(cars)
|
26923
|
+
* .values({ id: 1, brand: 'BMW' })
|
26924
|
+
* .onConflictDoUpdate({
|
26925
|
+
* target: cars.id,
|
26926
|
+
* set: { brand: 'Porsche' }
|
26927
|
+
* });
|
26928
|
+
*
|
26929
|
+
* // Upsert with 'where' clause
|
26930
|
+
* await db.insert(cars)
|
26931
|
+
* .values({ id: 1, brand: 'BMW' })
|
26932
|
+
* .onConflictDoUpdate({
|
26933
|
+
* target: cars.id,
|
26934
|
+
* set: { brand: 'newBMW' },
|
26935
|
+
* targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,
|
26936
|
+
* });
|
26937
|
+
* ```
|
26938
|
+
*/
|
26939
|
+
onConflictDoUpdate(config) {
|
26940
|
+
if (config.where && (config.targetWhere || config.setWhere)) {
|
26941
|
+
throw new Error(
|
26942
|
+
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
26943
|
+
);
|
26944
|
+
}
|
26945
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
26946
|
+
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
26947
|
+
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
26948
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
26949
|
+
let targetColumn = "";
|
26950
|
+
targetColumn = Array.isArray(config.target) ? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(",") : this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));
|
26951
|
+
this.config.onConflict = sql`(${sql.raw(targetColumn)})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
26952
|
+
return this;
|
26953
|
+
}
|
26954
|
+
/** @internal */
|
26955
|
+
getSQL() {
|
26956
|
+
return this.dialect.buildInsertQuery(this.config);
|
26957
|
+
}
|
26958
|
+
toSQL() {
|
26959
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
26960
|
+
return rest;
|
26961
|
+
}
|
26962
|
+
/** @internal */
|
26963
|
+
_prepare(name2) {
|
26964
|
+
return tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
26965
|
+
return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name2, true);
|
26966
|
+
});
|
26967
|
+
}
|
26968
|
+
prepare(name2) {
|
26969
|
+
return this._prepare(name2);
|
26970
|
+
}
|
26971
|
+
/** @internal */
|
26972
|
+
setToken(token) {
|
26973
|
+
this.authToken = token;
|
26974
|
+
return this;
|
26975
|
+
}
|
26976
|
+
$dynamic() {
|
26977
|
+
return this;
|
26978
|
+
}
|
26979
|
+
};
|
26980
|
+
__publicField(PgInsertBase, _a135, "PgInsert");
|
26981
|
+
}
|
26982
|
+
});
|
26983
|
+
|
26984
|
+
// ../drizzle-orm/dist/pg-core/query-builders/refresh-materialized-view.js
|
26985
|
+
var _a136, _b102, PgRefreshMaterializedView;
|
26986
|
+
var init_refresh_materialized_view = __esm({
|
26987
|
+
"../drizzle-orm/dist/pg-core/query-builders/refresh-materialized-view.js"() {
|
26988
|
+
"use strict";
|
26989
|
+
init_entity();
|
26990
|
+
init_query_promise();
|
26991
|
+
init_tracing();
|
26992
|
+
PgRefreshMaterializedView = class extends (_b102 = QueryPromise, _a136 = entityKind, _b102) {
|
26993
|
+
constructor(view4, session, dialect4) {
|
26994
|
+
super();
|
26995
|
+
__publicField(this, "config");
|
26996
|
+
__publicField(this, "authToken");
|
26997
|
+
__publicField(this, "execute", (placeholderValues) => {
|
26998
|
+
return tracer.startActiveSpan("drizzle.operation", () => {
|
26999
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
27000
|
+
});
|
27001
|
+
});
|
27002
|
+
this.session = session;
|
27003
|
+
this.dialect = dialect4;
|
27004
|
+
this.config = { view: view4 };
|
26931
27005
|
}
|
26932
27006
|
concurrently() {
|
26933
27007
|
if (this.config.withNoData !== void 0) {
|
@@ -26960,6 +27034,11 @@ var init_refresh_materialized_view = __esm({
|
|
26960
27034
|
prepare(name2) {
|
26961
27035
|
return this._prepare(name2);
|
26962
27036
|
}
|
27037
|
+
/** @internal */
|
27038
|
+
setToken(token) {
|
27039
|
+
this.authToken = token;
|
27040
|
+
return this;
|
27041
|
+
}
|
26963
27042
|
};
|
26964
27043
|
__publicField(PgRefreshMaterializedView, _a136, "PgRefreshMaterializedView");
|
26965
27044
|
}
|
@@ -26978,25 +27057,41 @@ var init_update = __esm({
|
|
26978
27057
|
"../drizzle-orm/dist/pg-core/query-builders/update.js"() {
|
26979
27058
|
"use strict";
|
26980
27059
|
init_entity();
|
27060
|
+
init_table2();
|
26981
27061
|
init_query_promise();
|
27062
|
+
init_selection_proxy();
|
27063
|
+
init_sql();
|
27064
|
+
init_subquery();
|
26982
27065
|
init_table();
|
26983
27066
|
init_utils2();
|
27067
|
+
init_view_common();
|
26984
27068
|
_a137 = entityKind;
|
26985
27069
|
PgUpdateBuilder = class {
|
26986
27070
|
constructor(table4, session, dialect4, withList) {
|
27071
|
+
__publicField(this, "authToken");
|
26987
27072
|
this.table = table4;
|
26988
27073
|
this.session = session;
|
26989
27074
|
this.dialect = dialect4;
|
26990
27075
|
this.withList = withList;
|
26991
27076
|
}
|
27077
|
+
setToken(token) {
|
27078
|
+
this.authToken = token;
|
27079
|
+
return this;
|
27080
|
+
}
|
26992
27081
|
set(values) {
|
26993
|
-
return new PgUpdateBase(
|
27082
|
+
return this.authToken === void 0 ? new PgUpdateBase(
|
26994
27083
|
this.table,
|
26995
27084
|
mapUpdateSet(this.table, values),
|
26996
27085
|
this.session,
|
26997
27086
|
this.dialect,
|
26998
27087
|
this.withList
|
26999
|
-
)
|
27088
|
+
) : new PgUpdateBase(
|
27089
|
+
this.table,
|
27090
|
+
mapUpdateSet(this.table, values),
|
27091
|
+
this.session,
|
27092
|
+
this.dialect,
|
27093
|
+
this.withList
|
27094
|
+
).setToken(this.authToken);
|
27000
27095
|
}
|
27001
27096
|
};
|
27002
27097
|
__publicField(PgUpdateBuilder, _a137, "PgUpdateBuilder");
|
@@ -27004,12 +27099,86 @@ var init_update = __esm({
|
|
27004
27099
|
constructor(table4, set, session, dialect4, withList) {
|
27005
27100
|
super();
|
27006
27101
|
__publicField(this, "config");
|
27102
|
+
__publicField(this, "tableName");
|
27103
|
+
__publicField(this, "joinsNotNullableMap");
|
27104
|
+
__publicField(this, "leftJoin", this.createJoin("left"));
|
27105
|
+
__publicField(this, "rightJoin", this.createJoin("right"));
|
27106
|
+
__publicField(this, "innerJoin", this.createJoin("inner"));
|
27107
|
+
__publicField(this, "fullJoin", this.createJoin("full"));
|
27108
|
+
__publicField(this, "authToken");
|
27007
27109
|
__publicField(this, "execute", (placeholderValues) => {
|
27008
|
-
return this._prepare().execute(placeholderValues);
|
27110
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
27009
27111
|
});
|
27010
27112
|
this.session = session;
|
27011
27113
|
this.dialect = dialect4;
|
27012
|
-
this.config = { set, table: table4, withList };
|
27114
|
+
this.config = { set, table: table4, withList, joins: [] };
|
27115
|
+
this.tableName = getTableLikeName(table4);
|
27116
|
+
this.joinsNotNullableMap = typeof this.tableName === "string" ? { [this.tableName]: true } : {};
|
27117
|
+
}
|
27118
|
+
from(source) {
|
27119
|
+
const tableName = getTableLikeName(source);
|
27120
|
+
if (typeof tableName === "string") {
|
27121
|
+
this.joinsNotNullableMap[tableName] = true;
|
27122
|
+
}
|
27123
|
+
this.config.from = source;
|
27124
|
+
return this;
|
27125
|
+
}
|
27126
|
+
getTableLikeFields(table4) {
|
27127
|
+
if (is(table4, PgTable)) {
|
27128
|
+
return table4[Table2.Symbol.Columns];
|
27129
|
+
} else if (is(table4, Subquery)) {
|
27130
|
+
return table4._.selectedFields;
|
27131
|
+
}
|
27132
|
+
return table4[ViewBaseConfig].selectedFields;
|
27133
|
+
}
|
27134
|
+
createJoin(joinType) {
|
27135
|
+
return (table4, on) => {
|
27136
|
+
const tableName = getTableLikeName(table4);
|
27137
|
+
if (typeof tableName === "string" && this.config.joins.some((join) => join.alias === tableName)) {
|
27138
|
+
throw new Error(`Alias "${tableName}" is already used in this query`);
|
27139
|
+
}
|
27140
|
+
if (typeof on === "function") {
|
27141
|
+
const from = this.config.from && !is(this.config.from, SQL) ? this.getTableLikeFields(this.config.from) : void 0;
|
27142
|
+
on = on(
|
27143
|
+
new Proxy(
|
27144
|
+
this.config.table[Table2.Symbol.Columns],
|
27145
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
27146
|
+
),
|
27147
|
+
from && new Proxy(
|
27148
|
+
from,
|
27149
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
27150
|
+
)
|
27151
|
+
);
|
27152
|
+
}
|
27153
|
+
this.config.joins.push({ on, table: table4, joinType, alias: tableName });
|
27154
|
+
if (typeof tableName === "string") {
|
27155
|
+
switch (joinType) {
|
27156
|
+
case "left": {
|
27157
|
+
this.joinsNotNullableMap[tableName] = false;
|
27158
|
+
break;
|
27159
|
+
}
|
27160
|
+
case "right": {
|
27161
|
+
this.joinsNotNullableMap = Object.fromEntries(
|
27162
|
+
Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false])
|
27163
|
+
);
|
27164
|
+
this.joinsNotNullableMap[tableName] = true;
|
27165
|
+
break;
|
27166
|
+
}
|
27167
|
+
case "inner": {
|
27168
|
+
this.joinsNotNullableMap[tableName] = true;
|
27169
|
+
break;
|
27170
|
+
}
|
27171
|
+
case "full": {
|
27172
|
+
this.joinsNotNullableMap = Object.fromEntries(
|
27173
|
+
Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false])
|
27174
|
+
);
|
27175
|
+
this.joinsNotNullableMap[tableName] = false;
|
27176
|
+
break;
|
27177
|
+
}
|
27178
|
+
}
|
27179
|
+
}
|
27180
|
+
return this;
|
27181
|
+
};
|
27013
27182
|
}
|
27014
27183
|
/**
|
27015
27184
|
* Adds a 'where' clause to the query.
|
@@ -27048,7 +27217,24 @@ var init_update = __esm({
|
|
27048
27217
|
this.config.where = where;
|
27049
27218
|
return this;
|
27050
27219
|
}
|
27051
|
-
returning(fields
|
27220
|
+
returning(fields) {
|
27221
|
+
if (!fields) {
|
27222
|
+
fields = Object.assign({}, this.config.table[Table2.Symbol.Columns]);
|
27223
|
+
if (this.config.from) {
|
27224
|
+
const tableName = getTableLikeName(this.config.from);
|
27225
|
+
if (typeof tableName === "string" && this.config.from && !is(this.config.from, SQL)) {
|
27226
|
+
const fromFields = this.getTableLikeFields(this.config.from);
|
27227
|
+
fields[tableName] = fromFields;
|
27228
|
+
}
|
27229
|
+
for (const join of this.config.joins) {
|
27230
|
+
const tableName2 = getTableLikeName(join.table);
|
27231
|
+
if (typeof tableName2 === "string" && !is(join.table, SQL)) {
|
27232
|
+
const fromFields = this.getTableLikeFields(join.table);
|
27233
|
+
fields[tableName2] = fromFields;
|
27234
|
+
}
|
27235
|
+
}
|
27236
|
+
}
|
27237
|
+
}
|
27052
27238
|
this.config.returning = orderSelectedFields(fields);
|
27053
27239
|
return this;
|
27054
27240
|
}
|
@@ -27062,11 +27248,18 @@ var init_update = __esm({
|
|
27062
27248
|
}
|
27063
27249
|
/** @internal */
|
27064
27250
|
_prepare(name2) {
|
27065
|
-
|
27251
|
+
const query = this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name2, true);
|
27252
|
+
query.joinsNotNullableMap = this.joinsNotNullableMap;
|
27253
|
+
return query;
|
27066
27254
|
}
|
27067
27255
|
prepare(name2) {
|
27068
27256
|
return this._prepare(name2);
|
27069
27257
|
}
|
27258
|
+
/** @internal */
|
27259
|
+
setToken(token) {
|
27260
|
+
this.authToken = token;
|
27261
|
+
return this;
|
27262
|
+
}
|
27070
27263
|
$dynamic() {
|
27071
27264
|
return this;
|
27072
27265
|
}
|
@@ -27100,6 +27293,7 @@ var init_count = __esm({
|
|
27100
27293
|
constructor(params) {
|
27101
27294
|
super(_PgCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);
|
27102
27295
|
__publicField(this, "sql");
|
27296
|
+
__publicField(this, "token");
|
27103
27297
|
__publicField(this, _a139, "PgCountBuilder");
|
27104
27298
|
__publicField(this, "session");
|
27105
27299
|
this.params = params;
|
@@ -27116,8 +27310,12 @@ var init_count = __esm({
|
|
27116
27310
|
static buildCount(source, filters) {
|
27117
27311
|
return sql`select count(*) as count from ${source}${sql.raw(" where ").if(filters)}${filters};`;
|
27118
27312
|
}
|
27313
|
+
/** @intrnal */
|
27314
|
+
setToken(token) {
|
27315
|
+
this.token = token;
|
27316
|
+
}
|
27119
27317
|
then(onfulfilled, onrejected) {
|
27120
|
-
return Promise.resolve(this.session.count(this.sql)).then(
|
27318
|
+
return Promise.resolve(this.session.count(this.sql, this.token)).then(
|
27121
27319
|
onfulfilled,
|
27122
27320
|
onrejected
|
27123
27321
|
);
|
@@ -27194,6 +27392,7 @@ var init_query = __esm({
|
|
27194
27392
|
PgRelationalQuery = class extends (_b105 = QueryPromise, _a141 = entityKind, _b105) {
|
27195
27393
|
constructor(fullSchema, schema4, tableNamesMap, table4, tableConfig, dialect4, session, config, mode) {
|
27196
27394
|
super();
|
27395
|
+
__publicField(this, "authToken");
|
27197
27396
|
this.fullSchema = fullSchema;
|
27198
27397
|
this.schema = schema4;
|
27199
27398
|
this.tableNamesMap = tableNamesMap;
|
@@ -27251,9 +27450,14 @@ var init_query = __esm({
|
|
27251
27450
|
toSQL() {
|
27252
27451
|
return this._toSQL().builtQuery;
|
27253
27452
|
}
|
27453
|
+
/** @internal */
|
27454
|
+
setToken(token) {
|
27455
|
+
this.authToken = token;
|
27456
|
+
return this;
|
27457
|
+
}
|
27254
27458
|
execute() {
|
27255
27459
|
return tracer.startActiveSpan("drizzle.operation", () => {
|
27256
|
-
return this._prepare().execute();
|
27460
|
+
return this._prepare().execute(void 0, this.authToken);
|
27257
27461
|
});
|
27258
27462
|
}
|
27259
27463
|
};
|
@@ -27316,6 +27520,7 @@ var init_db = __esm({
|
|
27316
27520
|
PgDatabase = class {
|
27317
27521
|
constructor(dialect4, session, schema4) {
|
27318
27522
|
__publicField(this, "query");
|
27523
|
+
__publicField(this, "authToken");
|
27319
27524
|
this.dialect = dialect4;
|
27320
27525
|
this.session = session;
|
27321
27526
|
this._ = schema4 ? {
|
@@ -27571,7 +27776,7 @@ var init_db = __esm({
|
|
27571
27776
|
false
|
27572
27777
|
);
|
27573
27778
|
return new PgRaw(
|
27574
|
-
() => prepared.execute(),
|
27779
|
+
() => prepared.execute(void 0, this.authToken),
|
27575
27780
|
sequel,
|
27576
27781
|
builtQuery,
|
27577
27782
|
(result) => prepared.mapResult(result, true)
|
@@ -28116,6 +28321,7 @@ var init_session = __esm({
|
|
28116
28321
|
_a159 = entityKind;
|
28117
28322
|
PgPreparedQuery = class {
|
28118
28323
|
constructor(query) {
|
28324
|
+
__publicField(this, "authToken");
|
28119
28325
|
/** @internal */
|
28120
28326
|
__publicField(this, "joinsNotNullableMap");
|
28121
28327
|
this.query = query;
|
@@ -28126,6 +28332,11 @@ var init_session = __esm({
|
|
28126
28332
|
mapResult(response, _isFromBatch) {
|
28127
28333
|
return response;
|
28128
28334
|
}
|
28335
|
+
/** @internal */
|
28336
|
+
setToken(token) {
|
28337
|
+
this.authToken = token;
|
28338
|
+
return this;
|
28339
|
+
}
|
28129
28340
|
};
|
28130
28341
|
__publicField(PgPreparedQuery, _a159, "PgPreparedQuery");
|
28131
28342
|
_a160 = entityKind;
|
@@ -28133,7 +28344,8 @@ var init_session = __esm({
|
|
28133
28344
|
constructor(dialect4) {
|
28134
28345
|
this.dialect = dialect4;
|
28135
28346
|
}
|
28136
|
-
|
28347
|
+
/** @internal */
|
28348
|
+
execute(query, token) {
|
28137
28349
|
return tracer.startActiveSpan("drizzle.operation", () => {
|
28138
28350
|
const prepared = tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
28139
28351
|
return this.prepareQuery(
|
@@ -28143,7 +28355,7 @@ var init_session = __esm({
|
|
28143
28355
|
false
|
28144
28356
|
);
|
28145
28357
|
});
|
28146
|
-
return prepared.execute();
|
28358
|
+
return prepared.setToken(token).execute(void 0, token);
|
28147
28359
|
});
|
28148
28360
|
}
|
28149
28361
|
all(query) {
|
@@ -28154,8 +28366,9 @@ var init_session = __esm({
|
|
28154
28366
|
false
|
28155
28367
|
).all();
|
28156
28368
|
}
|
28157
|
-
|
28158
|
-
|
28369
|
+
/** @internal */
|
28370
|
+
async count(sql2, token) {
|
28371
|
+
const res = await this.execute(sql2, token);
|
28159
28372
|
return Number(
|
28160
28373
|
res[0]["count"]
|
28161
28374
|
);
|
@@ -30812,200 +31025,32 @@ var init_delete2 = __esm({
|
|
30812
31025
|
prepare() {
|
30813
31026
|
return this._prepare(false);
|
30814
31027
|
}
|
30815
|
-
async execute(placeholderValues) {
|
30816
|
-
return this._prepare().execute(placeholderValues);
|
30817
|
-
}
|
30818
|
-
$dynamic() {
|
30819
|
-
return this;
|
30820
|
-
}
|
30821
|
-
};
|
30822
|
-
__publicField(SQLiteDeleteBase, _a196, "SQLiteDelete");
|
30823
|
-
}
|
30824
|
-
});
|
30825
|
-
|
30826
|
-
// ../drizzle-orm/dist/sqlite-core/query-builders/insert.js
|
30827
|
-
var _a197, SQLiteInsertBuilder, _a198, _b142, SQLiteInsertBase;
|
30828
|
-
var init_insert2 = __esm({
|
30829
|
-
"../drizzle-orm/dist/sqlite-core/query-builders/insert.js"() {
|
30830
|
-
"use strict";
|
30831
|
-
init_entity();
|
30832
|
-
init_query_promise();
|
30833
|
-
init_sql();
|
30834
|
-
init_table3();
|
30835
|
-
init_table();
|
30836
|
-
init_utils2();
|
30837
|
-
_a197 = entityKind;
|
30838
|
-
SQLiteInsertBuilder = class {
|
30839
|
-
constructor(table4, session, dialect4, withList) {
|
30840
|
-
this.table = table4;
|
30841
|
-
this.session = session;
|
30842
|
-
this.dialect = dialect4;
|
30843
|
-
this.withList = withList;
|
30844
|
-
}
|
30845
|
-
values(values) {
|
30846
|
-
values = Array.isArray(values) ? values : [values];
|
30847
|
-
if (values.length === 0) {
|
30848
|
-
throw new Error("values() must be called with at least one value");
|
30849
|
-
}
|
30850
|
-
const mappedValues = values.map((entry) => {
|
30851
|
-
const result = {};
|
30852
|
-
const cols = this.table[Table2.Symbol.Columns];
|
30853
|
-
for (const colKey of Object.keys(entry)) {
|
30854
|
-
const colValue = entry[colKey];
|
30855
|
-
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
30856
|
-
}
|
30857
|
-
return result;
|
30858
|
-
});
|
30859
|
-
return new SQLiteInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
30860
|
-
}
|
30861
|
-
};
|
30862
|
-
__publicField(SQLiteInsertBuilder, _a197, "SQLiteInsertBuilder");
|
30863
|
-
SQLiteInsertBase = class extends (_b142 = QueryPromise, _a198 = entityKind, _b142) {
|
30864
|
-
constructor(table4, values, session, dialect4, withList) {
|
30865
|
-
super();
|
30866
|
-
/** @internal */
|
30867
|
-
__publicField(this, "config");
|
30868
|
-
__publicField(this, "run", (placeholderValues) => {
|
30869
|
-
return this._prepare().run(placeholderValues);
|
30870
|
-
});
|
30871
|
-
__publicField(this, "all", (placeholderValues) => {
|
30872
|
-
return this._prepare().all(placeholderValues);
|
30873
|
-
});
|
30874
|
-
__publicField(this, "get", (placeholderValues) => {
|
30875
|
-
return this._prepare().get(placeholderValues);
|
30876
|
-
});
|
30877
|
-
__publicField(this, "values", (placeholderValues) => {
|
30878
|
-
return this._prepare().values(placeholderValues);
|
30879
|
-
});
|
30880
|
-
this.session = session;
|
30881
|
-
this.dialect = dialect4;
|
30882
|
-
this.config = { table: table4, values, withList };
|
30883
|
-
}
|
30884
|
-
returning(fields = this.config.table[SQLiteTable.Symbol.Columns]) {
|
30885
|
-
this.config.returning = orderSelectedFields(fields);
|
30886
|
-
return this;
|
30887
|
-
}
|
30888
|
-
/**
|
30889
|
-
* Adds an `on conflict do nothing` clause to the query.
|
30890
|
-
*
|
30891
|
-
* Calling this method simply avoids inserting a row as its alternative action.
|
30892
|
-
*
|
30893
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
30894
|
-
*
|
30895
|
-
* @param config The `target` and `where` clauses.
|
30896
|
-
*
|
30897
|
-
* @example
|
30898
|
-
* ```ts
|
30899
|
-
* // Insert one row and cancel the insert if there's a conflict
|
30900
|
-
* await db.insert(cars)
|
30901
|
-
* .values({ id: 1, brand: 'BMW' })
|
30902
|
-
* .onConflictDoNothing();
|
30903
|
-
*
|
30904
|
-
* // Explicitly specify conflict target
|
30905
|
-
* await db.insert(cars)
|
30906
|
-
* .values({ id: 1, brand: 'BMW' })
|
30907
|
-
* .onConflictDoNothing({ target: cars.id });
|
30908
|
-
* ```
|
30909
|
-
*/
|
30910
|
-
onConflictDoNothing(config = {}) {
|
30911
|
-
if (config.target === void 0) {
|
30912
|
-
this.config.onConflict = sql`do nothing`;
|
30913
|
-
} else {
|
30914
|
-
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
30915
|
-
const whereSql = config.where ? sql` where ${config.where}` : sql``;
|
30916
|
-
this.config.onConflict = sql`${targetSql} do nothing${whereSql}`;
|
30917
|
-
}
|
30918
|
-
return this;
|
30919
|
-
}
|
30920
|
-
/**
|
30921
|
-
* Adds an `on conflict do update` clause to the query.
|
30922
|
-
*
|
30923
|
-
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
30924
|
-
*
|
30925
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
30926
|
-
*
|
30927
|
-
* @param config The `target`, `set` and `where` clauses.
|
30928
|
-
*
|
30929
|
-
* @example
|
30930
|
-
* ```ts
|
30931
|
-
* // Update the row if there's a conflict
|
30932
|
-
* await db.insert(cars)
|
30933
|
-
* .values({ id: 1, brand: 'BMW' })
|
30934
|
-
* .onConflictDoUpdate({
|
30935
|
-
* target: cars.id,
|
30936
|
-
* set: { brand: 'Porsche' }
|
30937
|
-
* });
|
30938
|
-
*
|
30939
|
-
* // Upsert with 'where' clause
|
30940
|
-
* await db.insert(cars)
|
30941
|
-
* .values({ id: 1, brand: 'BMW' })
|
30942
|
-
* .onConflictDoUpdate({
|
30943
|
-
* target: cars.id,
|
30944
|
-
* set: { brand: 'newBMW' },
|
30945
|
-
* where: sql`${cars.createdAt} > '2023-01-01'::date`,
|
30946
|
-
* });
|
30947
|
-
* ```
|
30948
|
-
*/
|
30949
|
-
onConflictDoUpdate(config) {
|
30950
|
-
if (config.where && (config.targetWhere || config.setWhere)) {
|
30951
|
-
throw new Error(
|
30952
|
-
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
30953
|
-
);
|
30954
|
-
}
|
30955
|
-
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
30956
|
-
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
30957
|
-
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
30958
|
-
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
30959
|
-
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
30960
|
-
this.config.onConflict = sql`${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
30961
|
-
return this;
|
30962
|
-
}
|
30963
|
-
/** @internal */
|
30964
|
-
getSQL() {
|
30965
|
-
return this.dialect.buildInsertQuery(this.config);
|
30966
|
-
}
|
30967
|
-
toSQL() {
|
30968
|
-
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
30969
|
-
return rest;
|
30970
|
-
}
|
30971
|
-
/** @internal */
|
30972
|
-
_prepare(isOneTimeQuery = true) {
|
30973
|
-
return this.session[isOneTimeQuery ? "prepareOneTimeQuery" : "prepareQuery"](
|
30974
|
-
this.dialect.sqlToQuery(this.getSQL()),
|
30975
|
-
this.config.returning,
|
30976
|
-
this.config.returning ? "all" : "run",
|
30977
|
-
true
|
30978
|
-
);
|
30979
|
-
}
|
30980
|
-
prepare() {
|
30981
|
-
return this._prepare(false);
|
30982
|
-
}
|
30983
|
-
async execute() {
|
30984
|
-
return this.config.returning ? this.all() : this.run();
|
30985
|
-
}
|
31028
|
+
async execute(placeholderValues) {
|
31029
|
+
return this._prepare().execute(placeholderValues);
|
31030
|
+
}
|
30986
31031
|
$dynamic() {
|
30987
31032
|
return this;
|
30988
31033
|
}
|
30989
31034
|
};
|
30990
|
-
__publicField(
|
31035
|
+
__publicField(SQLiteDeleteBase, _a196, "SQLiteDelete");
|
30991
31036
|
}
|
30992
31037
|
});
|
30993
31038
|
|
30994
31039
|
// ../drizzle-orm/dist/sqlite-core/view-base.js
|
30995
|
-
var
|
31040
|
+
var _a197, _b142, SQLiteViewBase;
|
30996
31041
|
var init_view_base2 = __esm({
|
30997
31042
|
"../drizzle-orm/dist/sqlite-core/view-base.js"() {
|
30998
31043
|
"use strict";
|
30999
31044
|
init_entity();
|
31000
31045
|
init_sql();
|
31001
|
-
SQLiteViewBase = class extends (
|
31046
|
+
SQLiteViewBase = class extends (_b142 = View3, _a197 = entityKind, _b142) {
|
31002
31047
|
};
|
31003
|
-
__publicField(SQLiteViewBase,
|
31048
|
+
__publicField(SQLiteViewBase, _a197, "SQLiteViewBase");
|
31004
31049
|
}
|
31005
31050
|
});
|
31006
31051
|
|
31007
31052
|
// ../drizzle-orm/dist/sqlite-core/dialect.js
|
31008
|
-
var
|
31053
|
+
var _a198, SQLiteDialect, _a199, _b143, SQLiteSyncDialect, _a200, _b144, SQLiteAsyncDialect;
|
31009
31054
|
var init_dialect2 = __esm({
|
31010
31055
|
"../drizzle-orm/dist/sqlite-core/dialect.js"() {
|
31011
31056
|
"use strict";
|
@@ -31024,7 +31069,7 @@ var init_dialect2 = __esm({
|
|
31024
31069
|
init_utils2();
|
31025
31070
|
init_view_common();
|
31026
31071
|
init_view_base2();
|
31027
|
-
|
31072
|
+
_a198 = entityKind;
|
31028
31073
|
SQLiteDialect = class {
|
31029
31074
|
constructor(config) {
|
31030
31075
|
/** @internal */
|
@@ -31077,14 +31122,16 @@ var init_dialect2 = __esm({
|
|
31077
31122
|
return [res];
|
31078
31123
|
}));
|
31079
31124
|
}
|
31080
|
-
buildUpdateQuery({ table: table4, set, where, returning, withList, limit, orderBy }) {
|
31125
|
+
buildUpdateQuery({ table: table4, set, where, returning, withList, joins, from, limit, orderBy }) {
|
31081
31126
|
const withSql = this.buildWithCTE(withList);
|
31082
31127
|
const setSql = this.buildUpdateSet(table4, set);
|
31128
|
+
const fromSql = from && sql.join([sql.raw(" from "), this.buildFromTable(from)]);
|
31129
|
+
const joinsSql = this.buildJoins(joins);
|
31083
31130
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
31084
31131
|
const whereSql = where ? sql` where ${where}` : void 0;
|
31085
31132
|
const orderBySql = this.buildOrderBy(orderBy);
|
31086
31133
|
const limitSql = this.buildLimit(limit);
|
31087
|
-
return sql`${withSql}update ${table4} set ${setSql}${whereSql}${returningSql}${orderBySql}${limitSql}`;
|
31134
|
+
return sql`${withSql}update ${table4} set ${setSql}${fromSql}${joinsSql}${whereSql}${returningSql}${orderBySql}${limitSql}`;
|
31088
31135
|
}
|
31089
31136
|
/**
|
31090
31137
|
* Builds selection SQL with provided fields/expressions
|
@@ -31137,6 +31184,37 @@ var init_dialect2 = __esm({
|
|
31137
31184
|
});
|
31138
31185
|
return sql.join(chunks);
|
31139
31186
|
}
|
31187
|
+
buildJoins(joins) {
|
31188
|
+
if (!joins || joins.length === 0) {
|
31189
|
+
return void 0;
|
31190
|
+
}
|
31191
|
+
const joinsArray = [];
|
31192
|
+
if (joins) {
|
31193
|
+
for (const [index4, joinMeta] of joins.entries()) {
|
31194
|
+
if (index4 === 0) {
|
31195
|
+
joinsArray.push(sql` `);
|
31196
|
+
}
|
31197
|
+
const table4 = joinMeta.table;
|
31198
|
+
if (is(table4, SQLiteTable)) {
|
31199
|
+
const tableName = table4[SQLiteTable.Symbol.Name];
|
31200
|
+
const tableSchema = table4[SQLiteTable.Symbol.Schema];
|
31201
|
+
const origTableName = table4[SQLiteTable.Symbol.OriginalName];
|
31202
|
+
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
31203
|
+
joinsArray.push(
|
31204
|
+
sql`${sql.raw(joinMeta.joinType)} join ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
31205
|
+
);
|
31206
|
+
} else {
|
31207
|
+
joinsArray.push(
|
31208
|
+
sql`${sql.raw(joinMeta.joinType)} join ${table4} on ${joinMeta.on}`
|
31209
|
+
);
|
31210
|
+
}
|
31211
|
+
if (index4 < joins.length - 1) {
|
31212
|
+
joinsArray.push(sql` `);
|
31213
|
+
}
|
31214
|
+
}
|
31215
|
+
}
|
31216
|
+
return sql.join(joinsArray);
|
31217
|
+
}
|
31140
31218
|
buildLimit(limit) {
|
31141
31219
|
return typeof limit === "object" || typeof limit === "number" && limit >= 0 ? sql` limit ${limit}` : void 0;
|
31142
31220
|
}
|
@@ -31152,6 +31230,12 @@ var init_dialect2 = __esm({
|
|
31152
31230
|
}
|
31153
31231
|
return orderByList.length > 0 ? sql` order by ${sql.join(orderByList)}` : void 0;
|
31154
31232
|
}
|
31233
|
+
buildFromTable(table4) {
|
31234
|
+
if (is(table4, Table2) && table4[Table2.Symbol.OriginalName] !== table4[Table2.Symbol.Name]) {
|
31235
|
+
return sql`${sql.identifier(table4[Table2.Symbol.OriginalName])} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
31236
|
+
}
|
31237
|
+
return table4;
|
31238
|
+
}
|
31155
31239
|
buildSelectQuery({
|
31156
31240
|
withList,
|
31157
31241
|
fields,
|
@@ -31182,38 +31266,8 @@ var init_dialect2 = __esm({
|
|
31182
31266
|
const withSql = this.buildWithCTE(withList);
|
31183
31267
|
const distinctSql = distinct ? sql` distinct` : void 0;
|
31184
31268
|
const selection = this.buildSelection(fieldsList, { isSingleTable });
|
31185
|
-
const tableSql = (
|
31186
|
-
|
31187
|
-
return sql`${sql.identifier(table4[Table2.Symbol.OriginalName])} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
31188
|
-
}
|
31189
|
-
return table4;
|
31190
|
-
})();
|
31191
|
-
const joinsArray = [];
|
31192
|
-
if (joins) {
|
31193
|
-
for (const [index4, joinMeta] of joins.entries()) {
|
31194
|
-
if (index4 === 0) {
|
31195
|
-
joinsArray.push(sql` `);
|
31196
|
-
}
|
31197
|
-
const table22 = joinMeta.table;
|
31198
|
-
if (is(table22, SQLiteTable)) {
|
31199
|
-
const tableName = table22[SQLiteTable.Symbol.Name];
|
31200
|
-
const tableSchema = table22[SQLiteTable.Symbol.Schema];
|
31201
|
-
const origTableName = table22[SQLiteTable.Symbol.OriginalName];
|
31202
|
-
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
31203
|
-
joinsArray.push(
|
31204
|
-
sql`${sql.raw(joinMeta.joinType)} join ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
31205
|
-
);
|
31206
|
-
} else {
|
31207
|
-
joinsArray.push(
|
31208
|
-
sql`${sql.raw(joinMeta.joinType)} join ${table22} on ${joinMeta.on}`
|
31209
|
-
);
|
31210
|
-
}
|
31211
|
-
if (index4 < joins.length - 1) {
|
31212
|
-
joinsArray.push(sql` `);
|
31213
|
-
}
|
31214
|
-
}
|
31215
|
-
}
|
31216
|
-
const joinsSql = sql.join(joinsArray);
|
31269
|
+
const tableSql = this.buildFromTable(table4);
|
31270
|
+
const joinsSql = this.buildJoins(joins);
|
31217
31271
|
const whereSql = where ? sql` where ${where}` : void 0;
|
31218
31272
|
const havingSql = having ? sql` having ${having}` : void 0;
|
31219
31273
|
const groupByList = [];
|
@@ -31279,45 +31333,56 @@ var init_dialect2 = __esm({
|
|
31279
31333
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
31280
31334
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
31281
31335
|
}
|
31282
|
-
buildInsertQuery({ table: table4, values, onConflict, returning, withList }) {
|
31336
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, onConflict, returning, withList, select }) {
|
31283
31337
|
const valuesSqlList = [];
|
31284
31338
|
const columns = table4[Table2.Symbol.Columns];
|
31285
31339
|
const colEntries = Object.entries(columns).filter(
|
31286
31340
|
([_2, col]) => !col.shouldDisableInsert()
|
31287
31341
|
);
|
31288
31342
|
const insertOrder = colEntries.map(([, column4]) => sql.identifier(this.casing.getColumnCasing(column4)));
|
31289
|
-
|
31290
|
-
const
|
31291
|
-
|
31292
|
-
|
31293
|
-
|
31294
|
-
|
31295
|
-
|
31296
|
-
|
31297
|
-
|
31298
|
-
|
31299
|
-
|
31300
|
-
|
31301
|
-
|
31302
|
-
|
31343
|
+
if (select) {
|
31344
|
+
const select2 = valuesOrSelect;
|
31345
|
+
if (is(select2, SQL)) {
|
31346
|
+
valuesSqlList.push(select2);
|
31347
|
+
} else {
|
31348
|
+
valuesSqlList.push(select2.getSQL());
|
31349
|
+
}
|
31350
|
+
} else {
|
31351
|
+
const values = valuesOrSelect;
|
31352
|
+
valuesSqlList.push(sql.raw("values "));
|
31353
|
+
for (const [valueIndex, value] of values.entries()) {
|
31354
|
+
const valueList = [];
|
31355
|
+
for (const [fieldName, col] of colEntries) {
|
31356
|
+
const colValue = value[fieldName];
|
31357
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
31358
|
+
let defaultValue;
|
31359
|
+
if (col.default !== null && col.default !== void 0) {
|
31360
|
+
defaultValue = is(col.default, SQL) ? col.default : sql.param(col.default, col);
|
31361
|
+
} else if (col.defaultFn !== void 0) {
|
31362
|
+
const defaultFnResult = col.defaultFn();
|
31363
|
+
defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
31364
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
31365
|
+
const onUpdateFnResult = col.onUpdateFn();
|
31366
|
+
defaultValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
31367
|
+
} else {
|
31368
|
+
defaultValue = sql`null`;
|
31369
|
+
}
|
31370
|
+
valueList.push(defaultValue);
|
31303
31371
|
} else {
|
31304
|
-
|
31372
|
+
valueList.push(colValue);
|
31305
31373
|
}
|
31306
|
-
valueList.push(defaultValue);
|
31307
|
-
} else {
|
31308
|
-
valueList.push(colValue);
|
31309
31374
|
}
|
31310
|
-
|
31311
|
-
|
31312
|
-
|
31313
|
-
|
31375
|
+
valuesSqlList.push(valueList);
|
31376
|
+
if (valueIndex < values.length - 1) {
|
31377
|
+
valuesSqlList.push(sql`, `);
|
31378
|
+
}
|
31314
31379
|
}
|
31315
31380
|
}
|
31316
31381
|
const withSql = this.buildWithCTE(withList);
|
31317
31382
|
const valuesSql = sql.join(valuesSqlList);
|
31318
31383
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
31319
31384
|
const onConflictSql = onConflict ? sql` on conflict ${onConflict}` : void 0;
|
31320
|
-
return sql`${withSql}insert into ${table4} ${insertOrder}
|
31385
|
+
return sql`${withSql}insert into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}${returningSql}`;
|
31321
31386
|
}
|
31322
31387
|
sqlToQuery(sql2, invokeSource) {
|
31323
31388
|
return sql2.toQuery({
|
@@ -31546,8 +31611,8 @@ var init_dialect2 = __esm({
|
|
31546
31611
|
};
|
31547
31612
|
}
|
31548
31613
|
};
|
31549
|
-
__publicField(SQLiteDialect,
|
31550
|
-
SQLiteSyncDialect = class extends (
|
31614
|
+
__publicField(SQLiteDialect, _a198, "SQLiteDialect");
|
31615
|
+
SQLiteSyncDialect = class extends (_b143 = SQLiteDialect, _a199 = entityKind, _b143) {
|
31551
31616
|
migrate(migrations, session, config) {
|
31552
31617
|
const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
|
31553
31618
|
const migrationTableCreate = sql`
|
@@ -31581,8 +31646,8 @@ var init_dialect2 = __esm({
|
|
31581
31646
|
}
|
31582
31647
|
}
|
31583
31648
|
};
|
31584
|
-
__publicField(SQLiteSyncDialect,
|
31585
|
-
SQLiteAsyncDialect = class extends (
|
31649
|
+
__publicField(SQLiteSyncDialect, _a199, "SQLiteSyncDialect");
|
31650
|
+
SQLiteAsyncDialect = class extends (_b144 = SQLiteDialect, _a200 = entityKind, _b144) {
|
31586
31651
|
async migrate(migrations, session, config) {
|
31587
31652
|
const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
|
31588
31653
|
const migrationTableCreate = sql`
|
@@ -31611,7 +31676,7 @@ var init_dialect2 = __esm({
|
|
31611
31676
|
});
|
31612
31677
|
}
|
31613
31678
|
};
|
31614
|
-
__publicField(SQLiteAsyncDialect,
|
31679
|
+
__publicField(SQLiteAsyncDialect, _a200, "SQLiteAsyncDialect");
|
31615
31680
|
}
|
31616
31681
|
});
|
31617
31682
|
|
@@ -31633,7 +31698,7 @@ function createSetOperator2(type, isAll) {
|
|
31633
31698
|
return leftSelect.addSetOperators(setOperators);
|
31634
31699
|
};
|
31635
31700
|
}
|
31636
|
-
var
|
31701
|
+
var _a201, SQLiteSelectBuilder, _a202, _b145, SQLiteSelectQueryBuilderBase, _a203, _b146, SQLiteSelectBase, getSQLiteSetOperators, union2, unionAll2, intersect2, except2;
|
31637
31702
|
var init_select3 = __esm({
|
31638
31703
|
"../drizzle-orm/dist/sqlite-core/query-builders/select.js"() {
|
31639
31704
|
"use strict";
|
@@ -31647,7 +31712,7 @@ var init_select3 = __esm({
|
|
31647
31712
|
init_utils2();
|
31648
31713
|
init_view_common();
|
31649
31714
|
init_view_base2();
|
31650
|
-
|
31715
|
+
_a201 = entityKind;
|
31651
31716
|
SQLiteSelectBuilder = class {
|
31652
31717
|
constructor(config) {
|
31653
31718
|
__publicField(this, "fields");
|
@@ -31688,8 +31753,8 @@ var init_select3 = __esm({
|
|
31688
31753
|
});
|
31689
31754
|
}
|
31690
31755
|
};
|
31691
|
-
__publicField(SQLiteSelectBuilder,
|
31692
|
-
SQLiteSelectQueryBuilderBase = class extends (
|
31756
|
+
__publicField(SQLiteSelectBuilder, _a201, "SQLiteSelectBuilder");
|
31757
|
+
SQLiteSelectQueryBuilderBase = class extends (_b145 = TypedQueryBuilder, _a202 = entityKind, _b145) {
|
31693
31758
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
31694
31759
|
super();
|
31695
31760
|
__publicField(this, "_");
|
@@ -32194,8 +32259,8 @@ var init_select3 = __esm({
|
|
32194
32259
|
return this;
|
32195
32260
|
}
|
32196
32261
|
};
|
32197
|
-
__publicField(SQLiteSelectQueryBuilderBase,
|
32198
|
-
SQLiteSelectBase = class extends (
|
32262
|
+
__publicField(SQLiteSelectQueryBuilderBase, _a202, "SQLiteSelectQueryBuilder");
|
32263
|
+
SQLiteSelectBase = class extends (_b146 = SQLiteSelectQueryBuilderBase, _a203 = entityKind, _b146) {
|
32199
32264
|
constructor() {
|
32200
32265
|
super(...arguments);
|
32201
32266
|
__publicField(this, "run", (placeholderValues) => {
|
@@ -32233,7 +32298,7 @@ var init_select3 = __esm({
|
|
32233
32298
|
return this.all();
|
32234
32299
|
}
|
32235
32300
|
};
|
32236
|
-
__publicField(SQLiteSelectBase,
|
32301
|
+
__publicField(SQLiteSelectBase, _a203, "SQLiteSelect");
|
32237
32302
|
applyMixins(SQLiteSelectBase, [QueryPromise]);
|
32238
32303
|
getSQLiteSetOperators = () => ({
|
32239
32304
|
union: union2,
|
@@ -32249,7 +32314,7 @@ var init_select3 = __esm({
|
|
32249
32314
|
});
|
32250
32315
|
|
32251
32316
|
// ../drizzle-orm/dist/sqlite-core/query-builders/query-builder.js
|
32252
|
-
var
|
32317
|
+
var _a204, QueryBuilder2;
|
32253
32318
|
var init_query_builder3 = __esm({
|
32254
32319
|
"../drizzle-orm/dist/sqlite-core/query-builders/query-builder.js"() {
|
32255
32320
|
"use strict";
|
@@ -32258,7 +32323,7 @@ var init_query_builder3 = __esm({
|
|
32258
32323
|
init_dialect2();
|
32259
32324
|
init_subquery();
|
32260
32325
|
init_select3();
|
32261
|
-
|
32326
|
+
_a204 = entityKind;
|
32262
32327
|
QueryBuilder2 = class {
|
32263
32328
|
constructor(dialect4) {
|
32264
32329
|
__publicField(this, "dialect");
|
@@ -32320,7 +32385,185 @@ var init_query_builder3 = __esm({
|
|
32320
32385
|
return this.dialect;
|
32321
32386
|
}
|
32322
32387
|
};
|
32323
|
-
__publicField(QueryBuilder2,
|
32388
|
+
__publicField(QueryBuilder2, _a204, "SQLiteQueryBuilder");
|
32389
|
+
}
|
32390
|
+
});
|
32391
|
+
|
32392
|
+
// ../drizzle-orm/dist/sqlite-core/query-builders/insert.js
|
32393
|
+
var _a205, SQLiteInsertBuilder, _a206, _b147, SQLiteInsertBase;
|
32394
|
+
var init_insert2 = __esm({
|
32395
|
+
"../drizzle-orm/dist/sqlite-core/query-builders/insert.js"() {
|
32396
|
+
"use strict";
|
32397
|
+
init_entity();
|
32398
|
+
init_query_promise();
|
32399
|
+
init_sql();
|
32400
|
+
init_table3();
|
32401
|
+
init_table();
|
32402
|
+
init_utils2();
|
32403
|
+
init_query_builder3();
|
32404
|
+
_a205 = entityKind;
|
32405
|
+
SQLiteInsertBuilder = class {
|
32406
|
+
constructor(table4, session, dialect4, withList) {
|
32407
|
+
this.table = table4;
|
32408
|
+
this.session = session;
|
32409
|
+
this.dialect = dialect4;
|
32410
|
+
this.withList = withList;
|
32411
|
+
}
|
32412
|
+
values(values) {
|
32413
|
+
values = Array.isArray(values) ? values : [values];
|
32414
|
+
if (values.length === 0) {
|
32415
|
+
throw new Error("values() must be called with at least one value");
|
32416
|
+
}
|
32417
|
+
const mappedValues = values.map((entry) => {
|
32418
|
+
const result = {};
|
32419
|
+
const cols = this.table[Table2.Symbol.Columns];
|
32420
|
+
for (const colKey of Object.keys(entry)) {
|
32421
|
+
const colValue = entry[colKey];
|
32422
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
32423
|
+
}
|
32424
|
+
return result;
|
32425
|
+
});
|
32426
|
+
return new SQLiteInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
32427
|
+
}
|
32428
|
+
select(selectQuery) {
|
32429
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder2()) : selectQuery;
|
32430
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
32431
|
+
throw new Error(
|
32432
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
32433
|
+
);
|
32434
|
+
}
|
32435
|
+
return new SQLiteInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
|
32436
|
+
}
|
32437
|
+
};
|
32438
|
+
__publicField(SQLiteInsertBuilder, _a205, "SQLiteInsertBuilder");
|
32439
|
+
SQLiteInsertBase = class extends (_b147 = QueryPromise, _a206 = entityKind, _b147) {
|
32440
|
+
constructor(table4, values, session, dialect4, withList, select) {
|
32441
|
+
super();
|
32442
|
+
/** @internal */
|
32443
|
+
__publicField(this, "config");
|
32444
|
+
__publicField(this, "run", (placeholderValues) => {
|
32445
|
+
return this._prepare().run(placeholderValues);
|
32446
|
+
});
|
32447
|
+
__publicField(this, "all", (placeholderValues) => {
|
32448
|
+
return this._prepare().all(placeholderValues);
|
32449
|
+
});
|
32450
|
+
__publicField(this, "get", (placeholderValues) => {
|
32451
|
+
return this._prepare().get(placeholderValues);
|
32452
|
+
});
|
32453
|
+
__publicField(this, "values", (placeholderValues) => {
|
32454
|
+
return this._prepare().values(placeholderValues);
|
32455
|
+
});
|
32456
|
+
this.session = session;
|
32457
|
+
this.dialect = dialect4;
|
32458
|
+
this.config = { table: table4, values, withList, select };
|
32459
|
+
}
|
32460
|
+
returning(fields = this.config.table[SQLiteTable.Symbol.Columns]) {
|
32461
|
+
this.config.returning = orderSelectedFields(fields);
|
32462
|
+
return this;
|
32463
|
+
}
|
32464
|
+
/**
|
32465
|
+
* Adds an `on conflict do nothing` clause to the query.
|
32466
|
+
*
|
32467
|
+
* Calling this method simply avoids inserting a row as its alternative action.
|
32468
|
+
*
|
32469
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
32470
|
+
*
|
32471
|
+
* @param config The `target` and `where` clauses.
|
32472
|
+
*
|
32473
|
+
* @example
|
32474
|
+
* ```ts
|
32475
|
+
* // Insert one row and cancel the insert if there's a conflict
|
32476
|
+
* await db.insert(cars)
|
32477
|
+
* .values({ id: 1, brand: 'BMW' })
|
32478
|
+
* .onConflictDoNothing();
|
32479
|
+
*
|
32480
|
+
* // Explicitly specify conflict target
|
32481
|
+
* await db.insert(cars)
|
32482
|
+
* .values({ id: 1, brand: 'BMW' })
|
32483
|
+
* .onConflictDoNothing({ target: cars.id });
|
32484
|
+
* ```
|
32485
|
+
*/
|
32486
|
+
onConflictDoNothing(config = {}) {
|
32487
|
+
if (config.target === void 0) {
|
32488
|
+
this.config.onConflict = sql`do nothing`;
|
32489
|
+
} else {
|
32490
|
+
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
32491
|
+
const whereSql = config.where ? sql` where ${config.where}` : sql``;
|
32492
|
+
this.config.onConflict = sql`${targetSql} do nothing${whereSql}`;
|
32493
|
+
}
|
32494
|
+
return this;
|
32495
|
+
}
|
32496
|
+
/**
|
32497
|
+
* Adds an `on conflict do update` clause to the query.
|
32498
|
+
*
|
32499
|
+
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
32500
|
+
*
|
32501
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
32502
|
+
*
|
32503
|
+
* @param config The `target`, `set` and `where` clauses.
|
32504
|
+
*
|
32505
|
+
* @example
|
32506
|
+
* ```ts
|
32507
|
+
* // Update the row if there's a conflict
|
32508
|
+
* await db.insert(cars)
|
32509
|
+
* .values({ id: 1, brand: 'BMW' })
|
32510
|
+
* .onConflictDoUpdate({
|
32511
|
+
* target: cars.id,
|
32512
|
+
* set: { brand: 'Porsche' }
|
32513
|
+
* });
|
32514
|
+
*
|
32515
|
+
* // Upsert with 'where' clause
|
32516
|
+
* await db.insert(cars)
|
32517
|
+
* .values({ id: 1, brand: 'BMW' })
|
32518
|
+
* .onConflictDoUpdate({
|
32519
|
+
* target: cars.id,
|
32520
|
+
* set: { brand: 'newBMW' },
|
32521
|
+
* where: sql`${cars.createdAt} > '2023-01-01'::date`,
|
32522
|
+
* });
|
32523
|
+
* ```
|
32524
|
+
*/
|
32525
|
+
onConflictDoUpdate(config) {
|
32526
|
+
if (config.where && (config.targetWhere || config.setWhere)) {
|
32527
|
+
throw new Error(
|
32528
|
+
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
32529
|
+
);
|
32530
|
+
}
|
32531
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
32532
|
+
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
32533
|
+
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
32534
|
+
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
32535
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
32536
|
+
this.config.onConflict = sql`${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
32537
|
+
return this;
|
32538
|
+
}
|
32539
|
+
/** @internal */
|
32540
|
+
getSQL() {
|
32541
|
+
return this.dialect.buildInsertQuery(this.config);
|
32542
|
+
}
|
32543
|
+
toSQL() {
|
32544
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
32545
|
+
return rest;
|
32546
|
+
}
|
32547
|
+
/** @internal */
|
32548
|
+
_prepare(isOneTimeQuery = true) {
|
32549
|
+
return this.session[isOneTimeQuery ? "prepareOneTimeQuery" : "prepareQuery"](
|
32550
|
+
this.dialect.sqlToQuery(this.getSQL()),
|
32551
|
+
this.config.returning,
|
32552
|
+
this.config.returning ? "all" : "run",
|
32553
|
+
true
|
32554
|
+
);
|
32555
|
+
}
|
32556
|
+
prepare() {
|
32557
|
+
return this._prepare(false);
|
32558
|
+
}
|
32559
|
+
async execute() {
|
32560
|
+
return this.config.returning ? this.all() : this.run();
|
32561
|
+
}
|
32562
|
+
$dynamic() {
|
32563
|
+
return this;
|
32564
|
+
}
|
32565
|
+
};
|
32566
|
+
__publicField(SQLiteInsertBase, _a206, "SQLiteInsert");
|
32324
32567
|
}
|
32325
32568
|
});
|
32326
32569
|
|
@@ -32340,8 +32583,11 @@ var init_update2 = __esm({
|
|
32340
32583
|
init_query_promise();
|
32341
32584
|
init_selection_proxy();
|
32342
32585
|
init_table3();
|
32586
|
+
init_subquery();
|
32343
32587
|
init_table();
|
32344
32588
|
init_utils2();
|
32589
|
+
init_view_common();
|
32590
|
+
init_view_base2();
|
32345
32591
|
_a207 = entityKind;
|
32346
32592
|
SQLiteUpdateBuilder = class {
|
32347
32593
|
constructor(table4, session, dialect4, withList) {
|
@@ -32366,6 +32612,10 @@ var init_update2 = __esm({
|
|
32366
32612
|
super();
|
32367
32613
|
/** @internal */
|
32368
32614
|
__publicField(this, "config");
|
32615
|
+
__publicField(this, "leftJoin", this.createJoin("left"));
|
32616
|
+
__publicField(this, "rightJoin", this.createJoin("right"));
|
32617
|
+
__publicField(this, "innerJoin", this.createJoin("inner"));
|
32618
|
+
__publicField(this, "fullJoin", this.createJoin("full"));
|
32369
32619
|
__publicField(this, "run", (placeholderValues) => {
|
32370
32620
|
return this._prepare().run(placeholderValues);
|
32371
32621
|
});
|
@@ -32380,7 +32630,34 @@ var init_update2 = __esm({
|
|
32380
32630
|
});
|
32381
32631
|
this.session = session;
|
32382
32632
|
this.dialect = dialect4;
|
32383
|
-
this.config = { set, table: table4, withList };
|
32633
|
+
this.config = { set, table: table4, withList, joins: [] };
|
32634
|
+
}
|
32635
|
+
from(source) {
|
32636
|
+
this.config.from = source;
|
32637
|
+
return this;
|
32638
|
+
}
|
32639
|
+
createJoin(joinType) {
|
32640
|
+
return (table4, on) => {
|
32641
|
+
const tableName = getTableLikeName(table4);
|
32642
|
+
if (typeof tableName === "string" && this.config.joins.some((join) => join.alias === tableName)) {
|
32643
|
+
throw new Error(`Alias "${tableName}" is already used in this query`);
|
32644
|
+
}
|
32645
|
+
if (typeof on === "function") {
|
32646
|
+
const from = this.config.from ? is(table4, SQLiteTable) ? table4[Table2.Symbol.Columns] : is(table4, Subquery) ? table4._.selectedFields : is(table4, SQLiteViewBase) ? table4[ViewBaseConfig].selectedFields : void 0 : void 0;
|
32647
|
+
on = on(
|
32648
|
+
new Proxy(
|
32649
|
+
this.config.table[Table2.Symbol.Columns],
|
32650
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
32651
|
+
),
|
32652
|
+
from && new Proxy(
|
32653
|
+
from,
|
32654
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
32655
|
+
)
|
32656
|
+
);
|
32657
|
+
}
|
32658
|
+
this.config.joins.push({ on, table: table4, joinType, alias: tableName });
|
32659
|
+
return this;
|
32660
|
+
};
|
32384
32661
|
}
|
32385
32662
|
/**
|
32386
32663
|
* Adds a 'where' clause to the query.
|
@@ -35678,131 +35955,6 @@ var init_delete3 = __esm({
|
|
35678
35955
|
}
|
35679
35956
|
});
|
35680
35957
|
|
35681
|
-
// ../drizzle-orm/dist/mysql-core/query-builders/insert.js
|
35682
|
-
var _a299, MySqlInsertBuilder, _a300, _b222, MySqlInsertBase;
|
35683
|
-
var init_insert3 = __esm({
|
35684
|
-
"../drizzle-orm/dist/mysql-core/query-builders/insert.js"() {
|
35685
|
-
"use strict";
|
35686
|
-
init_entity();
|
35687
|
-
init_query_promise();
|
35688
|
-
init_sql();
|
35689
|
-
init_table();
|
35690
|
-
init_utils2();
|
35691
|
-
_a299 = entityKind;
|
35692
|
-
MySqlInsertBuilder = class {
|
35693
|
-
constructor(table4, session, dialect4) {
|
35694
|
-
__publicField(this, "shouldIgnore", false);
|
35695
|
-
this.table = table4;
|
35696
|
-
this.session = session;
|
35697
|
-
this.dialect = dialect4;
|
35698
|
-
}
|
35699
|
-
ignore() {
|
35700
|
-
this.shouldIgnore = true;
|
35701
|
-
return this;
|
35702
|
-
}
|
35703
|
-
values(values) {
|
35704
|
-
values = Array.isArray(values) ? values : [values];
|
35705
|
-
if (values.length === 0) {
|
35706
|
-
throw new Error("values() must be called with at least one value");
|
35707
|
-
}
|
35708
|
-
const mappedValues = values.map((entry) => {
|
35709
|
-
const result = {};
|
35710
|
-
const cols = this.table[Table2.Symbol.Columns];
|
35711
|
-
for (const colKey of Object.keys(entry)) {
|
35712
|
-
const colValue = entry[colKey];
|
35713
|
-
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
35714
|
-
}
|
35715
|
-
return result;
|
35716
|
-
});
|
35717
|
-
return new MySqlInsertBase(this.table, mappedValues, this.shouldIgnore, this.session, this.dialect);
|
35718
|
-
}
|
35719
|
-
};
|
35720
|
-
__publicField(MySqlInsertBuilder, _a299, "MySqlInsertBuilder");
|
35721
|
-
MySqlInsertBase = class extends (_b222 = QueryPromise, _a300 = entityKind, _b222) {
|
35722
|
-
constructor(table4, values, ignore, session, dialect4) {
|
35723
|
-
super();
|
35724
|
-
__publicField(this, "config");
|
35725
|
-
__publicField(this, "execute", (placeholderValues) => {
|
35726
|
-
return this.prepare().execute(placeholderValues);
|
35727
|
-
});
|
35728
|
-
__publicField(this, "createIterator", () => {
|
35729
|
-
const self2 = this;
|
35730
|
-
return async function* (placeholderValues) {
|
35731
|
-
yield* self2.prepare().iterator(placeholderValues);
|
35732
|
-
};
|
35733
|
-
});
|
35734
|
-
__publicField(this, "iterator", this.createIterator());
|
35735
|
-
this.session = session;
|
35736
|
-
this.dialect = dialect4;
|
35737
|
-
this.config = { table: table4, values, ignore };
|
35738
|
-
}
|
35739
|
-
/**
|
35740
|
-
* Adds an `on duplicate key update` clause to the query.
|
35741
|
-
*
|
35742
|
-
* Calling this method will update the row if any unique index conflicts. MySQL will automatically determine the conflict target based on the primary key and unique indexes.
|
35743
|
-
*
|
35744
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#on-duplicate-key-update}
|
35745
|
-
*
|
35746
|
-
* @param config The `set` clause
|
35747
|
-
*
|
35748
|
-
* @example
|
35749
|
-
* ```ts
|
35750
|
-
* await db.insert(cars)
|
35751
|
-
* .values({ id: 1, brand: 'BMW'})
|
35752
|
-
* .onDuplicateKeyUpdate({ set: { brand: 'Porsche' }});
|
35753
|
-
* ```
|
35754
|
-
*
|
35755
|
-
* While MySQL does not directly support doing nothing on conflict, you can perform a no-op by setting any column's value to itself and achieve the same effect:
|
35756
|
-
*
|
35757
|
-
* ```ts
|
35758
|
-
* import { sql } from 'drizzle-orm';
|
35759
|
-
*
|
35760
|
-
* await db.insert(cars)
|
35761
|
-
* .values({ id: 1, brand: 'BMW' })
|
35762
|
-
* .onDuplicateKeyUpdate({ set: { id: sql`id` } });
|
35763
|
-
* ```
|
35764
|
-
*/
|
35765
|
-
onDuplicateKeyUpdate(config) {
|
35766
|
-
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
35767
|
-
this.config.onConflict = sql`update ${setSql}`;
|
35768
|
-
return this;
|
35769
|
-
}
|
35770
|
-
$returningId() {
|
35771
|
-
const returning = [];
|
35772
|
-
for (const [key, value] of Object.entries(this.config.table[Table2.Symbol.Columns])) {
|
35773
|
-
if (value.primary) {
|
35774
|
-
returning.push({ field: value, path: [key] });
|
35775
|
-
}
|
35776
|
-
}
|
35777
|
-
this.config.returning = returning;
|
35778
|
-
return this;
|
35779
|
-
}
|
35780
|
-
/** @internal */
|
35781
|
-
getSQL() {
|
35782
|
-
return this.dialect.buildInsertQuery(this.config).sql;
|
35783
|
-
}
|
35784
|
-
toSQL() {
|
35785
|
-
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
35786
|
-
return rest;
|
35787
|
-
}
|
35788
|
-
prepare() {
|
35789
|
-
const { sql: sql2, generatedIds } = this.dialect.buildInsertQuery(this.config);
|
35790
|
-
return this.session.prepareQuery(
|
35791
|
-
this.dialect.sqlToQuery(sql2),
|
35792
|
-
void 0,
|
35793
|
-
void 0,
|
35794
|
-
generatedIds,
|
35795
|
-
this.config.returning
|
35796
|
-
);
|
35797
|
-
}
|
35798
|
-
$dynamic() {
|
35799
|
-
return this;
|
35800
|
-
}
|
35801
|
-
};
|
35802
|
-
__publicField(MySqlInsertBase, _a300, "MySqlInsert");
|
35803
|
-
}
|
35804
|
-
});
|
35805
|
-
|
35806
35958
|
// ../drizzle-orm/dist/mysql-core/columns/all.js
|
35807
35959
|
function getMySqlColumnBuilders() {
|
35808
35960
|
return {
|
@@ -35883,7 +36035,7 @@ function mysqlTableWithSchema(name2, columns, extraConfig, schema4, baseName = n
|
|
35883
36035
|
}
|
35884
36036
|
return table4;
|
35885
36037
|
}
|
35886
|
-
var InlineForeignKeys3,
|
36038
|
+
var InlineForeignKeys3, _a299, _b222, _c9, _d4, _e4, MySqlTable, mysqlTable;
|
35887
36039
|
var init_table4 = __esm({
|
35888
36040
|
"../drizzle-orm/dist/mysql-core/table.js"() {
|
35889
36041
|
"use strict";
|
@@ -35891,15 +36043,15 @@ var init_table4 = __esm({
|
|
35891
36043
|
init_table();
|
35892
36044
|
init_all3();
|
35893
36045
|
InlineForeignKeys3 = Symbol.for("drizzle:MySqlInlineForeignKeys");
|
35894
|
-
MySqlTable = class extends (_e4 = Table2, _d4 = entityKind, _c9 = Table2.Symbol.Columns,
|
36046
|
+
MySqlTable = class extends (_e4 = Table2, _d4 = entityKind, _c9 = Table2.Symbol.Columns, _b222 = InlineForeignKeys3, _a299 = Table2.Symbol.ExtraConfigBuilder, _e4) {
|
35895
36047
|
constructor() {
|
35896
36048
|
super(...arguments);
|
35897
36049
|
/** @internal */
|
35898
36050
|
__publicField(this, _c9);
|
35899
36051
|
/** @internal */
|
35900
|
-
__publicField(this,
|
36052
|
+
__publicField(this, _b222, []);
|
35901
36053
|
/** @internal */
|
35902
|
-
__publicField(this,
|
36054
|
+
__publicField(this, _a299);
|
35903
36055
|
}
|
35904
36056
|
};
|
35905
36057
|
__publicField(MySqlTable, _d4, "MySqlTable");
|
@@ -35914,20 +36066,20 @@ var init_table4 = __esm({
|
|
35914
36066
|
});
|
35915
36067
|
|
35916
36068
|
// ../drizzle-orm/dist/mysql-core/view-base.js
|
35917
|
-
var
|
36069
|
+
var _a300, _b223, MySqlViewBase;
|
35918
36070
|
var init_view_base3 = __esm({
|
35919
36071
|
"../drizzle-orm/dist/mysql-core/view-base.js"() {
|
35920
36072
|
"use strict";
|
35921
36073
|
init_entity();
|
35922
36074
|
init_sql();
|
35923
|
-
MySqlViewBase = class extends (
|
36075
|
+
MySqlViewBase = class extends (_b223 = View3, _a300 = entityKind, _b223) {
|
35924
36076
|
};
|
35925
|
-
__publicField(MySqlViewBase,
|
36077
|
+
__publicField(MySqlViewBase, _a300, "MySqlViewBase");
|
35926
36078
|
}
|
35927
36079
|
});
|
35928
36080
|
|
35929
36081
|
// ../drizzle-orm/dist/mysql-core/dialect.js
|
35930
|
-
var
|
36082
|
+
var _a301, MySqlDialect;
|
35931
36083
|
var init_dialect3 = __esm({
|
35932
36084
|
"../drizzle-orm/dist/mysql-core/dialect.js"() {
|
35933
36085
|
"use strict";
|
@@ -35946,7 +36098,7 @@ var init_dialect3 = __esm({
|
|
35946
36098
|
init_common4();
|
35947
36099
|
init_table4();
|
35948
36100
|
init_view_base3();
|
35949
|
-
|
36101
|
+
_a301 = entityKind;
|
35950
36102
|
MySqlDialect = class {
|
35951
36103
|
constructor(config) {
|
35952
36104
|
/** @internal */
|
@@ -36229,7 +36381,7 @@ var init_dialect3 = __esm({
|
|
36229
36381
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
36230
36382
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
36231
36383
|
}
|
36232
|
-
buildInsertQuery({ table: table4, values, ignore, onConflict }) {
|
36384
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, ignore, onConflict, select }) {
|
36233
36385
|
const valuesSqlList = [];
|
36234
36386
|
const columns = table4[Table2.Symbol.Columns];
|
36235
36387
|
const colEntries = Object.entries(columns).filter(
|
@@ -36237,42 +36389,53 @@ var init_dialect3 = __esm({
|
|
36237
36389
|
);
|
36238
36390
|
const insertOrder = colEntries.map(([, column4]) => sql.identifier(this.casing.getColumnCasing(column4)));
|
36239
36391
|
const generatedIdsResponse = [];
|
36240
|
-
|
36241
|
-
const
|
36242
|
-
|
36243
|
-
|
36244
|
-
|
36245
|
-
|
36246
|
-
|
36247
|
-
|
36248
|
-
|
36249
|
-
|
36250
|
-
|
36251
|
-
|
36252
|
-
|
36253
|
-
|
36254
|
-
|
36392
|
+
if (select) {
|
36393
|
+
const select2 = valuesOrSelect;
|
36394
|
+
if (is(select2, SQL)) {
|
36395
|
+
valuesSqlList.push(select2);
|
36396
|
+
} else {
|
36397
|
+
valuesSqlList.push(select2.getSQL());
|
36398
|
+
}
|
36399
|
+
} else {
|
36400
|
+
const values = valuesOrSelect;
|
36401
|
+
valuesSqlList.push(sql.raw("values "));
|
36402
|
+
for (const [valueIndex, value] of values.entries()) {
|
36403
|
+
const generatedIds = {};
|
36404
|
+
const valueList = [];
|
36405
|
+
for (const [fieldName, col] of colEntries) {
|
36406
|
+
const colValue = value[fieldName];
|
36407
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
36408
|
+
if (col.defaultFn !== void 0) {
|
36409
|
+
const defaultFnResult = col.defaultFn();
|
36410
|
+
generatedIds[fieldName] = defaultFnResult;
|
36411
|
+
const defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
36412
|
+
valueList.push(defaultValue);
|
36413
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
36414
|
+
const onUpdateFnResult = col.onUpdateFn();
|
36415
|
+
const newValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
36416
|
+
valueList.push(newValue);
|
36417
|
+
} else {
|
36418
|
+
valueList.push(sql`default`);
|
36419
|
+
}
|
36255
36420
|
} else {
|
36256
|
-
|
36257
|
-
|
36258
|
-
|
36259
|
-
|
36260
|
-
generatedIds[fieldName] = colValue.value;
|
36421
|
+
if (col.defaultFn && is(colValue, Param)) {
|
36422
|
+
generatedIds[fieldName] = colValue.value;
|
36423
|
+
}
|
36424
|
+
valueList.push(colValue);
|
36261
36425
|
}
|
36262
|
-
valueList.push(colValue);
|
36263
36426
|
}
|
36264
|
-
|
36265
|
-
|
36266
|
-
|
36267
|
-
|
36268
|
-
|
36427
|
+
generatedIdsResponse.push(generatedIds);
|
36428
|
+
valuesSqlList.push(valueList);
|
36429
|
+
if (valueIndex < values.length - 1) {
|
36430
|
+
valuesSqlList.push(sql`, `);
|
36431
|
+
}
|
36269
36432
|
}
|
36270
36433
|
}
|
36271
36434
|
const valuesSql = sql.join(valuesSqlList);
|
36272
36435
|
const ignoreSql = ignore ? sql` ignore` : void 0;
|
36273
36436
|
const onConflictSql = onConflict ? sql` on duplicate key ${onConflict}` : void 0;
|
36274
36437
|
return {
|
36275
|
-
sql: sql`insert${ignoreSql} into ${table4} ${insertOrder}
|
36438
|
+
sql: sql`insert${ignoreSql} into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}`,
|
36276
36439
|
generatedIds: generatedIdsResponse
|
36277
36440
|
};
|
36278
36441
|
}
|
@@ -36732,7 +36895,7 @@ var init_dialect3 = __esm({
|
|
36732
36895
|
};
|
36733
36896
|
}
|
36734
36897
|
};
|
36735
|
-
__publicField(MySqlDialect,
|
36898
|
+
__publicField(MySqlDialect, _a301, "MySqlDialect");
|
36736
36899
|
}
|
36737
36900
|
});
|
36738
36901
|
|
@@ -36754,7 +36917,7 @@ function createSetOperator3(type, isAll) {
|
|
36754
36917
|
return leftSelect.addSetOperators(setOperators);
|
36755
36918
|
};
|
36756
36919
|
}
|
36757
|
-
var
|
36920
|
+
var _a302, MySqlSelectBuilder, _a303, _b224, MySqlSelectQueryBuilderBase, _a304, _b225, MySqlSelectBase, getMySqlSetOperators, union3, unionAll3, intersect3, intersectAll2, except3, exceptAll2;
|
36758
36921
|
var init_select4 = __esm({
|
36759
36922
|
"../drizzle-orm/dist/mysql-core/query-builders/select.js"() {
|
36760
36923
|
"use strict";
|
@@ -36769,7 +36932,7 @@ var init_select4 = __esm({
|
|
36769
36932
|
init_utils2();
|
36770
36933
|
init_view_common();
|
36771
36934
|
init_view_base3();
|
36772
|
-
|
36935
|
+
_a302 = entityKind;
|
36773
36936
|
MySqlSelectBuilder = class {
|
36774
36937
|
constructor(config) {
|
36775
36938
|
__publicField(this, "fields");
|
@@ -36814,8 +36977,8 @@ var init_select4 = __esm({
|
|
36814
36977
|
);
|
36815
36978
|
}
|
36816
36979
|
};
|
36817
|
-
__publicField(MySqlSelectBuilder,
|
36818
|
-
MySqlSelectQueryBuilderBase = class extends (
|
36980
|
+
__publicField(MySqlSelectBuilder, _a302, "MySqlSelectBuilder");
|
36981
|
+
MySqlSelectQueryBuilderBase = class extends (_b224 = TypedQueryBuilder, _a303 = entityKind, _b224) {
|
36819
36982
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
36820
36983
|
super();
|
36821
36984
|
__publicField(this, "_");
|
@@ -37416,8 +37579,8 @@ var init_select4 = __esm({
|
|
37416
37579
|
return this;
|
37417
37580
|
}
|
37418
37581
|
};
|
37419
|
-
__publicField(MySqlSelectQueryBuilderBase,
|
37420
|
-
MySqlSelectBase = class extends (
|
37582
|
+
__publicField(MySqlSelectQueryBuilderBase, _a303, "MySqlSelectQueryBuilder");
|
37583
|
+
MySqlSelectBase = class extends (_b225 = MySqlSelectQueryBuilderBase, _a304 = entityKind, _b225) {
|
37421
37584
|
constructor() {
|
37422
37585
|
super(...arguments);
|
37423
37586
|
__publicField(this, "execute", (placeholderValues) => {
|
@@ -37441,7 +37604,7 @@ var init_select4 = __esm({
|
|
37441
37604
|
return query;
|
37442
37605
|
}
|
37443
37606
|
};
|
37444
|
-
__publicField(MySqlSelectBase,
|
37607
|
+
__publicField(MySqlSelectBase, _a304, "MySqlSelect");
|
37445
37608
|
applyMixins(MySqlSelectBase, [QueryPromise]);
|
37446
37609
|
getMySqlSetOperators = () => ({
|
37447
37610
|
union: union3,
|
@@ -37461,7 +37624,7 @@ var init_select4 = __esm({
|
|
37461
37624
|
});
|
37462
37625
|
|
37463
37626
|
// ../drizzle-orm/dist/mysql-core/query-builders/query-builder.js
|
37464
|
-
var
|
37627
|
+
var _a305, QueryBuilder3;
|
37465
37628
|
var init_query_builder4 = __esm({
|
37466
37629
|
"../drizzle-orm/dist/mysql-core/query-builders/query-builder.js"() {
|
37467
37630
|
"use strict";
|
@@ -37470,7 +37633,7 @@ var init_query_builder4 = __esm({
|
|
37470
37633
|
init_selection_proxy();
|
37471
37634
|
init_subquery();
|
37472
37635
|
init_select4();
|
37473
|
-
|
37636
|
+
_a305 = entityKind;
|
37474
37637
|
QueryBuilder3 = class {
|
37475
37638
|
constructor(dialect4) {
|
37476
37639
|
__publicField(this, "dialect");
|
@@ -37532,7 +37695,142 @@ var init_query_builder4 = __esm({
|
|
37532
37695
|
return this.dialect;
|
37533
37696
|
}
|
37534
37697
|
};
|
37535
|
-
__publicField(QueryBuilder3,
|
37698
|
+
__publicField(QueryBuilder3, _a305, "MySqlQueryBuilder");
|
37699
|
+
}
|
37700
|
+
});
|
37701
|
+
|
37702
|
+
// ../drizzle-orm/dist/mysql-core/query-builders/insert.js
|
37703
|
+
var _a306, MySqlInsertBuilder, _a307, _b226, MySqlInsertBase;
|
37704
|
+
var init_insert3 = __esm({
|
37705
|
+
"../drizzle-orm/dist/mysql-core/query-builders/insert.js"() {
|
37706
|
+
"use strict";
|
37707
|
+
init_entity();
|
37708
|
+
init_query_promise();
|
37709
|
+
init_sql();
|
37710
|
+
init_table();
|
37711
|
+
init_utils2();
|
37712
|
+
init_query_builder4();
|
37713
|
+
_a306 = entityKind;
|
37714
|
+
MySqlInsertBuilder = class {
|
37715
|
+
constructor(table4, session, dialect4) {
|
37716
|
+
__publicField(this, "shouldIgnore", false);
|
37717
|
+
this.table = table4;
|
37718
|
+
this.session = session;
|
37719
|
+
this.dialect = dialect4;
|
37720
|
+
}
|
37721
|
+
ignore() {
|
37722
|
+
this.shouldIgnore = true;
|
37723
|
+
return this;
|
37724
|
+
}
|
37725
|
+
values(values) {
|
37726
|
+
values = Array.isArray(values) ? values : [values];
|
37727
|
+
if (values.length === 0) {
|
37728
|
+
throw new Error("values() must be called with at least one value");
|
37729
|
+
}
|
37730
|
+
const mappedValues = values.map((entry) => {
|
37731
|
+
const result = {};
|
37732
|
+
const cols = this.table[Table2.Symbol.Columns];
|
37733
|
+
for (const colKey of Object.keys(entry)) {
|
37734
|
+
const colValue = entry[colKey];
|
37735
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
37736
|
+
}
|
37737
|
+
return result;
|
37738
|
+
});
|
37739
|
+
return new MySqlInsertBase(this.table, mappedValues, this.shouldIgnore, this.session, this.dialect);
|
37740
|
+
}
|
37741
|
+
select(selectQuery) {
|
37742
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder3()) : selectQuery;
|
37743
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
37744
|
+
throw new Error(
|
37745
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
37746
|
+
);
|
37747
|
+
}
|
37748
|
+
return new MySqlInsertBase(this.table, select, this.shouldIgnore, this.session, this.dialect, true);
|
37749
|
+
}
|
37750
|
+
};
|
37751
|
+
__publicField(MySqlInsertBuilder, _a306, "MySqlInsertBuilder");
|
37752
|
+
MySqlInsertBase = class extends (_b226 = QueryPromise, _a307 = entityKind, _b226) {
|
37753
|
+
constructor(table4, values, ignore, session, dialect4, select) {
|
37754
|
+
super();
|
37755
|
+
__publicField(this, "config");
|
37756
|
+
__publicField(this, "execute", (placeholderValues) => {
|
37757
|
+
return this.prepare().execute(placeholderValues);
|
37758
|
+
});
|
37759
|
+
__publicField(this, "createIterator", () => {
|
37760
|
+
const self2 = this;
|
37761
|
+
return async function* (placeholderValues) {
|
37762
|
+
yield* self2.prepare().iterator(placeholderValues);
|
37763
|
+
};
|
37764
|
+
});
|
37765
|
+
__publicField(this, "iterator", this.createIterator());
|
37766
|
+
this.session = session;
|
37767
|
+
this.dialect = dialect4;
|
37768
|
+
this.config = { table: table4, values, select, ignore };
|
37769
|
+
}
|
37770
|
+
/**
|
37771
|
+
* Adds an `on duplicate key update` clause to the query.
|
37772
|
+
*
|
37773
|
+
* Calling this method will update the row if any unique index conflicts. MySQL will automatically determine the conflict target based on the primary key and unique indexes.
|
37774
|
+
*
|
37775
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-duplicate-key-update}
|
37776
|
+
*
|
37777
|
+
* @param config The `set` clause
|
37778
|
+
*
|
37779
|
+
* @example
|
37780
|
+
* ```ts
|
37781
|
+
* await db.insert(cars)
|
37782
|
+
* .values({ id: 1, brand: 'BMW'})
|
37783
|
+
* .onDuplicateKeyUpdate({ set: { brand: 'Porsche' }});
|
37784
|
+
* ```
|
37785
|
+
*
|
37786
|
+
* While MySQL does not directly support doing nothing on conflict, you can perform a no-op by setting any column's value to itself and achieve the same effect:
|
37787
|
+
*
|
37788
|
+
* ```ts
|
37789
|
+
* import { sql } from 'drizzle-orm';
|
37790
|
+
*
|
37791
|
+
* await db.insert(cars)
|
37792
|
+
* .values({ id: 1, brand: 'BMW' })
|
37793
|
+
* .onDuplicateKeyUpdate({ set: { id: sql`id` } });
|
37794
|
+
* ```
|
37795
|
+
*/
|
37796
|
+
onDuplicateKeyUpdate(config) {
|
37797
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
37798
|
+
this.config.onConflict = sql`update ${setSql}`;
|
37799
|
+
return this;
|
37800
|
+
}
|
37801
|
+
$returningId() {
|
37802
|
+
const returning = [];
|
37803
|
+
for (const [key, value] of Object.entries(this.config.table[Table2.Symbol.Columns])) {
|
37804
|
+
if (value.primary) {
|
37805
|
+
returning.push({ field: value, path: [key] });
|
37806
|
+
}
|
37807
|
+
}
|
37808
|
+
this.config.returning = returning;
|
37809
|
+
return this;
|
37810
|
+
}
|
37811
|
+
/** @internal */
|
37812
|
+
getSQL() {
|
37813
|
+
return this.dialect.buildInsertQuery(this.config).sql;
|
37814
|
+
}
|
37815
|
+
toSQL() {
|
37816
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
37817
|
+
return rest;
|
37818
|
+
}
|
37819
|
+
prepare() {
|
37820
|
+
const { sql: sql2, generatedIds } = this.dialect.buildInsertQuery(this.config);
|
37821
|
+
return this.session.prepareQuery(
|
37822
|
+
this.dialect.sqlToQuery(sql2),
|
37823
|
+
void 0,
|
37824
|
+
void 0,
|
37825
|
+
generatedIds,
|
37826
|
+
this.config.returning
|
37827
|
+
);
|
37828
|
+
}
|
37829
|
+
$dynamic() {
|
37830
|
+
return this;
|
37831
|
+
}
|
37832
|
+
};
|
37833
|
+
__publicField(MySqlInsertBase, _a307, "MySqlInsert");
|
37536
37834
|
}
|
37537
37835
|
});
|
37538
37836
|
|