ts-sql-query
Advanced tools
Comparing version 1.38.0 to 1.39.0
@@ -7,3 +7,10 @@ import type { QueryRunner } from "../queryRunners/QueryRunner"; | ||
protected uuidStrategy: 'string' | 'uuid'; | ||
/** | ||
* MariaBD 10.5 added support to the returning clause when insert or delete. | ||
* If you set this flag to true, the insert returning last inserted id will | ||
* generate the returning clause instead of use the last inserted id provided | ||
* by the connector after the execution of the query. | ||
*/ | ||
protected alwaysUseReturningClauseWhenInsert: boolean; | ||
constructor(queryRunner: QueryRunner, sqlBuilder: MariaDBSqlBuilder); | ||
} |
@@ -9,2 +9,9 @@ "use strict"; | ||
this.uuidStrategy = 'uuid'; | ||
/** | ||
* MariaBD 10.5 added support to the returning clause when insert or delete. | ||
* If you set this flag to true, the insert returning last inserted id will | ||
* generate the returning clause instead of use the last inserted id provided | ||
* by the connector after the execution of the query. | ||
*/ | ||
this.alwaysUseReturningClauseWhenInsert = false; | ||
queryRunner.useDatabase('mariaDB'); | ||
@@ -11,0 +18,0 @@ } |
@@ -302,4 +302,4 @@ import type { AnyValueSource, IBooleanValueSource, IExecutableDeleteQuery, IIfValueSource, ValueSourceOf, ValueSourceValueTypeForResult } from "./values"; | ||
} | ||
declare type ReturningFnType<TABLE extends ITableOrView<any>, USING extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | Oracle) ? <COLUMNS extends DeleteColumns<TABLE, USING>>(columns: COLUMNS) => ComposableCustomizableExecutableDelete<TABLE, COLUMNS, ResultObjectValues<COLUMNS>> : never; | ||
declare type ReturningOneColumnFnType<TABLE extends ITableOrView<any>, USING extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | Oracle) ? <COLUMN extends ValueSourceOf<USING[typeof tableOrViewRef] | NoTableOrViewRequired<TABLE[typeof database]>>>(column: COLUMN) => ComposableCustomizableExecutableDelete<TABLE, COLUMN, ValueSourceValueTypeForResult<COLUMN>> : never; | ||
declare type ReturningFnType<TABLE extends ITableOrView<any>, USING extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | MariaDB | Oracle) ? <COLUMNS extends DeleteColumns<TABLE, USING>>(columns: COLUMNS) => ComposableCustomizableExecutableDelete<TABLE, COLUMNS, ResultObjectValues<COLUMNS>> : never; | ||
declare type ReturningOneColumnFnType<TABLE extends ITableOrView<any>, USING extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | MariaDB | Oracle) ? <COLUMN extends ValueSourceOf<USING[typeof tableOrViewRef] | NoTableOrViewRequired<TABLE[typeof database]>>>(column: COLUMN) => ComposableCustomizableExecutableDelete<TABLE, COLUMN, ValueSourceValueTypeForResult<COLUMN>> : never; | ||
export declare type DeleteColumns<TABLE extends ITableOrView<any>, USING extends ITableOrView<any>> = { | ||
@@ -306,0 +306,0 @@ [P: string]: ValueSourceOf<USING[typeof tableOrViewRef] | NoTableOrViewRequired<TABLE[typeof database]>> | DeleteColumns<TABLE, USING>; |
@@ -533,17 +533,17 @@ import type { IExecutableSelectQuery, RemapIValueSourceType, ValueSourceValueType, AnyValueSource, ValueSourceOf, ValueSourceValueTypeForResult, RemapIValueSourceTypeWithOptionalType, IExecutableInsertQuery, IIfValueSource, IBooleanValueSource, IStringValueSource, ITypeSafeStringValueSource } from "./values"; | ||
} | ||
declare type ReturningFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | Oracle) ? <COLUMNS extends InsertColumns<TABLE>>(columns: COLUMNS) => ComposableCustomizableExecutableInsert<TABLE, COLUMNS, ResultObjectValues<COLUMNS>> : never; | ||
declare type ReturningOneColumnFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | Oracle) ? <COLUMN extends ValueSourceOf<TABLE[typeof tableOrViewRef] | NoTableOrViewRequired<TABLE[typeof database]>>>(column: COLUMN) => ComposableCustomizableExecutableInsert<TABLE, COLUMN, ValueSourceValueTypeForResult<COLUMN>> : never; | ||
declare type ReturningFromSelectFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite) ? <COLUMNS extends InsertColumns<TABLE>>(columns: COLUMNS) => ComposableCustomizableExecutableInsert<TABLE, COLUMNS, ResultObjectValues<COLUMNS>> : never; | ||
declare type ReturningOneColumnFromSelectFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite) ? <COLUMN extends ValueSourceOf<TABLE[typeof tableOrViewRef] | NoTableOrViewRequired<TABLE[typeof database]>>>(column: COLUMN) => ComposableCustomizableExecutableInsert<TABLE, COLUMN, ValueSourceValueTypeForResult<COLUMN>> : never; | ||
declare type ReturningMultipleLastInsertedIdType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Oracle | Sqlite) ? AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> extends never ? never : () => CustomizableExecutableInsertReturningLastInsertedId<TABLE, AutogeneratedPrimaryKeyColumnsTypesOf<TABLE>[]> : never; | ||
declare type ReturningFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | MariaDB | Oracle) ? <COLUMNS extends InsertColumns<TABLE>>(columns: COLUMNS) => ComposableCustomizableExecutableInsert<TABLE, COLUMNS, ResultObjectValues<COLUMNS>> : never; | ||
declare type ReturningOneColumnFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | MariaDB | Oracle) ? <COLUMN extends ValueSourceOf<TABLE[typeof tableOrViewRef] | NoTableOrViewRequired<TABLE[typeof database]>>>(column: COLUMN) => ComposableCustomizableExecutableInsert<TABLE, COLUMN, ValueSourceValueTypeForResult<COLUMN>> : never; | ||
declare type ReturningFromSelectFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | MariaDB) ? <COLUMNS extends InsertColumns<TABLE>>(columns: COLUMNS) => ComposableCustomizableExecutableInsert<TABLE, COLUMNS, ResultObjectValues<COLUMNS>> : never; | ||
declare type ReturningOneColumnFromSelectFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | MariaDB) ? <COLUMN extends ValueSourceOf<TABLE[typeof tableOrViewRef] | NoTableOrViewRequired<TABLE[typeof database]>>>(column: COLUMN) => ComposableCustomizableExecutableInsert<TABLE, COLUMN, ValueSourceValueTypeForResult<COLUMN>> : never; | ||
declare type ReturningMultipleLastInsertedIdType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Oracle | Sqlite | MariaDB) ? AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> extends never ? never : () => CustomizableExecutableInsertReturningLastInsertedId<TABLE, AutogeneratedPrimaryKeyColumnsTypesOf<TABLE>[]> : never; | ||
declare type ReturningLastInsertedIdType<TABLE extends ITableOrView<any>> = AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> extends never ? never : () => CustomizableExecutableInsertReturningLastInsertedId<TABLE, AutogeneratedPrimaryKeyColumnsTypesOf<TABLE>>; | ||
declare type OnConflictReturningLastInsertedIdType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | Sqlite) ? AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> extends never ? never : () => CustomizableExecutableInsertReturningLastInsertedId<TABLE, AutogeneratedPrimaryKeyColumnsTypesOf<TABLE>> : never; | ||
declare type ReturningLastInsertedIdFromSelectType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite) ? AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> extends never ? never : () => CustomizableExecutableInsertReturningLastInsertedId<TABLE, AutogeneratedPrimaryKeyColumnsTypesOf<TABLE>[]> : never; | ||
declare type ReturningOptionalFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | Oracle) ? <COLUMNS extends InsertColumns<TABLE>>(columns: COLUMNS) => ComposableCustomizableExecutableInsertOptional<TABLE, COLUMNS, ResultObjectValues<COLUMNS>> : never; | ||
declare type ReturningOneColumnOptionalFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | Oracle) ? <COLUMN extends ValueSourceOf<TABLE[typeof tableOrViewRef] | NoTableOrViewRequired<TABLE[typeof database]>>>(column: COLUMN) => ComposableCustomizableExecutableInsertOptional<TABLE, COLUMN, ValueSourceValueTypeForResult<COLUMN> | null> : never; | ||
declare type ReturningFromSelectOptionalFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite) ? <COLUMNS extends InsertColumns<TABLE>>(columns: COLUMNS) => ComposableCustomizableExecutableInsertOptional<TABLE, COLUMNS, ResultObjectValues<COLUMNS> | null> : never; | ||
declare type ReturningOneColumnFromSelectOptionalFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite) ? <COLUMN extends ValueSourceOf<TABLE[typeof tableOrViewRef] | NoTableOrViewRequired<TABLE[typeof database]>>>(column: COLUMN) => ComposableCustomizableExecutableInsertOptional<TABLE, COLUMN, ValueSourceValueTypeForResult<COLUMN> | null> : never; | ||
declare type ReturningMultipleLastInsertedIdOptionalType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Oracle | Sqlite) ? AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> extends never ? never : () => CustomizableExecutableInsertReturningLastInsertedId<TABLE, AutogeneratedPrimaryKeyColumnsTypesOf<TABLE>[]> : never; | ||
declare type OnConflictReturningLastInsertedIdOptionalType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | Sqlite) ? AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> extends never ? never : () => CustomizableExecutableInsertReturningLastInsertedId<TABLE, AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> | null> : never; | ||
declare type ReturningLastInsertedIdFromSelectOptionalType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite) ? AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> extends never ? never : () => CustomizableExecutableInsertReturningLastInsertedId<TABLE, AutogeneratedPrimaryKeyColumnsTypesOf<TABLE>[]> : never; | ||
declare type OnConflictReturningLastInsertedIdType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | Sqlite | MariaDB) ? AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> extends never ? never : () => CustomizableExecutableInsertReturningLastInsertedId<TABLE, AutogeneratedPrimaryKeyColumnsTypesOf<TABLE>> : never; | ||
declare type ReturningLastInsertedIdFromSelectType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | MariaDB) ? AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> extends never ? never : () => CustomizableExecutableInsertReturningLastInsertedId<TABLE, AutogeneratedPrimaryKeyColumnsTypesOf<TABLE>[]> : never; | ||
declare type ReturningOptionalFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | MariaDB | Oracle) ? <COLUMNS extends InsertColumns<TABLE>>(columns: COLUMNS) => ComposableCustomizableExecutableInsertOptional<TABLE, COLUMNS, ResultObjectValues<COLUMNS>> : never; | ||
declare type ReturningOneColumnOptionalFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | MariaDB | Oracle) ? <COLUMN extends ValueSourceOf<TABLE[typeof tableOrViewRef] | NoTableOrViewRequired<TABLE[typeof database]>>>(column: COLUMN) => ComposableCustomizableExecutableInsertOptional<TABLE, COLUMN, ValueSourceValueTypeForResult<COLUMN> | null> : never; | ||
declare type ReturningFromSelectOptionalFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | MariaDB) ? <COLUMNS extends InsertColumns<TABLE>>(columns: COLUMNS) => ComposableCustomizableExecutableInsertOptional<TABLE, COLUMNS, ResultObjectValues<COLUMNS> | null> : never; | ||
declare type ReturningOneColumnFromSelectOptionalFnType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | MariaDB) ? <COLUMN extends ValueSourceOf<TABLE[typeof tableOrViewRef] | NoTableOrViewRequired<TABLE[typeof database]>>>(column: COLUMN) => ComposableCustomizableExecutableInsertOptional<TABLE, COLUMN, ValueSourceValueTypeForResult<COLUMN> | null> : never; | ||
declare type ReturningMultipleLastInsertedIdOptionalType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Oracle | Sqlite | MariaDB) ? AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> extends never ? never : () => CustomizableExecutableInsertReturningLastInsertedId<TABLE, AutogeneratedPrimaryKeyColumnsTypesOf<TABLE>[]> : never; | ||
declare type OnConflictReturningLastInsertedIdOptionalType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | Sqlite | MariaDB) ? AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> extends never ? never : () => CustomizableExecutableInsertReturningLastInsertedId<TABLE, AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> | null> : never; | ||
declare type ReturningLastInsertedIdFromSelectOptionalType<TABLE extends ITableOrView<any>> = TABLE[typeof database] extends (NoopDB | PostgreSql | SqlServer | Sqlite | MariaDB) ? AutogeneratedPrimaryKeyColumnsTypesOf<TABLE> extends never ? never : () => CustomizableExecutableInsertReturningLastInsertedId<TABLE, AutogeneratedPrimaryKeyColumnsTypesOf<TABLE>[]> : never; | ||
export interface InsertOnConflictSetsExpression<TABLE extends ITableOrView<any>, NEXT, NEXT_WHERE> { | ||
@@ -550,0 +550,0 @@ set(columns: OnConflictUpdateSets<TABLE>): InsertOnConflictSetsExpression<TABLE, NEXT, NEXT_WHERE> & NEXT; |
{ | ||
"name": "ts-sql-query", | ||
"version": "1.38.0", | ||
"version": "1.39.0", | ||
"description": "Type-safe SQL query builder like QueryDSL or JOOQ in Java or Linq in .Net for TypeScript with MariaDB, MySql, Oracle, PostgreSql, Sqlite and SqlServer support.", | ||
@@ -55,3 +55,3 @@ "license": "MIT", | ||
"devDependencies": { | ||
"@prisma/client": "3.4.1", | ||
"@prisma/client": "^4.5.0", | ||
"@types/any-db": "^2.1.30", | ||
@@ -90,3 +90,3 @@ "@types/any-db-transaction": "^2.2.30", | ||
"pg": "^8.5.1", | ||
"prisma": "^3.4.1", | ||
"prisma": "^4.5.0", | ||
"sqlite": "^4.0.14", | ||
@@ -93,0 +93,0 @@ "sqlite3": "^5.0.0", |
@@ -20,2 +20,3 @@ import { UnwrapPromiseTuple } from "../utils/PromiseProvider"; | ||
timeout?: number; | ||
isolationLevel?: string; | ||
}; | ||
@@ -22,0 +23,0 @@ forUseInTransaction?: boolean; |
"use strict"; | ||
var _a, _b, _c; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -257,5 +258,7 @@ exports.PrismaQueryRunner = void 0; | ||
constructor(next) { | ||
this[_a] = "PrismaPromise"; | ||
this.next = next; | ||
} | ||
then(onfulfilled, onrejected, transactionId) { | ||
// Note: Prisma 4 doesn't require transactionId, it can be removed | ||
if (transactionId !== undefined) { | ||
@@ -291,20 +294,34 @@ if (this.onfinally) { | ||
} | ||
requestTransaction(transactionId) { | ||
return this.next.requestTransaction(transactionId).then((fn) => { | ||
return () => { | ||
requestTransaction(transactionId, lock) { | ||
return this.next.requestTransaction(transactionId, lock).then((result) => { | ||
if (typeof result === 'function') { | ||
return () => { | ||
if (this.onfinally) { | ||
return result().finally(this.onfinally); | ||
} | ||
else { | ||
return result().then(this.onfulfilled, this.onrejected); | ||
} | ||
}; | ||
} | ||
else { | ||
// Prisma 4 | ||
if (this.onfinally) { | ||
return fn().finally(this.onfinally); | ||
return Promise.resolve(result).finally(this.onfinally); | ||
} | ||
else { | ||
return fn().then(this.onfulfilled, this.onrejected); | ||
return Promise.resolve(result).then(this.onfulfilled, this.onrejected); | ||
} | ||
}; | ||
} | ||
}); | ||
} | ||
} | ||
_a = Symbol.toStringTag; | ||
class ResolvedPrismaPromise { | ||
constructor(value) { | ||
this[_b] = "PrismaPromise"; | ||
this.value = value; | ||
} | ||
then(onfulfilled, onrejected, transactionId) { | ||
// Note: Prisma 4 doesn't require transactionId, it can be removed | ||
if (transactionId !== undefined) { | ||
@@ -330,3 +347,3 @@ if (this.onfinally) { | ||
} | ||
requestTransaction(_transactionId) { | ||
requestTransaction(_transactionId, _lock) { | ||
return Promise.resolve(() => { | ||
@@ -342,4 +359,6 @@ if (this.onfinally) { | ||
} | ||
_b = Symbol.toStringTag; | ||
class CombinedPrismaPromise { | ||
constructor(next1, next2) { | ||
this[_c] = "PrismaPromise"; | ||
this.next1 = next1; | ||
@@ -349,2 +368,3 @@ this.next2 = next2; | ||
then(onfulfilled, onrejected, transactionId) { | ||
// Note: Prisma 4 doesn't require transactionId, it can be removed | ||
if (transactionId !== undefined) { | ||
@@ -392,13 +412,30 @@ if (this.onfinally) { | ||
} | ||
requestTransaction(transactionId) { | ||
const rt1 = this.next1.requestTransaction(transactionId); | ||
const rt2 = this.next2.requestTransaction(transactionId); | ||
requestTransaction(transactionId, lock) { | ||
const rt1 = this.next1.requestTransaction(transactionId, lock); | ||
const rt2 = this.next2.requestTransaction(transactionId, lock); | ||
return Promise.all([rt1, rt2]).then(([pfn1, pfn2]) => { | ||
const fn1 = pfn1; | ||
const fn2 = pfn2; | ||
return () => { | ||
if (typeof pfn1 === 'function') { | ||
const fn1 = pfn1; | ||
const fn2 = pfn2; | ||
return (() => { | ||
if (this.onfinally) { | ||
return Promise.all([ | ||
fn1(), | ||
fn2() | ||
]).finally(this.onfinally); | ||
} | ||
else { | ||
return Promise.all([ | ||
fn1(), | ||
fn2() | ||
]).then(this.onfulfilled, this.onrejected); | ||
} | ||
}); | ||
} | ||
else { | ||
// Prisma 4 | ||
if (this.onfinally) { | ||
return Promise.all([ | ||
fn1(), | ||
fn2() | ||
pfn1, | ||
pfn2 | ||
]).finally(this.onfinally); | ||
@@ -408,9 +445,10 @@ } | ||
return Promise.all([ | ||
fn1(), | ||
fn2() | ||
pfn1, | ||
pfn2 | ||
]).then(this.onfulfilled, this.onrejected); | ||
} | ||
}; | ||
} | ||
}); | ||
} | ||
} | ||
_c = Symbol.toStringTag; |
@@ -18,3 +18,2 @@ import { ToSql, SelectData, InsertData, UpdateData, DeleteData } from "./SqlBuilder"; | ||
_buildInsertOutput(_query: InsertData, _params: any[]): string; | ||
_buildInsertReturning(_query: InsertData, params: any[]): string; | ||
_buildInsertOnConflictBeforeInto(query: InsertData, _params: any[]): string; | ||
@@ -21,0 +20,0 @@ _buildInsertOnConflictBeforeReturning(query: InsertData, params: any[]): string; |
@@ -271,6 +271,2 @@ "use strict"; | ||
} | ||
_buildInsertReturning(_query, params) { | ||
this._setContainsInsertReturningClause(params, false); | ||
return ''; | ||
} | ||
_buildInsertOnConflictBeforeInto(query, _params) { | ||
@@ -277,0 +273,0 @@ if (query.__onConflictDoNothing) { |
import { AnyValueSource, __AggregatedArrayColumns } from "../expressions/values"; | ||
import { AbstractMySqlMariaDBSqlBuilder } from "./AbstractMySqlMariaBDSqlBuilder"; | ||
import { CompoundOperator, SelectData } from "./SqlBuilder"; | ||
import { CompoundOperator, InsertData, SelectData } from "./SqlBuilder"; | ||
export declare class MariaDBSqlBuilder extends AbstractMySqlMariaDBSqlBuilder { | ||
@@ -10,3 +10,4 @@ mariaDB: true; | ||
_supportLimitWhenAggregateArray: boolean; | ||
_buildInsertReturning(query: InsertData, params: any[]): string; | ||
_appendAggragateArrayColumns(aggregatedArrayColumns: __AggregatedArrayColumns | AnyValueSource, params: any[], query: SelectData | undefined): string; | ||
} |
@@ -39,2 +39,9 @@ "use strict"; | ||
} | ||
_buildInsertReturning(query, params) { | ||
if (this._connectionConfiguration.alwaysUseReturningClauseWhenInsert || query.__from || query.__multiple || query.__columns || query.__onConflictUpdateSets) { | ||
return super._buildInsertReturning(query, params); | ||
} | ||
this._setContainsInsertReturningClause(params, false); | ||
return ''; | ||
} | ||
_appendAggragateArrayColumns(aggregatedArrayColumns, params, query) { | ||
@@ -41,0 +48,0 @@ let result = ''; |
import { AnyValueSource, __AggregatedArrayColumns } from "../expressions/values"; | ||
import { ITableOrView } from "../utils/ITableOrView"; | ||
import { AbstractMySqlMariaDBSqlBuilder } from "./AbstractMySqlMariaBDSqlBuilder"; | ||
import { SelectData, ToSql, WithQueryData } from "./SqlBuilder"; | ||
import { InsertData, SelectData, ToSql, WithQueryData } from "./SqlBuilder"; | ||
export declare class MySqlSqlBuilder extends AbstractMySqlMariaDBSqlBuilder { | ||
@@ -9,2 +9,3 @@ mySql: true; | ||
_isReservedKeyword(word: string): boolean; | ||
_buildInsertReturning(_query: InsertData, params: any[]): string; | ||
_appendParam(value: any, params: any[], columnType: string): string; | ||
@@ -11,0 +12,0 @@ _appendColumnValue(value: AnyValueSource, params: any[], isOutermostQuery: boolean): string; |
@@ -18,2 +18,6 @@ "use strict"; | ||
} | ||
_buildInsertReturning(_query, params) { | ||
this._setContainsInsertReturningClause(params, false); | ||
return ''; | ||
} | ||
_appendParam(value, params, columnType) { | ||
@@ -20,0 +24,0 @@ if (columnType === 'uuid' && this._getUuidStrategy() === 'binary') { |
@@ -8,2 +8,3 @@ export interface ConnectionConfiguration { | ||
uuidStrategy?: string; | ||
alwaysUseReturningClauseWhenInsert?: boolean; | ||
} |
Sorry, the diff of this file is too big to display
1958372
33215