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.js
CHANGED
@@ -21121,7 +21121,7 @@ var version;
|
|
21121
21121
|
var init_version = __esm({
|
21122
21122
|
"../drizzle-orm/dist/version.js"() {
|
21123
21123
|
"use strict";
|
21124
|
-
version = "0.36.
|
21124
|
+
version = "0.36.2";
|
21125
21125
|
}
|
21126
21126
|
});
|
21127
21127
|
|
@@ -22144,7 +22144,7 @@ function haveSameKeys(left, right) {
|
|
22144
22144
|
}
|
22145
22145
|
function mapUpdateSet(table4, values) {
|
22146
22146
|
const entries = Object.entries(values).filter(([, value]) => value !== void 0).map(([key, value]) => {
|
22147
|
-
if (is(value, SQL)) {
|
22147
|
+
if (is(value, SQL) || is(value, Column2)) {
|
22148
22148
|
return [key, value];
|
22149
22149
|
} else {
|
22150
22150
|
return [key, new Param(value, table4[Table2.Symbol.Columns][key])];
|
@@ -24654,162 +24654,6 @@ var init_delete = __esm({
|
|
24654
24654
|
}
|
24655
24655
|
});
|
24656
24656
|
|
24657
|
-
// ../drizzle-orm/dist/pg-core/query-builders/insert.js
|
24658
|
-
var _a125, PgInsertBuilder, _a126, _b98, PgInsertBase;
|
24659
|
-
var init_insert = __esm({
|
24660
|
-
"../drizzle-orm/dist/pg-core/query-builders/insert.js"() {
|
24661
|
-
"use strict";
|
24662
|
-
init_entity();
|
24663
|
-
init_query_promise();
|
24664
|
-
init_sql();
|
24665
|
-
init_table();
|
24666
|
-
init_tracing();
|
24667
|
-
init_utils2();
|
24668
|
-
_a125 = entityKind;
|
24669
|
-
PgInsertBuilder = class {
|
24670
|
-
constructor(table4, session, dialect4, withList) {
|
24671
|
-
this.table = table4;
|
24672
|
-
this.session = session;
|
24673
|
-
this.dialect = dialect4;
|
24674
|
-
this.withList = withList;
|
24675
|
-
}
|
24676
|
-
values(values) {
|
24677
|
-
values = Array.isArray(values) ? values : [values];
|
24678
|
-
if (values.length === 0) {
|
24679
|
-
throw new Error("values() must be called with at least one value");
|
24680
|
-
}
|
24681
|
-
const mappedValues = values.map((entry) => {
|
24682
|
-
const result = {};
|
24683
|
-
const cols = this.table[Table2.Symbol.Columns];
|
24684
|
-
for (const colKey of Object.keys(entry)) {
|
24685
|
-
const colValue = entry[colKey];
|
24686
|
-
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
24687
|
-
}
|
24688
|
-
return result;
|
24689
|
-
});
|
24690
|
-
return new PgInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
24691
|
-
}
|
24692
|
-
};
|
24693
|
-
__publicField(PgInsertBuilder, _a125, "PgInsertBuilder");
|
24694
|
-
PgInsertBase = class extends (_b98 = QueryPromise, _a126 = entityKind, _b98) {
|
24695
|
-
constructor(table4, values, session, dialect4, withList) {
|
24696
|
-
super();
|
24697
|
-
__publicField(this, "config");
|
24698
|
-
__publicField(this, "execute", (placeholderValues) => {
|
24699
|
-
return tracer.startActiveSpan("drizzle.operation", () => {
|
24700
|
-
return this._prepare().execute(placeholderValues);
|
24701
|
-
});
|
24702
|
-
});
|
24703
|
-
this.session = session;
|
24704
|
-
this.dialect = dialect4;
|
24705
|
-
this.config = { table: table4, values, withList };
|
24706
|
-
}
|
24707
|
-
returning(fields = this.config.table[Table2.Symbol.Columns]) {
|
24708
|
-
this.config.returning = orderSelectedFields(fields);
|
24709
|
-
return this;
|
24710
|
-
}
|
24711
|
-
/**
|
24712
|
-
* Adds an `on conflict do nothing` clause to the query.
|
24713
|
-
*
|
24714
|
-
* Calling this method simply avoids inserting a row as its alternative action.
|
24715
|
-
*
|
24716
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
24717
|
-
*
|
24718
|
-
* @param config The `target` and `where` clauses.
|
24719
|
-
*
|
24720
|
-
* @example
|
24721
|
-
* ```ts
|
24722
|
-
* // Insert one row and cancel the insert if there's a conflict
|
24723
|
-
* await db.insert(cars)
|
24724
|
-
* .values({ id: 1, brand: 'BMW' })
|
24725
|
-
* .onConflictDoNothing();
|
24726
|
-
*
|
24727
|
-
* // Explicitly specify conflict target
|
24728
|
-
* await db.insert(cars)
|
24729
|
-
* .values({ id: 1, brand: 'BMW' })
|
24730
|
-
* .onConflictDoNothing({ target: cars.id });
|
24731
|
-
* ```
|
24732
|
-
*/
|
24733
|
-
onConflictDoNothing(config = {}) {
|
24734
|
-
if (config.target === void 0) {
|
24735
|
-
this.config.onConflict = sql`do nothing`;
|
24736
|
-
} else {
|
24737
|
-
let targetColumn = "";
|
24738
|
-
targetColumn = Array.isArray(config.target) ? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(",") : this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));
|
24739
|
-
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
24740
|
-
this.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;
|
24741
|
-
}
|
24742
|
-
return this;
|
24743
|
-
}
|
24744
|
-
/**
|
24745
|
-
* Adds an `on conflict do update` clause to the query.
|
24746
|
-
*
|
24747
|
-
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
24748
|
-
*
|
24749
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
24750
|
-
*
|
24751
|
-
* @param config The `target`, `set` and `where` clauses.
|
24752
|
-
*
|
24753
|
-
* @example
|
24754
|
-
* ```ts
|
24755
|
-
* // Update the row if there's a conflict
|
24756
|
-
* await db.insert(cars)
|
24757
|
-
* .values({ id: 1, brand: 'BMW' })
|
24758
|
-
* .onConflictDoUpdate({
|
24759
|
-
* target: cars.id,
|
24760
|
-
* set: { brand: 'Porsche' }
|
24761
|
-
* });
|
24762
|
-
*
|
24763
|
-
* // Upsert with 'where' clause
|
24764
|
-
* await db.insert(cars)
|
24765
|
-
* .values({ id: 1, brand: 'BMW' })
|
24766
|
-
* .onConflictDoUpdate({
|
24767
|
-
* target: cars.id,
|
24768
|
-
* set: { brand: 'newBMW' },
|
24769
|
-
* targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,
|
24770
|
-
* });
|
24771
|
-
* ```
|
24772
|
-
*/
|
24773
|
-
onConflictDoUpdate(config) {
|
24774
|
-
if (config.where && (config.targetWhere || config.setWhere)) {
|
24775
|
-
throw new Error(
|
24776
|
-
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
24777
|
-
);
|
24778
|
-
}
|
24779
|
-
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
24780
|
-
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
24781
|
-
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
24782
|
-
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
24783
|
-
let targetColumn = "";
|
24784
|
-
targetColumn = Array.isArray(config.target) ? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(",") : this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));
|
24785
|
-
this.config.onConflict = sql`(${sql.raw(targetColumn)})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
24786
|
-
return this;
|
24787
|
-
}
|
24788
|
-
/** @internal */
|
24789
|
-
getSQL() {
|
24790
|
-
return this.dialect.buildInsertQuery(this.config);
|
24791
|
-
}
|
24792
|
-
toSQL() {
|
24793
|
-
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
24794
|
-
return rest;
|
24795
|
-
}
|
24796
|
-
/** @internal */
|
24797
|
-
_prepare(name2) {
|
24798
|
-
return tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
24799
|
-
return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name2, true);
|
24800
|
-
});
|
24801
|
-
}
|
24802
|
-
prepare(name2) {
|
24803
|
-
return this._prepare(name2);
|
24804
|
-
}
|
24805
|
-
$dynamic() {
|
24806
|
-
return this;
|
24807
|
-
}
|
24808
|
-
};
|
24809
|
-
__publicField(PgInsertBase, _a126, "PgInsert");
|
24810
|
-
}
|
24811
|
-
});
|
24812
|
-
|
24813
24657
|
// ../drizzle-orm/dist/casing.js
|
24814
24658
|
function toSnakeCase(input) {
|
24815
24659
|
const words = input.replace(/['\u2019]/g, "").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g) ?? [];
|
@@ -24825,13 +24669,13 @@ function toCamelCase(input) {
|
|
24825
24669
|
function noopCase(input) {
|
24826
24670
|
return input;
|
24827
24671
|
}
|
24828
|
-
var
|
24672
|
+
var _a125, CasingCache;
|
24829
24673
|
var init_casing = __esm({
|
24830
24674
|
"../drizzle-orm/dist/casing.js"() {
|
24831
24675
|
"use strict";
|
24832
24676
|
init_entity();
|
24833
24677
|
init_table();
|
24834
|
-
|
24678
|
+
_a125 = entityKind;
|
24835
24679
|
CasingCache = class {
|
24836
24680
|
constructor(casing2) {
|
24837
24681
|
/** @internal */
|
@@ -24868,25 +24712,25 @@ var init_casing = __esm({
|
|
24868
24712
|
this.cachedTables = {};
|
24869
24713
|
}
|
24870
24714
|
};
|
24871
|
-
__publicField(CasingCache,
|
24715
|
+
__publicField(CasingCache, _a125, "CasingCache");
|
24872
24716
|
}
|
24873
24717
|
});
|
24874
24718
|
|
24875
24719
|
// ../drizzle-orm/dist/pg-core/view-base.js
|
24876
|
-
var
|
24720
|
+
var _a126, _b98, PgViewBase;
|
24877
24721
|
var init_view_base = __esm({
|
24878
24722
|
"../drizzle-orm/dist/pg-core/view-base.js"() {
|
24879
24723
|
"use strict";
|
24880
24724
|
init_entity();
|
24881
24725
|
init_sql();
|
24882
|
-
PgViewBase = class extends (
|
24726
|
+
PgViewBase = class extends (_b98 = View3, _a126 = entityKind, _b98) {
|
24883
24727
|
};
|
24884
|
-
__publicField(PgViewBase,
|
24728
|
+
__publicField(PgViewBase, _a126, "PgViewBase");
|
24885
24729
|
}
|
24886
24730
|
});
|
24887
24731
|
|
24888
24732
|
// ../drizzle-orm/dist/pg-core/dialect.js
|
24889
|
-
var
|
24733
|
+
var _a127, PgDialect;
|
24890
24734
|
var init_dialect = __esm({
|
24891
24735
|
"../drizzle-orm/dist/pg-core/dialect.js"() {
|
24892
24736
|
"use strict";
|
@@ -24905,7 +24749,7 @@ var init_dialect = __esm({
|
|
24905
24749
|
init_utils2();
|
24906
24750
|
init_view_common();
|
24907
24751
|
init_view_base();
|
24908
|
-
|
24752
|
+
_a127 = entityKind;
|
24909
24753
|
PgDialect = class {
|
24910
24754
|
constructor(config) {
|
24911
24755
|
/** @internal */
|
@@ -24985,12 +24829,19 @@ var init_dialect = __esm({
|
|
24985
24829
|
return [res];
|
24986
24830
|
}));
|
24987
24831
|
}
|
24988
|
-
buildUpdateQuery({ table: table4, set, where, returning, withList }) {
|
24832
|
+
buildUpdateQuery({ table: table4, set, where, returning, withList, from, joins }) {
|
24989
24833
|
const withSql = this.buildWithCTE(withList);
|
24834
|
+
const tableName = table4[PgTable.Symbol.Name];
|
24835
|
+
const tableSchema = table4[PgTable.Symbol.Schema];
|
24836
|
+
const origTableName = table4[PgTable.Symbol.OriginalName];
|
24837
|
+
const alias = tableName === origTableName ? void 0 : tableName;
|
24838
|
+
const tableSql = sql`${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`}`;
|
24990
24839
|
const setSql = this.buildUpdateSet(table4, set);
|
24991
|
-
const
|
24840
|
+
const fromSql = from && sql.join([sql.raw(" from "), this.buildFromTable(from)]);
|
24841
|
+
const joinsSql = this.buildJoins(joins);
|
24842
|
+
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: !from })}` : void 0;
|
24992
24843
|
const whereSql = where ? sql` where ${where}` : void 0;
|
24993
|
-
return sql`${withSql}update ${
|
24844
|
+
return sql`${withSql}update ${tableSql} set ${setSql}${fromSql}${joinsSql}${whereSql}${returningSql}`;
|
24994
24845
|
}
|
24995
24846
|
/**
|
24996
24847
|
* Builds selection SQL with provided fields/expressions
|
@@ -25042,6 +24893,54 @@ var init_dialect = __esm({
|
|
25042
24893
|
});
|
25043
24894
|
return sql.join(chunks);
|
25044
24895
|
}
|
24896
|
+
buildJoins(joins) {
|
24897
|
+
if (!joins || joins.length === 0) {
|
24898
|
+
return void 0;
|
24899
|
+
}
|
24900
|
+
const joinsArray = [];
|
24901
|
+
for (const [index4, joinMeta] of joins.entries()) {
|
24902
|
+
if (index4 === 0) {
|
24903
|
+
joinsArray.push(sql` `);
|
24904
|
+
}
|
24905
|
+
const table4 = joinMeta.table;
|
24906
|
+
const lateralSql = joinMeta.lateral ? sql` lateral` : void 0;
|
24907
|
+
if (is(table4, PgTable)) {
|
24908
|
+
const tableName = table4[PgTable.Symbol.Name];
|
24909
|
+
const tableSchema = table4[PgTable.Symbol.Schema];
|
24910
|
+
const origTableName = table4[PgTable.Symbol.OriginalName];
|
24911
|
+
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
24912
|
+
joinsArray.push(
|
24913
|
+
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}`
|
24914
|
+
);
|
24915
|
+
} else if (is(table4, View3)) {
|
24916
|
+
const viewName = table4[ViewBaseConfig].name;
|
24917
|
+
const viewSchema = table4[ViewBaseConfig].schema;
|
24918
|
+
const origViewName = table4[ViewBaseConfig].originalName;
|
24919
|
+
const alias = viewName === origViewName ? void 0 : joinMeta.alias;
|
24920
|
+
joinsArray.push(
|
24921
|
+
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}`
|
24922
|
+
);
|
24923
|
+
} else {
|
24924
|
+
joinsArray.push(
|
24925
|
+
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${table4} on ${joinMeta.on}`
|
24926
|
+
);
|
24927
|
+
}
|
24928
|
+
if (index4 < joins.length - 1) {
|
24929
|
+
joinsArray.push(sql` `);
|
24930
|
+
}
|
24931
|
+
}
|
24932
|
+
return sql.join(joinsArray);
|
24933
|
+
}
|
24934
|
+
buildFromTable(table4) {
|
24935
|
+
if (is(table4, Table2) && table4[Table2.Symbol.OriginalName] !== table4[Table2.Symbol.Name]) {
|
24936
|
+
let fullName = sql`${sql.identifier(table4[Table2.Symbol.OriginalName])}`;
|
24937
|
+
if (table4[Table2.Symbol.Schema]) {
|
24938
|
+
fullName = sql`${sql.identifier(table4[Table2.Symbol.Schema])}.${fullName}`;
|
24939
|
+
}
|
24940
|
+
return sql`${fullName} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
24941
|
+
}
|
24942
|
+
return table4;
|
24943
|
+
}
|
25045
24944
|
buildSelectQuery({
|
25046
24945
|
withList,
|
25047
24946
|
fields,
|
@@ -25076,51 +24975,8 @@ var init_dialect = __esm({
|
|
25076
24975
|
distinctSql = distinct === true ? sql` distinct` : sql` distinct on (${sql.join(distinct.on, sql`, `)})`;
|
25077
24976
|
}
|
25078
24977
|
const selection = this.buildSelection(fieldsList, { isSingleTable });
|
25079
|
-
const tableSql = (
|
25080
|
-
|
25081
|
-
let fullName = sql`${sql.identifier(table4[Table2.Symbol.OriginalName])}`;
|
25082
|
-
if (table4[Table2.Symbol.Schema]) {
|
25083
|
-
fullName = sql`${sql.identifier(table4[Table2.Symbol.Schema])}.${fullName}`;
|
25084
|
-
}
|
25085
|
-
return sql`${fullName} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
25086
|
-
}
|
25087
|
-
return table4;
|
25088
|
-
})();
|
25089
|
-
const joinsArray = [];
|
25090
|
-
if (joins) {
|
25091
|
-
for (const [index4, joinMeta] of joins.entries()) {
|
25092
|
-
if (index4 === 0) {
|
25093
|
-
joinsArray.push(sql` `);
|
25094
|
-
}
|
25095
|
-
const table22 = joinMeta.table;
|
25096
|
-
const lateralSql = joinMeta.lateral ? sql` lateral` : void 0;
|
25097
|
-
if (is(table22, PgTable)) {
|
25098
|
-
const tableName = table22[PgTable.Symbol.Name];
|
25099
|
-
const tableSchema = table22[PgTable.Symbol.Schema];
|
25100
|
-
const origTableName = table22[PgTable.Symbol.OriginalName];
|
25101
|
-
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
25102
|
-
joinsArray.push(
|
25103
|
-
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
25104
|
-
);
|
25105
|
-
} else if (is(table22, View3)) {
|
25106
|
-
const viewName = table22[ViewBaseConfig].name;
|
25107
|
-
const viewSchema = table22[ViewBaseConfig].schema;
|
25108
|
-
const origViewName = table22[ViewBaseConfig].originalName;
|
25109
|
-
const alias = viewName === origViewName ? void 0 : joinMeta.alias;
|
25110
|
-
joinsArray.push(
|
25111
|
-
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${viewSchema ? sql`${sql.identifier(viewSchema)}.` : void 0}${sql.identifier(origViewName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
25112
|
-
);
|
25113
|
-
} else {
|
25114
|
-
joinsArray.push(
|
25115
|
-
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${table22} on ${joinMeta.on}`
|
25116
|
-
);
|
25117
|
-
}
|
25118
|
-
if (index4 < joins.length - 1) {
|
25119
|
-
joinsArray.push(sql` `);
|
25120
|
-
}
|
25121
|
-
}
|
25122
|
-
}
|
25123
|
-
const joinsSql = sql.join(joinsArray);
|
24978
|
+
const tableSql = this.buildFromTable(table4);
|
24979
|
+
const joinsSql = this.buildJoins(joins);
|
25124
24980
|
const whereSql = where ? sql` where ${where}` : void 0;
|
25125
24981
|
const havingSql = having ? sql` having ${having}` : void 0;
|
25126
24982
|
let orderBySql;
|
@@ -25201,43 +25057,54 @@ var init_dialect = __esm({
|
|
25201
25057
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
25202
25058
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
25203
25059
|
}
|
25204
|
-
buildInsertQuery({ table: table4, values, onConflict, returning, withList }) {
|
25060
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, onConflict, returning, withList, select }) {
|
25205
25061
|
const valuesSqlList = [];
|
25206
25062
|
const columns = table4[Table2.Symbol.Columns];
|
25207
25063
|
const colEntries = Object.entries(columns).filter(([_2, col]) => !col.shouldDisableInsert());
|
25208
25064
|
const insertOrder = colEntries.map(
|
25209
25065
|
([, column4]) => sql.identifier(this.casing.getColumnCasing(column4))
|
25210
25066
|
);
|
25211
|
-
|
25212
|
-
const
|
25213
|
-
|
25214
|
-
|
25215
|
-
|
25216
|
-
|
25217
|
-
|
25218
|
-
|
25219
|
-
|
25220
|
-
|
25221
|
-
|
25222
|
-
|
25223
|
-
|
25067
|
+
if (select) {
|
25068
|
+
const select2 = valuesOrSelect;
|
25069
|
+
if (is(select2, SQL)) {
|
25070
|
+
valuesSqlList.push(select2);
|
25071
|
+
} else {
|
25072
|
+
valuesSqlList.push(select2.getSQL());
|
25073
|
+
}
|
25074
|
+
} else {
|
25075
|
+
const values = valuesOrSelect;
|
25076
|
+
valuesSqlList.push(sql.raw("values "));
|
25077
|
+
for (const [valueIndex, value] of values.entries()) {
|
25078
|
+
const valueList = [];
|
25079
|
+
for (const [fieldName, col] of colEntries) {
|
25080
|
+
const colValue = value[fieldName];
|
25081
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
25082
|
+
if (col.defaultFn !== void 0) {
|
25083
|
+
const defaultFnResult = col.defaultFn();
|
25084
|
+
const defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
25085
|
+
valueList.push(defaultValue);
|
25086
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
25087
|
+
const onUpdateFnResult = col.onUpdateFn();
|
25088
|
+
const newValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
25089
|
+
valueList.push(newValue);
|
25090
|
+
} else {
|
25091
|
+
valueList.push(sql`default`);
|
25092
|
+
}
|
25224
25093
|
} else {
|
25225
|
-
valueList.push(
|
25094
|
+
valueList.push(colValue);
|
25226
25095
|
}
|
25227
|
-
} else {
|
25228
|
-
valueList.push(colValue);
|
25229
25096
|
}
|
25230
|
-
|
25231
|
-
|
25232
|
-
|
25233
|
-
|
25097
|
+
valuesSqlList.push(valueList);
|
25098
|
+
if (valueIndex < values.length - 1) {
|
25099
|
+
valuesSqlList.push(sql`, `);
|
25100
|
+
}
|
25234
25101
|
}
|
25235
25102
|
}
|
25236
25103
|
const withSql = this.buildWithCTE(withList);
|
25237
25104
|
const valuesSql = sql.join(valuesSqlList);
|
25238
25105
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
25239
25106
|
const onConflictSql = onConflict ? sql` on conflict ${onConflict}` : void 0;
|
25240
|
-
return sql`${withSql}insert into ${table4} ${insertOrder}
|
25107
|
+
return sql`${withSql}insert into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}${returningSql}`;
|
25241
25108
|
}
|
25242
25109
|
buildRefreshMaterializedViewQuery({ view: view4, concurrently, withNoData }) {
|
25243
25110
|
const concurrentlySql = concurrently ? sql` concurrently` : void 0;
|
@@ -25973,12 +25840,12 @@ var init_dialect = __esm({
|
|
25973
25840
|
};
|
25974
25841
|
}
|
25975
25842
|
};
|
25976
|
-
__publicField(PgDialect,
|
25843
|
+
__publicField(PgDialect, _a127, "PgDialect");
|
25977
25844
|
}
|
25978
25845
|
});
|
25979
25846
|
|
25980
25847
|
// ../drizzle-orm/dist/selection-proxy.js
|
25981
|
-
var
|
25848
|
+
var _a128, _SelectionProxyHandler, SelectionProxyHandler;
|
25982
25849
|
var init_selection_proxy = __esm({
|
25983
25850
|
"../drizzle-orm/dist/selection-proxy.js"() {
|
25984
25851
|
"use strict";
|
@@ -25988,7 +25855,7 @@ var init_selection_proxy = __esm({
|
|
25988
25855
|
init_sql();
|
25989
25856
|
init_subquery();
|
25990
25857
|
init_view_common();
|
25991
|
-
|
25858
|
+
_a128 = entityKind;
|
25992
25859
|
_SelectionProxyHandler = class _SelectionProxyHandler {
|
25993
25860
|
constructor(config) {
|
25994
25861
|
__publicField(this, "config");
|
@@ -26054,25 +25921,25 @@ var init_selection_proxy = __esm({
|
|
26054
25921
|
return new Proxy(value, new _SelectionProxyHandler(this.config));
|
26055
25922
|
}
|
26056
25923
|
};
|
26057
|
-
__publicField(_SelectionProxyHandler,
|
25924
|
+
__publicField(_SelectionProxyHandler, _a128, "SelectionProxyHandler");
|
26058
25925
|
SelectionProxyHandler = _SelectionProxyHandler;
|
26059
25926
|
}
|
26060
25927
|
});
|
26061
25928
|
|
26062
25929
|
// ../drizzle-orm/dist/query-builders/query-builder.js
|
26063
|
-
var
|
25930
|
+
var _a129, TypedQueryBuilder;
|
26064
25931
|
var init_query_builder = __esm({
|
26065
25932
|
"../drizzle-orm/dist/query-builders/query-builder.js"() {
|
26066
25933
|
"use strict";
|
26067
25934
|
init_entity();
|
26068
|
-
|
25935
|
+
_a129 = entityKind;
|
26069
25936
|
TypedQueryBuilder = class {
|
26070
25937
|
/** @internal */
|
26071
25938
|
getSelectedFields() {
|
26072
25939
|
return this._.selectedFields;
|
26073
25940
|
}
|
26074
25941
|
};
|
26075
|
-
__publicField(TypedQueryBuilder,
|
25942
|
+
__publicField(TypedQueryBuilder, _a129, "TypedQueryBuilder");
|
26076
25943
|
}
|
26077
25944
|
});
|
26078
25945
|
|
@@ -26094,7 +25961,7 @@ function createSetOperator(type, isAll) {
|
|
26094
25961
|
return leftSelect.addSetOperators(setOperators);
|
26095
25962
|
};
|
26096
25963
|
}
|
26097
|
-
var
|
25964
|
+
var _a130, PgSelectBuilder, _a131, _b99, PgSelectQueryBuilderBase, _a132, _b100, PgSelectBase, getPgSetOperators, union, unionAll, intersect, intersectAll, except, exceptAll;
|
26098
25965
|
var init_select2 = __esm({
|
26099
25966
|
"../drizzle-orm/dist/pg-core/query-builders/select.js"() {
|
26100
25967
|
"use strict";
|
@@ -26110,7 +25977,7 @@ var init_select2 = __esm({
|
|
26110
25977
|
init_utils2();
|
26111
25978
|
init_utils2();
|
26112
25979
|
init_view_common();
|
26113
|
-
|
25980
|
+
_a130 = entityKind;
|
26114
25981
|
PgSelectBuilder = class {
|
26115
25982
|
constructor(config) {
|
26116
25983
|
__publicField(this, "fields");
|
@@ -26159,8 +26026,8 @@ var init_select2 = __esm({
|
|
26159
26026
|
});
|
26160
26027
|
}
|
26161
26028
|
};
|
26162
|
-
__publicField(PgSelectBuilder,
|
26163
|
-
PgSelectQueryBuilderBase = class extends (
|
26029
|
+
__publicField(PgSelectBuilder, _a130, "PgSelectBuilder");
|
26030
|
+
PgSelectQueryBuilderBase = class extends (_b99 = TypedQueryBuilder, _a131 = entityKind, _b99) {
|
26164
26031
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
26165
26032
|
super();
|
26166
26033
|
__publicField(this, "_");
|
@@ -26760,8 +26627,8 @@ var init_select2 = __esm({
|
|
26760
26627
|
return this;
|
26761
26628
|
}
|
26762
26629
|
};
|
26763
|
-
__publicField(PgSelectQueryBuilderBase,
|
26764
|
-
PgSelectBase = class extends (
|
26630
|
+
__publicField(PgSelectQueryBuilderBase, _a131, "PgSelectQueryBuilder");
|
26631
|
+
PgSelectBase = class extends (_b100 = PgSelectQueryBuilderBase, _a132 = entityKind, _b100) {
|
26765
26632
|
constructor() {
|
26766
26633
|
super(...arguments);
|
26767
26634
|
__publicField(this, "execute", (placeholderValues) => {
|
@@ -26794,7 +26661,7 @@ var init_select2 = __esm({
|
|
26794
26661
|
return this._prepare(name2);
|
26795
26662
|
}
|
26796
26663
|
};
|
26797
|
-
__publicField(PgSelectBase,
|
26664
|
+
__publicField(PgSelectBase, _a132, "PgSelect");
|
26798
26665
|
applyMixins(PgSelectBase, [QueryPromise]);
|
26799
26666
|
getPgSetOperators = () => ({
|
26800
26667
|
union,
|
@@ -26814,7 +26681,7 @@ var init_select2 = __esm({
|
|
26814
26681
|
});
|
26815
26682
|
|
26816
26683
|
// ../drizzle-orm/dist/pg-core/query-builders/query-builder.js
|
26817
|
-
var
|
26684
|
+
var _a133, QueryBuilder;
|
26818
26685
|
var init_query_builder2 = __esm({
|
26819
26686
|
"../drizzle-orm/dist/pg-core/query-builders/query-builder.js"() {
|
26820
26687
|
"use strict";
|
@@ -26823,7 +26690,7 @@ var init_query_builder2 = __esm({
|
|
26823
26690
|
init_selection_proxy();
|
26824
26691
|
init_subquery();
|
26825
26692
|
init_select2();
|
26826
|
-
|
26693
|
+
_a133 = entityKind;
|
26827
26694
|
QueryBuilder = class {
|
26828
26695
|
constructor(dialect4) {
|
26829
26696
|
__publicField(this, "dialect");
|
@@ -26904,41 +26771,207 @@ var init_query_builder2 = __esm({
|
|
26904
26771
|
return this.dialect;
|
26905
26772
|
}
|
26906
26773
|
};
|
26907
|
-
__publicField(QueryBuilder,
|
26774
|
+
__publicField(QueryBuilder, _a133, "PgQueryBuilder");
|
26908
26775
|
}
|
26909
26776
|
});
|
26910
26777
|
|
26911
|
-
// ../drizzle-orm/dist/pg-core/query-builders/
|
26912
|
-
var
|
26913
|
-
var
|
26914
|
-
"../drizzle-orm/dist/pg-core/query-builders/
|
26778
|
+
// ../drizzle-orm/dist/pg-core/query-builders/insert.js
|
26779
|
+
var _a134, PgInsertBuilder, _a135, _b101, PgInsertBase;
|
26780
|
+
var init_insert = __esm({
|
26781
|
+
"../drizzle-orm/dist/pg-core/query-builders/insert.js"() {
|
26915
26782
|
"use strict";
|
26916
26783
|
init_entity();
|
26917
26784
|
init_query_promise();
|
26785
|
+
init_sql();
|
26786
|
+
init_table();
|
26918
26787
|
init_tracing();
|
26919
|
-
|
26920
|
-
|
26921
|
-
|
26922
|
-
|
26923
|
-
|
26924
|
-
|
26925
|
-
return this._prepare().execute(placeholderValues);
|
26926
|
-
});
|
26927
|
-
});
|
26788
|
+
init_utils2();
|
26789
|
+
init_query_builder2();
|
26790
|
+
_a134 = entityKind;
|
26791
|
+
PgInsertBuilder = class {
|
26792
|
+
constructor(table4, session, dialect4, withList) {
|
26793
|
+
this.table = table4;
|
26928
26794
|
this.session = session;
|
26929
26795
|
this.dialect = dialect4;
|
26930
|
-
this.
|
26796
|
+
this.withList = withList;
|
26931
26797
|
}
|
26932
|
-
|
26933
|
-
|
26934
|
-
|
26798
|
+
values(values) {
|
26799
|
+
values = Array.isArray(values) ? values : [values];
|
26800
|
+
if (values.length === 0) {
|
26801
|
+
throw new Error("values() must be called with at least one value");
|
26935
26802
|
}
|
26936
|
-
|
26937
|
-
|
26938
|
-
|
26939
|
-
|
26940
|
-
|
26941
|
-
|
26803
|
+
const mappedValues = values.map((entry) => {
|
26804
|
+
const result = {};
|
26805
|
+
const cols = this.table[Table2.Symbol.Columns];
|
26806
|
+
for (const colKey of Object.keys(entry)) {
|
26807
|
+
const colValue = entry[colKey];
|
26808
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
26809
|
+
}
|
26810
|
+
return result;
|
26811
|
+
});
|
26812
|
+
return new PgInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
26813
|
+
}
|
26814
|
+
select(selectQuery) {
|
26815
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder()) : selectQuery;
|
26816
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
26817
|
+
throw new Error(
|
26818
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
26819
|
+
);
|
26820
|
+
}
|
26821
|
+
return new PgInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
|
26822
|
+
}
|
26823
|
+
};
|
26824
|
+
__publicField(PgInsertBuilder, _a134, "PgInsertBuilder");
|
26825
|
+
PgInsertBase = class extends (_b101 = QueryPromise, _a135 = entityKind, _b101) {
|
26826
|
+
constructor(table4, values, session, dialect4, withList, select) {
|
26827
|
+
super();
|
26828
|
+
__publicField(this, "config");
|
26829
|
+
__publicField(this, "execute", (placeholderValues) => {
|
26830
|
+
return tracer.startActiveSpan("drizzle.operation", () => {
|
26831
|
+
return this._prepare().execute(placeholderValues);
|
26832
|
+
});
|
26833
|
+
});
|
26834
|
+
this.session = session;
|
26835
|
+
this.dialect = dialect4;
|
26836
|
+
this.config = { table: table4, values, withList, select };
|
26837
|
+
}
|
26838
|
+
returning(fields = this.config.table[Table2.Symbol.Columns]) {
|
26839
|
+
this.config.returning = orderSelectedFields(fields);
|
26840
|
+
return this;
|
26841
|
+
}
|
26842
|
+
/**
|
26843
|
+
* Adds an `on conflict do nothing` clause to the query.
|
26844
|
+
*
|
26845
|
+
* Calling this method simply avoids inserting a row as its alternative action.
|
26846
|
+
*
|
26847
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
26848
|
+
*
|
26849
|
+
* @param config The `target` and `where` clauses.
|
26850
|
+
*
|
26851
|
+
* @example
|
26852
|
+
* ```ts
|
26853
|
+
* // Insert one row and cancel the insert if there's a conflict
|
26854
|
+
* await db.insert(cars)
|
26855
|
+
* .values({ id: 1, brand: 'BMW' })
|
26856
|
+
* .onConflictDoNothing();
|
26857
|
+
*
|
26858
|
+
* // Explicitly specify conflict target
|
26859
|
+
* await db.insert(cars)
|
26860
|
+
* .values({ id: 1, brand: 'BMW' })
|
26861
|
+
* .onConflictDoNothing({ target: cars.id });
|
26862
|
+
* ```
|
26863
|
+
*/
|
26864
|
+
onConflictDoNothing(config = {}) {
|
26865
|
+
if (config.target === void 0) {
|
26866
|
+
this.config.onConflict = sql`do nothing`;
|
26867
|
+
} else {
|
26868
|
+
let targetColumn = "";
|
26869
|
+
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));
|
26870
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
26871
|
+
this.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;
|
26872
|
+
}
|
26873
|
+
return this;
|
26874
|
+
}
|
26875
|
+
/**
|
26876
|
+
* Adds an `on conflict do update` clause to the query.
|
26877
|
+
*
|
26878
|
+
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
26879
|
+
*
|
26880
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
26881
|
+
*
|
26882
|
+
* @param config The `target`, `set` and `where` clauses.
|
26883
|
+
*
|
26884
|
+
* @example
|
26885
|
+
* ```ts
|
26886
|
+
* // Update the row if there's a conflict
|
26887
|
+
* await db.insert(cars)
|
26888
|
+
* .values({ id: 1, brand: 'BMW' })
|
26889
|
+
* .onConflictDoUpdate({
|
26890
|
+
* target: cars.id,
|
26891
|
+
* set: { brand: 'Porsche' }
|
26892
|
+
* });
|
26893
|
+
*
|
26894
|
+
* // Upsert with 'where' clause
|
26895
|
+
* await db.insert(cars)
|
26896
|
+
* .values({ id: 1, brand: 'BMW' })
|
26897
|
+
* .onConflictDoUpdate({
|
26898
|
+
* target: cars.id,
|
26899
|
+
* set: { brand: 'newBMW' },
|
26900
|
+
* targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,
|
26901
|
+
* });
|
26902
|
+
* ```
|
26903
|
+
*/
|
26904
|
+
onConflictDoUpdate(config) {
|
26905
|
+
if (config.where && (config.targetWhere || config.setWhere)) {
|
26906
|
+
throw new Error(
|
26907
|
+
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
26908
|
+
);
|
26909
|
+
}
|
26910
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
26911
|
+
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
26912
|
+
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
26913
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
26914
|
+
let targetColumn = "";
|
26915
|
+
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));
|
26916
|
+
this.config.onConflict = sql`(${sql.raw(targetColumn)})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
26917
|
+
return this;
|
26918
|
+
}
|
26919
|
+
/** @internal */
|
26920
|
+
getSQL() {
|
26921
|
+
return this.dialect.buildInsertQuery(this.config);
|
26922
|
+
}
|
26923
|
+
toSQL() {
|
26924
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
26925
|
+
return rest;
|
26926
|
+
}
|
26927
|
+
/** @internal */
|
26928
|
+
_prepare(name2) {
|
26929
|
+
return tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
26930
|
+
return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name2, true);
|
26931
|
+
});
|
26932
|
+
}
|
26933
|
+
prepare(name2) {
|
26934
|
+
return this._prepare(name2);
|
26935
|
+
}
|
26936
|
+
$dynamic() {
|
26937
|
+
return this;
|
26938
|
+
}
|
26939
|
+
};
|
26940
|
+
__publicField(PgInsertBase, _a135, "PgInsert");
|
26941
|
+
}
|
26942
|
+
});
|
26943
|
+
|
26944
|
+
// ../drizzle-orm/dist/pg-core/query-builders/refresh-materialized-view.js
|
26945
|
+
var _a136, _b102, PgRefreshMaterializedView;
|
26946
|
+
var init_refresh_materialized_view = __esm({
|
26947
|
+
"../drizzle-orm/dist/pg-core/query-builders/refresh-materialized-view.js"() {
|
26948
|
+
"use strict";
|
26949
|
+
init_entity();
|
26950
|
+
init_query_promise();
|
26951
|
+
init_tracing();
|
26952
|
+
PgRefreshMaterializedView = class extends (_b102 = QueryPromise, _a136 = entityKind, _b102) {
|
26953
|
+
constructor(view4, session, dialect4) {
|
26954
|
+
super();
|
26955
|
+
__publicField(this, "config");
|
26956
|
+
__publicField(this, "execute", (placeholderValues) => {
|
26957
|
+
return tracer.startActiveSpan("drizzle.operation", () => {
|
26958
|
+
return this._prepare().execute(placeholderValues);
|
26959
|
+
});
|
26960
|
+
});
|
26961
|
+
this.session = session;
|
26962
|
+
this.dialect = dialect4;
|
26963
|
+
this.config = { view: view4 };
|
26964
|
+
}
|
26965
|
+
concurrently() {
|
26966
|
+
if (this.config.withNoData !== void 0) {
|
26967
|
+
throw new Error("Cannot use concurrently and withNoData together");
|
26968
|
+
}
|
26969
|
+
this.config.concurrently = true;
|
26970
|
+
return this;
|
26971
|
+
}
|
26972
|
+
withNoData() {
|
26973
|
+
if (this.config.concurrently !== void 0) {
|
26974
|
+
throw new Error("Cannot use concurrently and withNoData together");
|
26942
26975
|
}
|
26943
26976
|
this.config.withNoData = true;
|
26944
26977
|
return this;
|
@@ -26978,9 +27011,14 @@ var init_update = __esm({
|
|
26978
27011
|
"../drizzle-orm/dist/pg-core/query-builders/update.js"() {
|
26979
27012
|
"use strict";
|
26980
27013
|
init_entity();
|
27014
|
+
init_table2();
|
26981
27015
|
init_query_promise();
|
27016
|
+
init_selection_proxy();
|
27017
|
+
init_sql();
|
27018
|
+
init_subquery();
|
26982
27019
|
init_table();
|
26983
27020
|
init_utils2();
|
27021
|
+
init_view_common();
|
26984
27022
|
_a137 = entityKind;
|
26985
27023
|
PgUpdateBuilder = class {
|
26986
27024
|
constructor(table4, session, dialect4, withList) {
|
@@ -27004,12 +27042,85 @@ var init_update = __esm({
|
|
27004
27042
|
constructor(table4, set, session, dialect4, withList) {
|
27005
27043
|
super();
|
27006
27044
|
__publicField(this, "config");
|
27045
|
+
__publicField(this, "tableName");
|
27046
|
+
__publicField(this, "joinsNotNullableMap");
|
27047
|
+
__publicField(this, "leftJoin", this.createJoin("left"));
|
27048
|
+
__publicField(this, "rightJoin", this.createJoin("right"));
|
27049
|
+
__publicField(this, "innerJoin", this.createJoin("inner"));
|
27050
|
+
__publicField(this, "fullJoin", this.createJoin("full"));
|
27007
27051
|
__publicField(this, "execute", (placeholderValues) => {
|
27008
27052
|
return this._prepare().execute(placeholderValues);
|
27009
27053
|
});
|
27010
27054
|
this.session = session;
|
27011
27055
|
this.dialect = dialect4;
|
27012
|
-
this.config = { set, table: table4, withList };
|
27056
|
+
this.config = { set, table: table4, withList, joins: [] };
|
27057
|
+
this.tableName = getTableLikeName(table4);
|
27058
|
+
this.joinsNotNullableMap = typeof this.tableName === "string" ? { [this.tableName]: true } : {};
|
27059
|
+
}
|
27060
|
+
from(source) {
|
27061
|
+
const tableName = getTableLikeName(source);
|
27062
|
+
if (typeof tableName === "string") {
|
27063
|
+
this.joinsNotNullableMap[tableName] = true;
|
27064
|
+
}
|
27065
|
+
this.config.from = source;
|
27066
|
+
return this;
|
27067
|
+
}
|
27068
|
+
getTableLikeFields(table4) {
|
27069
|
+
if (is(table4, PgTable)) {
|
27070
|
+
return table4[Table2.Symbol.Columns];
|
27071
|
+
} else if (is(table4, Subquery)) {
|
27072
|
+
return table4._.selectedFields;
|
27073
|
+
}
|
27074
|
+
return table4[ViewBaseConfig].selectedFields;
|
27075
|
+
}
|
27076
|
+
createJoin(joinType) {
|
27077
|
+
return (table4, on) => {
|
27078
|
+
const tableName = getTableLikeName(table4);
|
27079
|
+
if (typeof tableName === "string" && this.config.joins.some((join) => join.alias === tableName)) {
|
27080
|
+
throw new Error(`Alias "${tableName}" is already used in this query`);
|
27081
|
+
}
|
27082
|
+
if (typeof on === "function") {
|
27083
|
+
const from = this.config.from && !is(this.config.from, SQL) ? this.getTableLikeFields(this.config.from) : void 0;
|
27084
|
+
on = on(
|
27085
|
+
new Proxy(
|
27086
|
+
this.config.table[Table2.Symbol.Columns],
|
27087
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
27088
|
+
),
|
27089
|
+
from && new Proxy(
|
27090
|
+
from,
|
27091
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
27092
|
+
)
|
27093
|
+
);
|
27094
|
+
}
|
27095
|
+
this.config.joins.push({ on, table: table4, joinType, alias: tableName });
|
27096
|
+
if (typeof tableName === "string") {
|
27097
|
+
switch (joinType) {
|
27098
|
+
case "left": {
|
27099
|
+
this.joinsNotNullableMap[tableName] = false;
|
27100
|
+
break;
|
27101
|
+
}
|
27102
|
+
case "right": {
|
27103
|
+
this.joinsNotNullableMap = Object.fromEntries(
|
27104
|
+
Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false])
|
27105
|
+
);
|
27106
|
+
this.joinsNotNullableMap[tableName] = true;
|
27107
|
+
break;
|
27108
|
+
}
|
27109
|
+
case "inner": {
|
27110
|
+
this.joinsNotNullableMap[tableName] = true;
|
27111
|
+
break;
|
27112
|
+
}
|
27113
|
+
case "full": {
|
27114
|
+
this.joinsNotNullableMap = Object.fromEntries(
|
27115
|
+
Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false])
|
27116
|
+
);
|
27117
|
+
this.joinsNotNullableMap[tableName] = false;
|
27118
|
+
break;
|
27119
|
+
}
|
27120
|
+
}
|
27121
|
+
}
|
27122
|
+
return this;
|
27123
|
+
};
|
27013
27124
|
}
|
27014
27125
|
/**
|
27015
27126
|
* Adds a 'where' clause to the query.
|
@@ -27048,7 +27159,24 @@ var init_update = __esm({
|
|
27048
27159
|
this.config.where = where;
|
27049
27160
|
return this;
|
27050
27161
|
}
|
27051
|
-
returning(fields
|
27162
|
+
returning(fields) {
|
27163
|
+
if (!fields) {
|
27164
|
+
fields = Object.assign({}, this.config.table[Table2.Symbol.Columns]);
|
27165
|
+
if (this.config.from) {
|
27166
|
+
const tableName = getTableLikeName(this.config.from);
|
27167
|
+
if (typeof tableName === "string" && this.config.from && !is(this.config.from, SQL)) {
|
27168
|
+
const fromFields = this.getTableLikeFields(this.config.from);
|
27169
|
+
fields[tableName] = fromFields;
|
27170
|
+
}
|
27171
|
+
for (const join of this.config.joins) {
|
27172
|
+
const tableName2 = getTableLikeName(join.table);
|
27173
|
+
if (typeof tableName2 === "string" && !is(join.table, SQL)) {
|
27174
|
+
const fromFields = this.getTableLikeFields(join.table);
|
27175
|
+
fields[tableName2] = fromFields;
|
27176
|
+
}
|
27177
|
+
}
|
27178
|
+
}
|
27179
|
+
}
|
27052
27180
|
this.config.returning = orderSelectedFields(fields);
|
27053
27181
|
return this;
|
27054
27182
|
}
|
@@ -27062,7 +27190,9 @@ var init_update = __esm({
|
|
27062
27190
|
}
|
27063
27191
|
/** @internal */
|
27064
27192
|
_prepare(name2) {
|
27065
|
-
|
27193
|
+
const query = this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name2, true);
|
27194
|
+
query.joinsNotNullableMap = this.joinsNotNullableMap;
|
27195
|
+
return query;
|
27066
27196
|
}
|
27067
27197
|
prepare(name2) {
|
27068
27198
|
return this._prepare(name2);
|
@@ -30823,189 +30953,21 @@ var init_delete2 = __esm({
|
|
30823
30953
|
}
|
30824
30954
|
});
|
30825
30955
|
|
30826
|
-
// ../drizzle-orm/dist/sqlite-core/
|
30827
|
-
var _a197,
|
30828
|
-
var
|
30829
|
-
"../drizzle-orm/dist/sqlite-core/
|
30956
|
+
// ../drizzle-orm/dist/sqlite-core/view-base.js
|
30957
|
+
var _a197, _b142, SQLiteViewBase;
|
30958
|
+
var init_view_base2 = __esm({
|
30959
|
+
"../drizzle-orm/dist/sqlite-core/view-base.js"() {
|
30830
30960
|
"use strict";
|
30831
30961
|
init_entity();
|
30832
|
-
init_query_promise();
|
30833
30962
|
init_sql();
|
30834
|
-
|
30835
|
-
init_table();
|
30836
|
-
init_utils2();
|
30837
|
-
_a197 = entityKind;
|
30838
|
-
SQLiteInsertBuilder = class {
|
30839
|
-
constructor(table4, session, dialect4, withList) {
|
30840
|
-
this.table = table4;
|
30841
|
-
this.session = session;
|
30842
|
-
this.dialect = dialect4;
|
30843
|
-
this.withList = withList;
|
30844
|
-
}
|
30845
|
-
values(values) {
|
30846
|
-
values = Array.isArray(values) ? values : [values];
|
30847
|
-
if (values.length === 0) {
|
30848
|
-
throw new Error("values() must be called with at least one value");
|
30849
|
-
}
|
30850
|
-
const mappedValues = values.map((entry) => {
|
30851
|
-
const result = {};
|
30852
|
-
const cols = this.table[Table2.Symbol.Columns];
|
30853
|
-
for (const colKey of Object.keys(entry)) {
|
30854
|
-
const colValue = entry[colKey];
|
30855
|
-
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
30856
|
-
}
|
30857
|
-
return result;
|
30858
|
-
});
|
30859
|
-
return new SQLiteInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
30860
|
-
}
|
30861
|
-
};
|
30862
|
-
__publicField(SQLiteInsertBuilder, _a197, "SQLiteInsertBuilder");
|
30863
|
-
SQLiteInsertBase = class extends (_b142 = QueryPromise, _a198 = entityKind, _b142) {
|
30864
|
-
constructor(table4, values, session, dialect4, withList) {
|
30865
|
-
super();
|
30866
|
-
/** @internal */
|
30867
|
-
__publicField(this, "config");
|
30868
|
-
__publicField(this, "run", (placeholderValues) => {
|
30869
|
-
return this._prepare().run(placeholderValues);
|
30870
|
-
});
|
30871
|
-
__publicField(this, "all", (placeholderValues) => {
|
30872
|
-
return this._prepare().all(placeholderValues);
|
30873
|
-
});
|
30874
|
-
__publicField(this, "get", (placeholderValues) => {
|
30875
|
-
return this._prepare().get(placeholderValues);
|
30876
|
-
});
|
30877
|
-
__publicField(this, "values", (placeholderValues) => {
|
30878
|
-
return this._prepare().values(placeholderValues);
|
30879
|
-
});
|
30880
|
-
this.session = session;
|
30881
|
-
this.dialect = dialect4;
|
30882
|
-
this.config = { table: table4, values, withList };
|
30883
|
-
}
|
30884
|
-
returning(fields = this.config.table[SQLiteTable.Symbol.Columns]) {
|
30885
|
-
this.config.returning = orderSelectedFields(fields);
|
30886
|
-
return this;
|
30887
|
-
}
|
30888
|
-
/**
|
30889
|
-
* Adds an `on conflict do nothing` clause to the query.
|
30890
|
-
*
|
30891
|
-
* Calling this method simply avoids inserting a row as its alternative action.
|
30892
|
-
*
|
30893
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
30894
|
-
*
|
30895
|
-
* @param config The `target` and `where` clauses.
|
30896
|
-
*
|
30897
|
-
* @example
|
30898
|
-
* ```ts
|
30899
|
-
* // Insert one row and cancel the insert if there's a conflict
|
30900
|
-
* await db.insert(cars)
|
30901
|
-
* .values({ id: 1, brand: 'BMW' })
|
30902
|
-
* .onConflictDoNothing();
|
30903
|
-
*
|
30904
|
-
* // Explicitly specify conflict target
|
30905
|
-
* await db.insert(cars)
|
30906
|
-
* .values({ id: 1, brand: 'BMW' })
|
30907
|
-
* .onConflictDoNothing({ target: cars.id });
|
30908
|
-
* ```
|
30909
|
-
*/
|
30910
|
-
onConflictDoNothing(config = {}) {
|
30911
|
-
if (config.target === void 0) {
|
30912
|
-
this.config.onConflict = sql`do nothing`;
|
30913
|
-
} else {
|
30914
|
-
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
30915
|
-
const whereSql = config.where ? sql` where ${config.where}` : sql``;
|
30916
|
-
this.config.onConflict = sql`${targetSql} do nothing${whereSql}`;
|
30917
|
-
}
|
30918
|
-
return this;
|
30919
|
-
}
|
30920
|
-
/**
|
30921
|
-
* Adds an `on conflict do update` clause to the query.
|
30922
|
-
*
|
30923
|
-
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
30924
|
-
*
|
30925
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
30926
|
-
*
|
30927
|
-
* @param config The `target`, `set` and `where` clauses.
|
30928
|
-
*
|
30929
|
-
* @example
|
30930
|
-
* ```ts
|
30931
|
-
* // Update the row if there's a conflict
|
30932
|
-
* await db.insert(cars)
|
30933
|
-
* .values({ id: 1, brand: 'BMW' })
|
30934
|
-
* .onConflictDoUpdate({
|
30935
|
-
* target: cars.id,
|
30936
|
-
* set: { brand: 'Porsche' }
|
30937
|
-
* });
|
30938
|
-
*
|
30939
|
-
* // Upsert with 'where' clause
|
30940
|
-
* await db.insert(cars)
|
30941
|
-
* .values({ id: 1, brand: 'BMW' })
|
30942
|
-
* .onConflictDoUpdate({
|
30943
|
-
* target: cars.id,
|
30944
|
-
* set: { brand: 'newBMW' },
|
30945
|
-
* where: sql`${cars.createdAt} > '2023-01-01'::date`,
|
30946
|
-
* });
|
30947
|
-
* ```
|
30948
|
-
*/
|
30949
|
-
onConflictDoUpdate(config) {
|
30950
|
-
if (config.where && (config.targetWhere || config.setWhere)) {
|
30951
|
-
throw new Error(
|
30952
|
-
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
30953
|
-
);
|
30954
|
-
}
|
30955
|
-
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
30956
|
-
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
30957
|
-
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
30958
|
-
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
30959
|
-
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
30960
|
-
this.config.onConflict = sql`${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
30961
|
-
return this;
|
30962
|
-
}
|
30963
|
-
/** @internal */
|
30964
|
-
getSQL() {
|
30965
|
-
return this.dialect.buildInsertQuery(this.config);
|
30966
|
-
}
|
30967
|
-
toSQL() {
|
30968
|
-
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
30969
|
-
return rest;
|
30970
|
-
}
|
30971
|
-
/** @internal */
|
30972
|
-
_prepare(isOneTimeQuery = true) {
|
30973
|
-
return this.session[isOneTimeQuery ? "prepareOneTimeQuery" : "prepareQuery"](
|
30974
|
-
this.dialect.sqlToQuery(this.getSQL()),
|
30975
|
-
this.config.returning,
|
30976
|
-
this.config.returning ? "all" : "run",
|
30977
|
-
true
|
30978
|
-
);
|
30979
|
-
}
|
30980
|
-
prepare() {
|
30981
|
-
return this._prepare(false);
|
30982
|
-
}
|
30983
|
-
async execute() {
|
30984
|
-
return this.config.returning ? this.all() : this.run();
|
30985
|
-
}
|
30986
|
-
$dynamic() {
|
30987
|
-
return this;
|
30988
|
-
}
|
30963
|
+
SQLiteViewBase = class extends (_b142 = View3, _a197 = entityKind, _b142) {
|
30989
30964
|
};
|
30990
|
-
__publicField(
|
30991
|
-
}
|
30992
|
-
});
|
30993
|
-
|
30994
|
-
// ../drizzle-orm/dist/sqlite-core/view-base.js
|
30995
|
-
var _a199, _b143, SQLiteViewBase;
|
30996
|
-
var init_view_base2 = __esm({
|
30997
|
-
"../drizzle-orm/dist/sqlite-core/view-base.js"() {
|
30998
|
-
"use strict";
|
30999
|
-
init_entity();
|
31000
|
-
init_sql();
|
31001
|
-
SQLiteViewBase = class extends (_b143 = View3, _a199 = entityKind, _b143) {
|
31002
|
-
};
|
31003
|
-
__publicField(SQLiteViewBase, _a199, "SQLiteViewBase");
|
30965
|
+
__publicField(SQLiteViewBase, _a197, "SQLiteViewBase");
|
31004
30966
|
}
|
31005
30967
|
});
|
31006
30968
|
|
31007
30969
|
// ../drizzle-orm/dist/sqlite-core/dialect.js
|
31008
|
-
var
|
30970
|
+
var _a198, SQLiteDialect, _a199, _b143, SQLiteSyncDialect, _a200, _b144, SQLiteAsyncDialect;
|
31009
30971
|
var init_dialect2 = __esm({
|
31010
30972
|
"../drizzle-orm/dist/sqlite-core/dialect.js"() {
|
31011
30973
|
"use strict";
|
@@ -31024,7 +30986,7 @@ var init_dialect2 = __esm({
|
|
31024
30986
|
init_utils2();
|
31025
30987
|
init_view_common();
|
31026
30988
|
init_view_base2();
|
31027
|
-
|
30989
|
+
_a198 = entityKind;
|
31028
30990
|
SQLiteDialect = class {
|
31029
30991
|
constructor(config) {
|
31030
30992
|
/** @internal */
|
@@ -31077,14 +31039,16 @@ var init_dialect2 = __esm({
|
|
31077
31039
|
return [res];
|
31078
31040
|
}));
|
31079
31041
|
}
|
31080
|
-
buildUpdateQuery({ table: table4, set, where, returning, withList, limit, orderBy }) {
|
31042
|
+
buildUpdateQuery({ table: table4, set, where, returning, withList, joins, from, limit, orderBy }) {
|
31081
31043
|
const withSql = this.buildWithCTE(withList);
|
31082
31044
|
const setSql = this.buildUpdateSet(table4, set);
|
31045
|
+
const fromSql = from && sql.join([sql.raw(" from "), this.buildFromTable(from)]);
|
31046
|
+
const joinsSql = this.buildJoins(joins);
|
31083
31047
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
31084
31048
|
const whereSql = where ? sql` where ${where}` : void 0;
|
31085
31049
|
const orderBySql = this.buildOrderBy(orderBy);
|
31086
31050
|
const limitSql = this.buildLimit(limit);
|
31087
|
-
return sql`${withSql}update ${table4} set ${setSql}${whereSql}${returningSql}${orderBySql}${limitSql}`;
|
31051
|
+
return sql`${withSql}update ${table4} set ${setSql}${fromSql}${joinsSql}${whereSql}${returningSql}${orderBySql}${limitSql}`;
|
31088
31052
|
}
|
31089
31053
|
/**
|
31090
31054
|
* Builds selection SQL with provided fields/expressions
|
@@ -31137,6 +31101,37 @@ var init_dialect2 = __esm({
|
|
31137
31101
|
});
|
31138
31102
|
return sql.join(chunks);
|
31139
31103
|
}
|
31104
|
+
buildJoins(joins) {
|
31105
|
+
if (!joins || joins.length === 0) {
|
31106
|
+
return void 0;
|
31107
|
+
}
|
31108
|
+
const joinsArray = [];
|
31109
|
+
if (joins) {
|
31110
|
+
for (const [index4, joinMeta] of joins.entries()) {
|
31111
|
+
if (index4 === 0) {
|
31112
|
+
joinsArray.push(sql` `);
|
31113
|
+
}
|
31114
|
+
const table4 = joinMeta.table;
|
31115
|
+
if (is(table4, SQLiteTable)) {
|
31116
|
+
const tableName = table4[SQLiteTable.Symbol.Name];
|
31117
|
+
const tableSchema = table4[SQLiteTable.Symbol.Schema];
|
31118
|
+
const origTableName = table4[SQLiteTable.Symbol.OriginalName];
|
31119
|
+
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
31120
|
+
joinsArray.push(
|
31121
|
+
sql`${sql.raw(joinMeta.joinType)} join ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
31122
|
+
);
|
31123
|
+
} else {
|
31124
|
+
joinsArray.push(
|
31125
|
+
sql`${sql.raw(joinMeta.joinType)} join ${table4} on ${joinMeta.on}`
|
31126
|
+
);
|
31127
|
+
}
|
31128
|
+
if (index4 < joins.length - 1) {
|
31129
|
+
joinsArray.push(sql` `);
|
31130
|
+
}
|
31131
|
+
}
|
31132
|
+
}
|
31133
|
+
return sql.join(joinsArray);
|
31134
|
+
}
|
31140
31135
|
buildLimit(limit) {
|
31141
31136
|
return typeof limit === "object" || typeof limit === "number" && limit >= 0 ? sql` limit ${limit}` : void 0;
|
31142
31137
|
}
|
@@ -31152,6 +31147,12 @@ var init_dialect2 = __esm({
|
|
31152
31147
|
}
|
31153
31148
|
return orderByList.length > 0 ? sql` order by ${sql.join(orderByList)}` : void 0;
|
31154
31149
|
}
|
31150
|
+
buildFromTable(table4) {
|
31151
|
+
if (is(table4, Table2) && table4[Table2.Symbol.OriginalName] !== table4[Table2.Symbol.Name]) {
|
31152
|
+
return sql`${sql.identifier(table4[Table2.Symbol.OriginalName])} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
31153
|
+
}
|
31154
|
+
return table4;
|
31155
|
+
}
|
31155
31156
|
buildSelectQuery({
|
31156
31157
|
withList,
|
31157
31158
|
fields,
|
@@ -31182,38 +31183,8 @@ var init_dialect2 = __esm({
|
|
31182
31183
|
const withSql = this.buildWithCTE(withList);
|
31183
31184
|
const distinctSql = distinct ? sql` distinct` : void 0;
|
31184
31185
|
const selection = this.buildSelection(fieldsList, { isSingleTable });
|
31185
|
-
const tableSql = (
|
31186
|
-
|
31187
|
-
return sql`${sql.identifier(table4[Table2.Symbol.OriginalName])} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
31188
|
-
}
|
31189
|
-
return table4;
|
31190
|
-
})();
|
31191
|
-
const joinsArray = [];
|
31192
|
-
if (joins) {
|
31193
|
-
for (const [index4, joinMeta] of joins.entries()) {
|
31194
|
-
if (index4 === 0) {
|
31195
|
-
joinsArray.push(sql` `);
|
31196
|
-
}
|
31197
|
-
const table22 = joinMeta.table;
|
31198
|
-
if (is(table22, SQLiteTable)) {
|
31199
|
-
const tableName = table22[SQLiteTable.Symbol.Name];
|
31200
|
-
const tableSchema = table22[SQLiteTable.Symbol.Schema];
|
31201
|
-
const origTableName = table22[SQLiteTable.Symbol.OriginalName];
|
31202
|
-
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
31203
|
-
joinsArray.push(
|
31204
|
-
sql`${sql.raw(joinMeta.joinType)} join ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
31205
|
-
);
|
31206
|
-
} else {
|
31207
|
-
joinsArray.push(
|
31208
|
-
sql`${sql.raw(joinMeta.joinType)} join ${table22} on ${joinMeta.on}`
|
31209
|
-
);
|
31210
|
-
}
|
31211
|
-
if (index4 < joins.length - 1) {
|
31212
|
-
joinsArray.push(sql` `);
|
31213
|
-
}
|
31214
|
-
}
|
31215
|
-
}
|
31216
|
-
const joinsSql = sql.join(joinsArray);
|
31186
|
+
const tableSql = this.buildFromTable(table4);
|
31187
|
+
const joinsSql = this.buildJoins(joins);
|
31217
31188
|
const whereSql = where ? sql` where ${where}` : void 0;
|
31218
31189
|
const havingSql = having ? sql` having ${having}` : void 0;
|
31219
31190
|
const groupByList = [];
|
@@ -31279,45 +31250,56 @@ var init_dialect2 = __esm({
|
|
31279
31250
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
31280
31251
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
31281
31252
|
}
|
31282
|
-
buildInsertQuery({ table: table4, values, onConflict, returning, withList }) {
|
31253
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, onConflict, returning, withList, select }) {
|
31283
31254
|
const valuesSqlList = [];
|
31284
31255
|
const columns = table4[Table2.Symbol.Columns];
|
31285
31256
|
const colEntries = Object.entries(columns).filter(
|
31286
31257
|
([_2, col]) => !col.shouldDisableInsert()
|
31287
31258
|
);
|
31288
31259
|
const insertOrder = colEntries.map(([, column4]) => sql.identifier(this.casing.getColumnCasing(column4)));
|
31289
|
-
|
31290
|
-
const
|
31291
|
-
|
31292
|
-
|
31293
|
-
|
31294
|
-
|
31295
|
-
|
31296
|
-
|
31297
|
-
|
31298
|
-
|
31299
|
-
|
31300
|
-
|
31301
|
-
|
31302
|
-
|
31260
|
+
if (select) {
|
31261
|
+
const select2 = valuesOrSelect;
|
31262
|
+
if (is(select2, SQL)) {
|
31263
|
+
valuesSqlList.push(select2);
|
31264
|
+
} else {
|
31265
|
+
valuesSqlList.push(select2.getSQL());
|
31266
|
+
}
|
31267
|
+
} else {
|
31268
|
+
const values = valuesOrSelect;
|
31269
|
+
valuesSqlList.push(sql.raw("values "));
|
31270
|
+
for (const [valueIndex, value] of values.entries()) {
|
31271
|
+
const valueList = [];
|
31272
|
+
for (const [fieldName, col] of colEntries) {
|
31273
|
+
const colValue = value[fieldName];
|
31274
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
31275
|
+
let defaultValue;
|
31276
|
+
if (col.default !== null && col.default !== void 0) {
|
31277
|
+
defaultValue = is(col.default, SQL) ? col.default : sql.param(col.default, col);
|
31278
|
+
} else if (col.defaultFn !== void 0) {
|
31279
|
+
const defaultFnResult = col.defaultFn();
|
31280
|
+
defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
31281
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
31282
|
+
const onUpdateFnResult = col.onUpdateFn();
|
31283
|
+
defaultValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
31284
|
+
} else {
|
31285
|
+
defaultValue = sql`null`;
|
31286
|
+
}
|
31287
|
+
valueList.push(defaultValue);
|
31303
31288
|
} else {
|
31304
|
-
|
31289
|
+
valueList.push(colValue);
|
31305
31290
|
}
|
31306
|
-
valueList.push(defaultValue);
|
31307
|
-
} else {
|
31308
|
-
valueList.push(colValue);
|
31309
31291
|
}
|
31310
|
-
|
31311
|
-
|
31312
|
-
|
31313
|
-
|
31292
|
+
valuesSqlList.push(valueList);
|
31293
|
+
if (valueIndex < values.length - 1) {
|
31294
|
+
valuesSqlList.push(sql`, `);
|
31295
|
+
}
|
31314
31296
|
}
|
31315
31297
|
}
|
31316
31298
|
const withSql = this.buildWithCTE(withList);
|
31317
31299
|
const valuesSql = sql.join(valuesSqlList);
|
31318
31300
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
31319
31301
|
const onConflictSql = onConflict ? sql` on conflict ${onConflict}` : void 0;
|
31320
|
-
return sql`${withSql}insert into ${table4} ${insertOrder}
|
31302
|
+
return sql`${withSql}insert into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}${returningSql}`;
|
31321
31303
|
}
|
31322
31304
|
sqlToQuery(sql2, invokeSource) {
|
31323
31305
|
return sql2.toQuery({
|
@@ -31546,8 +31528,8 @@ var init_dialect2 = __esm({
|
|
31546
31528
|
};
|
31547
31529
|
}
|
31548
31530
|
};
|
31549
|
-
__publicField(SQLiteDialect,
|
31550
|
-
SQLiteSyncDialect = class extends (
|
31531
|
+
__publicField(SQLiteDialect, _a198, "SQLiteDialect");
|
31532
|
+
SQLiteSyncDialect = class extends (_b143 = SQLiteDialect, _a199 = entityKind, _b143) {
|
31551
31533
|
migrate(migrations, session, config) {
|
31552
31534
|
const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
|
31553
31535
|
const migrationTableCreate = sql`
|
@@ -31581,8 +31563,8 @@ var init_dialect2 = __esm({
|
|
31581
31563
|
}
|
31582
31564
|
}
|
31583
31565
|
};
|
31584
|
-
__publicField(SQLiteSyncDialect,
|
31585
|
-
SQLiteAsyncDialect = class extends (
|
31566
|
+
__publicField(SQLiteSyncDialect, _a199, "SQLiteSyncDialect");
|
31567
|
+
SQLiteAsyncDialect = class extends (_b144 = SQLiteDialect, _a200 = entityKind, _b144) {
|
31586
31568
|
async migrate(migrations, session, config) {
|
31587
31569
|
const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
|
31588
31570
|
const migrationTableCreate = sql`
|
@@ -31611,7 +31593,7 @@ var init_dialect2 = __esm({
|
|
31611
31593
|
});
|
31612
31594
|
}
|
31613
31595
|
};
|
31614
|
-
__publicField(SQLiteAsyncDialect,
|
31596
|
+
__publicField(SQLiteAsyncDialect, _a200, "SQLiteAsyncDialect");
|
31615
31597
|
}
|
31616
31598
|
});
|
31617
31599
|
|
@@ -31633,7 +31615,7 @@ function createSetOperator2(type, isAll) {
|
|
31633
31615
|
return leftSelect.addSetOperators(setOperators);
|
31634
31616
|
};
|
31635
31617
|
}
|
31636
|
-
var
|
31618
|
+
var _a201, SQLiteSelectBuilder, _a202, _b145, SQLiteSelectQueryBuilderBase, _a203, _b146, SQLiteSelectBase, getSQLiteSetOperators, union2, unionAll2, intersect2, except2;
|
31637
31619
|
var init_select3 = __esm({
|
31638
31620
|
"../drizzle-orm/dist/sqlite-core/query-builders/select.js"() {
|
31639
31621
|
"use strict";
|
@@ -31647,7 +31629,7 @@ var init_select3 = __esm({
|
|
31647
31629
|
init_utils2();
|
31648
31630
|
init_view_common();
|
31649
31631
|
init_view_base2();
|
31650
|
-
|
31632
|
+
_a201 = entityKind;
|
31651
31633
|
SQLiteSelectBuilder = class {
|
31652
31634
|
constructor(config) {
|
31653
31635
|
__publicField(this, "fields");
|
@@ -31688,8 +31670,8 @@ var init_select3 = __esm({
|
|
31688
31670
|
});
|
31689
31671
|
}
|
31690
31672
|
};
|
31691
|
-
__publicField(SQLiteSelectBuilder,
|
31692
|
-
SQLiteSelectQueryBuilderBase = class extends (
|
31673
|
+
__publicField(SQLiteSelectBuilder, _a201, "SQLiteSelectBuilder");
|
31674
|
+
SQLiteSelectQueryBuilderBase = class extends (_b145 = TypedQueryBuilder, _a202 = entityKind, _b145) {
|
31693
31675
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
31694
31676
|
super();
|
31695
31677
|
__publicField(this, "_");
|
@@ -32194,8 +32176,8 @@ var init_select3 = __esm({
|
|
32194
32176
|
return this;
|
32195
32177
|
}
|
32196
32178
|
};
|
32197
|
-
__publicField(SQLiteSelectQueryBuilderBase,
|
32198
|
-
SQLiteSelectBase = class extends (
|
32179
|
+
__publicField(SQLiteSelectQueryBuilderBase, _a202, "SQLiteSelectQueryBuilder");
|
32180
|
+
SQLiteSelectBase = class extends (_b146 = SQLiteSelectQueryBuilderBase, _a203 = entityKind, _b146) {
|
32199
32181
|
constructor() {
|
32200
32182
|
super(...arguments);
|
32201
32183
|
__publicField(this, "run", (placeholderValues) => {
|
@@ -32233,7 +32215,7 @@ var init_select3 = __esm({
|
|
32233
32215
|
return this.all();
|
32234
32216
|
}
|
32235
32217
|
};
|
32236
|
-
__publicField(SQLiteSelectBase,
|
32218
|
+
__publicField(SQLiteSelectBase, _a203, "SQLiteSelect");
|
32237
32219
|
applyMixins(SQLiteSelectBase, [QueryPromise]);
|
32238
32220
|
getSQLiteSetOperators = () => ({
|
32239
32221
|
union: union2,
|
@@ -32249,7 +32231,7 @@ var init_select3 = __esm({
|
|
32249
32231
|
});
|
32250
32232
|
|
32251
32233
|
// ../drizzle-orm/dist/sqlite-core/query-builders/query-builder.js
|
32252
|
-
var
|
32234
|
+
var _a204, QueryBuilder2;
|
32253
32235
|
var init_query_builder3 = __esm({
|
32254
32236
|
"../drizzle-orm/dist/sqlite-core/query-builders/query-builder.js"() {
|
32255
32237
|
"use strict";
|
@@ -32258,7 +32240,7 @@ var init_query_builder3 = __esm({
|
|
32258
32240
|
init_dialect2();
|
32259
32241
|
init_subquery();
|
32260
32242
|
init_select3();
|
32261
|
-
|
32243
|
+
_a204 = entityKind;
|
32262
32244
|
QueryBuilder2 = class {
|
32263
32245
|
constructor(dialect4) {
|
32264
32246
|
__publicField(this, "dialect");
|
@@ -32320,7 +32302,185 @@ var init_query_builder3 = __esm({
|
|
32320
32302
|
return this.dialect;
|
32321
32303
|
}
|
32322
32304
|
};
|
32323
|
-
__publicField(QueryBuilder2,
|
32305
|
+
__publicField(QueryBuilder2, _a204, "SQLiteQueryBuilder");
|
32306
|
+
}
|
32307
|
+
});
|
32308
|
+
|
32309
|
+
// ../drizzle-orm/dist/sqlite-core/query-builders/insert.js
|
32310
|
+
var _a205, SQLiteInsertBuilder, _a206, _b147, SQLiteInsertBase;
|
32311
|
+
var init_insert2 = __esm({
|
32312
|
+
"../drizzle-orm/dist/sqlite-core/query-builders/insert.js"() {
|
32313
|
+
"use strict";
|
32314
|
+
init_entity();
|
32315
|
+
init_query_promise();
|
32316
|
+
init_sql();
|
32317
|
+
init_table3();
|
32318
|
+
init_table();
|
32319
|
+
init_utils2();
|
32320
|
+
init_query_builder3();
|
32321
|
+
_a205 = entityKind;
|
32322
|
+
SQLiteInsertBuilder = class {
|
32323
|
+
constructor(table4, session, dialect4, withList) {
|
32324
|
+
this.table = table4;
|
32325
|
+
this.session = session;
|
32326
|
+
this.dialect = dialect4;
|
32327
|
+
this.withList = withList;
|
32328
|
+
}
|
32329
|
+
values(values) {
|
32330
|
+
values = Array.isArray(values) ? values : [values];
|
32331
|
+
if (values.length === 0) {
|
32332
|
+
throw new Error("values() must be called with at least one value");
|
32333
|
+
}
|
32334
|
+
const mappedValues = values.map((entry) => {
|
32335
|
+
const result = {};
|
32336
|
+
const cols = this.table[Table2.Symbol.Columns];
|
32337
|
+
for (const colKey of Object.keys(entry)) {
|
32338
|
+
const colValue = entry[colKey];
|
32339
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
32340
|
+
}
|
32341
|
+
return result;
|
32342
|
+
});
|
32343
|
+
return new SQLiteInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
32344
|
+
}
|
32345
|
+
select(selectQuery) {
|
32346
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder2()) : selectQuery;
|
32347
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
32348
|
+
throw new Error(
|
32349
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
32350
|
+
);
|
32351
|
+
}
|
32352
|
+
return new SQLiteInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
|
32353
|
+
}
|
32354
|
+
};
|
32355
|
+
__publicField(SQLiteInsertBuilder, _a205, "SQLiteInsertBuilder");
|
32356
|
+
SQLiteInsertBase = class extends (_b147 = QueryPromise, _a206 = entityKind, _b147) {
|
32357
|
+
constructor(table4, values, session, dialect4, withList, select) {
|
32358
|
+
super();
|
32359
|
+
/** @internal */
|
32360
|
+
__publicField(this, "config");
|
32361
|
+
__publicField(this, "run", (placeholderValues) => {
|
32362
|
+
return this._prepare().run(placeholderValues);
|
32363
|
+
});
|
32364
|
+
__publicField(this, "all", (placeholderValues) => {
|
32365
|
+
return this._prepare().all(placeholderValues);
|
32366
|
+
});
|
32367
|
+
__publicField(this, "get", (placeholderValues) => {
|
32368
|
+
return this._prepare().get(placeholderValues);
|
32369
|
+
});
|
32370
|
+
__publicField(this, "values", (placeholderValues) => {
|
32371
|
+
return this._prepare().values(placeholderValues);
|
32372
|
+
});
|
32373
|
+
this.session = session;
|
32374
|
+
this.dialect = dialect4;
|
32375
|
+
this.config = { table: table4, values, withList, select };
|
32376
|
+
}
|
32377
|
+
returning(fields = this.config.table[SQLiteTable.Symbol.Columns]) {
|
32378
|
+
this.config.returning = orderSelectedFields(fields);
|
32379
|
+
return this;
|
32380
|
+
}
|
32381
|
+
/**
|
32382
|
+
* Adds an `on conflict do nothing` clause to the query.
|
32383
|
+
*
|
32384
|
+
* Calling this method simply avoids inserting a row as its alternative action.
|
32385
|
+
*
|
32386
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
32387
|
+
*
|
32388
|
+
* @param config The `target` and `where` clauses.
|
32389
|
+
*
|
32390
|
+
* @example
|
32391
|
+
* ```ts
|
32392
|
+
* // Insert one row and cancel the insert if there's a conflict
|
32393
|
+
* await db.insert(cars)
|
32394
|
+
* .values({ id: 1, brand: 'BMW' })
|
32395
|
+
* .onConflictDoNothing();
|
32396
|
+
*
|
32397
|
+
* // Explicitly specify conflict target
|
32398
|
+
* await db.insert(cars)
|
32399
|
+
* .values({ id: 1, brand: 'BMW' })
|
32400
|
+
* .onConflictDoNothing({ target: cars.id });
|
32401
|
+
* ```
|
32402
|
+
*/
|
32403
|
+
onConflictDoNothing(config = {}) {
|
32404
|
+
if (config.target === void 0) {
|
32405
|
+
this.config.onConflict = sql`do nothing`;
|
32406
|
+
} else {
|
32407
|
+
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
32408
|
+
const whereSql = config.where ? sql` where ${config.where}` : sql``;
|
32409
|
+
this.config.onConflict = sql`${targetSql} do nothing${whereSql}`;
|
32410
|
+
}
|
32411
|
+
return this;
|
32412
|
+
}
|
32413
|
+
/**
|
32414
|
+
* Adds an `on conflict do update` clause to the query.
|
32415
|
+
*
|
32416
|
+
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
32417
|
+
*
|
32418
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
32419
|
+
*
|
32420
|
+
* @param config The `target`, `set` and `where` clauses.
|
32421
|
+
*
|
32422
|
+
* @example
|
32423
|
+
* ```ts
|
32424
|
+
* // Update the row if there's a conflict
|
32425
|
+
* await db.insert(cars)
|
32426
|
+
* .values({ id: 1, brand: 'BMW' })
|
32427
|
+
* .onConflictDoUpdate({
|
32428
|
+
* target: cars.id,
|
32429
|
+
* set: { brand: 'Porsche' }
|
32430
|
+
* });
|
32431
|
+
*
|
32432
|
+
* // Upsert with 'where' clause
|
32433
|
+
* await db.insert(cars)
|
32434
|
+
* .values({ id: 1, brand: 'BMW' })
|
32435
|
+
* .onConflictDoUpdate({
|
32436
|
+
* target: cars.id,
|
32437
|
+
* set: { brand: 'newBMW' },
|
32438
|
+
* where: sql`${cars.createdAt} > '2023-01-01'::date`,
|
32439
|
+
* });
|
32440
|
+
* ```
|
32441
|
+
*/
|
32442
|
+
onConflictDoUpdate(config) {
|
32443
|
+
if (config.where && (config.targetWhere || config.setWhere)) {
|
32444
|
+
throw new Error(
|
32445
|
+
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
32446
|
+
);
|
32447
|
+
}
|
32448
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
32449
|
+
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
32450
|
+
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
32451
|
+
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
32452
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
32453
|
+
this.config.onConflict = sql`${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
32454
|
+
return this;
|
32455
|
+
}
|
32456
|
+
/** @internal */
|
32457
|
+
getSQL() {
|
32458
|
+
return this.dialect.buildInsertQuery(this.config);
|
32459
|
+
}
|
32460
|
+
toSQL() {
|
32461
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
32462
|
+
return rest;
|
32463
|
+
}
|
32464
|
+
/** @internal */
|
32465
|
+
_prepare(isOneTimeQuery = true) {
|
32466
|
+
return this.session[isOneTimeQuery ? "prepareOneTimeQuery" : "prepareQuery"](
|
32467
|
+
this.dialect.sqlToQuery(this.getSQL()),
|
32468
|
+
this.config.returning,
|
32469
|
+
this.config.returning ? "all" : "run",
|
32470
|
+
true
|
32471
|
+
);
|
32472
|
+
}
|
32473
|
+
prepare() {
|
32474
|
+
return this._prepare(false);
|
32475
|
+
}
|
32476
|
+
async execute() {
|
32477
|
+
return this.config.returning ? this.all() : this.run();
|
32478
|
+
}
|
32479
|
+
$dynamic() {
|
32480
|
+
return this;
|
32481
|
+
}
|
32482
|
+
};
|
32483
|
+
__publicField(SQLiteInsertBase, _a206, "SQLiteInsert");
|
32324
32484
|
}
|
32325
32485
|
});
|
32326
32486
|
|
@@ -32340,8 +32500,11 @@ var init_update2 = __esm({
|
|
32340
32500
|
init_query_promise();
|
32341
32501
|
init_selection_proxy();
|
32342
32502
|
init_table3();
|
32503
|
+
init_subquery();
|
32343
32504
|
init_table();
|
32344
32505
|
init_utils2();
|
32506
|
+
init_view_common();
|
32507
|
+
init_view_base2();
|
32345
32508
|
_a207 = entityKind;
|
32346
32509
|
SQLiteUpdateBuilder = class {
|
32347
32510
|
constructor(table4, session, dialect4, withList) {
|
@@ -32366,6 +32529,10 @@ var init_update2 = __esm({
|
|
32366
32529
|
super();
|
32367
32530
|
/** @internal */
|
32368
32531
|
__publicField(this, "config");
|
32532
|
+
__publicField(this, "leftJoin", this.createJoin("left"));
|
32533
|
+
__publicField(this, "rightJoin", this.createJoin("right"));
|
32534
|
+
__publicField(this, "innerJoin", this.createJoin("inner"));
|
32535
|
+
__publicField(this, "fullJoin", this.createJoin("full"));
|
32369
32536
|
__publicField(this, "run", (placeholderValues) => {
|
32370
32537
|
return this._prepare().run(placeholderValues);
|
32371
32538
|
});
|
@@ -32380,7 +32547,34 @@ var init_update2 = __esm({
|
|
32380
32547
|
});
|
32381
32548
|
this.session = session;
|
32382
32549
|
this.dialect = dialect4;
|
32383
|
-
this.config = { set, table: table4, withList };
|
32550
|
+
this.config = { set, table: table4, withList, joins: [] };
|
32551
|
+
}
|
32552
|
+
from(source) {
|
32553
|
+
this.config.from = source;
|
32554
|
+
return this;
|
32555
|
+
}
|
32556
|
+
createJoin(joinType) {
|
32557
|
+
return (table4, on) => {
|
32558
|
+
const tableName = getTableLikeName(table4);
|
32559
|
+
if (typeof tableName === "string" && this.config.joins.some((join) => join.alias === tableName)) {
|
32560
|
+
throw new Error(`Alias "${tableName}" is already used in this query`);
|
32561
|
+
}
|
32562
|
+
if (typeof on === "function") {
|
32563
|
+
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;
|
32564
|
+
on = on(
|
32565
|
+
new Proxy(
|
32566
|
+
this.config.table[Table2.Symbol.Columns],
|
32567
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
32568
|
+
),
|
32569
|
+
from && new Proxy(
|
32570
|
+
from,
|
32571
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
32572
|
+
)
|
32573
|
+
);
|
32574
|
+
}
|
32575
|
+
this.config.joins.push({ on, table: table4, joinType, alias: tableName });
|
32576
|
+
return this;
|
32577
|
+
};
|
32384
32578
|
}
|
32385
32579
|
/**
|
32386
32580
|
* Adds a 'where' clause to the query.
|
@@ -35678,131 +35872,6 @@ var init_delete3 = __esm({
|
|
35678
35872
|
}
|
35679
35873
|
});
|
35680
35874
|
|
35681
|
-
// ../drizzle-orm/dist/mysql-core/query-builders/insert.js
|
35682
|
-
var _a299, MySqlInsertBuilder, _a300, _b222, MySqlInsertBase;
|
35683
|
-
var init_insert3 = __esm({
|
35684
|
-
"../drizzle-orm/dist/mysql-core/query-builders/insert.js"() {
|
35685
|
-
"use strict";
|
35686
|
-
init_entity();
|
35687
|
-
init_query_promise();
|
35688
|
-
init_sql();
|
35689
|
-
init_table();
|
35690
|
-
init_utils2();
|
35691
|
-
_a299 = entityKind;
|
35692
|
-
MySqlInsertBuilder = class {
|
35693
|
-
constructor(table4, session, dialect4) {
|
35694
|
-
__publicField(this, "shouldIgnore", false);
|
35695
|
-
this.table = table4;
|
35696
|
-
this.session = session;
|
35697
|
-
this.dialect = dialect4;
|
35698
|
-
}
|
35699
|
-
ignore() {
|
35700
|
-
this.shouldIgnore = true;
|
35701
|
-
return this;
|
35702
|
-
}
|
35703
|
-
values(values) {
|
35704
|
-
values = Array.isArray(values) ? values : [values];
|
35705
|
-
if (values.length === 0) {
|
35706
|
-
throw new Error("values() must be called with at least one value");
|
35707
|
-
}
|
35708
|
-
const mappedValues = values.map((entry) => {
|
35709
|
-
const result = {};
|
35710
|
-
const cols = this.table[Table2.Symbol.Columns];
|
35711
|
-
for (const colKey of Object.keys(entry)) {
|
35712
|
-
const colValue = entry[colKey];
|
35713
|
-
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
35714
|
-
}
|
35715
|
-
return result;
|
35716
|
-
});
|
35717
|
-
return new MySqlInsertBase(this.table, mappedValues, this.shouldIgnore, this.session, this.dialect);
|
35718
|
-
}
|
35719
|
-
};
|
35720
|
-
__publicField(MySqlInsertBuilder, _a299, "MySqlInsertBuilder");
|
35721
|
-
MySqlInsertBase = class extends (_b222 = QueryPromise, _a300 = entityKind, _b222) {
|
35722
|
-
constructor(table4, values, ignore, session, dialect4) {
|
35723
|
-
super();
|
35724
|
-
__publicField(this, "config");
|
35725
|
-
__publicField(this, "execute", (placeholderValues) => {
|
35726
|
-
return this.prepare().execute(placeholderValues);
|
35727
|
-
});
|
35728
|
-
__publicField(this, "createIterator", () => {
|
35729
|
-
const self2 = this;
|
35730
|
-
return async function* (placeholderValues) {
|
35731
|
-
yield* self2.prepare().iterator(placeholderValues);
|
35732
|
-
};
|
35733
|
-
});
|
35734
|
-
__publicField(this, "iterator", this.createIterator());
|
35735
|
-
this.session = session;
|
35736
|
-
this.dialect = dialect4;
|
35737
|
-
this.config = { table: table4, values, ignore };
|
35738
|
-
}
|
35739
|
-
/**
|
35740
|
-
* Adds an `on duplicate key update` clause to the query.
|
35741
|
-
*
|
35742
|
-
* Calling this method will update the row if any unique index conflicts. MySQL will automatically determine the conflict target based on the primary key and unique indexes.
|
35743
|
-
*
|
35744
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#on-duplicate-key-update}
|
35745
|
-
*
|
35746
|
-
* @param config The `set` clause
|
35747
|
-
*
|
35748
|
-
* @example
|
35749
|
-
* ```ts
|
35750
|
-
* await db.insert(cars)
|
35751
|
-
* .values({ id: 1, brand: 'BMW'})
|
35752
|
-
* .onDuplicateKeyUpdate({ set: { brand: 'Porsche' }});
|
35753
|
-
* ```
|
35754
|
-
*
|
35755
|
-
* While MySQL does not directly support doing nothing on conflict, you can perform a no-op by setting any column's value to itself and achieve the same effect:
|
35756
|
-
*
|
35757
|
-
* ```ts
|
35758
|
-
* import { sql } from 'drizzle-orm';
|
35759
|
-
*
|
35760
|
-
* await db.insert(cars)
|
35761
|
-
* .values({ id: 1, brand: 'BMW' })
|
35762
|
-
* .onDuplicateKeyUpdate({ set: { id: sql`id` } });
|
35763
|
-
* ```
|
35764
|
-
*/
|
35765
|
-
onDuplicateKeyUpdate(config) {
|
35766
|
-
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
35767
|
-
this.config.onConflict = sql`update ${setSql}`;
|
35768
|
-
return this;
|
35769
|
-
}
|
35770
|
-
$returningId() {
|
35771
|
-
const returning = [];
|
35772
|
-
for (const [key, value] of Object.entries(this.config.table[Table2.Symbol.Columns])) {
|
35773
|
-
if (value.primary) {
|
35774
|
-
returning.push({ field: value, path: [key] });
|
35775
|
-
}
|
35776
|
-
}
|
35777
|
-
this.config.returning = returning;
|
35778
|
-
return this;
|
35779
|
-
}
|
35780
|
-
/** @internal */
|
35781
|
-
getSQL() {
|
35782
|
-
return this.dialect.buildInsertQuery(this.config).sql;
|
35783
|
-
}
|
35784
|
-
toSQL() {
|
35785
|
-
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
35786
|
-
return rest;
|
35787
|
-
}
|
35788
|
-
prepare() {
|
35789
|
-
const { sql: sql2, generatedIds } = this.dialect.buildInsertQuery(this.config);
|
35790
|
-
return this.session.prepareQuery(
|
35791
|
-
this.dialect.sqlToQuery(sql2),
|
35792
|
-
void 0,
|
35793
|
-
void 0,
|
35794
|
-
generatedIds,
|
35795
|
-
this.config.returning
|
35796
|
-
);
|
35797
|
-
}
|
35798
|
-
$dynamic() {
|
35799
|
-
return this;
|
35800
|
-
}
|
35801
|
-
};
|
35802
|
-
__publicField(MySqlInsertBase, _a300, "MySqlInsert");
|
35803
|
-
}
|
35804
|
-
});
|
35805
|
-
|
35806
35875
|
// ../drizzle-orm/dist/mysql-core/columns/all.js
|
35807
35876
|
function getMySqlColumnBuilders() {
|
35808
35877
|
return {
|
@@ -35883,7 +35952,7 @@ function mysqlTableWithSchema(name2, columns, extraConfig, schema4, baseName = n
|
|
35883
35952
|
}
|
35884
35953
|
return table4;
|
35885
35954
|
}
|
35886
|
-
var InlineForeignKeys3,
|
35955
|
+
var InlineForeignKeys3, _a299, _b222, _c9, _d4, _e4, MySqlTable, mysqlTable;
|
35887
35956
|
var init_table4 = __esm({
|
35888
35957
|
"../drizzle-orm/dist/mysql-core/table.js"() {
|
35889
35958
|
"use strict";
|
@@ -35891,15 +35960,15 @@ var init_table4 = __esm({
|
|
35891
35960
|
init_table();
|
35892
35961
|
init_all3();
|
35893
35962
|
InlineForeignKeys3 = Symbol.for("drizzle:MySqlInlineForeignKeys");
|
35894
|
-
MySqlTable = class extends (_e4 = Table2, _d4 = entityKind, _c9 = Table2.Symbol.Columns,
|
35963
|
+
MySqlTable = class extends (_e4 = Table2, _d4 = entityKind, _c9 = Table2.Symbol.Columns, _b222 = InlineForeignKeys3, _a299 = Table2.Symbol.ExtraConfigBuilder, _e4) {
|
35895
35964
|
constructor() {
|
35896
35965
|
super(...arguments);
|
35897
35966
|
/** @internal */
|
35898
35967
|
__publicField(this, _c9);
|
35899
35968
|
/** @internal */
|
35900
|
-
__publicField(this,
|
35969
|
+
__publicField(this, _b222, []);
|
35901
35970
|
/** @internal */
|
35902
|
-
__publicField(this,
|
35971
|
+
__publicField(this, _a299);
|
35903
35972
|
}
|
35904
35973
|
};
|
35905
35974
|
__publicField(MySqlTable, _d4, "MySqlTable");
|
@@ -35914,20 +35983,20 @@ var init_table4 = __esm({
|
|
35914
35983
|
});
|
35915
35984
|
|
35916
35985
|
// ../drizzle-orm/dist/mysql-core/view-base.js
|
35917
|
-
var
|
35986
|
+
var _a300, _b223, MySqlViewBase;
|
35918
35987
|
var init_view_base3 = __esm({
|
35919
35988
|
"../drizzle-orm/dist/mysql-core/view-base.js"() {
|
35920
35989
|
"use strict";
|
35921
35990
|
init_entity();
|
35922
35991
|
init_sql();
|
35923
|
-
MySqlViewBase = class extends (
|
35992
|
+
MySqlViewBase = class extends (_b223 = View3, _a300 = entityKind, _b223) {
|
35924
35993
|
};
|
35925
|
-
__publicField(MySqlViewBase,
|
35994
|
+
__publicField(MySqlViewBase, _a300, "MySqlViewBase");
|
35926
35995
|
}
|
35927
35996
|
});
|
35928
35997
|
|
35929
35998
|
// ../drizzle-orm/dist/mysql-core/dialect.js
|
35930
|
-
var
|
35999
|
+
var _a301, MySqlDialect;
|
35931
36000
|
var init_dialect3 = __esm({
|
35932
36001
|
"../drizzle-orm/dist/mysql-core/dialect.js"() {
|
35933
36002
|
"use strict";
|
@@ -35946,7 +36015,7 @@ var init_dialect3 = __esm({
|
|
35946
36015
|
init_common4();
|
35947
36016
|
init_table4();
|
35948
36017
|
init_view_base3();
|
35949
|
-
|
36018
|
+
_a301 = entityKind;
|
35950
36019
|
MySqlDialect = class {
|
35951
36020
|
constructor(config) {
|
35952
36021
|
/** @internal */
|
@@ -36229,7 +36298,7 @@ var init_dialect3 = __esm({
|
|
36229
36298
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
36230
36299
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
36231
36300
|
}
|
36232
|
-
buildInsertQuery({ table: table4, values, ignore, onConflict }) {
|
36301
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, ignore, onConflict, select }) {
|
36233
36302
|
const valuesSqlList = [];
|
36234
36303
|
const columns = table4[Table2.Symbol.Columns];
|
36235
36304
|
const colEntries = Object.entries(columns).filter(
|
@@ -36237,42 +36306,53 @@ var init_dialect3 = __esm({
|
|
36237
36306
|
);
|
36238
36307
|
const insertOrder = colEntries.map(([, column4]) => sql.identifier(this.casing.getColumnCasing(column4)));
|
36239
36308
|
const generatedIdsResponse = [];
|
36240
|
-
|
36241
|
-
const
|
36242
|
-
|
36243
|
-
|
36244
|
-
|
36245
|
-
|
36246
|
-
|
36247
|
-
|
36248
|
-
|
36249
|
-
|
36250
|
-
|
36251
|
-
|
36252
|
-
|
36253
|
-
|
36254
|
-
|
36309
|
+
if (select) {
|
36310
|
+
const select2 = valuesOrSelect;
|
36311
|
+
if (is(select2, SQL)) {
|
36312
|
+
valuesSqlList.push(select2);
|
36313
|
+
} else {
|
36314
|
+
valuesSqlList.push(select2.getSQL());
|
36315
|
+
}
|
36316
|
+
} else {
|
36317
|
+
const values = valuesOrSelect;
|
36318
|
+
valuesSqlList.push(sql.raw("values "));
|
36319
|
+
for (const [valueIndex, value] of values.entries()) {
|
36320
|
+
const generatedIds = {};
|
36321
|
+
const valueList = [];
|
36322
|
+
for (const [fieldName, col] of colEntries) {
|
36323
|
+
const colValue = value[fieldName];
|
36324
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
36325
|
+
if (col.defaultFn !== void 0) {
|
36326
|
+
const defaultFnResult = col.defaultFn();
|
36327
|
+
generatedIds[fieldName] = defaultFnResult;
|
36328
|
+
const defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
36329
|
+
valueList.push(defaultValue);
|
36330
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
36331
|
+
const onUpdateFnResult = col.onUpdateFn();
|
36332
|
+
const newValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
36333
|
+
valueList.push(newValue);
|
36334
|
+
} else {
|
36335
|
+
valueList.push(sql`default`);
|
36336
|
+
}
|
36255
36337
|
} else {
|
36256
|
-
|
36257
|
-
|
36258
|
-
|
36259
|
-
|
36260
|
-
generatedIds[fieldName] = colValue.value;
|
36338
|
+
if (col.defaultFn && is(colValue, Param)) {
|
36339
|
+
generatedIds[fieldName] = colValue.value;
|
36340
|
+
}
|
36341
|
+
valueList.push(colValue);
|
36261
36342
|
}
|
36262
|
-
valueList.push(colValue);
|
36263
36343
|
}
|
36264
|
-
|
36265
|
-
|
36266
|
-
|
36267
|
-
|
36268
|
-
|
36344
|
+
generatedIdsResponse.push(generatedIds);
|
36345
|
+
valuesSqlList.push(valueList);
|
36346
|
+
if (valueIndex < values.length - 1) {
|
36347
|
+
valuesSqlList.push(sql`, `);
|
36348
|
+
}
|
36269
36349
|
}
|
36270
36350
|
}
|
36271
36351
|
const valuesSql = sql.join(valuesSqlList);
|
36272
36352
|
const ignoreSql = ignore ? sql` ignore` : void 0;
|
36273
36353
|
const onConflictSql = onConflict ? sql` on duplicate key ${onConflict}` : void 0;
|
36274
36354
|
return {
|
36275
|
-
sql: sql`insert${ignoreSql} into ${table4} ${insertOrder}
|
36355
|
+
sql: sql`insert${ignoreSql} into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}`,
|
36276
36356
|
generatedIds: generatedIdsResponse
|
36277
36357
|
};
|
36278
36358
|
}
|
@@ -36732,7 +36812,7 @@ var init_dialect3 = __esm({
|
|
36732
36812
|
};
|
36733
36813
|
}
|
36734
36814
|
};
|
36735
|
-
__publicField(MySqlDialect,
|
36815
|
+
__publicField(MySqlDialect, _a301, "MySqlDialect");
|
36736
36816
|
}
|
36737
36817
|
});
|
36738
36818
|
|
@@ -36754,7 +36834,7 @@ function createSetOperator3(type, isAll) {
|
|
36754
36834
|
return leftSelect.addSetOperators(setOperators);
|
36755
36835
|
};
|
36756
36836
|
}
|
36757
|
-
var
|
36837
|
+
var _a302, MySqlSelectBuilder, _a303, _b224, MySqlSelectQueryBuilderBase, _a304, _b225, MySqlSelectBase, getMySqlSetOperators, union3, unionAll3, intersect3, intersectAll2, except3, exceptAll2;
|
36758
36838
|
var init_select4 = __esm({
|
36759
36839
|
"../drizzle-orm/dist/mysql-core/query-builders/select.js"() {
|
36760
36840
|
"use strict";
|
@@ -36769,7 +36849,7 @@ var init_select4 = __esm({
|
|
36769
36849
|
init_utils2();
|
36770
36850
|
init_view_common();
|
36771
36851
|
init_view_base3();
|
36772
|
-
|
36852
|
+
_a302 = entityKind;
|
36773
36853
|
MySqlSelectBuilder = class {
|
36774
36854
|
constructor(config) {
|
36775
36855
|
__publicField(this, "fields");
|
@@ -36814,8 +36894,8 @@ var init_select4 = __esm({
|
|
36814
36894
|
);
|
36815
36895
|
}
|
36816
36896
|
};
|
36817
|
-
__publicField(MySqlSelectBuilder,
|
36818
|
-
MySqlSelectQueryBuilderBase = class extends (
|
36897
|
+
__publicField(MySqlSelectBuilder, _a302, "MySqlSelectBuilder");
|
36898
|
+
MySqlSelectQueryBuilderBase = class extends (_b224 = TypedQueryBuilder, _a303 = entityKind, _b224) {
|
36819
36899
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
36820
36900
|
super();
|
36821
36901
|
__publicField(this, "_");
|
@@ -37416,8 +37496,8 @@ var init_select4 = __esm({
|
|
37416
37496
|
return this;
|
37417
37497
|
}
|
37418
37498
|
};
|
37419
|
-
__publicField(MySqlSelectQueryBuilderBase,
|
37420
|
-
MySqlSelectBase = class extends (
|
37499
|
+
__publicField(MySqlSelectQueryBuilderBase, _a303, "MySqlSelectQueryBuilder");
|
37500
|
+
MySqlSelectBase = class extends (_b225 = MySqlSelectQueryBuilderBase, _a304 = entityKind, _b225) {
|
37421
37501
|
constructor() {
|
37422
37502
|
super(...arguments);
|
37423
37503
|
__publicField(this, "execute", (placeholderValues) => {
|
@@ -37441,7 +37521,7 @@ var init_select4 = __esm({
|
|
37441
37521
|
return query;
|
37442
37522
|
}
|
37443
37523
|
};
|
37444
|
-
__publicField(MySqlSelectBase,
|
37524
|
+
__publicField(MySqlSelectBase, _a304, "MySqlSelect");
|
37445
37525
|
applyMixins(MySqlSelectBase, [QueryPromise]);
|
37446
37526
|
getMySqlSetOperators = () => ({
|
37447
37527
|
union: union3,
|
@@ -37461,7 +37541,7 @@ var init_select4 = __esm({
|
|
37461
37541
|
});
|
37462
37542
|
|
37463
37543
|
// ../drizzle-orm/dist/mysql-core/query-builders/query-builder.js
|
37464
|
-
var
|
37544
|
+
var _a305, QueryBuilder3;
|
37465
37545
|
var init_query_builder4 = __esm({
|
37466
37546
|
"../drizzle-orm/dist/mysql-core/query-builders/query-builder.js"() {
|
37467
37547
|
"use strict";
|
@@ -37470,7 +37550,7 @@ var init_query_builder4 = __esm({
|
|
37470
37550
|
init_selection_proxy();
|
37471
37551
|
init_subquery();
|
37472
37552
|
init_select4();
|
37473
|
-
|
37553
|
+
_a305 = entityKind;
|
37474
37554
|
QueryBuilder3 = class {
|
37475
37555
|
constructor(dialect4) {
|
37476
37556
|
__publicField(this, "dialect");
|
@@ -37532,7 +37612,142 @@ var init_query_builder4 = __esm({
|
|
37532
37612
|
return this.dialect;
|
37533
37613
|
}
|
37534
37614
|
};
|
37535
|
-
__publicField(QueryBuilder3,
|
37615
|
+
__publicField(QueryBuilder3, _a305, "MySqlQueryBuilder");
|
37616
|
+
}
|
37617
|
+
});
|
37618
|
+
|
37619
|
+
// ../drizzle-orm/dist/mysql-core/query-builders/insert.js
|
37620
|
+
var _a306, MySqlInsertBuilder, _a307, _b226, MySqlInsertBase;
|
37621
|
+
var init_insert3 = __esm({
|
37622
|
+
"../drizzle-orm/dist/mysql-core/query-builders/insert.js"() {
|
37623
|
+
"use strict";
|
37624
|
+
init_entity();
|
37625
|
+
init_query_promise();
|
37626
|
+
init_sql();
|
37627
|
+
init_table();
|
37628
|
+
init_utils2();
|
37629
|
+
init_query_builder4();
|
37630
|
+
_a306 = entityKind;
|
37631
|
+
MySqlInsertBuilder = class {
|
37632
|
+
constructor(table4, session, dialect4) {
|
37633
|
+
__publicField(this, "shouldIgnore", false);
|
37634
|
+
this.table = table4;
|
37635
|
+
this.session = session;
|
37636
|
+
this.dialect = dialect4;
|
37637
|
+
}
|
37638
|
+
ignore() {
|
37639
|
+
this.shouldIgnore = true;
|
37640
|
+
return this;
|
37641
|
+
}
|
37642
|
+
values(values) {
|
37643
|
+
values = Array.isArray(values) ? values : [values];
|
37644
|
+
if (values.length === 0) {
|
37645
|
+
throw new Error("values() must be called with at least one value");
|
37646
|
+
}
|
37647
|
+
const mappedValues = values.map((entry) => {
|
37648
|
+
const result = {};
|
37649
|
+
const cols = this.table[Table2.Symbol.Columns];
|
37650
|
+
for (const colKey of Object.keys(entry)) {
|
37651
|
+
const colValue = entry[colKey];
|
37652
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
37653
|
+
}
|
37654
|
+
return result;
|
37655
|
+
});
|
37656
|
+
return new MySqlInsertBase(this.table, mappedValues, this.shouldIgnore, this.session, this.dialect);
|
37657
|
+
}
|
37658
|
+
select(selectQuery) {
|
37659
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder3()) : selectQuery;
|
37660
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
37661
|
+
throw new Error(
|
37662
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
37663
|
+
);
|
37664
|
+
}
|
37665
|
+
return new MySqlInsertBase(this.table, select, this.shouldIgnore, this.session, this.dialect, true);
|
37666
|
+
}
|
37667
|
+
};
|
37668
|
+
__publicField(MySqlInsertBuilder, _a306, "MySqlInsertBuilder");
|
37669
|
+
MySqlInsertBase = class extends (_b226 = QueryPromise, _a307 = entityKind, _b226) {
|
37670
|
+
constructor(table4, values, ignore, session, dialect4, select) {
|
37671
|
+
super();
|
37672
|
+
__publicField(this, "config");
|
37673
|
+
__publicField(this, "execute", (placeholderValues) => {
|
37674
|
+
return this.prepare().execute(placeholderValues);
|
37675
|
+
});
|
37676
|
+
__publicField(this, "createIterator", () => {
|
37677
|
+
const self2 = this;
|
37678
|
+
return async function* (placeholderValues) {
|
37679
|
+
yield* self2.prepare().iterator(placeholderValues);
|
37680
|
+
};
|
37681
|
+
});
|
37682
|
+
__publicField(this, "iterator", this.createIterator());
|
37683
|
+
this.session = session;
|
37684
|
+
this.dialect = dialect4;
|
37685
|
+
this.config = { table: table4, values, select, ignore };
|
37686
|
+
}
|
37687
|
+
/**
|
37688
|
+
* Adds an `on duplicate key update` clause to the query.
|
37689
|
+
*
|
37690
|
+
* 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.
|
37691
|
+
*
|
37692
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-duplicate-key-update}
|
37693
|
+
*
|
37694
|
+
* @param config The `set` clause
|
37695
|
+
*
|
37696
|
+
* @example
|
37697
|
+
* ```ts
|
37698
|
+
* await db.insert(cars)
|
37699
|
+
* .values({ id: 1, brand: 'BMW'})
|
37700
|
+
* .onDuplicateKeyUpdate({ set: { brand: 'Porsche' }});
|
37701
|
+
* ```
|
37702
|
+
*
|
37703
|
+
* 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:
|
37704
|
+
*
|
37705
|
+
* ```ts
|
37706
|
+
* import { sql } from 'drizzle-orm';
|
37707
|
+
*
|
37708
|
+
* await db.insert(cars)
|
37709
|
+
* .values({ id: 1, brand: 'BMW' })
|
37710
|
+
* .onDuplicateKeyUpdate({ set: { id: sql`id` } });
|
37711
|
+
* ```
|
37712
|
+
*/
|
37713
|
+
onDuplicateKeyUpdate(config) {
|
37714
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
37715
|
+
this.config.onConflict = sql`update ${setSql}`;
|
37716
|
+
return this;
|
37717
|
+
}
|
37718
|
+
$returningId() {
|
37719
|
+
const returning = [];
|
37720
|
+
for (const [key, value] of Object.entries(this.config.table[Table2.Symbol.Columns])) {
|
37721
|
+
if (value.primary) {
|
37722
|
+
returning.push({ field: value, path: [key] });
|
37723
|
+
}
|
37724
|
+
}
|
37725
|
+
this.config.returning = returning;
|
37726
|
+
return this;
|
37727
|
+
}
|
37728
|
+
/** @internal */
|
37729
|
+
getSQL() {
|
37730
|
+
return this.dialect.buildInsertQuery(this.config).sql;
|
37731
|
+
}
|
37732
|
+
toSQL() {
|
37733
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
37734
|
+
return rest;
|
37735
|
+
}
|
37736
|
+
prepare() {
|
37737
|
+
const { sql: sql2, generatedIds } = this.dialect.buildInsertQuery(this.config);
|
37738
|
+
return this.session.prepareQuery(
|
37739
|
+
this.dialect.sqlToQuery(sql2),
|
37740
|
+
void 0,
|
37741
|
+
void 0,
|
37742
|
+
generatedIds,
|
37743
|
+
this.config.returning
|
37744
|
+
);
|
37745
|
+
}
|
37746
|
+
$dynamic() {
|
37747
|
+
return this;
|
37748
|
+
}
|
37749
|
+
};
|
37750
|
+
__publicField(MySqlInsertBase, _a307, "MySqlInsert");
|
37536
37751
|
}
|
37537
37752
|
});
|
37538
37753
|
|