drizzle-kit 0.28.0-cc4f208 → 0.28.1-44b6c8a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api.js +917 -702
- package/api.mjs +917 -702
- package/bin.cjs +1 -1
- package/package.json +1 -1
package/api.mjs
CHANGED
@@ -21126,7 +21126,7 @@ var version;
|
|
21126
21126
|
var init_version = __esm({
|
21127
21127
|
"../drizzle-orm/dist/version.js"() {
|
21128
21128
|
"use strict";
|
21129
|
-
version = "0.36.
|
21129
|
+
version = "0.36.2";
|
21130
21130
|
}
|
21131
21131
|
});
|
21132
21132
|
|
@@ -22149,7 +22149,7 @@ function haveSameKeys(left, right) {
|
|
22149
22149
|
}
|
22150
22150
|
function mapUpdateSet(table4, values) {
|
22151
22151
|
const entries = Object.entries(values).filter(([, value]) => value !== void 0).map(([key, value]) => {
|
22152
|
-
if (is(value, SQL)) {
|
22152
|
+
if (is(value, SQL) || is(value, Column2)) {
|
22153
22153
|
return [key, value];
|
22154
22154
|
} else {
|
22155
22155
|
return [key, new Param(value, table4[Table2.Symbol.Columns][key])];
|
@@ -24659,162 +24659,6 @@ var init_delete = __esm({
|
|
24659
24659
|
}
|
24660
24660
|
});
|
24661
24661
|
|
24662
|
-
// ../drizzle-orm/dist/pg-core/query-builders/insert.js
|
24663
|
-
var _a125, PgInsertBuilder, _a126, _b98, PgInsertBase;
|
24664
|
-
var init_insert = __esm({
|
24665
|
-
"../drizzle-orm/dist/pg-core/query-builders/insert.js"() {
|
24666
|
-
"use strict";
|
24667
|
-
init_entity();
|
24668
|
-
init_query_promise();
|
24669
|
-
init_sql();
|
24670
|
-
init_table();
|
24671
|
-
init_tracing();
|
24672
|
-
init_utils2();
|
24673
|
-
_a125 = entityKind;
|
24674
|
-
PgInsertBuilder = class {
|
24675
|
-
constructor(table4, session, dialect4, withList) {
|
24676
|
-
this.table = table4;
|
24677
|
-
this.session = session;
|
24678
|
-
this.dialect = dialect4;
|
24679
|
-
this.withList = withList;
|
24680
|
-
}
|
24681
|
-
values(values) {
|
24682
|
-
values = Array.isArray(values) ? values : [values];
|
24683
|
-
if (values.length === 0) {
|
24684
|
-
throw new Error("values() must be called with at least one value");
|
24685
|
-
}
|
24686
|
-
const mappedValues = values.map((entry) => {
|
24687
|
-
const result = {};
|
24688
|
-
const cols = this.table[Table2.Symbol.Columns];
|
24689
|
-
for (const colKey of Object.keys(entry)) {
|
24690
|
-
const colValue = entry[colKey];
|
24691
|
-
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
24692
|
-
}
|
24693
|
-
return result;
|
24694
|
-
});
|
24695
|
-
return new PgInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
24696
|
-
}
|
24697
|
-
};
|
24698
|
-
__publicField(PgInsertBuilder, _a125, "PgInsertBuilder");
|
24699
|
-
PgInsertBase = class extends (_b98 = QueryPromise, _a126 = entityKind, _b98) {
|
24700
|
-
constructor(table4, values, session, dialect4, withList) {
|
24701
|
-
super();
|
24702
|
-
__publicField(this, "config");
|
24703
|
-
__publicField(this, "execute", (placeholderValues) => {
|
24704
|
-
return tracer.startActiveSpan("drizzle.operation", () => {
|
24705
|
-
return this._prepare().execute(placeholderValues);
|
24706
|
-
});
|
24707
|
-
});
|
24708
|
-
this.session = session;
|
24709
|
-
this.dialect = dialect4;
|
24710
|
-
this.config = { table: table4, values, withList };
|
24711
|
-
}
|
24712
|
-
returning(fields = this.config.table[Table2.Symbol.Columns]) {
|
24713
|
-
this.config.returning = orderSelectedFields(fields);
|
24714
|
-
return this;
|
24715
|
-
}
|
24716
|
-
/**
|
24717
|
-
* Adds an `on conflict do nothing` clause to the query.
|
24718
|
-
*
|
24719
|
-
* Calling this method simply avoids inserting a row as its alternative action.
|
24720
|
-
*
|
24721
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
24722
|
-
*
|
24723
|
-
* @param config The `target` and `where` clauses.
|
24724
|
-
*
|
24725
|
-
* @example
|
24726
|
-
* ```ts
|
24727
|
-
* // Insert one row and cancel the insert if there's a conflict
|
24728
|
-
* await db.insert(cars)
|
24729
|
-
* .values({ id: 1, brand: 'BMW' })
|
24730
|
-
* .onConflictDoNothing();
|
24731
|
-
*
|
24732
|
-
* // Explicitly specify conflict target
|
24733
|
-
* await db.insert(cars)
|
24734
|
-
* .values({ id: 1, brand: 'BMW' })
|
24735
|
-
* .onConflictDoNothing({ target: cars.id });
|
24736
|
-
* ```
|
24737
|
-
*/
|
24738
|
-
onConflictDoNothing(config = {}) {
|
24739
|
-
if (config.target === void 0) {
|
24740
|
-
this.config.onConflict = sql`do nothing`;
|
24741
|
-
} else {
|
24742
|
-
let targetColumn = "";
|
24743
|
-
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));
|
24744
|
-
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
24745
|
-
this.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;
|
24746
|
-
}
|
24747
|
-
return this;
|
24748
|
-
}
|
24749
|
-
/**
|
24750
|
-
* Adds an `on conflict do update` clause to the query.
|
24751
|
-
*
|
24752
|
-
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
24753
|
-
*
|
24754
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
24755
|
-
*
|
24756
|
-
* @param config The `target`, `set` and `where` clauses.
|
24757
|
-
*
|
24758
|
-
* @example
|
24759
|
-
* ```ts
|
24760
|
-
* // Update the row if there's a conflict
|
24761
|
-
* await db.insert(cars)
|
24762
|
-
* .values({ id: 1, brand: 'BMW' })
|
24763
|
-
* .onConflictDoUpdate({
|
24764
|
-
* target: cars.id,
|
24765
|
-
* set: { brand: 'Porsche' }
|
24766
|
-
* });
|
24767
|
-
*
|
24768
|
-
* // Upsert with 'where' clause
|
24769
|
-
* await db.insert(cars)
|
24770
|
-
* .values({ id: 1, brand: 'BMW' })
|
24771
|
-
* .onConflictDoUpdate({
|
24772
|
-
* target: cars.id,
|
24773
|
-
* set: { brand: 'newBMW' },
|
24774
|
-
* targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,
|
24775
|
-
* });
|
24776
|
-
* ```
|
24777
|
-
*/
|
24778
|
-
onConflictDoUpdate(config) {
|
24779
|
-
if (config.where && (config.targetWhere || config.setWhere)) {
|
24780
|
-
throw new Error(
|
24781
|
-
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
24782
|
-
);
|
24783
|
-
}
|
24784
|
-
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
24785
|
-
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
24786
|
-
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
24787
|
-
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
24788
|
-
let targetColumn = "";
|
24789
|
-
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));
|
24790
|
-
this.config.onConflict = sql`(${sql.raw(targetColumn)})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
24791
|
-
return this;
|
24792
|
-
}
|
24793
|
-
/** @internal */
|
24794
|
-
getSQL() {
|
24795
|
-
return this.dialect.buildInsertQuery(this.config);
|
24796
|
-
}
|
24797
|
-
toSQL() {
|
24798
|
-
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
24799
|
-
return rest;
|
24800
|
-
}
|
24801
|
-
/** @internal */
|
24802
|
-
_prepare(name2) {
|
24803
|
-
return tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
24804
|
-
return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name2, true);
|
24805
|
-
});
|
24806
|
-
}
|
24807
|
-
prepare(name2) {
|
24808
|
-
return this._prepare(name2);
|
24809
|
-
}
|
24810
|
-
$dynamic() {
|
24811
|
-
return this;
|
24812
|
-
}
|
24813
|
-
};
|
24814
|
-
__publicField(PgInsertBase, _a126, "PgInsert");
|
24815
|
-
}
|
24816
|
-
});
|
24817
|
-
|
24818
24662
|
// ../drizzle-orm/dist/casing.js
|
24819
24663
|
function toSnakeCase(input) {
|
24820
24664
|
const words = input.replace(/['\u2019]/g, "").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g) ?? [];
|
@@ -24830,13 +24674,13 @@ function toCamelCase(input) {
|
|
24830
24674
|
function noopCase(input) {
|
24831
24675
|
return input;
|
24832
24676
|
}
|
24833
|
-
var
|
24677
|
+
var _a125, CasingCache;
|
24834
24678
|
var init_casing = __esm({
|
24835
24679
|
"../drizzle-orm/dist/casing.js"() {
|
24836
24680
|
"use strict";
|
24837
24681
|
init_entity();
|
24838
24682
|
init_table();
|
24839
|
-
|
24683
|
+
_a125 = entityKind;
|
24840
24684
|
CasingCache = class {
|
24841
24685
|
constructor(casing2) {
|
24842
24686
|
/** @internal */
|
@@ -24873,25 +24717,25 @@ var init_casing = __esm({
|
|
24873
24717
|
this.cachedTables = {};
|
24874
24718
|
}
|
24875
24719
|
};
|
24876
|
-
__publicField(CasingCache,
|
24720
|
+
__publicField(CasingCache, _a125, "CasingCache");
|
24877
24721
|
}
|
24878
24722
|
});
|
24879
24723
|
|
24880
24724
|
// ../drizzle-orm/dist/pg-core/view-base.js
|
24881
|
-
var
|
24725
|
+
var _a126, _b98, PgViewBase;
|
24882
24726
|
var init_view_base = __esm({
|
24883
24727
|
"../drizzle-orm/dist/pg-core/view-base.js"() {
|
24884
24728
|
"use strict";
|
24885
24729
|
init_entity();
|
24886
24730
|
init_sql();
|
24887
|
-
PgViewBase = class extends (
|
24731
|
+
PgViewBase = class extends (_b98 = View3, _a126 = entityKind, _b98) {
|
24888
24732
|
};
|
24889
|
-
__publicField(PgViewBase,
|
24733
|
+
__publicField(PgViewBase, _a126, "PgViewBase");
|
24890
24734
|
}
|
24891
24735
|
});
|
24892
24736
|
|
24893
24737
|
// ../drizzle-orm/dist/pg-core/dialect.js
|
24894
|
-
var
|
24738
|
+
var _a127, PgDialect;
|
24895
24739
|
var init_dialect = __esm({
|
24896
24740
|
"../drizzle-orm/dist/pg-core/dialect.js"() {
|
24897
24741
|
"use strict";
|
@@ -24910,7 +24754,7 @@ var init_dialect = __esm({
|
|
24910
24754
|
init_utils2();
|
24911
24755
|
init_view_common();
|
24912
24756
|
init_view_base();
|
24913
|
-
|
24757
|
+
_a127 = entityKind;
|
24914
24758
|
PgDialect = class {
|
24915
24759
|
constructor(config) {
|
24916
24760
|
/** @internal */
|
@@ -24990,12 +24834,19 @@ var init_dialect = __esm({
|
|
24990
24834
|
return [res];
|
24991
24835
|
}));
|
24992
24836
|
}
|
24993
|
-
buildUpdateQuery({ table: table4, set, where, returning, withList }) {
|
24837
|
+
buildUpdateQuery({ table: table4, set, where, returning, withList, from, joins }) {
|
24994
24838
|
const withSql = this.buildWithCTE(withList);
|
24839
|
+
const tableName = table4[PgTable.Symbol.Name];
|
24840
|
+
const tableSchema = table4[PgTable.Symbol.Schema];
|
24841
|
+
const origTableName = table4[PgTable.Symbol.OriginalName];
|
24842
|
+
const alias = tableName === origTableName ? void 0 : tableName;
|
24843
|
+
const tableSql = sql`${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`}`;
|
24995
24844
|
const setSql = this.buildUpdateSet(table4, set);
|
24996
|
-
const
|
24845
|
+
const fromSql = from && sql.join([sql.raw(" from "), this.buildFromTable(from)]);
|
24846
|
+
const joinsSql = this.buildJoins(joins);
|
24847
|
+
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: !from })}` : void 0;
|
24997
24848
|
const whereSql = where ? sql` where ${where}` : void 0;
|
24998
|
-
return sql`${withSql}update ${
|
24849
|
+
return sql`${withSql}update ${tableSql} set ${setSql}${fromSql}${joinsSql}${whereSql}${returningSql}`;
|
24999
24850
|
}
|
25000
24851
|
/**
|
25001
24852
|
* Builds selection SQL with provided fields/expressions
|
@@ -25047,6 +24898,54 @@ var init_dialect = __esm({
|
|
25047
24898
|
});
|
25048
24899
|
return sql.join(chunks);
|
25049
24900
|
}
|
24901
|
+
buildJoins(joins) {
|
24902
|
+
if (!joins || joins.length === 0) {
|
24903
|
+
return void 0;
|
24904
|
+
}
|
24905
|
+
const joinsArray = [];
|
24906
|
+
for (const [index4, joinMeta] of joins.entries()) {
|
24907
|
+
if (index4 === 0) {
|
24908
|
+
joinsArray.push(sql` `);
|
24909
|
+
}
|
24910
|
+
const table4 = joinMeta.table;
|
24911
|
+
const lateralSql = joinMeta.lateral ? sql` lateral` : void 0;
|
24912
|
+
if (is(table4, PgTable)) {
|
24913
|
+
const tableName = table4[PgTable.Symbol.Name];
|
24914
|
+
const tableSchema = table4[PgTable.Symbol.Schema];
|
24915
|
+
const origTableName = table4[PgTable.Symbol.OriginalName];
|
24916
|
+
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
24917
|
+
joinsArray.push(
|
24918
|
+
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}`
|
24919
|
+
);
|
24920
|
+
} else if (is(table4, View3)) {
|
24921
|
+
const viewName = table4[ViewBaseConfig].name;
|
24922
|
+
const viewSchema = table4[ViewBaseConfig].schema;
|
24923
|
+
const origViewName = table4[ViewBaseConfig].originalName;
|
24924
|
+
const alias = viewName === origViewName ? void 0 : joinMeta.alias;
|
24925
|
+
joinsArray.push(
|
24926
|
+
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}`
|
24927
|
+
);
|
24928
|
+
} else {
|
24929
|
+
joinsArray.push(
|
24930
|
+
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${table4} on ${joinMeta.on}`
|
24931
|
+
);
|
24932
|
+
}
|
24933
|
+
if (index4 < joins.length - 1) {
|
24934
|
+
joinsArray.push(sql` `);
|
24935
|
+
}
|
24936
|
+
}
|
24937
|
+
return sql.join(joinsArray);
|
24938
|
+
}
|
24939
|
+
buildFromTable(table4) {
|
24940
|
+
if (is(table4, Table2) && table4[Table2.Symbol.OriginalName] !== table4[Table2.Symbol.Name]) {
|
24941
|
+
let fullName = sql`${sql.identifier(table4[Table2.Symbol.OriginalName])}`;
|
24942
|
+
if (table4[Table2.Symbol.Schema]) {
|
24943
|
+
fullName = sql`${sql.identifier(table4[Table2.Symbol.Schema])}.${fullName}`;
|
24944
|
+
}
|
24945
|
+
return sql`${fullName} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
24946
|
+
}
|
24947
|
+
return table4;
|
24948
|
+
}
|
25050
24949
|
buildSelectQuery({
|
25051
24950
|
withList,
|
25052
24951
|
fields,
|
@@ -25081,51 +24980,8 @@ var init_dialect = __esm({
|
|
25081
24980
|
distinctSql = distinct === true ? sql` distinct` : sql` distinct on (${sql.join(distinct.on, sql`, `)})`;
|
25082
24981
|
}
|
25083
24982
|
const selection = this.buildSelection(fieldsList, { isSingleTable });
|
25084
|
-
const tableSql = (
|
25085
|
-
|
25086
|
-
let fullName = sql`${sql.identifier(table4[Table2.Symbol.OriginalName])}`;
|
25087
|
-
if (table4[Table2.Symbol.Schema]) {
|
25088
|
-
fullName = sql`${sql.identifier(table4[Table2.Symbol.Schema])}.${fullName}`;
|
25089
|
-
}
|
25090
|
-
return sql`${fullName} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
25091
|
-
}
|
25092
|
-
return table4;
|
25093
|
-
})();
|
25094
|
-
const joinsArray = [];
|
25095
|
-
if (joins) {
|
25096
|
-
for (const [index4, joinMeta] of joins.entries()) {
|
25097
|
-
if (index4 === 0) {
|
25098
|
-
joinsArray.push(sql` `);
|
25099
|
-
}
|
25100
|
-
const table22 = joinMeta.table;
|
25101
|
-
const lateralSql = joinMeta.lateral ? sql` lateral` : void 0;
|
25102
|
-
if (is(table22, PgTable)) {
|
25103
|
-
const tableName = table22[PgTable.Symbol.Name];
|
25104
|
-
const tableSchema = table22[PgTable.Symbol.Schema];
|
25105
|
-
const origTableName = table22[PgTable.Symbol.OriginalName];
|
25106
|
-
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
25107
|
-
joinsArray.push(
|
25108
|
-
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}`
|
25109
|
-
);
|
25110
|
-
} else if (is(table22, View3)) {
|
25111
|
-
const viewName = table22[ViewBaseConfig].name;
|
25112
|
-
const viewSchema = table22[ViewBaseConfig].schema;
|
25113
|
-
const origViewName = table22[ViewBaseConfig].originalName;
|
25114
|
-
const alias = viewName === origViewName ? void 0 : joinMeta.alias;
|
25115
|
-
joinsArray.push(
|
25116
|
-
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}`
|
25117
|
-
);
|
25118
|
-
} else {
|
25119
|
-
joinsArray.push(
|
25120
|
-
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${table22} on ${joinMeta.on}`
|
25121
|
-
);
|
25122
|
-
}
|
25123
|
-
if (index4 < joins.length - 1) {
|
25124
|
-
joinsArray.push(sql` `);
|
25125
|
-
}
|
25126
|
-
}
|
25127
|
-
}
|
25128
|
-
const joinsSql = sql.join(joinsArray);
|
24983
|
+
const tableSql = this.buildFromTable(table4);
|
24984
|
+
const joinsSql = this.buildJoins(joins);
|
25129
24985
|
const whereSql = where ? sql` where ${where}` : void 0;
|
25130
24986
|
const havingSql = having ? sql` having ${having}` : void 0;
|
25131
24987
|
let orderBySql;
|
@@ -25206,43 +25062,54 @@ var init_dialect = __esm({
|
|
25206
25062
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
25207
25063
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
25208
25064
|
}
|
25209
|
-
buildInsertQuery({ table: table4, values, onConflict, returning, withList }) {
|
25065
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, onConflict, returning, withList, select }) {
|
25210
25066
|
const valuesSqlList = [];
|
25211
25067
|
const columns = table4[Table2.Symbol.Columns];
|
25212
25068
|
const colEntries = Object.entries(columns).filter(([_2, col]) => !col.shouldDisableInsert());
|
25213
25069
|
const insertOrder = colEntries.map(
|
25214
25070
|
([, column4]) => sql.identifier(this.casing.getColumnCasing(column4))
|
25215
25071
|
);
|
25216
|
-
|
25217
|
-
const
|
25218
|
-
|
25219
|
-
|
25220
|
-
|
25221
|
-
|
25222
|
-
|
25223
|
-
|
25224
|
-
|
25225
|
-
|
25226
|
-
|
25227
|
-
|
25228
|
-
|
25072
|
+
if (select) {
|
25073
|
+
const select2 = valuesOrSelect;
|
25074
|
+
if (is(select2, SQL)) {
|
25075
|
+
valuesSqlList.push(select2);
|
25076
|
+
} else {
|
25077
|
+
valuesSqlList.push(select2.getSQL());
|
25078
|
+
}
|
25079
|
+
} else {
|
25080
|
+
const values = valuesOrSelect;
|
25081
|
+
valuesSqlList.push(sql.raw("values "));
|
25082
|
+
for (const [valueIndex, value] of values.entries()) {
|
25083
|
+
const valueList = [];
|
25084
|
+
for (const [fieldName, col] of colEntries) {
|
25085
|
+
const colValue = value[fieldName];
|
25086
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
25087
|
+
if (col.defaultFn !== void 0) {
|
25088
|
+
const defaultFnResult = col.defaultFn();
|
25089
|
+
const defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
25090
|
+
valueList.push(defaultValue);
|
25091
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
25092
|
+
const onUpdateFnResult = col.onUpdateFn();
|
25093
|
+
const newValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
25094
|
+
valueList.push(newValue);
|
25095
|
+
} else {
|
25096
|
+
valueList.push(sql`default`);
|
25097
|
+
}
|
25229
25098
|
} else {
|
25230
|
-
valueList.push(
|
25099
|
+
valueList.push(colValue);
|
25231
25100
|
}
|
25232
|
-
} else {
|
25233
|
-
valueList.push(colValue);
|
25234
25101
|
}
|
25235
|
-
|
25236
|
-
|
25237
|
-
|
25238
|
-
|
25102
|
+
valuesSqlList.push(valueList);
|
25103
|
+
if (valueIndex < values.length - 1) {
|
25104
|
+
valuesSqlList.push(sql`, `);
|
25105
|
+
}
|
25239
25106
|
}
|
25240
25107
|
}
|
25241
25108
|
const withSql = this.buildWithCTE(withList);
|
25242
25109
|
const valuesSql = sql.join(valuesSqlList);
|
25243
25110
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
25244
25111
|
const onConflictSql = onConflict ? sql` on conflict ${onConflict}` : void 0;
|
25245
|
-
return sql`${withSql}insert into ${table4} ${insertOrder}
|
25112
|
+
return sql`${withSql}insert into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}${returningSql}`;
|
25246
25113
|
}
|
25247
25114
|
buildRefreshMaterializedViewQuery({ view: view4, concurrently, withNoData }) {
|
25248
25115
|
const concurrentlySql = concurrently ? sql` concurrently` : void 0;
|
@@ -25978,12 +25845,12 @@ var init_dialect = __esm({
|
|
25978
25845
|
};
|
25979
25846
|
}
|
25980
25847
|
};
|
25981
|
-
__publicField(PgDialect,
|
25848
|
+
__publicField(PgDialect, _a127, "PgDialect");
|
25982
25849
|
}
|
25983
25850
|
});
|
25984
25851
|
|
25985
25852
|
// ../drizzle-orm/dist/selection-proxy.js
|
25986
|
-
var
|
25853
|
+
var _a128, _SelectionProxyHandler, SelectionProxyHandler;
|
25987
25854
|
var init_selection_proxy = __esm({
|
25988
25855
|
"../drizzle-orm/dist/selection-proxy.js"() {
|
25989
25856
|
"use strict";
|
@@ -25993,7 +25860,7 @@ var init_selection_proxy = __esm({
|
|
25993
25860
|
init_sql();
|
25994
25861
|
init_subquery();
|
25995
25862
|
init_view_common();
|
25996
|
-
|
25863
|
+
_a128 = entityKind;
|
25997
25864
|
_SelectionProxyHandler = class _SelectionProxyHandler {
|
25998
25865
|
constructor(config) {
|
25999
25866
|
__publicField(this, "config");
|
@@ -26059,25 +25926,25 @@ var init_selection_proxy = __esm({
|
|
26059
25926
|
return new Proxy(value, new _SelectionProxyHandler(this.config));
|
26060
25927
|
}
|
26061
25928
|
};
|
26062
|
-
__publicField(_SelectionProxyHandler,
|
25929
|
+
__publicField(_SelectionProxyHandler, _a128, "SelectionProxyHandler");
|
26063
25930
|
SelectionProxyHandler = _SelectionProxyHandler;
|
26064
25931
|
}
|
26065
25932
|
});
|
26066
25933
|
|
26067
25934
|
// ../drizzle-orm/dist/query-builders/query-builder.js
|
26068
|
-
var
|
25935
|
+
var _a129, TypedQueryBuilder;
|
26069
25936
|
var init_query_builder = __esm({
|
26070
25937
|
"../drizzle-orm/dist/query-builders/query-builder.js"() {
|
26071
25938
|
"use strict";
|
26072
25939
|
init_entity();
|
26073
|
-
|
25940
|
+
_a129 = entityKind;
|
26074
25941
|
TypedQueryBuilder = class {
|
26075
25942
|
/** @internal */
|
26076
25943
|
getSelectedFields() {
|
26077
25944
|
return this._.selectedFields;
|
26078
25945
|
}
|
26079
25946
|
};
|
26080
|
-
__publicField(TypedQueryBuilder,
|
25947
|
+
__publicField(TypedQueryBuilder, _a129, "TypedQueryBuilder");
|
26081
25948
|
}
|
26082
25949
|
});
|
26083
25950
|
|
@@ -26099,7 +25966,7 @@ function createSetOperator(type, isAll) {
|
|
26099
25966
|
return leftSelect.addSetOperators(setOperators);
|
26100
25967
|
};
|
26101
25968
|
}
|
26102
|
-
var
|
25969
|
+
var _a130, PgSelectBuilder, _a131, _b99, PgSelectQueryBuilderBase, _a132, _b100, PgSelectBase, getPgSetOperators, union, unionAll, intersect, intersectAll, except, exceptAll;
|
26103
25970
|
var init_select2 = __esm({
|
26104
25971
|
"../drizzle-orm/dist/pg-core/query-builders/select.js"() {
|
26105
25972
|
"use strict";
|
@@ -26115,7 +25982,7 @@ var init_select2 = __esm({
|
|
26115
25982
|
init_utils2();
|
26116
25983
|
init_utils2();
|
26117
25984
|
init_view_common();
|
26118
|
-
|
25985
|
+
_a130 = entityKind;
|
26119
25986
|
PgSelectBuilder = class {
|
26120
25987
|
constructor(config) {
|
26121
25988
|
__publicField(this, "fields");
|
@@ -26164,8 +26031,8 @@ var init_select2 = __esm({
|
|
26164
26031
|
});
|
26165
26032
|
}
|
26166
26033
|
};
|
26167
|
-
__publicField(PgSelectBuilder,
|
26168
|
-
PgSelectQueryBuilderBase = class extends (
|
26034
|
+
__publicField(PgSelectBuilder, _a130, "PgSelectBuilder");
|
26035
|
+
PgSelectQueryBuilderBase = class extends (_b99 = TypedQueryBuilder, _a131 = entityKind, _b99) {
|
26169
26036
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
26170
26037
|
super();
|
26171
26038
|
__publicField(this, "_");
|
@@ -26765,8 +26632,8 @@ var init_select2 = __esm({
|
|
26765
26632
|
return this;
|
26766
26633
|
}
|
26767
26634
|
};
|
26768
|
-
__publicField(PgSelectQueryBuilderBase,
|
26769
|
-
PgSelectBase = class extends (
|
26635
|
+
__publicField(PgSelectQueryBuilderBase, _a131, "PgSelectQueryBuilder");
|
26636
|
+
PgSelectBase = class extends (_b100 = PgSelectQueryBuilderBase, _a132 = entityKind, _b100) {
|
26770
26637
|
constructor() {
|
26771
26638
|
super(...arguments);
|
26772
26639
|
__publicField(this, "execute", (placeholderValues) => {
|
@@ -26799,7 +26666,7 @@ var init_select2 = __esm({
|
|
26799
26666
|
return this._prepare(name2);
|
26800
26667
|
}
|
26801
26668
|
};
|
26802
|
-
__publicField(PgSelectBase,
|
26669
|
+
__publicField(PgSelectBase, _a132, "PgSelect");
|
26803
26670
|
applyMixins(PgSelectBase, [QueryPromise]);
|
26804
26671
|
getPgSetOperators = () => ({
|
26805
26672
|
union,
|
@@ -26819,7 +26686,7 @@ var init_select2 = __esm({
|
|
26819
26686
|
});
|
26820
26687
|
|
26821
26688
|
// ../drizzle-orm/dist/pg-core/query-builders/query-builder.js
|
26822
|
-
var
|
26689
|
+
var _a133, QueryBuilder;
|
26823
26690
|
var init_query_builder2 = __esm({
|
26824
26691
|
"../drizzle-orm/dist/pg-core/query-builders/query-builder.js"() {
|
26825
26692
|
"use strict";
|
@@ -26828,7 +26695,7 @@ var init_query_builder2 = __esm({
|
|
26828
26695
|
init_selection_proxy();
|
26829
26696
|
init_subquery();
|
26830
26697
|
init_select2();
|
26831
|
-
|
26698
|
+
_a133 = entityKind;
|
26832
26699
|
QueryBuilder = class {
|
26833
26700
|
constructor(dialect4) {
|
26834
26701
|
__publicField(this, "dialect");
|
@@ -26909,41 +26776,207 @@ var init_query_builder2 = __esm({
|
|
26909
26776
|
return this.dialect;
|
26910
26777
|
}
|
26911
26778
|
};
|
26912
|
-
__publicField(QueryBuilder,
|
26779
|
+
__publicField(QueryBuilder, _a133, "PgQueryBuilder");
|
26913
26780
|
}
|
26914
26781
|
});
|
26915
26782
|
|
26916
|
-
// ../drizzle-orm/dist/pg-core/query-builders/
|
26917
|
-
var
|
26918
|
-
var
|
26919
|
-
"../drizzle-orm/dist/pg-core/query-builders/
|
26783
|
+
// ../drizzle-orm/dist/pg-core/query-builders/insert.js
|
26784
|
+
var _a134, PgInsertBuilder, _a135, _b101, PgInsertBase;
|
26785
|
+
var init_insert = __esm({
|
26786
|
+
"../drizzle-orm/dist/pg-core/query-builders/insert.js"() {
|
26920
26787
|
"use strict";
|
26921
26788
|
init_entity();
|
26922
26789
|
init_query_promise();
|
26790
|
+
init_sql();
|
26791
|
+
init_table();
|
26923
26792
|
init_tracing();
|
26924
|
-
|
26925
|
-
|
26926
|
-
|
26927
|
-
|
26928
|
-
|
26929
|
-
|
26930
|
-
return this._prepare().execute(placeholderValues);
|
26931
|
-
});
|
26932
|
-
});
|
26793
|
+
init_utils2();
|
26794
|
+
init_query_builder2();
|
26795
|
+
_a134 = entityKind;
|
26796
|
+
PgInsertBuilder = class {
|
26797
|
+
constructor(table4, session, dialect4, withList) {
|
26798
|
+
this.table = table4;
|
26933
26799
|
this.session = session;
|
26934
26800
|
this.dialect = dialect4;
|
26935
|
-
this.
|
26801
|
+
this.withList = withList;
|
26936
26802
|
}
|
26937
|
-
|
26938
|
-
|
26939
|
-
|
26803
|
+
values(values) {
|
26804
|
+
values = Array.isArray(values) ? values : [values];
|
26805
|
+
if (values.length === 0) {
|
26806
|
+
throw new Error("values() must be called with at least one value");
|
26940
26807
|
}
|
26941
|
-
|
26942
|
-
|
26943
|
-
|
26944
|
-
|
26945
|
-
|
26946
|
-
|
26808
|
+
const mappedValues = values.map((entry) => {
|
26809
|
+
const result = {};
|
26810
|
+
const cols = this.table[Table2.Symbol.Columns];
|
26811
|
+
for (const colKey of Object.keys(entry)) {
|
26812
|
+
const colValue = entry[colKey];
|
26813
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
26814
|
+
}
|
26815
|
+
return result;
|
26816
|
+
});
|
26817
|
+
return new PgInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
26818
|
+
}
|
26819
|
+
select(selectQuery) {
|
26820
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder()) : selectQuery;
|
26821
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
26822
|
+
throw new Error(
|
26823
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
26824
|
+
);
|
26825
|
+
}
|
26826
|
+
return new PgInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
|
26827
|
+
}
|
26828
|
+
};
|
26829
|
+
__publicField(PgInsertBuilder, _a134, "PgInsertBuilder");
|
26830
|
+
PgInsertBase = class extends (_b101 = QueryPromise, _a135 = entityKind, _b101) {
|
26831
|
+
constructor(table4, values, session, dialect4, withList, select) {
|
26832
|
+
super();
|
26833
|
+
__publicField(this, "config");
|
26834
|
+
__publicField(this, "execute", (placeholderValues) => {
|
26835
|
+
return tracer.startActiveSpan("drizzle.operation", () => {
|
26836
|
+
return this._prepare().execute(placeholderValues);
|
26837
|
+
});
|
26838
|
+
});
|
26839
|
+
this.session = session;
|
26840
|
+
this.dialect = dialect4;
|
26841
|
+
this.config = { table: table4, values, withList, select };
|
26842
|
+
}
|
26843
|
+
returning(fields = this.config.table[Table2.Symbol.Columns]) {
|
26844
|
+
this.config.returning = orderSelectedFields(fields);
|
26845
|
+
return this;
|
26846
|
+
}
|
26847
|
+
/**
|
26848
|
+
* Adds an `on conflict do nothing` clause to the query.
|
26849
|
+
*
|
26850
|
+
* Calling this method simply avoids inserting a row as its alternative action.
|
26851
|
+
*
|
26852
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
26853
|
+
*
|
26854
|
+
* @param config The `target` and `where` clauses.
|
26855
|
+
*
|
26856
|
+
* @example
|
26857
|
+
* ```ts
|
26858
|
+
* // Insert one row and cancel the insert if there's a conflict
|
26859
|
+
* await db.insert(cars)
|
26860
|
+
* .values({ id: 1, brand: 'BMW' })
|
26861
|
+
* .onConflictDoNothing();
|
26862
|
+
*
|
26863
|
+
* // Explicitly specify conflict target
|
26864
|
+
* await db.insert(cars)
|
26865
|
+
* .values({ id: 1, brand: 'BMW' })
|
26866
|
+
* .onConflictDoNothing({ target: cars.id });
|
26867
|
+
* ```
|
26868
|
+
*/
|
26869
|
+
onConflictDoNothing(config = {}) {
|
26870
|
+
if (config.target === void 0) {
|
26871
|
+
this.config.onConflict = sql`do nothing`;
|
26872
|
+
} else {
|
26873
|
+
let targetColumn = "";
|
26874
|
+
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));
|
26875
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
26876
|
+
this.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;
|
26877
|
+
}
|
26878
|
+
return this;
|
26879
|
+
}
|
26880
|
+
/**
|
26881
|
+
* Adds an `on conflict do update` clause to the query.
|
26882
|
+
*
|
26883
|
+
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
26884
|
+
*
|
26885
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
26886
|
+
*
|
26887
|
+
* @param config The `target`, `set` and `where` clauses.
|
26888
|
+
*
|
26889
|
+
* @example
|
26890
|
+
* ```ts
|
26891
|
+
* // Update the row if there's a conflict
|
26892
|
+
* await db.insert(cars)
|
26893
|
+
* .values({ id: 1, brand: 'BMW' })
|
26894
|
+
* .onConflictDoUpdate({
|
26895
|
+
* target: cars.id,
|
26896
|
+
* set: { brand: 'Porsche' }
|
26897
|
+
* });
|
26898
|
+
*
|
26899
|
+
* // Upsert with 'where' clause
|
26900
|
+
* await db.insert(cars)
|
26901
|
+
* .values({ id: 1, brand: 'BMW' })
|
26902
|
+
* .onConflictDoUpdate({
|
26903
|
+
* target: cars.id,
|
26904
|
+
* set: { brand: 'newBMW' },
|
26905
|
+
* targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,
|
26906
|
+
* });
|
26907
|
+
* ```
|
26908
|
+
*/
|
26909
|
+
onConflictDoUpdate(config) {
|
26910
|
+
if (config.where && (config.targetWhere || config.setWhere)) {
|
26911
|
+
throw new Error(
|
26912
|
+
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
26913
|
+
);
|
26914
|
+
}
|
26915
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
26916
|
+
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
26917
|
+
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
26918
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
26919
|
+
let targetColumn = "";
|
26920
|
+
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));
|
26921
|
+
this.config.onConflict = sql`(${sql.raw(targetColumn)})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
26922
|
+
return this;
|
26923
|
+
}
|
26924
|
+
/** @internal */
|
26925
|
+
getSQL() {
|
26926
|
+
return this.dialect.buildInsertQuery(this.config);
|
26927
|
+
}
|
26928
|
+
toSQL() {
|
26929
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
26930
|
+
return rest;
|
26931
|
+
}
|
26932
|
+
/** @internal */
|
26933
|
+
_prepare(name2) {
|
26934
|
+
return tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
26935
|
+
return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name2, true);
|
26936
|
+
});
|
26937
|
+
}
|
26938
|
+
prepare(name2) {
|
26939
|
+
return this._prepare(name2);
|
26940
|
+
}
|
26941
|
+
$dynamic() {
|
26942
|
+
return this;
|
26943
|
+
}
|
26944
|
+
};
|
26945
|
+
__publicField(PgInsertBase, _a135, "PgInsert");
|
26946
|
+
}
|
26947
|
+
});
|
26948
|
+
|
26949
|
+
// ../drizzle-orm/dist/pg-core/query-builders/refresh-materialized-view.js
|
26950
|
+
var _a136, _b102, PgRefreshMaterializedView;
|
26951
|
+
var init_refresh_materialized_view = __esm({
|
26952
|
+
"../drizzle-orm/dist/pg-core/query-builders/refresh-materialized-view.js"() {
|
26953
|
+
"use strict";
|
26954
|
+
init_entity();
|
26955
|
+
init_query_promise();
|
26956
|
+
init_tracing();
|
26957
|
+
PgRefreshMaterializedView = class extends (_b102 = QueryPromise, _a136 = entityKind, _b102) {
|
26958
|
+
constructor(view4, session, dialect4) {
|
26959
|
+
super();
|
26960
|
+
__publicField(this, "config");
|
26961
|
+
__publicField(this, "execute", (placeholderValues) => {
|
26962
|
+
return tracer.startActiveSpan("drizzle.operation", () => {
|
26963
|
+
return this._prepare().execute(placeholderValues);
|
26964
|
+
});
|
26965
|
+
});
|
26966
|
+
this.session = session;
|
26967
|
+
this.dialect = dialect4;
|
26968
|
+
this.config = { view: view4 };
|
26969
|
+
}
|
26970
|
+
concurrently() {
|
26971
|
+
if (this.config.withNoData !== void 0) {
|
26972
|
+
throw new Error("Cannot use concurrently and withNoData together");
|
26973
|
+
}
|
26974
|
+
this.config.concurrently = true;
|
26975
|
+
return this;
|
26976
|
+
}
|
26977
|
+
withNoData() {
|
26978
|
+
if (this.config.concurrently !== void 0) {
|
26979
|
+
throw new Error("Cannot use concurrently and withNoData together");
|
26947
26980
|
}
|
26948
26981
|
this.config.withNoData = true;
|
26949
26982
|
return this;
|
@@ -26983,9 +27016,14 @@ var init_update = __esm({
|
|
26983
27016
|
"../drizzle-orm/dist/pg-core/query-builders/update.js"() {
|
26984
27017
|
"use strict";
|
26985
27018
|
init_entity();
|
27019
|
+
init_table2();
|
26986
27020
|
init_query_promise();
|
27021
|
+
init_selection_proxy();
|
27022
|
+
init_sql();
|
27023
|
+
init_subquery();
|
26987
27024
|
init_table();
|
26988
27025
|
init_utils2();
|
27026
|
+
init_view_common();
|
26989
27027
|
_a137 = entityKind;
|
26990
27028
|
PgUpdateBuilder = class {
|
26991
27029
|
constructor(table4, session, dialect4, withList) {
|
@@ -27009,12 +27047,85 @@ var init_update = __esm({
|
|
27009
27047
|
constructor(table4, set, session, dialect4, withList) {
|
27010
27048
|
super();
|
27011
27049
|
__publicField(this, "config");
|
27050
|
+
__publicField(this, "tableName");
|
27051
|
+
__publicField(this, "joinsNotNullableMap");
|
27052
|
+
__publicField(this, "leftJoin", this.createJoin("left"));
|
27053
|
+
__publicField(this, "rightJoin", this.createJoin("right"));
|
27054
|
+
__publicField(this, "innerJoin", this.createJoin("inner"));
|
27055
|
+
__publicField(this, "fullJoin", this.createJoin("full"));
|
27012
27056
|
__publicField(this, "execute", (placeholderValues) => {
|
27013
27057
|
return this._prepare().execute(placeholderValues);
|
27014
27058
|
});
|
27015
27059
|
this.session = session;
|
27016
27060
|
this.dialect = dialect4;
|
27017
|
-
this.config = { set, table: table4, withList };
|
27061
|
+
this.config = { set, table: table4, withList, joins: [] };
|
27062
|
+
this.tableName = getTableLikeName(table4);
|
27063
|
+
this.joinsNotNullableMap = typeof this.tableName === "string" ? { [this.tableName]: true } : {};
|
27064
|
+
}
|
27065
|
+
from(source) {
|
27066
|
+
const tableName = getTableLikeName(source);
|
27067
|
+
if (typeof tableName === "string") {
|
27068
|
+
this.joinsNotNullableMap[tableName] = true;
|
27069
|
+
}
|
27070
|
+
this.config.from = source;
|
27071
|
+
return this;
|
27072
|
+
}
|
27073
|
+
getTableLikeFields(table4) {
|
27074
|
+
if (is(table4, PgTable)) {
|
27075
|
+
return table4[Table2.Symbol.Columns];
|
27076
|
+
} else if (is(table4, Subquery)) {
|
27077
|
+
return table4._.selectedFields;
|
27078
|
+
}
|
27079
|
+
return table4[ViewBaseConfig].selectedFields;
|
27080
|
+
}
|
27081
|
+
createJoin(joinType) {
|
27082
|
+
return (table4, on) => {
|
27083
|
+
const tableName = getTableLikeName(table4);
|
27084
|
+
if (typeof tableName === "string" && this.config.joins.some((join) => join.alias === tableName)) {
|
27085
|
+
throw new Error(`Alias "${tableName}" is already used in this query`);
|
27086
|
+
}
|
27087
|
+
if (typeof on === "function") {
|
27088
|
+
const from = this.config.from && !is(this.config.from, SQL) ? this.getTableLikeFields(this.config.from) : void 0;
|
27089
|
+
on = on(
|
27090
|
+
new Proxy(
|
27091
|
+
this.config.table[Table2.Symbol.Columns],
|
27092
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
27093
|
+
),
|
27094
|
+
from && new Proxy(
|
27095
|
+
from,
|
27096
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
27097
|
+
)
|
27098
|
+
);
|
27099
|
+
}
|
27100
|
+
this.config.joins.push({ on, table: table4, joinType, alias: tableName });
|
27101
|
+
if (typeof tableName === "string") {
|
27102
|
+
switch (joinType) {
|
27103
|
+
case "left": {
|
27104
|
+
this.joinsNotNullableMap[tableName] = false;
|
27105
|
+
break;
|
27106
|
+
}
|
27107
|
+
case "right": {
|
27108
|
+
this.joinsNotNullableMap = Object.fromEntries(
|
27109
|
+
Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false])
|
27110
|
+
);
|
27111
|
+
this.joinsNotNullableMap[tableName] = true;
|
27112
|
+
break;
|
27113
|
+
}
|
27114
|
+
case "inner": {
|
27115
|
+
this.joinsNotNullableMap[tableName] = true;
|
27116
|
+
break;
|
27117
|
+
}
|
27118
|
+
case "full": {
|
27119
|
+
this.joinsNotNullableMap = Object.fromEntries(
|
27120
|
+
Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false])
|
27121
|
+
);
|
27122
|
+
this.joinsNotNullableMap[tableName] = false;
|
27123
|
+
break;
|
27124
|
+
}
|
27125
|
+
}
|
27126
|
+
}
|
27127
|
+
return this;
|
27128
|
+
};
|
27018
27129
|
}
|
27019
27130
|
/**
|
27020
27131
|
* Adds a 'where' clause to the query.
|
@@ -27053,7 +27164,24 @@ var init_update = __esm({
|
|
27053
27164
|
this.config.where = where;
|
27054
27165
|
return this;
|
27055
27166
|
}
|
27056
|
-
returning(fields
|
27167
|
+
returning(fields) {
|
27168
|
+
if (!fields) {
|
27169
|
+
fields = Object.assign({}, this.config.table[Table2.Symbol.Columns]);
|
27170
|
+
if (this.config.from) {
|
27171
|
+
const tableName = getTableLikeName(this.config.from);
|
27172
|
+
if (typeof tableName === "string" && this.config.from && !is(this.config.from, SQL)) {
|
27173
|
+
const fromFields = this.getTableLikeFields(this.config.from);
|
27174
|
+
fields[tableName] = fromFields;
|
27175
|
+
}
|
27176
|
+
for (const join of this.config.joins) {
|
27177
|
+
const tableName2 = getTableLikeName(join.table);
|
27178
|
+
if (typeof tableName2 === "string" && !is(join.table, SQL)) {
|
27179
|
+
const fromFields = this.getTableLikeFields(join.table);
|
27180
|
+
fields[tableName2] = fromFields;
|
27181
|
+
}
|
27182
|
+
}
|
27183
|
+
}
|
27184
|
+
}
|
27057
27185
|
this.config.returning = orderSelectedFields(fields);
|
27058
27186
|
return this;
|
27059
27187
|
}
|
@@ -27067,7 +27195,9 @@ var init_update = __esm({
|
|
27067
27195
|
}
|
27068
27196
|
/** @internal */
|
27069
27197
|
_prepare(name2) {
|
27070
|
-
|
27198
|
+
const query = this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name2, true);
|
27199
|
+
query.joinsNotNullableMap = this.joinsNotNullableMap;
|
27200
|
+
return query;
|
27071
27201
|
}
|
27072
27202
|
prepare(name2) {
|
27073
27203
|
return this._prepare(name2);
|
@@ -30828,189 +30958,21 @@ var init_delete2 = __esm({
|
|
30828
30958
|
}
|
30829
30959
|
});
|
30830
30960
|
|
30831
|
-
// ../drizzle-orm/dist/sqlite-core/
|
30832
|
-
var _a197,
|
30833
|
-
var
|
30834
|
-
"../drizzle-orm/dist/sqlite-core/
|
30961
|
+
// ../drizzle-orm/dist/sqlite-core/view-base.js
|
30962
|
+
var _a197, _b142, SQLiteViewBase;
|
30963
|
+
var init_view_base2 = __esm({
|
30964
|
+
"../drizzle-orm/dist/sqlite-core/view-base.js"() {
|
30835
30965
|
"use strict";
|
30836
30966
|
init_entity();
|
30837
|
-
init_query_promise();
|
30838
30967
|
init_sql();
|
30839
|
-
|
30840
|
-
init_table();
|
30841
|
-
init_utils2();
|
30842
|
-
_a197 = entityKind;
|
30843
|
-
SQLiteInsertBuilder = class {
|
30844
|
-
constructor(table4, session, dialect4, withList) {
|
30845
|
-
this.table = table4;
|
30846
|
-
this.session = session;
|
30847
|
-
this.dialect = dialect4;
|
30848
|
-
this.withList = withList;
|
30849
|
-
}
|
30850
|
-
values(values) {
|
30851
|
-
values = Array.isArray(values) ? values : [values];
|
30852
|
-
if (values.length === 0) {
|
30853
|
-
throw new Error("values() must be called with at least one value");
|
30854
|
-
}
|
30855
|
-
const mappedValues = values.map((entry) => {
|
30856
|
-
const result = {};
|
30857
|
-
const cols = this.table[Table2.Symbol.Columns];
|
30858
|
-
for (const colKey of Object.keys(entry)) {
|
30859
|
-
const colValue = entry[colKey];
|
30860
|
-
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
30861
|
-
}
|
30862
|
-
return result;
|
30863
|
-
});
|
30864
|
-
return new SQLiteInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
30865
|
-
}
|
30866
|
-
};
|
30867
|
-
__publicField(SQLiteInsertBuilder, _a197, "SQLiteInsertBuilder");
|
30868
|
-
SQLiteInsertBase = class extends (_b142 = QueryPromise, _a198 = entityKind, _b142) {
|
30869
|
-
constructor(table4, values, session, dialect4, withList) {
|
30870
|
-
super();
|
30871
|
-
/** @internal */
|
30872
|
-
__publicField(this, "config");
|
30873
|
-
__publicField(this, "run", (placeholderValues) => {
|
30874
|
-
return this._prepare().run(placeholderValues);
|
30875
|
-
});
|
30876
|
-
__publicField(this, "all", (placeholderValues) => {
|
30877
|
-
return this._prepare().all(placeholderValues);
|
30878
|
-
});
|
30879
|
-
__publicField(this, "get", (placeholderValues) => {
|
30880
|
-
return this._prepare().get(placeholderValues);
|
30881
|
-
});
|
30882
|
-
__publicField(this, "values", (placeholderValues) => {
|
30883
|
-
return this._prepare().values(placeholderValues);
|
30884
|
-
});
|
30885
|
-
this.session = session;
|
30886
|
-
this.dialect = dialect4;
|
30887
|
-
this.config = { table: table4, values, withList };
|
30888
|
-
}
|
30889
|
-
returning(fields = this.config.table[SQLiteTable.Symbol.Columns]) {
|
30890
|
-
this.config.returning = orderSelectedFields(fields);
|
30891
|
-
return this;
|
30892
|
-
}
|
30893
|
-
/**
|
30894
|
-
* Adds an `on conflict do nothing` clause to the query.
|
30895
|
-
*
|
30896
|
-
* Calling this method simply avoids inserting a row as its alternative action.
|
30897
|
-
*
|
30898
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
30899
|
-
*
|
30900
|
-
* @param config The `target` and `where` clauses.
|
30901
|
-
*
|
30902
|
-
* @example
|
30903
|
-
* ```ts
|
30904
|
-
* // Insert one row and cancel the insert if there's a conflict
|
30905
|
-
* await db.insert(cars)
|
30906
|
-
* .values({ id: 1, brand: 'BMW' })
|
30907
|
-
* .onConflictDoNothing();
|
30908
|
-
*
|
30909
|
-
* // Explicitly specify conflict target
|
30910
|
-
* await db.insert(cars)
|
30911
|
-
* .values({ id: 1, brand: 'BMW' })
|
30912
|
-
* .onConflictDoNothing({ target: cars.id });
|
30913
|
-
* ```
|
30914
|
-
*/
|
30915
|
-
onConflictDoNothing(config = {}) {
|
30916
|
-
if (config.target === void 0) {
|
30917
|
-
this.config.onConflict = sql`do nothing`;
|
30918
|
-
} else {
|
30919
|
-
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
30920
|
-
const whereSql = config.where ? sql` where ${config.where}` : sql``;
|
30921
|
-
this.config.onConflict = sql`${targetSql} do nothing${whereSql}`;
|
30922
|
-
}
|
30923
|
-
return this;
|
30924
|
-
}
|
30925
|
-
/**
|
30926
|
-
* Adds an `on conflict do update` clause to the query.
|
30927
|
-
*
|
30928
|
-
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
30929
|
-
*
|
30930
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
30931
|
-
*
|
30932
|
-
* @param config The `target`, `set` and `where` clauses.
|
30933
|
-
*
|
30934
|
-
* @example
|
30935
|
-
* ```ts
|
30936
|
-
* // Update the row if there's a conflict
|
30937
|
-
* await db.insert(cars)
|
30938
|
-
* .values({ id: 1, brand: 'BMW' })
|
30939
|
-
* .onConflictDoUpdate({
|
30940
|
-
* target: cars.id,
|
30941
|
-
* set: { brand: 'Porsche' }
|
30942
|
-
* });
|
30943
|
-
*
|
30944
|
-
* // Upsert with 'where' clause
|
30945
|
-
* await db.insert(cars)
|
30946
|
-
* .values({ id: 1, brand: 'BMW' })
|
30947
|
-
* .onConflictDoUpdate({
|
30948
|
-
* target: cars.id,
|
30949
|
-
* set: { brand: 'newBMW' },
|
30950
|
-
* where: sql`${cars.createdAt} > '2023-01-01'::date`,
|
30951
|
-
* });
|
30952
|
-
* ```
|
30953
|
-
*/
|
30954
|
-
onConflictDoUpdate(config) {
|
30955
|
-
if (config.where && (config.targetWhere || config.setWhere)) {
|
30956
|
-
throw new Error(
|
30957
|
-
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
30958
|
-
);
|
30959
|
-
}
|
30960
|
-
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
30961
|
-
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
30962
|
-
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
30963
|
-
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
30964
|
-
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
30965
|
-
this.config.onConflict = sql`${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
30966
|
-
return this;
|
30967
|
-
}
|
30968
|
-
/** @internal */
|
30969
|
-
getSQL() {
|
30970
|
-
return this.dialect.buildInsertQuery(this.config);
|
30971
|
-
}
|
30972
|
-
toSQL() {
|
30973
|
-
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
30974
|
-
return rest;
|
30975
|
-
}
|
30976
|
-
/** @internal */
|
30977
|
-
_prepare(isOneTimeQuery = true) {
|
30978
|
-
return this.session[isOneTimeQuery ? "prepareOneTimeQuery" : "prepareQuery"](
|
30979
|
-
this.dialect.sqlToQuery(this.getSQL()),
|
30980
|
-
this.config.returning,
|
30981
|
-
this.config.returning ? "all" : "run",
|
30982
|
-
true
|
30983
|
-
);
|
30984
|
-
}
|
30985
|
-
prepare() {
|
30986
|
-
return this._prepare(false);
|
30987
|
-
}
|
30988
|
-
async execute() {
|
30989
|
-
return this.config.returning ? this.all() : this.run();
|
30990
|
-
}
|
30991
|
-
$dynamic() {
|
30992
|
-
return this;
|
30993
|
-
}
|
30968
|
+
SQLiteViewBase = class extends (_b142 = View3, _a197 = entityKind, _b142) {
|
30994
30969
|
};
|
30995
|
-
__publicField(
|
30996
|
-
}
|
30997
|
-
});
|
30998
|
-
|
30999
|
-
// ../drizzle-orm/dist/sqlite-core/view-base.js
|
31000
|
-
var _a199, _b143, SQLiteViewBase;
|
31001
|
-
var init_view_base2 = __esm({
|
31002
|
-
"../drizzle-orm/dist/sqlite-core/view-base.js"() {
|
31003
|
-
"use strict";
|
31004
|
-
init_entity();
|
31005
|
-
init_sql();
|
31006
|
-
SQLiteViewBase = class extends (_b143 = View3, _a199 = entityKind, _b143) {
|
31007
|
-
};
|
31008
|
-
__publicField(SQLiteViewBase, _a199, "SQLiteViewBase");
|
30970
|
+
__publicField(SQLiteViewBase, _a197, "SQLiteViewBase");
|
31009
30971
|
}
|
31010
30972
|
});
|
31011
30973
|
|
31012
30974
|
// ../drizzle-orm/dist/sqlite-core/dialect.js
|
31013
|
-
var
|
30975
|
+
var _a198, SQLiteDialect, _a199, _b143, SQLiteSyncDialect, _a200, _b144, SQLiteAsyncDialect;
|
31014
30976
|
var init_dialect2 = __esm({
|
31015
30977
|
"../drizzle-orm/dist/sqlite-core/dialect.js"() {
|
31016
30978
|
"use strict";
|
@@ -31029,7 +30991,7 @@ var init_dialect2 = __esm({
|
|
31029
30991
|
init_utils2();
|
31030
30992
|
init_view_common();
|
31031
30993
|
init_view_base2();
|
31032
|
-
|
30994
|
+
_a198 = entityKind;
|
31033
30995
|
SQLiteDialect = class {
|
31034
30996
|
constructor(config) {
|
31035
30997
|
/** @internal */
|
@@ -31082,14 +31044,16 @@ var init_dialect2 = __esm({
|
|
31082
31044
|
return [res];
|
31083
31045
|
}));
|
31084
31046
|
}
|
31085
|
-
buildUpdateQuery({ table: table4, set, where, returning, withList, limit, orderBy }) {
|
31047
|
+
buildUpdateQuery({ table: table4, set, where, returning, withList, joins, from, limit, orderBy }) {
|
31086
31048
|
const withSql = this.buildWithCTE(withList);
|
31087
31049
|
const setSql = this.buildUpdateSet(table4, set);
|
31050
|
+
const fromSql = from && sql.join([sql.raw(" from "), this.buildFromTable(from)]);
|
31051
|
+
const joinsSql = this.buildJoins(joins);
|
31088
31052
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
31089
31053
|
const whereSql = where ? sql` where ${where}` : void 0;
|
31090
31054
|
const orderBySql = this.buildOrderBy(orderBy);
|
31091
31055
|
const limitSql = this.buildLimit(limit);
|
31092
|
-
return sql`${withSql}update ${table4} set ${setSql}${whereSql}${returningSql}${orderBySql}${limitSql}`;
|
31056
|
+
return sql`${withSql}update ${table4} set ${setSql}${fromSql}${joinsSql}${whereSql}${returningSql}${orderBySql}${limitSql}`;
|
31093
31057
|
}
|
31094
31058
|
/**
|
31095
31059
|
* Builds selection SQL with provided fields/expressions
|
@@ -31142,6 +31106,37 @@ var init_dialect2 = __esm({
|
|
31142
31106
|
});
|
31143
31107
|
return sql.join(chunks);
|
31144
31108
|
}
|
31109
|
+
buildJoins(joins) {
|
31110
|
+
if (!joins || joins.length === 0) {
|
31111
|
+
return void 0;
|
31112
|
+
}
|
31113
|
+
const joinsArray = [];
|
31114
|
+
if (joins) {
|
31115
|
+
for (const [index4, joinMeta] of joins.entries()) {
|
31116
|
+
if (index4 === 0) {
|
31117
|
+
joinsArray.push(sql` `);
|
31118
|
+
}
|
31119
|
+
const table4 = joinMeta.table;
|
31120
|
+
if (is(table4, SQLiteTable)) {
|
31121
|
+
const tableName = table4[SQLiteTable.Symbol.Name];
|
31122
|
+
const tableSchema = table4[SQLiteTable.Symbol.Schema];
|
31123
|
+
const origTableName = table4[SQLiteTable.Symbol.OriginalName];
|
31124
|
+
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
31125
|
+
joinsArray.push(
|
31126
|
+
sql`${sql.raw(joinMeta.joinType)} join ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
31127
|
+
);
|
31128
|
+
} else {
|
31129
|
+
joinsArray.push(
|
31130
|
+
sql`${sql.raw(joinMeta.joinType)} join ${table4} on ${joinMeta.on}`
|
31131
|
+
);
|
31132
|
+
}
|
31133
|
+
if (index4 < joins.length - 1) {
|
31134
|
+
joinsArray.push(sql` `);
|
31135
|
+
}
|
31136
|
+
}
|
31137
|
+
}
|
31138
|
+
return sql.join(joinsArray);
|
31139
|
+
}
|
31145
31140
|
buildLimit(limit) {
|
31146
31141
|
return typeof limit === "object" || typeof limit === "number" && limit >= 0 ? sql` limit ${limit}` : void 0;
|
31147
31142
|
}
|
@@ -31157,6 +31152,12 @@ var init_dialect2 = __esm({
|
|
31157
31152
|
}
|
31158
31153
|
return orderByList.length > 0 ? sql` order by ${sql.join(orderByList)}` : void 0;
|
31159
31154
|
}
|
31155
|
+
buildFromTable(table4) {
|
31156
|
+
if (is(table4, Table2) && table4[Table2.Symbol.OriginalName] !== table4[Table2.Symbol.Name]) {
|
31157
|
+
return sql`${sql.identifier(table4[Table2.Symbol.OriginalName])} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
31158
|
+
}
|
31159
|
+
return table4;
|
31160
|
+
}
|
31160
31161
|
buildSelectQuery({
|
31161
31162
|
withList,
|
31162
31163
|
fields,
|
@@ -31187,38 +31188,8 @@ var init_dialect2 = __esm({
|
|
31187
31188
|
const withSql = this.buildWithCTE(withList);
|
31188
31189
|
const distinctSql = distinct ? sql` distinct` : void 0;
|
31189
31190
|
const selection = this.buildSelection(fieldsList, { isSingleTable });
|
31190
|
-
const tableSql = (
|
31191
|
-
|
31192
|
-
return sql`${sql.identifier(table4[Table2.Symbol.OriginalName])} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
31193
|
-
}
|
31194
|
-
return table4;
|
31195
|
-
})();
|
31196
|
-
const joinsArray = [];
|
31197
|
-
if (joins) {
|
31198
|
-
for (const [index4, joinMeta] of joins.entries()) {
|
31199
|
-
if (index4 === 0) {
|
31200
|
-
joinsArray.push(sql` `);
|
31201
|
-
}
|
31202
|
-
const table22 = joinMeta.table;
|
31203
|
-
if (is(table22, SQLiteTable)) {
|
31204
|
-
const tableName = table22[SQLiteTable.Symbol.Name];
|
31205
|
-
const tableSchema = table22[SQLiteTable.Symbol.Schema];
|
31206
|
-
const origTableName = table22[SQLiteTable.Symbol.OriginalName];
|
31207
|
-
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
31208
|
-
joinsArray.push(
|
31209
|
-
sql`${sql.raw(joinMeta.joinType)} join ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
31210
|
-
);
|
31211
|
-
} else {
|
31212
|
-
joinsArray.push(
|
31213
|
-
sql`${sql.raw(joinMeta.joinType)} join ${table22} on ${joinMeta.on}`
|
31214
|
-
);
|
31215
|
-
}
|
31216
|
-
if (index4 < joins.length - 1) {
|
31217
|
-
joinsArray.push(sql` `);
|
31218
|
-
}
|
31219
|
-
}
|
31220
|
-
}
|
31221
|
-
const joinsSql = sql.join(joinsArray);
|
31191
|
+
const tableSql = this.buildFromTable(table4);
|
31192
|
+
const joinsSql = this.buildJoins(joins);
|
31222
31193
|
const whereSql = where ? sql` where ${where}` : void 0;
|
31223
31194
|
const havingSql = having ? sql` having ${having}` : void 0;
|
31224
31195
|
const groupByList = [];
|
@@ -31284,45 +31255,56 @@ var init_dialect2 = __esm({
|
|
31284
31255
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
31285
31256
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
31286
31257
|
}
|
31287
|
-
buildInsertQuery({ table: table4, values, onConflict, returning, withList }) {
|
31258
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, onConflict, returning, withList, select }) {
|
31288
31259
|
const valuesSqlList = [];
|
31289
31260
|
const columns = table4[Table2.Symbol.Columns];
|
31290
31261
|
const colEntries = Object.entries(columns).filter(
|
31291
31262
|
([_2, col]) => !col.shouldDisableInsert()
|
31292
31263
|
);
|
31293
31264
|
const insertOrder = colEntries.map(([, column4]) => sql.identifier(this.casing.getColumnCasing(column4)));
|
31294
|
-
|
31295
|
-
const
|
31296
|
-
|
31297
|
-
|
31298
|
-
|
31299
|
-
|
31300
|
-
|
31301
|
-
|
31302
|
-
|
31303
|
-
|
31304
|
-
|
31305
|
-
|
31306
|
-
|
31307
|
-
|
31265
|
+
if (select) {
|
31266
|
+
const select2 = valuesOrSelect;
|
31267
|
+
if (is(select2, SQL)) {
|
31268
|
+
valuesSqlList.push(select2);
|
31269
|
+
} else {
|
31270
|
+
valuesSqlList.push(select2.getSQL());
|
31271
|
+
}
|
31272
|
+
} else {
|
31273
|
+
const values = valuesOrSelect;
|
31274
|
+
valuesSqlList.push(sql.raw("values "));
|
31275
|
+
for (const [valueIndex, value] of values.entries()) {
|
31276
|
+
const valueList = [];
|
31277
|
+
for (const [fieldName, col] of colEntries) {
|
31278
|
+
const colValue = value[fieldName];
|
31279
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
31280
|
+
let defaultValue;
|
31281
|
+
if (col.default !== null && col.default !== void 0) {
|
31282
|
+
defaultValue = is(col.default, SQL) ? col.default : sql.param(col.default, col);
|
31283
|
+
} else if (col.defaultFn !== void 0) {
|
31284
|
+
const defaultFnResult = col.defaultFn();
|
31285
|
+
defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
31286
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
31287
|
+
const onUpdateFnResult = col.onUpdateFn();
|
31288
|
+
defaultValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
31289
|
+
} else {
|
31290
|
+
defaultValue = sql`null`;
|
31291
|
+
}
|
31292
|
+
valueList.push(defaultValue);
|
31308
31293
|
} else {
|
31309
|
-
|
31294
|
+
valueList.push(colValue);
|
31310
31295
|
}
|
31311
|
-
valueList.push(defaultValue);
|
31312
|
-
} else {
|
31313
|
-
valueList.push(colValue);
|
31314
31296
|
}
|
31315
|
-
|
31316
|
-
|
31317
|
-
|
31318
|
-
|
31297
|
+
valuesSqlList.push(valueList);
|
31298
|
+
if (valueIndex < values.length - 1) {
|
31299
|
+
valuesSqlList.push(sql`, `);
|
31300
|
+
}
|
31319
31301
|
}
|
31320
31302
|
}
|
31321
31303
|
const withSql = this.buildWithCTE(withList);
|
31322
31304
|
const valuesSql = sql.join(valuesSqlList);
|
31323
31305
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
31324
31306
|
const onConflictSql = onConflict ? sql` on conflict ${onConflict}` : void 0;
|
31325
|
-
return sql`${withSql}insert into ${table4} ${insertOrder}
|
31307
|
+
return sql`${withSql}insert into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}${returningSql}`;
|
31326
31308
|
}
|
31327
31309
|
sqlToQuery(sql2, invokeSource) {
|
31328
31310
|
return sql2.toQuery({
|
@@ -31551,8 +31533,8 @@ var init_dialect2 = __esm({
|
|
31551
31533
|
};
|
31552
31534
|
}
|
31553
31535
|
};
|
31554
|
-
__publicField(SQLiteDialect,
|
31555
|
-
SQLiteSyncDialect = class extends (
|
31536
|
+
__publicField(SQLiteDialect, _a198, "SQLiteDialect");
|
31537
|
+
SQLiteSyncDialect = class extends (_b143 = SQLiteDialect, _a199 = entityKind, _b143) {
|
31556
31538
|
migrate(migrations, session, config) {
|
31557
31539
|
const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
|
31558
31540
|
const migrationTableCreate = sql`
|
@@ -31586,8 +31568,8 @@ var init_dialect2 = __esm({
|
|
31586
31568
|
}
|
31587
31569
|
}
|
31588
31570
|
};
|
31589
|
-
__publicField(SQLiteSyncDialect,
|
31590
|
-
SQLiteAsyncDialect = class extends (
|
31571
|
+
__publicField(SQLiteSyncDialect, _a199, "SQLiteSyncDialect");
|
31572
|
+
SQLiteAsyncDialect = class extends (_b144 = SQLiteDialect, _a200 = entityKind, _b144) {
|
31591
31573
|
async migrate(migrations, session, config) {
|
31592
31574
|
const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
|
31593
31575
|
const migrationTableCreate = sql`
|
@@ -31616,7 +31598,7 @@ var init_dialect2 = __esm({
|
|
31616
31598
|
});
|
31617
31599
|
}
|
31618
31600
|
};
|
31619
|
-
__publicField(SQLiteAsyncDialect,
|
31601
|
+
__publicField(SQLiteAsyncDialect, _a200, "SQLiteAsyncDialect");
|
31620
31602
|
}
|
31621
31603
|
});
|
31622
31604
|
|
@@ -31638,7 +31620,7 @@ function createSetOperator2(type, isAll) {
|
|
31638
31620
|
return leftSelect.addSetOperators(setOperators);
|
31639
31621
|
};
|
31640
31622
|
}
|
31641
|
-
var
|
31623
|
+
var _a201, SQLiteSelectBuilder, _a202, _b145, SQLiteSelectQueryBuilderBase, _a203, _b146, SQLiteSelectBase, getSQLiteSetOperators, union2, unionAll2, intersect2, except2;
|
31642
31624
|
var init_select3 = __esm({
|
31643
31625
|
"../drizzle-orm/dist/sqlite-core/query-builders/select.js"() {
|
31644
31626
|
"use strict";
|
@@ -31652,7 +31634,7 @@ var init_select3 = __esm({
|
|
31652
31634
|
init_utils2();
|
31653
31635
|
init_view_common();
|
31654
31636
|
init_view_base2();
|
31655
|
-
|
31637
|
+
_a201 = entityKind;
|
31656
31638
|
SQLiteSelectBuilder = class {
|
31657
31639
|
constructor(config) {
|
31658
31640
|
__publicField(this, "fields");
|
@@ -31693,8 +31675,8 @@ var init_select3 = __esm({
|
|
31693
31675
|
});
|
31694
31676
|
}
|
31695
31677
|
};
|
31696
|
-
__publicField(SQLiteSelectBuilder,
|
31697
|
-
SQLiteSelectQueryBuilderBase = class extends (
|
31678
|
+
__publicField(SQLiteSelectBuilder, _a201, "SQLiteSelectBuilder");
|
31679
|
+
SQLiteSelectQueryBuilderBase = class extends (_b145 = TypedQueryBuilder, _a202 = entityKind, _b145) {
|
31698
31680
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
31699
31681
|
super();
|
31700
31682
|
__publicField(this, "_");
|
@@ -32199,8 +32181,8 @@ var init_select3 = __esm({
|
|
32199
32181
|
return this;
|
32200
32182
|
}
|
32201
32183
|
};
|
32202
|
-
__publicField(SQLiteSelectQueryBuilderBase,
|
32203
|
-
SQLiteSelectBase = class extends (
|
32184
|
+
__publicField(SQLiteSelectQueryBuilderBase, _a202, "SQLiteSelectQueryBuilder");
|
32185
|
+
SQLiteSelectBase = class extends (_b146 = SQLiteSelectQueryBuilderBase, _a203 = entityKind, _b146) {
|
32204
32186
|
constructor() {
|
32205
32187
|
super(...arguments);
|
32206
32188
|
__publicField(this, "run", (placeholderValues) => {
|
@@ -32238,7 +32220,7 @@ var init_select3 = __esm({
|
|
32238
32220
|
return this.all();
|
32239
32221
|
}
|
32240
32222
|
};
|
32241
|
-
__publicField(SQLiteSelectBase,
|
32223
|
+
__publicField(SQLiteSelectBase, _a203, "SQLiteSelect");
|
32242
32224
|
applyMixins(SQLiteSelectBase, [QueryPromise]);
|
32243
32225
|
getSQLiteSetOperators = () => ({
|
32244
32226
|
union: union2,
|
@@ -32254,7 +32236,7 @@ var init_select3 = __esm({
|
|
32254
32236
|
});
|
32255
32237
|
|
32256
32238
|
// ../drizzle-orm/dist/sqlite-core/query-builders/query-builder.js
|
32257
|
-
var
|
32239
|
+
var _a204, QueryBuilder2;
|
32258
32240
|
var init_query_builder3 = __esm({
|
32259
32241
|
"../drizzle-orm/dist/sqlite-core/query-builders/query-builder.js"() {
|
32260
32242
|
"use strict";
|
@@ -32263,7 +32245,7 @@ var init_query_builder3 = __esm({
|
|
32263
32245
|
init_dialect2();
|
32264
32246
|
init_subquery();
|
32265
32247
|
init_select3();
|
32266
|
-
|
32248
|
+
_a204 = entityKind;
|
32267
32249
|
QueryBuilder2 = class {
|
32268
32250
|
constructor(dialect4) {
|
32269
32251
|
__publicField(this, "dialect");
|
@@ -32325,7 +32307,185 @@ var init_query_builder3 = __esm({
|
|
32325
32307
|
return this.dialect;
|
32326
32308
|
}
|
32327
32309
|
};
|
32328
|
-
__publicField(QueryBuilder2,
|
32310
|
+
__publicField(QueryBuilder2, _a204, "SQLiteQueryBuilder");
|
32311
|
+
}
|
32312
|
+
});
|
32313
|
+
|
32314
|
+
// ../drizzle-orm/dist/sqlite-core/query-builders/insert.js
|
32315
|
+
var _a205, SQLiteInsertBuilder, _a206, _b147, SQLiteInsertBase;
|
32316
|
+
var init_insert2 = __esm({
|
32317
|
+
"../drizzle-orm/dist/sqlite-core/query-builders/insert.js"() {
|
32318
|
+
"use strict";
|
32319
|
+
init_entity();
|
32320
|
+
init_query_promise();
|
32321
|
+
init_sql();
|
32322
|
+
init_table3();
|
32323
|
+
init_table();
|
32324
|
+
init_utils2();
|
32325
|
+
init_query_builder3();
|
32326
|
+
_a205 = entityKind;
|
32327
|
+
SQLiteInsertBuilder = class {
|
32328
|
+
constructor(table4, session, dialect4, withList) {
|
32329
|
+
this.table = table4;
|
32330
|
+
this.session = session;
|
32331
|
+
this.dialect = dialect4;
|
32332
|
+
this.withList = withList;
|
32333
|
+
}
|
32334
|
+
values(values) {
|
32335
|
+
values = Array.isArray(values) ? values : [values];
|
32336
|
+
if (values.length === 0) {
|
32337
|
+
throw new Error("values() must be called with at least one value");
|
32338
|
+
}
|
32339
|
+
const mappedValues = values.map((entry) => {
|
32340
|
+
const result = {};
|
32341
|
+
const cols = this.table[Table2.Symbol.Columns];
|
32342
|
+
for (const colKey of Object.keys(entry)) {
|
32343
|
+
const colValue = entry[colKey];
|
32344
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
32345
|
+
}
|
32346
|
+
return result;
|
32347
|
+
});
|
32348
|
+
return new SQLiteInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
32349
|
+
}
|
32350
|
+
select(selectQuery) {
|
32351
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder2()) : selectQuery;
|
32352
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
32353
|
+
throw new Error(
|
32354
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
32355
|
+
);
|
32356
|
+
}
|
32357
|
+
return new SQLiteInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
|
32358
|
+
}
|
32359
|
+
};
|
32360
|
+
__publicField(SQLiteInsertBuilder, _a205, "SQLiteInsertBuilder");
|
32361
|
+
SQLiteInsertBase = class extends (_b147 = QueryPromise, _a206 = entityKind, _b147) {
|
32362
|
+
constructor(table4, values, session, dialect4, withList, select) {
|
32363
|
+
super();
|
32364
|
+
/** @internal */
|
32365
|
+
__publicField(this, "config");
|
32366
|
+
__publicField(this, "run", (placeholderValues) => {
|
32367
|
+
return this._prepare().run(placeholderValues);
|
32368
|
+
});
|
32369
|
+
__publicField(this, "all", (placeholderValues) => {
|
32370
|
+
return this._prepare().all(placeholderValues);
|
32371
|
+
});
|
32372
|
+
__publicField(this, "get", (placeholderValues) => {
|
32373
|
+
return this._prepare().get(placeholderValues);
|
32374
|
+
});
|
32375
|
+
__publicField(this, "values", (placeholderValues) => {
|
32376
|
+
return this._prepare().values(placeholderValues);
|
32377
|
+
});
|
32378
|
+
this.session = session;
|
32379
|
+
this.dialect = dialect4;
|
32380
|
+
this.config = { table: table4, values, withList, select };
|
32381
|
+
}
|
32382
|
+
returning(fields = this.config.table[SQLiteTable.Symbol.Columns]) {
|
32383
|
+
this.config.returning = orderSelectedFields(fields);
|
32384
|
+
return this;
|
32385
|
+
}
|
32386
|
+
/**
|
32387
|
+
* Adds an `on conflict do nothing` clause to the query.
|
32388
|
+
*
|
32389
|
+
* Calling this method simply avoids inserting a row as its alternative action.
|
32390
|
+
*
|
32391
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
32392
|
+
*
|
32393
|
+
* @param config The `target` and `where` clauses.
|
32394
|
+
*
|
32395
|
+
* @example
|
32396
|
+
* ```ts
|
32397
|
+
* // Insert one row and cancel the insert if there's a conflict
|
32398
|
+
* await db.insert(cars)
|
32399
|
+
* .values({ id: 1, brand: 'BMW' })
|
32400
|
+
* .onConflictDoNothing();
|
32401
|
+
*
|
32402
|
+
* // Explicitly specify conflict target
|
32403
|
+
* await db.insert(cars)
|
32404
|
+
* .values({ id: 1, brand: 'BMW' })
|
32405
|
+
* .onConflictDoNothing({ target: cars.id });
|
32406
|
+
* ```
|
32407
|
+
*/
|
32408
|
+
onConflictDoNothing(config = {}) {
|
32409
|
+
if (config.target === void 0) {
|
32410
|
+
this.config.onConflict = sql`do nothing`;
|
32411
|
+
} else {
|
32412
|
+
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
32413
|
+
const whereSql = config.where ? sql` where ${config.where}` : sql``;
|
32414
|
+
this.config.onConflict = sql`${targetSql} do nothing${whereSql}`;
|
32415
|
+
}
|
32416
|
+
return this;
|
32417
|
+
}
|
32418
|
+
/**
|
32419
|
+
* Adds an `on conflict do update` clause to the query.
|
32420
|
+
*
|
32421
|
+
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
32422
|
+
*
|
32423
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
32424
|
+
*
|
32425
|
+
* @param config The `target`, `set` and `where` clauses.
|
32426
|
+
*
|
32427
|
+
* @example
|
32428
|
+
* ```ts
|
32429
|
+
* // Update the row if there's a conflict
|
32430
|
+
* await db.insert(cars)
|
32431
|
+
* .values({ id: 1, brand: 'BMW' })
|
32432
|
+
* .onConflictDoUpdate({
|
32433
|
+
* target: cars.id,
|
32434
|
+
* set: { brand: 'Porsche' }
|
32435
|
+
* });
|
32436
|
+
*
|
32437
|
+
* // Upsert with 'where' clause
|
32438
|
+
* await db.insert(cars)
|
32439
|
+
* .values({ id: 1, brand: 'BMW' })
|
32440
|
+
* .onConflictDoUpdate({
|
32441
|
+
* target: cars.id,
|
32442
|
+
* set: { brand: 'newBMW' },
|
32443
|
+
* where: sql`${cars.createdAt} > '2023-01-01'::date`,
|
32444
|
+
* });
|
32445
|
+
* ```
|
32446
|
+
*/
|
32447
|
+
onConflictDoUpdate(config) {
|
32448
|
+
if (config.where && (config.targetWhere || config.setWhere)) {
|
32449
|
+
throw new Error(
|
32450
|
+
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
32451
|
+
);
|
32452
|
+
}
|
32453
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
32454
|
+
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
32455
|
+
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
32456
|
+
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
32457
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
32458
|
+
this.config.onConflict = sql`${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
32459
|
+
return this;
|
32460
|
+
}
|
32461
|
+
/** @internal */
|
32462
|
+
getSQL() {
|
32463
|
+
return this.dialect.buildInsertQuery(this.config);
|
32464
|
+
}
|
32465
|
+
toSQL() {
|
32466
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
32467
|
+
return rest;
|
32468
|
+
}
|
32469
|
+
/** @internal */
|
32470
|
+
_prepare(isOneTimeQuery = true) {
|
32471
|
+
return this.session[isOneTimeQuery ? "prepareOneTimeQuery" : "prepareQuery"](
|
32472
|
+
this.dialect.sqlToQuery(this.getSQL()),
|
32473
|
+
this.config.returning,
|
32474
|
+
this.config.returning ? "all" : "run",
|
32475
|
+
true
|
32476
|
+
);
|
32477
|
+
}
|
32478
|
+
prepare() {
|
32479
|
+
return this._prepare(false);
|
32480
|
+
}
|
32481
|
+
async execute() {
|
32482
|
+
return this.config.returning ? this.all() : this.run();
|
32483
|
+
}
|
32484
|
+
$dynamic() {
|
32485
|
+
return this;
|
32486
|
+
}
|
32487
|
+
};
|
32488
|
+
__publicField(SQLiteInsertBase, _a206, "SQLiteInsert");
|
32329
32489
|
}
|
32330
32490
|
});
|
32331
32491
|
|
@@ -32345,8 +32505,11 @@ var init_update2 = __esm({
|
|
32345
32505
|
init_query_promise();
|
32346
32506
|
init_selection_proxy();
|
32347
32507
|
init_table3();
|
32508
|
+
init_subquery();
|
32348
32509
|
init_table();
|
32349
32510
|
init_utils2();
|
32511
|
+
init_view_common();
|
32512
|
+
init_view_base2();
|
32350
32513
|
_a207 = entityKind;
|
32351
32514
|
SQLiteUpdateBuilder = class {
|
32352
32515
|
constructor(table4, session, dialect4, withList) {
|
@@ -32371,6 +32534,10 @@ var init_update2 = __esm({
|
|
32371
32534
|
super();
|
32372
32535
|
/** @internal */
|
32373
32536
|
__publicField(this, "config");
|
32537
|
+
__publicField(this, "leftJoin", this.createJoin("left"));
|
32538
|
+
__publicField(this, "rightJoin", this.createJoin("right"));
|
32539
|
+
__publicField(this, "innerJoin", this.createJoin("inner"));
|
32540
|
+
__publicField(this, "fullJoin", this.createJoin("full"));
|
32374
32541
|
__publicField(this, "run", (placeholderValues) => {
|
32375
32542
|
return this._prepare().run(placeholderValues);
|
32376
32543
|
});
|
@@ -32385,7 +32552,34 @@ var init_update2 = __esm({
|
|
32385
32552
|
});
|
32386
32553
|
this.session = session;
|
32387
32554
|
this.dialect = dialect4;
|
32388
|
-
this.config = { set, table: table4, withList };
|
32555
|
+
this.config = { set, table: table4, withList, joins: [] };
|
32556
|
+
}
|
32557
|
+
from(source) {
|
32558
|
+
this.config.from = source;
|
32559
|
+
return this;
|
32560
|
+
}
|
32561
|
+
createJoin(joinType) {
|
32562
|
+
return (table4, on) => {
|
32563
|
+
const tableName = getTableLikeName(table4);
|
32564
|
+
if (typeof tableName === "string" && this.config.joins.some((join) => join.alias === tableName)) {
|
32565
|
+
throw new Error(`Alias "${tableName}" is already used in this query`);
|
32566
|
+
}
|
32567
|
+
if (typeof on === "function") {
|
32568
|
+
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;
|
32569
|
+
on = on(
|
32570
|
+
new Proxy(
|
32571
|
+
this.config.table[Table2.Symbol.Columns],
|
32572
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
32573
|
+
),
|
32574
|
+
from && new Proxy(
|
32575
|
+
from,
|
32576
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
32577
|
+
)
|
32578
|
+
);
|
32579
|
+
}
|
32580
|
+
this.config.joins.push({ on, table: table4, joinType, alias: tableName });
|
32581
|
+
return this;
|
32582
|
+
};
|
32389
32583
|
}
|
32390
32584
|
/**
|
32391
32585
|
* Adds a 'where' clause to the query.
|
@@ -35683,131 +35877,6 @@ var init_delete3 = __esm({
|
|
35683
35877
|
}
|
35684
35878
|
});
|
35685
35879
|
|
35686
|
-
// ../drizzle-orm/dist/mysql-core/query-builders/insert.js
|
35687
|
-
var _a299, MySqlInsertBuilder, _a300, _b222, MySqlInsertBase;
|
35688
|
-
var init_insert3 = __esm({
|
35689
|
-
"../drizzle-orm/dist/mysql-core/query-builders/insert.js"() {
|
35690
|
-
"use strict";
|
35691
|
-
init_entity();
|
35692
|
-
init_query_promise();
|
35693
|
-
init_sql();
|
35694
|
-
init_table();
|
35695
|
-
init_utils2();
|
35696
|
-
_a299 = entityKind;
|
35697
|
-
MySqlInsertBuilder = class {
|
35698
|
-
constructor(table4, session, dialect4) {
|
35699
|
-
__publicField(this, "shouldIgnore", false);
|
35700
|
-
this.table = table4;
|
35701
|
-
this.session = session;
|
35702
|
-
this.dialect = dialect4;
|
35703
|
-
}
|
35704
|
-
ignore() {
|
35705
|
-
this.shouldIgnore = true;
|
35706
|
-
return this;
|
35707
|
-
}
|
35708
|
-
values(values) {
|
35709
|
-
values = Array.isArray(values) ? values : [values];
|
35710
|
-
if (values.length === 0) {
|
35711
|
-
throw new Error("values() must be called with at least one value");
|
35712
|
-
}
|
35713
|
-
const mappedValues = values.map((entry) => {
|
35714
|
-
const result = {};
|
35715
|
-
const cols = this.table[Table2.Symbol.Columns];
|
35716
|
-
for (const colKey of Object.keys(entry)) {
|
35717
|
-
const colValue = entry[colKey];
|
35718
|
-
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
35719
|
-
}
|
35720
|
-
return result;
|
35721
|
-
});
|
35722
|
-
return new MySqlInsertBase(this.table, mappedValues, this.shouldIgnore, this.session, this.dialect);
|
35723
|
-
}
|
35724
|
-
};
|
35725
|
-
__publicField(MySqlInsertBuilder, _a299, "MySqlInsertBuilder");
|
35726
|
-
MySqlInsertBase = class extends (_b222 = QueryPromise, _a300 = entityKind, _b222) {
|
35727
|
-
constructor(table4, values, ignore, session, dialect4) {
|
35728
|
-
super();
|
35729
|
-
__publicField(this, "config");
|
35730
|
-
__publicField(this, "execute", (placeholderValues) => {
|
35731
|
-
return this.prepare().execute(placeholderValues);
|
35732
|
-
});
|
35733
|
-
__publicField(this, "createIterator", () => {
|
35734
|
-
const self2 = this;
|
35735
|
-
return async function* (placeholderValues) {
|
35736
|
-
yield* self2.prepare().iterator(placeholderValues);
|
35737
|
-
};
|
35738
|
-
});
|
35739
|
-
__publicField(this, "iterator", this.createIterator());
|
35740
|
-
this.session = session;
|
35741
|
-
this.dialect = dialect4;
|
35742
|
-
this.config = { table: table4, values, ignore };
|
35743
|
-
}
|
35744
|
-
/**
|
35745
|
-
* Adds an `on duplicate key update` clause to the query.
|
35746
|
-
*
|
35747
|
-
* 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.
|
35748
|
-
*
|
35749
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#on-duplicate-key-update}
|
35750
|
-
*
|
35751
|
-
* @param config The `set` clause
|
35752
|
-
*
|
35753
|
-
* @example
|
35754
|
-
* ```ts
|
35755
|
-
* await db.insert(cars)
|
35756
|
-
* .values({ id: 1, brand: 'BMW'})
|
35757
|
-
* .onDuplicateKeyUpdate({ set: { brand: 'Porsche' }});
|
35758
|
-
* ```
|
35759
|
-
*
|
35760
|
-
* 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:
|
35761
|
-
*
|
35762
|
-
* ```ts
|
35763
|
-
* import { sql } from 'drizzle-orm';
|
35764
|
-
*
|
35765
|
-
* await db.insert(cars)
|
35766
|
-
* .values({ id: 1, brand: 'BMW' })
|
35767
|
-
* .onDuplicateKeyUpdate({ set: { id: sql`id` } });
|
35768
|
-
* ```
|
35769
|
-
*/
|
35770
|
-
onDuplicateKeyUpdate(config) {
|
35771
|
-
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
35772
|
-
this.config.onConflict = sql`update ${setSql}`;
|
35773
|
-
return this;
|
35774
|
-
}
|
35775
|
-
$returningId() {
|
35776
|
-
const returning = [];
|
35777
|
-
for (const [key, value] of Object.entries(this.config.table[Table2.Symbol.Columns])) {
|
35778
|
-
if (value.primary) {
|
35779
|
-
returning.push({ field: value, path: [key] });
|
35780
|
-
}
|
35781
|
-
}
|
35782
|
-
this.config.returning = returning;
|
35783
|
-
return this;
|
35784
|
-
}
|
35785
|
-
/** @internal */
|
35786
|
-
getSQL() {
|
35787
|
-
return this.dialect.buildInsertQuery(this.config).sql;
|
35788
|
-
}
|
35789
|
-
toSQL() {
|
35790
|
-
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
35791
|
-
return rest;
|
35792
|
-
}
|
35793
|
-
prepare() {
|
35794
|
-
const { sql: sql2, generatedIds } = this.dialect.buildInsertQuery(this.config);
|
35795
|
-
return this.session.prepareQuery(
|
35796
|
-
this.dialect.sqlToQuery(sql2),
|
35797
|
-
void 0,
|
35798
|
-
void 0,
|
35799
|
-
generatedIds,
|
35800
|
-
this.config.returning
|
35801
|
-
);
|
35802
|
-
}
|
35803
|
-
$dynamic() {
|
35804
|
-
return this;
|
35805
|
-
}
|
35806
|
-
};
|
35807
|
-
__publicField(MySqlInsertBase, _a300, "MySqlInsert");
|
35808
|
-
}
|
35809
|
-
});
|
35810
|
-
|
35811
35880
|
// ../drizzle-orm/dist/mysql-core/columns/all.js
|
35812
35881
|
function getMySqlColumnBuilders() {
|
35813
35882
|
return {
|
@@ -35888,7 +35957,7 @@ function mysqlTableWithSchema(name2, columns, extraConfig, schema4, baseName = n
|
|
35888
35957
|
}
|
35889
35958
|
return table4;
|
35890
35959
|
}
|
35891
|
-
var InlineForeignKeys3,
|
35960
|
+
var InlineForeignKeys3, _a299, _b222, _c9, _d4, _e4, MySqlTable, mysqlTable;
|
35892
35961
|
var init_table4 = __esm({
|
35893
35962
|
"../drizzle-orm/dist/mysql-core/table.js"() {
|
35894
35963
|
"use strict";
|
@@ -35896,15 +35965,15 @@ var init_table4 = __esm({
|
|
35896
35965
|
init_table();
|
35897
35966
|
init_all3();
|
35898
35967
|
InlineForeignKeys3 = Symbol.for("drizzle:MySqlInlineForeignKeys");
|
35899
|
-
MySqlTable = class extends (_e4 = Table2, _d4 = entityKind, _c9 = Table2.Symbol.Columns,
|
35968
|
+
MySqlTable = class extends (_e4 = Table2, _d4 = entityKind, _c9 = Table2.Symbol.Columns, _b222 = InlineForeignKeys3, _a299 = Table2.Symbol.ExtraConfigBuilder, _e4) {
|
35900
35969
|
constructor() {
|
35901
35970
|
super(...arguments);
|
35902
35971
|
/** @internal */
|
35903
35972
|
__publicField(this, _c9);
|
35904
35973
|
/** @internal */
|
35905
|
-
__publicField(this,
|
35974
|
+
__publicField(this, _b222, []);
|
35906
35975
|
/** @internal */
|
35907
|
-
__publicField(this,
|
35976
|
+
__publicField(this, _a299);
|
35908
35977
|
}
|
35909
35978
|
};
|
35910
35979
|
__publicField(MySqlTable, _d4, "MySqlTable");
|
@@ -35919,20 +35988,20 @@ var init_table4 = __esm({
|
|
35919
35988
|
});
|
35920
35989
|
|
35921
35990
|
// ../drizzle-orm/dist/mysql-core/view-base.js
|
35922
|
-
var
|
35991
|
+
var _a300, _b223, MySqlViewBase;
|
35923
35992
|
var init_view_base3 = __esm({
|
35924
35993
|
"../drizzle-orm/dist/mysql-core/view-base.js"() {
|
35925
35994
|
"use strict";
|
35926
35995
|
init_entity();
|
35927
35996
|
init_sql();
|
35928
|
-
MySqlViewBase = class extends (
|
35997
|
+
MySqlViewBase = class extends (_b223 = View3, _a300 = entityKind, _b223) {
|
35929
35998
|
};
|
35930
|
-
__publicField(MySqlViewBase,
|
35999
|
+
__publicField(MySqlViewBase, _a300, "MySqlViewBase");
|
35931
36000
|
}
|
35932
36001
|
});
|
35933
36002
|
|
35934
36003
|
// ../drizzle-orm/dist/mysql-core/dialect.js
|
35935
|
-
var
|
36004
|
+
var _a301, MySqlDialect;
|
35936
36005
|
var init_dialect3 = __esm({
|
35937
36006
|
"../drizzle-orm/dist/mysql-core/dialect.js"() {
|
35938
36007
|
"use strict";
|
@@ -35951,7 +36020,7 @@ var init_dialect3 = __esm({
|
|
35951
36020
|
init_common4();
|
35952
36021
|
init_table4();
|
35953
36022
|
init_view_base3();
|
35954
|
-
|
36023
|
+
_a301 = entityKind;
|
35955
36024
|
MySqlDialect = class {
|
35956
36025
|
constructor(config) {
|
35957
36026
|
/** @internal */
|
@@ -36234,7 +36303,7 @@ var init_dialect3 = __esm({
|
|
36234
36303
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
36235
36304
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
36236
36305
|
}
|
36237
|
-
buildInsertQuery({ table: table4, values, ignore, onConflict }) {
|
36306
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, ignore, onConflict, select }) {
|
36238
36307
|
const valuesSqlList = [];
|
36239
36308
|
const columns = table4[Table2.Symbol.Columns];
|
36240
36309
|
const colEntries = Object.entries(columns).filter(
|
@@ -36242,42 +36311,53 @@ var init_dialect3 = __esm({
|
|
36242
36311
|
);
|
36243
36312
|
const insertOrder = colEntries.map(([, column4]) => sql.identifier(this.casing.getColumnCasing(column4)));
|
36244
36313
|
const generatedIdsResponse = [];
|
36245
|
-
|
36246
|
-
const
|
36247
|
-
|
36248
|
-
|
36249
|
-
|
36250
|
-
|
36251
|
-
|
36252
|
-
|
36253
|
-
|
36254
|
-
|
36255
|
-
|
36256
|
-
|
36257
|
-
|
36258
|
-
|
36259
|
-
|
36314
|
+
if (select) {
|
36315
|
+
const select2 = valuesOrSelect;
|
36316
|
+
if (is(select2, SQL)) {
|
36317
|
+
valuesSqlList.push(select2);
|
36318
|
+
} else {
|
36319
|
+
valuesSqlList.push(select2.getSQL());
|
36320
|
+
}
|
36321
|
+
} else {
|
36322
|
+
const values = valuesOrSelect;
|
36323
|
+
valuesSqlList.push(sql.raw("values "));
|
36324
|
+
for (const [valueIndex, value] of values.entries()) {
|
36325
|
+
const generatedIds = {};
|
36326
|
+
const valueList = [];
|
36327
|
+
for (const [fieldName, col] of colEntries) {
|
36328
|
+
const colValue = value[fieldName];
|
36329
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
36330
|
+
if (col.defaultFn !== void 0) {
|
36331
|
+
const defaultFnResult = col.defaultFn();
|
36332
|
+
generatedIds[fieldName] = defaultFnResult;
|
36333
|
+
const defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
36334
|
+
valueList.push(defaultValue);
|
36335
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
36336
|
+
const onUpdateFnResult = col.onUpdateFn();
|
36337
|
+
const newValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
36338
|
+
valueList.push(newValue);
|
36339
|
+
} else {
|
36340
|
+
valueList.push(sql`default`);
|
36341
|
+
}
|
36260
36342
|
} else {
|
36261
|
-
|
36262
|
-
|
36263
|
-
|
36264
|
-
|
36265
|
-
generatedIds[fieldName] = colValue.value;
|
36343
|
+
if (col.defaultFn && is(colValue, Param)) {
|
36344
|
+
generatedIds[fieldName] = colValue.value;
|
36345
|
+
}
|
36346
|
+
valueList.push(colValue);
|
36266
36347
|
}
|
36267
|
-
valueList.push(colValue);
|
36268
36348
|
}
|
36269
|
-
|
36270
|
-
|
36271
|
-
|
36272
|
-
|
36273
|
-
|
36349
|
+
generatedIdsResponse.push(generatedIds);
|
36350
|
+
valuesSqlList.push(valueList);
|
36351
|
+
if (valueIndex < values.length - 1) {
|
36352
|
+
valuesSqlList.push(sql`, `);
|
36353
|
+
}
|
36274
36354
|
}
|
36275
36355
|
}
|
36276
36356
|
const valuesSql = sql.join(valuesSqlList);
|
36277
36357
|
const ignoreSql = ignore ? sql` ignore` : void 0;
|
36278
36358
|
const onConflictSql = onConflict ? sql` on duplicate key ${onConflict}` : void 0;
|
36279
36359
|
return {
|
36280
|
-
sql: sql`insert${ignoreSql} into ${table4} ${insertOrder}
|
36360
|
+
sql: sql`insert${ignoreSql} into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}`,
|
36281
36361
|
generatedIds: generatedIdsResponse
|
36282
36362
|
};
|
36283
36363
|
}
|
@@ -36737,7 +36817,7 @@ var init_dialect3 = __esm({
|
|
36737
36817
|
};
|
36738
36818
|
}
|
36739
36819
|
};
|
36740
|
-
__publicField(MySqlDialect,
|
36820
|
+
__publicField(MySqlDialect, _a301, "MySqlDialect");
|
36741
36821
|
}
|
36742
36822
|
});
|
36743
36823
|
|
@@ -36759,7 +36839,7 @@ function createSetOperator3(type, isAll) {
|
|
36759
36839
|
return leftSelect.addSetOperators(setOperators);
|
36760
36840
|
};
|
36761
36841
|
}
|
36762
|
-
var
|
36842
|
+
var _a302, MySqlSelectBuilder, _a303, _b224, MySqlSelectQueryBuilderBase, _a304, _b225, MySqlSelectBase, getMySqlSetOperators, union3, unionAll3, intersect3, intersectAll2, except3, exceptAll2;
|
36763
36843
|
var init_select4 = __esm({
|
36764
36844
|
"../drizzle-orm/dist/mysql-core/query-builders/select.js"() {
|
36765
36845
|
"use strict";
|
@@ -36774,7 +36854,7 @@ var init_select4 = __esm({
|
|
36774
36854
|
init_utils2();
|
36775
36855
|
init_view_common();
|
36776
36856
|
init_view_base3();
|
36777
|
-
|
36857
|
+
_a302 = entityKind;
|
36778
36858
|
MySqlSelectBuilder = class {
|
36779
36859
|
constructor(config) {
|
36780
36860
|
__publicField(this, "fields");
|
@@ -36819,8 +36899,8 @@ var init_select4 = __esm({
|
|
36819
36899
|
);
|
36820
36900
|
}
|
36821
36901
|
};
|
36822
|
-
__publicField(MySqlSelectBuilder,
|
36823
|
-
MySqlSelectQueryBuilderBase = class extends (
|
36902
|
+
__publicField(MySqlSelectBuilder, _a302, "MySqlSelectBuilder");
|
36903
|
+
MySqlSelectQueryBuilderBase = class extends (_b224 = TypedQueryBuilder, _a303 = entityKind, _b224) {
|
36824
36904
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
36825
36905
|
super();
|
36826
36906
|
__publicField(this, "_");
|
@@ -37421,8 +37501,8 @@ var init_select4 = __esm({
|
|
37421
37501
|
return this;
|
37422
37502
|
}
|
37423
37503
|
};
|
37424
|
-
__publicField(MySqlSelectQueryBuilderBase,
|
37425
|
-
MySqlSelectBase = class extends (
|
37504
|
+
__publicField(MySqlSelectQueryBuilderBase, _a303, "MySqlSelectQueryBuilder");
|
37505
|
+
MySqlSelectBase = class extends (_b225 = MySqlSelectQueryBuilderBase, _a304 = entityKind, _b225) {
|
37426
37506
|
constructor() {
|
37427
37507
|
super(...arguments);
|
37428
37508
|
__publicField(this, "execute", (placeholderValues) => {
|
@@ -37446,7 +37526,7 @@ var init_select4 = __esm({
|
|
37446
37526
|
return query;
|
37447
37527
|
}
|
37448
37528
|
};
|
37449
|
-
__publicField(MySqlSelectBase,
|
37529
|
+
__publicField(MySqlSelectBase, _a304, "MySqlSelect");
|
37450
37530
|
applyMixins(MySqlSelectBase, [QueryPromise]);
|
37451
37531
|
getMySqlSetOperators = () => ({
|
37452
37532
|
union: union3,
|
@@ -37466,7 +37546,7 @@ var init_select4 = __esm({
|
|
37466
37546
|
});
|
37467
37547
|
|
37468
37548
|
// ../drizzle-orm/dist/mysql-core/query-builders/query-builder.js
|
37469
|
-
var
|
37549
|
+
var _a305, QueryBuilder3;
|
37470
37550
|
var init_query_builder4 = __esm({
|
37471
37551
|
"../drizzle-orm/dist/mysql-core/query-builders/query-builder.js"() {
|
37472
37552
|
"use strict";
|
@@ -37475,7 +37555,7 @@ var init_query_builder4 = __esm({
|
|
37475
37555
|
init_selection_proxy();
|
37476
37556
|
init_subquery();
|
37477
37557
|
init_select4();
|
37478
|
-
|
37558
|
+
_a305 = entityKind;
|
37479
37559
|
QueryBuilder3 = class {
|
37480
37560
|
constructor(dialect4) {
|
37481
37561
|
__publicField(this, "dialect");
|
@@ -37537,7 +37617,142 @@ var init_query_builder4 = __esm({
|
|
37537
37617
|
return this.dialect;
|
37538
37618
|
}
|
37539
37619
|
};
|
37540
|
-
__publicField(QueryBuilder3,
|
37620
|
+
__publicField(QueryBuilder3, _a305, "MySqlQueryBuilder");
|
37621
|
+
}
|
37622
|
+
});
|
37623
|
+
|
37624
|
+
// ../drizzle-orm/dist/mysql-core/query-builders/insert.js
|
37625
|
+
var _a306, MySqlInsertBuilder, _a307, _b226, MySqlInsertBase;
|
37626
|
+
var init_insert3 = __esm({
|
37627
|
+
"../drizzle-orm/dist/mysql-core/query-builders/insert.js"() {
|
37628
|
+
"use strict";
|
37629
|
+
init_entity();
|
37630
|
+
init_query_promise();
|
37631
|
+
init_sql();
|
37632
|
+
init_table();
|
37633
|
+
init_utils2();
|
37634
|
+
init_query_builder4();
|
37635
|
+
_a306 = entityKind;
|
37636
|
+
MySqlInsertBuilder = class {
|
37637
|
+
constructor(table4, session, dialect4) {
|
37638
|
+
__publicField(this, "shouldIgnore", false);
|
37639
|
+
this.table = table4;
|
37640
|
+
this.session = session;
|
37641
|
+
this.dialect = dialect4;
|
37642
|
+
}
|
37643
|
+
ignore() {
|
37644
|
+
this.shouldIgnore = true;
|
37645
|
+
return this;
|
37646
|
+
}
|
37647
|
+
values(values) {
|
37648
|
+
values = Array.isArray(values) ? values : [values];
|
37649
|
+
if (values.length === 0) {
|
37650
|
+
throw new Error("values() must be called with at least one value");
|
37651
|
+
}
|
37652
|
+
const mappedValues = values.map((entry) => {
|
37653
|
+
const result = {};
|
37654
|
+
const cols = this.table[Table2.Symbol.Columns];
|
37655
|
+
for (const colKey of Object.keys(entry)) {
|
37656
|
+
const colValue = entry[colKey];
|
37657
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
37658
|
+
}
|
37659
|
+
return result;
|
37660
|
+
});
|
37661
|
+
return new MySqlInsertBase(this.table, mappedValues, this.shouldIgnore, this.session, this.dialect);
|
37662
|
+
}
|
37663
|
+
select(selectQuery) {
|
37664
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder3()) : selectQuery;
|
37665
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
37666
|
+
throw new Error(
|
37667
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
37668
|
+
);
|
37669
|
+
}
|
37670
|
+
return new MySqlInsertBase(this.table, select, this.shouldIgnore, this.session, this.dialect, true);
|
37671
|
+
}
|
37672
|
+
};
|
37673
|
+
__publicField(MySqlInsertBuilder, _a306, "MySqlInsertBuilder");
|
37674
|
+
MySqlInsertBase = class extends (_b226 = QueryPromise, _a307 = entityKind, _b226) {
|
37675
|
+
constructor(table4, values, ignore, session, dialect4, select) {
|
37676
|
+
super();
|
37677
|
+
__publicField(this, "config");
|
37678
|
+
__publicField(this, "execute", (placeholderValues) => {
|
37679
|
+
return this.prepare().execute(placeholderValues);
|
37680
|
+
});
|
37681
|
+
__publicField(this, "createIterator", () => {
|
37682
|
+
const self2 = this;
|
37683
|
+
return async function* (placeholderValues) {
|
37684
|
+
yield* self2.prepare().iterator(placeholderValues);
|
37685
|
+
};
|
37686
|
+
});
|
37687
|
+
__publicField(this, "iterator", this.createIterator());
|
37688
|
+
this.session = session;
|
37689
|
+
this.dialect = dialect4;
|
37690
|
+
this.config = { table: table4, values, select, ignore };
|
37691
|
+
}
|
37692
|
+
/**
|
37693
|
+
* Adds an `on duplicate key update` clause to the query.
|
37694
|
+
*
|
37695
|
+
* 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.
|
37696
|
+
*
|
37697
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-duplicate-key-update}
|
37698
|
+
*
|
37699
|
+
* @param config The `set` clause
|
37700
|
+
*
|
37701
|
+
* @example
|
37702
|
+
* ```ts
|
37703
|
+
* await db.insert(cars)
|
37704
|
+
* .values({ id: 1, brand: 'BMW'})
|
37705
|
+
* .onDuplicateKeyUpdate({ set: { brand: 'Porsche' }});
|
37706
|
+
* ```
|
37707
|
+
*
|
37708
|
+
* 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:
|
37709
|
+
*
|
37710
|
+
* ```ts
|
37711
|
+
* import { sql } from 'drizzle-orm';
|
37712
|
+
*
|
37713
|
+
* await db.insert(cars)
|
37714
|
+
* .values({ id: 1, brand: 'BMW' })
|
37715
|
+
* .onDuplicateKeyUpdate({ set: { id: sql`id` } });
|
37716
|
+
* ```
|
37717
|
+
*/
|
37718
|
+
onDuplicateKeyUpdate(config) {
|
37719
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
37720
|
+
this.config.onConflict = sql`update ${setSql}`;
|
37721
|
+
return this;
|
37722
|
+
}
|
37723
|
+
$returningId() {
|
37724
|
+
const returning = [];
|
37725
|
+
for (const [key, value] of Object.entries(this.config.table[Table2.Symbol.Columns])) {
|
37726
|
+
if (value.primary) {
|
37727
|
+
returning.push({ field: value, path: [key] });
|
37728
|
+
}
|
37729
|
+
}
|
37730
|
+
this.config.returning = returning;
|
37731
|
+
return this;
|
37732
|
+
}
|
37733
|
+
/** @internal */
|
37734
|
+
getSQL() {
|
37735
|
+
return this.dialect.buildInsertQuery(this.config).sql;
|
37736
|
+
}
|
37737
|
+
toSQL() {
|
37738
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
37739
|
+
return rest;
|
37740
|
+
}
|
37741
|
+
prepare() {
|
37742
|
+
const { sql: sql2, generatedIds } = this.dialect.buildInsertQuery(this.config);
|
37743
|
+
return this.session.prepareQuery(
|
37744
|
+
this.dialect.sqlToQuery(sql2),
|
37745
|
+
void 0,
|
37746
|
+
void 0,
|
37747
|
+
generatedIds,
|
37748
|
+
this.config.returning
|
37749
|
+
);
|
37750
|
+
}
|
37751
|
+
$dynamic() {
|
37752
|
+
return this;
|
37753
|
+
}
|
37754
|
+
};
|
37755
|
+
__publicField(MySqlInsertBase, _a307, "MySqlInsert");
|
37541
37756
|
}
|
37542
37757
|
});
|
37543
37758
|
|