drizzle-orm 0.31.2 → 0.31.3
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/aws-data-api/pg/driver.cjs +3 -4
- package/aws-data-api/pg/driver.cjs.map +1 -1
- package/aws-data-api/pg/driver.js +3 -4
- package/aws-data-api/pg/driver.js.map +1 -1
- package/aws-data-api/pg/session.cjs.map +1 -1
- package/aws-data-api/pg/session.d.cts +2 -2
- package/aws-data-api/pg/session.d.ts +2 -2
- package/aws-data-api/pg/session.js.map +1 -1
- package/d1/session.cjs.map +1 -1
- package/d1/session.d.cts +2 -2
- package/d1/session.d.ts +2 -2
- package/d1/session.js.map +1 -1
- package/libsql/session.d.cts +1 -1
- package/libsql/session.d.ts +1 -1
- package/mysql-core/db.cjs.map +1 -1
- package/mysql-core/db.d.cts +6 -6
- package/mysql-core/db.d.ts +6 -6
- package/mysql-core/db.js.map +1 -1
- package/mysql-core/dialect.cjs +2 -2
- package/mysql-core/dialect.cjs.map +1 -1
- package/mysql-core/dialect.js +3 -3
- package/mysql-core/dialect.js.map +1 -1
- package/mysql-core/query-builders/delete.cjs.map +1 -1
- package/mysql-core/query-builders/delete.d.cts +6 -6
- package/mysql-core/query-builders/delete.d.ts +6 -6
- package/mysql-core/query-builders/delete.js.map +1 -1
- package/mysql-core/query-builders/insert.cjs.map +1 -1
- package/mysql-core/query-builders/insert.d.cts +7 -7
- package/mysql-core/query-builders/insert.d.ts +7 -7
- package/mysql-core/query-builders/insert.js.map +1 -1
- package/mysql-core/query-builders/query-builder.d.cts +2 -2
- package/mysql-core/query-builders/query-builder.d.ts +2 -2
- package/mysql-core/query-builders/query.cjs.map +1 -1
- package/mysql-core/query-builders/query.d.cts +3 -3
- package/mysql-core/query-builders/query.d.ts +3 -3
- package/mysql-core/query-builders/query.js.map +1 -1
- package/mysql-core/query-builders/select.cjs.map +1 -1
- package/mysql-core/query-builders/select.js.map +1 -1
- package/mysql-core/query-builders/select.types.cjs.map +1 -1
- package/mysql-core/query-builders/select.types.d.cts +2 -2
- package/mysql-core/query-builders/select.types.d.ts +2 -2
- package/mysql-core/query-builders/update.cjs.map +1 -1
- package/mysql-core/query-builders/update.d.cts +7 -7
- package/mysql-core/query-builders/update.d.ts +7 -7
- package/mysql-core/query-builders/update.js.map +1 -1
- package/mysql-core/session.cjs +5 -5
- package/mysql-core/session.cjs.map +1 -1
- package/mysql-core/session.d.cts +14 -14
- package/mysql-core/session.d.ts +14 -14
- package/mysql-core/session.js +3 -3
- package/mysql-core/session.js.map +1 -1
- package/mysql-proxy/session.cjs +1 -1
- package/mysql-proxy/session.cjs.map +1 -1
- package/mysql-proxy/session.d.cts +7 -7
- package/mysql-proxy/session.d.ts +7 -7
- package/mysql-proxy/session.js +1 -1
- package/mysql-proxy/session.js.map +1 -1
- package/mysql2/session.cjs +1 -1
- package/mysql2/session.cjs.map +1 -1
- package/mysql2/session.d.cts +7 -7
- package/mysql2/session.d.ts +7 -7
- package/mysql2/session.js +3 -3
- package/mysql2/session.js.map +1 -1
- package/neon-http/driver.cjs +1 -0
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.js +1 -0
- package/neon-http/driver.js.map +1 -1
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +2 -2
- package/neon-http/session.d.ts +2 -2
- package/neon-http/session.js.map +1 -1
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.d.cts +2 -2
- package/neon-serverless/session.d.ts +2 -2
- package/neon-serverless/session.js.map +1 -1
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +2 -2
- package/node-postgres/session.d.ts +2 -2
- package/node-postgres/session.js.map +1 -1
- package/package.json +116 -5
- package/pg-core/db.cjs.map +1 -1
- package/pg-core/db.d.cts +6 -6
- package/pg-core/db.d.ts +6 -6
- package/pg-core/db.js.map +1 -1
- package/pg-core/dialect.cjs +1 -1
- package/pg-core/dialect.cjs.map +1 -1
- package/pg-core/dialect.js +2 -2
- package/pg-core/dialect.js.map +1 -1
- package/pg-core/query-builders/delete.cjs.map +1 -1
- package/pg-core/query-builders/delete.d.cts +6 -6
- package/pg-core/query-builders/delete.d.ts +6 -6
- package/pg-core/query-builders/delete.js.map +1 -1
- package/pg-core/query-builders/insert.cjs.map +1 -1
- package/pg-core/query-builders/insert.d.cts +7 -7
- package/pg-core/query-builders/insert.d.ts +7 -7
- package/pg-core/query-builders/insert.js.map +1 -1
- package/pg-core/query-builders/query-builder.d.cts +2 -2
- package/pg-core/query-builders/query-builder.d.ts +2 -2
- package/pg-core/query-builders/refresh-materialized-view.cjs.map +1 -1
- package/pg-core/query-builders/refresh-materialized-view.d.cts +5 -5
- package/pg-core/query-builders/refresh-materialized-view.d.ts +5 -5
- package/pg-core/query-builders/refresh-materialized-view.js.map +1 -1
- package/pg-core/query-builders/update.cjs.map +1 -1
- package/pg-core/query-builders/update.d.cts +7 -7
- package/pg-core/query-builders/update.d.ts +7 -7
- package/pg-core/query-builders/update.js.map +1 -1
- package/pg-core/schema.cjs +7 -0
- package/pg-core/schema.cjs.map +1 -1
- package/pg-core/schema.d.cts +4 -1
- package/pg-core/schema.d.ts +4 -1
- package/pg-core/schema.js +7 -0
- package/pg-core/schema.js.map +1 -1
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +5 -5
- package/pg-core/session.d.ts +5 -5
- package/pg-core/session.js.map +1 -1
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.d.cts +2 -2
- package/pg-proxy/session.d.ts +2 -2
- package/pg-proxy/session.js.map +1 -1
- package/pglite/session.cjs.map +1 -1
- package/pglite/session.d.cts +2 -2
- package/pglite/session.d.ts +2 -2
- package/pglite/session.js.map +1 -1
- package/planetscale-serverless/session.cjs +1 -1
- package/planetscale-serverless/session.cjs.map +1 -1
- package/planetscale-serverless/session.d.cts +7 -7
- package/planetscale-serverless/session.d.ts +7 -7
- package/planetscale-serverless/session.js +3 -3
- package/planetscale-serverless/session.js.map +1 -1
- package/postgres-js/session.cjs.map +1 -1
- package/postgres-js/session.d.cts +2 -2
- package/postgres-js/session.d.ts +2 -2
- package/postgres-js/session.js.map +1 -1
- package/prisma/mysql/driver.cjs +58 -0
- package/prisma/mysql/driver.cjs.map +1 -0
- package/prisma/mysql/driver.d.cts +23 -0
- package/prisma/mysql/driver.d.ts +23 -0
- package/prisma/mysql/driver.js +33 -0
- package/prisma/mysql/driver.js.map +1 -0
- package/prisma/mysql/index.cjs +25 -0
- package/prisma/mysql/index.cjs.map +1 -0
- package/prisma/mysql/index.d.cts +2 -0
- package/prisma/mysql/index.d.ts +2 -0
- package/prisma/mysql/index.js +3 -0
- package/prisma/mysql/index.js.map +1 -0
- package/prisma/mysql/session.cjs +73 -0
- package/prisma/mysql/session.cjs.map +1 -0
- package/prisma/mysql/session.d.cts +38 -0
- package/prisma/mysql/session.d.ts +38 -0
- package/prisma/mysql/session.js +48 -0
- package/prisma/mysql/session.js.map +1 -0
- package/prisma/pg/driver.cjs +58 -0
- package/prisma/pg/driver.cjs.map +1 -0
- package/prisma/pg/driver.d.cts +23 -0
- package/prisma/pg/driver.d.ts +23 -0
- package/prisma/pg/driver.js +33 -0
- package/prisma/pg/driver.js.map +1 -0
- package/prisma/pg/index.cjs +25 -0
- package/prisma/pg/index.cjs.map +1 -0
- package/prisma/pg/index.d.cts +2 -0
- package/prisma/pg/index.d.ts +2 -0
- package/prisma/pg/index.js +3 -0
- package/prisma/pg/index.js.map +1 -0
- package/prisma/pg/session.cjs +72 -0
- package/prisma/pg/session.cjs.map +1 -0
- package/prisma/pg/session.d.cts +33 -0
- package/prisma/pg/session.d.ts +33 -0
- package/prisma/pg/session.js +47 -0
- package/prisma/pg/session.js.map +1 -0
- package/prisma/sqlite/driver.cjs +50 -0
- package/prisma/sqlite/driver.cjs.map +1 -0
- package/prisma/sqlite/driver.d.cts +16 -0
- package/prisma/sqlite/driver.d.ts +16 -0
- package/prisma/sqlite/driver.js +26 -0
- package/prisma/sqlite/driver.js.map +1 -0
- package/prisma/sqlite/index.cjs +25 -0
- package/prisma/sqlite/index.cjs.map +1 -0
- package/prisma/sqlite/index.d.cts +2 -0
- package/prisma/sqlite/index.d.ts +2 -0
- package/prisma/sqlite/index.js +3 -0
- package/prisma/sqlite/index.js.map +1 -0
- package/prisma/sqlite/session.cjs +76 -0
- package/prisma/sqlite/session.cjs.map +1 -0
- package/prisma/sqlite/session.d.cts +37 -0
- package/prisma/sqlite/session.d.ts +37 -0
- package/prisma/sqlite/session.js +51 -0
- package/prisma/sqlite/session.js.map +1 -0
- package/query-builders/select.types.cjs.map +1 -1
- package/relations.cjs +5 -5
- package/relations.cjs.map +1 -1
- package/relations.d.cts +2 -2
- package/relations.d.ts +2 -2
- package/relations.js +6 -6
- package/relations.js.map +1 -1
- package/sql/sql.cjs +5 -2
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.d.cts +1 -0
- package/sql/sql.d.ts +1 -0
- package/sql/sql.js +5 -2
- package/sql/sql.js.map +1 -1
- package/sql-js/session.d.cts +1 -1
- package/sql-js/session.d.ts +1 -1
- package/sqlite-core/db.d.cts +2 -2
- package/sqlite-core/db.d.ts +2 -2
- package/sqlite-core/dialect.cjs +1 -1
- package/sqlite-core/dialect.cjs.map +1 -1
- package/sqlite-core/dialect.d.cts +1 -1
- package/sqlite-core/dialect.d.ts +1 -1
- package/sqlite-core/dialect.js +2 -2
- package/sqlite-core/dialect.js.map +1 -1
- package/sqlite-core/query-builders/query-builder.d.cts +2 -2
- package/sqlite-core/query-builders/query-builder.d.ts +2 -2
- package/sqlite-proxy/session.d.cts +1 -1
- package/sqlite-proxy/session.d.ts +1 -1
- package/table.cjs +5 -1
- package/table.cjs.map +1 -1
- package/table.d.cts +1 -3
- package/table.d.ts +1 -3
- package/table.js +4 -1
- package/table.js.map +1 -1
- package/tidb-serverless/session.cjs +1 -1
- package/tidb-serverless/session.cjs.map +1 -1
- package/tidb-serverless/session.d.cts +6 -6
- package/tidb-serverless/session.d.ts +6 -6
- package/tidb-serverless/session.js +3 -3
- package/tidb-serverless/session.js.map +1 -1
- package/utils.cjs.map +1 -1
- package/utils.d.cts +2 -2
- package/utils.d.ts +2 -2
- package/utils.js.map +1 -1
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.d.cts +2 -2
- package/vercel-postgres/session.d.ts +2 -2
- package/vercel-postgres/session.js.map +1 -1
- package/version.cjs +1 -1
- package/version.d.cts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/xata-http/session.cjs.map +1 -1
- package/xata-http/session.d.cts +2 -2
- package/xata-http/session.d.ts +2 -2
- package/xata-http/session.js.map +1 -1
|
@@ -7,7 +7,7 @@ import type { ColumnsSelection, Placeholder, SQL, View } from "../../sql/sql.js"
|
|
|
7
7
|
import type { Subquery } from "../../subquery.js";
|
|
8
8
|
import type { Table, UpdateTableConfig } from "../../table.js";
|
|
9
9
|
import type { Assume, ValidateShape } from "../../utils.js";
|
|
10
|
-
import type {
|
|
10
|
+
import type { MySqlPreparedQueryConfig, PreparedQueryHKTBase, PreparedQueryKind } from "../session.js";
|
|
11
11
|
import type { MySqlViewBase } from "../view-base.js";
|
|
12
12
|
import type { MySqlViewWithSelection } from "../view.js";
|
|
13
13
|
import type { MySqlSelectBase, MySqlSelectQueryBuilderBase } from "./select.js";
|
|
@@ -95,7 +95,7 @@ export interface MySqlSelectHKT extends MySqlSelectHKTBase {
|
|
|
95
95
|
}
|
|
96
96
|
export type MySqlSetOperatorExcludedMethods = 'where' | 'having' | 'groupBy' | 'session' | 'leftJoin' | 'rightJoin' | 'innerJoin' | 'fullJoin' | 'for';
|
|
97
97
|
export type MySqlSelectWithout<T extends AnyMySqlSelectQueryBuilder, TDynamic extends boolean, K extends keyof T & string, TResetExcluded extends boolean = false> = TDynamic extends true ? T : Omit<MySqlSelectKind<T['_']['hkt'], T['_']['tableName'], T['_']['selection'], T['_']['selectMode'], T['_']['preparedQueryHKT'], T['_']['nullabilityMap'], TDynamic, TResetExcluded extends true ? K : T['_']['excludedMethods'] | K, T['_']['result'], T['_']['selectedFields']>, TResetExcluded extends true ? K : T['_']['excludedMethods'] | K>;
|
|
98
|
-
export type MySqlSelectPrepare<T extends AnyMySqlSelect> = PreparedQueryKind<T['_']['preparedQueryHKT'],
|
|
98
|
+
export type MySqlSelectPrepare<T extends AnyMySqlSelect> = PreparedQueryKind<T['_']['preparedQueryHKT'], MySqlPreparedQueryConfig & {
|
|
99
99
|
execute: T['_']['result'];
|
|
100
100
|
iterator: T['_']['result'][number];
|
|
101
101
|
}, true>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mysql-core/query-builders/update.ts"],"sourcesContent":["import type { GetColumnData } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type {\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/mysql-core/query-builders/update.ts"],"sourcesContent":["import type { GetColumnData } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type {\n\tAnyMySqlQueryResultHKT,\n\tMySqlPreparedQueryConfig,\n\tMySqlQueryResultHKT,\n\tMySqlQueryResultKind,\n\tMySqlSession,\n\tPreparedQueryHKTBase,\n\tPreparedQueryKind,\n} from '~/mysql-core/session.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { mapUpdateSet, type UpdateSet } from '~/utils.ts';\nimport type { SelectedFieldsOrdered } from './select.types.ts';\n\nexport interface MySqlUpdateConfig {\n\twhere?: SQL | undefined;\n\tset: UpdateSet;\n\ttable: MySqlTable;\n\treturning?: SelectedFieldsOrdered;\n\twithList?: Subquery[];\n}\n\nexport type MySqlUpdateSetSource<TTable extends MySqlTable> =\n\t& {\n\t\t[Key in keyof TTable['_']['columns']]?:\n\t\t\t| GetColumnData<TTable['_']['columns'][Key], 'query'>\n\t\t\t| SQL;\n\t}\n\t& {};\n\nexport class MySqlUpdateBuilder<\n\tTTable extends MySqlTable,\n\tTQueryResult extends MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n> {\n\tstatic readonly [entityKind]: string = 'MySqlUpdateBuilder';\n\n\tdeclare readonly _: {\n\t\treadonly table: TTable;\n\t};\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: MySqlSession,\n\t\tprivate dialect: MySqlDialect,\n\t\tprivate withList?: Subquery[],\n\t) {}\n\n\tset(values: MySqlUpdateSetSource<TTable>): MySqlUpdateBase<TTable, TQueryResult, TPreparedQueryHKT> {\n\t\treturn new MySqlUpdateBase(this.table, mapUpdateSet(this.table, values), this.session, this.dialect, this.withList);\n\t}\n}\n\nexport type MySqlUpdateWithout<\n\tT extends AnyMySqlUpdateBase,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T : Omit<\n\tMySqlUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tT['_']['preparedQueryHKT'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods'] | K\n\t>,\n\tT['_']['excludedMethods'] | K\n>;\n\nexport type MySqlUpdatePrepare<T extends AnyMySqlUpdateBase> = PreparedQueryKind<\n\tT['_']['preparedQueryHKT'],\n\tMySqlPreparedQueryConfig & {\n\t\texecute: MySqlQueryResultKind<T['_']['queryResult'], never>;\n\t\titerator: never;\n\t},\n\ttrue\n>;\n\nexport type MySqlUpdateDynamic<T extends AnyMySqlUpdateBase> = MySqlUpdate<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['preparedQueryHKT']\n>;\n\nexport type MySqlUpdate<\n\tTTable extends MySqlTable = MySqlTable,\n\tTQueryResult extends MySqlQueryResultHKT = AnyMySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase,\n> = MySqlUpdateBase<TTable, TQueryResult, TPreparedQueryHKT, true, never>;\n\nexport type AnyMySqlUpdateBase = MySqlUpdateBase<any, any, any, any, any>;\n\nexport interface MySqlUpdateBase<\n\tTTable extends MySqlTable,\n\tTQueryResult extends MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<MySqlQueryResultKind<TQueryResult, never>>, SQLWrapper {\n\treadonly _: {\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly preparedQueryHKT: TPreparedQueryHKT;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t};\n}\n\nexport class MySqlUpdateBase<\n\tTTable extends MySqlTable,\n\tTQueryResult extends MySqlQueryResultHKT,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<MySqlQueryResultKind<TQueryResult, never>> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'MySqlUpdate';\n\n\tprivate config: MySqlUpdateConfig;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tset: UpdateSet,\n\t\tprivate session: MySqlSession,\n\t\tprivate dialect: MySqlDialect,\n\t\twithList?: Subquery[],\n\t) {\n\t\tsuper();\n\t\tthis.config = { set, table, withList };\n\t}\n\n\t/**\n\t * Adds a 'where' clause to the query.\n\t *\n\t * Calling this method will update only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t *\n\t * @param where the 'where' clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be updated.\n\t *\n\t * ```ts\n\t * // Update all cars with green color\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'));\n\t * // or\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Update all BMW cars with a green color\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Update all cars with the green or blue color\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): MySqlUpdateWithout<this, TDynamic, 'where'> {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildUpdateQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\tprepare(): MySqlUpdatePrepare<this> {\n\t\treturn this.session.prepareQuery(\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tthis.config.returning,\n\t\t) as MySqlUpdatePrepare<this>;\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn this.prepare().execute(placeholderValues);\n\t};\n\n\tprivate createIterator = (): ReturnType<this['prepare']>['iterator'] => {\n\t\tconst self = this;\n\t\treturn async function*(placeholderValues) {\n\t\t\tyield* self.prepare().iterator(placeholderValues);\n\t\t};\n\t};\n\n\titerator = this.createIterator();\n\n\t$dynamic(): MySqlUpdateDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAY3B,2BAA6B;AAG7B,mBAA6C;AAmBtC,MAAM,mBAIX;AAAA,EAOD,YACS,OACA,SACA,SACA,UACP;AAJO;AACA;AACA;AACA;AAAA,EACN;AAAA,EAXH,QAAiB,wBAAU,IAAY;AAAA,EAavC,IAAI,QAAgG;AACnG,WAAO,IAAI,gBAAgB,KAAK,WAAO,2BAAa,KAAK,OAAO,MAAM,GAAG,KAAK,SAAS,KAAK,SAAS,KAAK,QAAQ;AAAA,EACnH;AACD;AAwDO,MAAM,wBASH,kCAA8E;AAAA,EAKvF,YACC,OACA,KACQ,SACA,SACR,UACC;AACD,UAAM;AAJE;AACA;AAIR,SAAK,SAAS,EAAE,KAAK,OAAO,SAAS;AAAA,EACtC;AAAA,EAbA,QAAiB,wBAAU,IAAY;AAAA,EAE/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA8CR,MAAM,OAAqE;AAC1E,SAAK,OAAO,QAAQ;AACpB,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,SAAc;AACb,WAAO,KAAK,QAAQ,iBAAiB,KAAK,MAAM;AAAA,EACjD;AAAA,EAEA,QAAe;AACd,UAAM,EAAE,SAAS,UAAU,GAAG,KAAK,IAAI,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAC5E,WAAO;AAAA,EACR;AAAA,EAEA,UAAoC;AACnC,WAAO,KAAK,QAAQ;AAAA,MACnB,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAAA,MACrC,KAAK,OAAO;AAAA,IACb;AAAA,EACD;AAAA,EAES,UAAkD,CAAC,sBAAsB;AACjF,WAAO,KAAK,QAAQ,EAAE,QAAQ,iBAAiB;AAAA,EAChD;AAAA,EAEQ,iBAAiB,MAA+C;AACvE,UAAM,OAAO;AACb,WAAO,iBAAgB,mBAAmB;AACzC,aAAO,KAAK,QAAQ,EAAE,SAAS,iBAAiB;AAAA,IACjD;AAAA,EACD;AAAA,EAEA,WAAW,KAAK,eAAe;AAAA,EAE/B,WAAqC;AACpC,WAAO;AAAA,EACR;AACD;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { GetColumnData } from "../../column.cjs";
|
|
2
2
|
import { entityKind } from "../../entity.cjs";
|
|
3
3
|
import type { MySqlDialect } from "../dialect.cjs";
|
|
4
|
-
import type {
|
|
4
|
+
import type { AnyMySqlQueryResultHKT, MySqlPreparedQueryConfig, MySqlQueryResultHKT, MySqlQueryResultKind, MySqlSession, PreparedQueryHKTBase, PreparedQueryKind } from "../session.cjs";
|
|
5
5
|
import type { MySqlTable } from "../table.cjs";
|
|
6
6
|
import { QueryPromise } from "../../query-promise.cjs";
|
|
7
7
|
import type { Query, SQL, SQLWrapper } from "../../sql/sql.cjs";
|
|
@@ -18,7 +18,7 @@ export interface MySqlUpdateConfig {
|
|
|
18
18
|
export type MySqlUpdateSetSource<TTable extends MySqlTable> = {
|
|
19
19
|
[Key in keyof TTable['_']['columns']]?: GetColumnData<TTable['_']['columns'][Key], 'query'> | SQL;
|
|
20
20
|
} & {};
|
|
21
|
-
export declare class MySqlUpdateBuilder<TTable extends MySqlTable, TQueryResult extends
|
|
21
|
+
export declare class MySqlUpdateBuilder<TTable extends MySqlTable, TQueryResult extends MySqlQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase> {
|
|
22
22
|
private table;
|
|
23
23
|
private session;
|
|
24
24
|
private dialect;
|
|
@@ -31,14 +31,14 @@ export declare class MySqlUpdateBuilder<TTable extends MySqlTable, TQueryResult
|
|
|
31
31
|
set(values: MySqlUpdateSetSource<TTable>): MySqlUpdateBase<TTable, TQueryResult, TPreparedQueryHKT>;
|
|
32
32
|
}
|
|
33
33
|
export type MySqlUpdateWithout<T extends AnyMySqlUpdateBase, TDynamic extends boolean, K extends keyof T & string> = TDynamic extends true ? T : Omit<MySqlUpdateBase<T['_']['table'], T['_']['queryResult'], T['_']['preparedQueryHKT'], TDynamic, T['_']['excludedMethods'] | K>, T['_']['excludedMethods'] | K>;
|
|
34
|
-
export type MySqlUpdatePrepare<T extends AnyMySqlUpdateBase> = PreparedQueryKind<T['_']['preparedQueryHKT'],
|
|
35
|
-
execute:
|
|
34
|
+
export type MySqlUpdatePrepare<T extends AnyMySqlUpdateBase> = PreparedQueryKind<T['_']['preparedQueryHKT'], MySqlPreparedQueryConfig & {
|
|
35
|
+
execute: MySqlQueryResultKind<T['_']['queryResult'], never>;
|
|
36
36
|
iterator: never;
|
|
37
37
|
}, true>;
|
|
38
38
|
export type MySqlUpdateDynamic<T extends AnyMySqlUpdateBase> = MySqlUpdate<T['_']['table'], T['_']['queryResult'], T['_']['preparedQueryHKT']>;
|
|
39
|
-
export type MySqlUpdate<TTable extends MySqlTable = MySqlTable, TQueryResult extends
|
|
39
|
+
export type MySqlUpdate<TTable extends MySqlTable = MySqlTable, TQueryResult extends MySqlQueryResultHKT = AnyMySqlQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase> = MySqlUpdateBase<TTable, TQueryResult, TPreparedQueryHKT, true, never>;
|
|
40
40
|
export type AnyMySqlUpdateBase = MySqlUpdateBase<any, any, any, any, any>;
|
|
41
|
-
export interface MySqlUpdateBase<TTable extends MySqlTable, TQueryResult extends
|
|
41
|
+
export interface MySqlUpdateBase<TTable extends MySqlTable, TQueryResult extends MySqlQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<MySqlQueryResultKind<TQueryResult, never>>, SQLWrapper {
|
|
42
42
|
readonly _: {
|
|
43
43
|
readonly table: TTable;
|
|
44
44
|
readonly queryResult: TQueryResult;
|
|
@@ -47,7 +47,7 @@ export interface MySqlUpdateBase<TTable extends MySqlTable, TQueryResult extends
|
|
|
47
47
|
readonly excludedMethods: TExcludedMethods;
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
-
export declare class MySqlUpdateBase<TTable extends MySqlTable, TQueryResult extends
|
|
50
|
+
export declare class MySqlUpdateBase<TTable extends MySqlTable, TQueryResult extends MySqlQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<MySqlQueryResultKind<TQueryResult, never>> implements SQLWrapper {
|
|
51
51
|
private session;
|
|
52
52
|
private dialect;
|
|
53
53
|
static readonly [entityKind]: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { GetColumnData } from "../../column.js";
|
|
2
2
|
import { entityKind } from "../../entity.js";
|
|
3
3
|
import type { MySqlDialect } from "../dialect.js";
|
|
4
|
-
import type {
|
|
4
|
+
import type { AnyMySqlQueryResultHKT, MySqlPreparedQueryConfig, MySqlQueryResultHKT, MySqlQueryResultKind, MySqlSession, PreparedQueryHKTBase, PreparedQueryKind } from "../session.js";
|
|
5
5
|
import type { MySqlTable } from "../table.js";
|
|
6
6
|
import { QueryPromise } from "../../query-promise.js";
|
|
7
7
|
import type { Query, SQL, SQLWrapper } from "../../sql/sql.js";
|
|
@@ -18,7 +18,7 @@ export interface MySqlUpdateConfig {
|
|
|
18
18
|
export type MySqlUpdateSetSource<TTable extends MySqlTable> = {
|
|
19
19
|
[Key in keyof TTable['_']['columns']]?: GetColumnData<TTable['_']['columns'][Key], 'query'> | SQL;
|
|
20
20
|
} & {};
|
|
21
|
-
export declare class MySqlUpdateBuilder<TTable extends MySqlTable, TQueryResult extends
|
|
21
|
+
export declare class MySqlUpdateBuilder<TTable extends MySqlTable, TQueryResult extends MySqlQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase> {
|
|
22
22
|
private table;
|
|
23
23
|
private session;
|
|
24
24
|
private dialect;
|
|
@@ -31,14 +31,14 @@ export declare class MySqlUpdateBuilder<TTable extends MySqlTable, TQueryResult
|
|
|
31
31
|
set(values: MySqlUpdateSetSource<TTable>): MySqlUpdateBase<TTable, TQueryResult, TPreparedQueryHKT>;
|
|
32
32
|
}
|
|
33
33
|
export type MySqlUpdateWithout<T extends AnyMySqlUpdateBase, TDynamic extends boolean, K extends keyof T & string> = TDynamic extends true ? T : Omit<MySqlUpdateBase<T['_']['table'], T['_']['queryResult'], T['_']['preparedQueryHKT'], TDynamic, T['_']['excludedMethods'] | K>, T['_']['excludedMethods'] | K>;
|
|
34
|
-
export type MySqlUpdatePrepare<T extends AnyMySqlUpdateBase> = PreparedQueryKind<T['_']['preparedQueryHKT'],
|
|
35
|
-
execute:
|
|
34
|
+
export type MySqlUpdatePrepare<T extends AnyMySqlUpdateBase> = PreparedQueryKind<T['_']['preparedQueryHKT'], MySqlPreparedQueryConfig & {
|
|
35
|
+
execute: MySqlQueryResultKind<T['_']['queryResult'], never>;
|
|
36
36
|
iterator: never;
|
|
37
37
|
}, true>;
|
|
38
38
|
export type MySqlUpdateDynamic<T extends AnyMySqlUpdateBase> = MySqlUpdate<T['_']['table'], T['_']['queryResult'], T['_']['preparedQueryHKT']>;
|
|
39
|
-
export type MySqlUpdate<TTable extends MySqlTable = MySqlTable, TQueryResult extends
|
|
39
|
+
export type MySqlUpdate<TTable extends MySqlTable = MySqlTable, TQueryResult extends MySqlQueryResultHKT = AnyMySqlQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase> = MySqlUpdateBase<TTable, TQueryResult, TPreparedQueryHKT, true, never>;
|
|
40
40
|
export type AnyMySqlUpdateBase = MySqlUpdateBase<any, any, any, any, any>;
|
|
41
|
-
export interface MySqlUpdateBase<TTable extends MySqlTable, TQueryResult extends
|
|
41
|
+
export interface MySqlUpdateBase<TTable extends MySqlTable, TQueryResult extends MySqlQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<MySqlQueryResultKind<TQueryResult, never>>, SQLWrapper {
|
|
42
42
|
readonly _: {
|
|
43
43
|
readonly table: TTable;
|
|
44
44
|
readonly queryResult: TQueryResult;
|
|
@@ -47,7 +47,7 @@ export interface MySqlUpdateBase<TTable extends MySqlTable, TQueryResult extends
|
|
|
47
47
|
readonly excludedMethods: TExcludedMethods;
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
-
export declare class MySqlUpdateBase<TTable extends MySqlTable, TQueryResult extends
|
|
50
|
+
export declare class MySqlUpdateBase<TTable extends MySqlTable, TQueryResult extends MySqlQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<MySqlQueryResultKind<TQueryResult, never>> implements SQLWrapper {
|
|
51
51
|
private session;
|
|
52
52
|
private dialect;
|
|
53
53
|
static readonly [entityKind]: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mysql-core/query-builders/update.ts"],"sourcesContent":["import type { GetColumnData } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type {\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/mysql-core/query-builders/update.ts"],"sourcesContent":["import type { GetColumnData } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type {\n\tAnyMySqlQueryResultHKT,\n\tMySqlPreparedQueryConfig,\n\tMySqlQueryResultHKT,\n\tMySqlQueryResultKind,\n\tMySqlSession,\n\tPreparedQueryHKTBase,\n\tPreparedQueryKind,\n} from '~/mysql-core/session.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { mapUpdateSet, type UpdateSet } from '~/utils.ts';\nimport type { SelectedFieldsOrdered } from './select.types.ts';\n\nexport interface MySqlUpdateConfig {\n\twhere?: SQL | undefined;\n\tset: UpdateSet;\n\ttable: MySqlTable;\n\treturning?: SelectedFieldsOrdered;\n\twithList?: Subquery[];\n}\n\nexport type MySqlUpdateSetSource<TTable extends MySqlTable> =\n\t& {\n\t\t[Key in keyof TTable['_']['columns']]?:\n\t\t\t| GetColumnData<TTable['_']['columns'][Key], 'query'>\n\t\t\t| SQL;\n\t}\n\t& {};\n\nexport class MySqlUpdateBuilder<\n\tTTable extends MySqlTable,\n\tTQueryResult extends MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n> {\n\tstatic readonly [entityKind]: string = 'MySqlUpdateBuilder';\n\n\tdeclare readonly _: {\n\t\treadonly table: TTable;\n\t};\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: MySqlSession,\n\t\tprivate dialect: MySqlDialect,\n\t\tprivate withList?: Subquery[],\n\t) {}\n\n\tset(values: MySqlUpdateSetSource<TTable>): MySqlUpdateBase<TTable, TQueryResult, TPreparedQueryHKT> {\n\t\treturn new MySqlUpdateBase(this.table, mapUpdateSet(this.table, values), this.session, this.dialect, this.withList);\n\t}\n}\n\nexport type MySqlUpdateWithout<\n\tT extends AnyMySqlUpdateBase,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T : Omit<\n\tMySqlUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tT['_']['preparedQueryHKT'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods'] | K\n\t>,\n\tT['_']['excludedMethods'] | K\n>;\n\nexport type MySqlUpdatePrepare<T extends AnyMySqlUpdateBase> = PreparedQueryKind<\n\tT['_']['preparedQueryHKT'],\n\tMySqlPreparedQueryConfig & {\n\t\texecute: MySqlQueryResultKind<T['_']['queryResult'], never>;\n\t\titerator: never;\n\t},\n\ttrue\n>;\n\nexport type MySqlUpdateDynamic<T extends AnyMySqlUpdateBase> = MySqlUpdate<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['preparedQueryHKT']\n>;\n\nexport type MySqlUpdate<\n\tTTable extends MySqlTable = MySqlTable,\n\tTQueryResult extends MySqlQueryResultHKT = AnyMySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase,\n> = MySqlUpdateBase<TTable, TQueryResult, TPreparedQueryHKT, true, never>;\n\nexport type AnyMySqlUpdateBase = MySqlUpdateBase<any, any, any, any, any>;\n\nexport interface MySqlUpdateBase<\n\tTTable extends MySqlTable,\n\tTQueryResult extends MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<MySqlQueryResultKind<TQueryResult, never>>, SQLWrapper {\n\treadonly _: {\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly preparedQueryHKT: TPreparedQueryHKT;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t};\n}\n\nexport class MySqlUpdateBase<\n\tTTable extends MySqlTable,\n\tTQueryResult extends MySqlQueryResultHKT,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<MySqlQueryResultKind<TQueryResult, never>> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'MySqlUpdate';\n\n\tprivate config: MySqlUpdateConfig;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tset: UpdateSet,\n\t\tprivate session: MySqlSession,\n\t\tprivate dialect: MySqlDialect,\n\t\twithList?: Subquery[],\n\t) {\n\t\tsuper();\n\t\tthis.config = { set, table, withList };\n\t}\n\n\t/**\n\t * Adds a 'where' clause to the query.\n\t *\n\t * Calling this method will update only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t *\n\t * @param where the 'where' clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be updated.\n\t *\n\t * ```ts\n\t * // Update all cars with green color\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'));\n\t * // or\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Update all BMW cars with a green color\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Update all cars with the green or blue color\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): MySqlUpdateWithout<this, TDynamic, 'where'> {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildUpdateQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\tprepare(): MySqlUpdatePrepare<this> {\n\t\treturn this.session.prepareQuery(\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tthis.config.returning,\n\t\t) as MySqlUpdatePrepare<this>;\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn this.prepare().execute(placeholderValues);\n\t};\n\n\tprivate createIterator = (): ReturnType<this['prepare']>['iterator'] => {\n\t\tconst self = this;\n\t\treturn async function*(placeholderValues) {\n\t\t\tyield* self.prepare().iterator(placeholderValues);\n\t\t};\n\t};\n\n\titerator = this.createIterator();\n\n\t$dynamic(): MySqlUpdateDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAY3B,SAAS,oBAAoB;AAG7B,SAAS,oBAAoC;AAmBtC,MAAM,mBAIX;AAAA,EAOD,YACS,OACA,SACA,SACA,UACP;AAJO;AACA;AACA;AACA;AAAA,EACN;AAAA,EAXH,QAAiB,UAAU,IAAY;AAAA,EAavC,IAAI,QAAgG;AACnG,WAAO,IAAI,gBAAgB,KAAK,OAAO,aAAa,KAAK,OAAO,MAAM,GAAG,KAAK,SAAS,KAAK,SAAS,KAAK,QAAQ;AAAA,EACnH;AACD;AAwDO,MAAM,wBASH,aAA8E;AAAA,EAKvF,YACC,OACA,KACQ,SACA,SACR,UACC;AACD,UAAM;AAJE;AACA;AAIR,SAAK,SAAS,EAAE,KAAK,OAAO,SAAS;AAAA,EACtC;AAAA,EAbA,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA8CR,MAAM,OAAqE;AAC1E,SAAK,OAAO,QAAQ;AACpB,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,SAAc;AACb,WAAO,KAAK,QAAQ,iBAAiB,KAAK,MAAM;AAAA,EACjD;AAAA,EAEA,QAAe;AACd,UAAM,EAAE,SAAS,UAAU,GAAG,KAAK,IAAI,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAC5E,WAAO;AAAA,EACR;AAAA,EAEA,UAAoC;AACnC,WAAO,KAAK,QAAQ;AAAA,MACnB,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAAA,MACrC,KAAK,OAAO;AAAA,IACb;AAAA,EACD;AAAA,EAES,UAAkD,CAAC,sBAAsB;AACjF,WAAO,KAAK,QAAQ,EAAE,QAAQ,iBAAiB;AAAA,EAChD;AAAA,EAEQ,iBAAiB,MAA+C;AACvE,UAAM,OAAO;AACb,WAAO,iBAAgB,mBAAmB;AACzC,aAAO,KAAK,QAAQ,EAAE,SAAS,iBAAiB;AAAA,IACjD;AAAA,EACD;AAAA,EAEA,WAAW,KAAK,eAAe;AAAA,EAE/B,WAAqC;AACpC,WAAO;AAAA,EACR;AACD;","names":[]}
|
package/mysql-core/session.cjs
CHANGED
|
@@ -18,16 +18,16 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var session_exports = {};
|
|
20
20
|
__export(session_exports, {
|
|
21
|
+
MySqlPreparedQuery: () => MySqlPreparedQuery,
|
|
21
22
|
MySqlSession: () => MySqlSession,
|
|
22
|
-
MySqlTransaction: () => MySqlTransaction
|
|
23
|
-
PreparedQuery: () => PreparedQuery
|
|
23
|
+
MySqlTransaction: () => MySqlTransaction
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(session_exports);
|
|
26
26
|
var import_entity = require("../entity.cjs");
|
|
27
27
|
var import_errors = require("../errors.cjs");
|
|
28
28
|
var import_sql = require("../sql/sql.cjs");
|
|
29
29
|
var import_db = require("./db.cjs");
|
|
30
|
-
class
|
|
30
|
+
class MySqlPreparedQuery {
|
|
31
31
|
static [import_entity.entityKind] = "MySqlPreparedQuery";
|
|
32
32
|
/** @internal */
|
|
33
33
|
joinsNotNullableMap;
|
|
@@ -74,8 +74,8 @@ class MySqlTransaction extends import_db.MySqlDatabase {
|
|
|
74
74
|
}
|
|
75
75
|
// Annotate the CommonJS export names for ESM import in node:
|
|
76
76
|
0 && (module.exports = {
|
|
77
|
+
MySqlPreparedQuery,
|
|
77
78
|
MySqlSession,
|
|
78
|
-
MySqlTransaction
|
|
79
|
-
PreparedQuery
|
|
79
|
+
MySqlTransaction
|
|
80
80
|
});
|
|
81
81
|
//# sourceMappingURL=session.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mysql-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { type Query, type SQL, sql } from '~/sql/sql.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { MySqlDatabase } from './db.ts';\nimport type { MySqlDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport type Mode = 'default' | 'planetscale';\n\nexport interface
|
|
1
|
+
{"version":3,"sources":["../../src/mysql-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { type Query, type SQL, sql } from '~/sql/sql.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { MySqlDatabase } from './db.ts';\nimport type { MySqlDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport type Mode = 'default' | 'planetscale';\n\nexport interface MySqlQueryResultHKT {\n\treadonly $brand: 'MySqlQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport interface AnyMySqlQueryResultHKT extends MySqlQueryResultHKT {\n\treadonly type: any;\n}\n\nexport type MySqlQueryResultKind<TKind extends MySqlQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n\nexport interface MySqlPreparedQueryConfig {\n\texecute: unknown;\n\titerator: unknown;\n}\n\nexport interface MySqlPreparedQueryHKT {\n\treadonly $brand: 'MySqlPreparedQueryHKT';\n\treadonly config: unknown;\n\treadonly type: unknown;\n}\n\nexport type PreparedQueryKind<\n\tTKind extends MySqlPreparedQueryHKT,\n\tTConfig extends MySqlPreparedQueryConfig,\n\tTAssume extends boolean = false,\n> = Equal<TAssume, true> extends true\n\t? Assume<(TKind & { readonly config: TConfig })['type'], MySqlPreparedQuery<TConfig>>\n\t: (TKind & { readonly config: TConfig })['type'];\n\nexport abstract class MySqlPreparedQuery<T extends MySqlPreparedQueryConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\tabstract iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;\n}\n\nexport interface MySqlTransactionConfig {\n\twithConsistentSnapshot?: boolean;\n\taccessMode?: 'read only' | 'read write';\n\tisolationLevel: 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable';\n}\n\nexport abstract class MySqlSession<\n\tTQueryResult extends MySqlQueryResultHKT = MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'MySqlSession';\n\n\tconstructor(protected dialect: MySqlDialect) {}\n\n\tabstract prepareQuery<T extends MySqlPreparedQueryConfig, TPreparedQueryHKT extends MySqlPreparedQueryHKT>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PreparedQueryKind<TPreparedQueryHKT, T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn this.prepareQuery<MySqlPreparedQueryConfig & { execute: T }, PreparedQueryHKTBase>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t).execute();\n\t}\n\n\tabstract all<T = unknown>(query: SQL): Promise<T[]>;\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T>;\n\n\tprotected getSetTransactionSQL(config: MySqlTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.isolationLevel) {\n\t\t\tparts.push(`isolation level ${config.isolationLevel}`);\n\t\t}\n\n\t\treturn parts.length ? sql.join(['set transaction ', parts.join(' ')]) : undefined;\n\t}\n\n\tprotected getStartTransactionSQL(config: MySqlTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.withConsistentSnapshot) {\n\t\t\tparts.push('with consistent snapshot');\n\t\t}\n\n\t\tif (config.accessMode) {\n\t\t\tparts.push(config.accessMode);\n\t\t}\n\n\t\treturn parts.length ? sql.join(['start transaction ', parts.join(' ')]) : undefined;\n\t}\n}\n\nexport abstract class MySqlTransaction<\n\tTQueryResult extends MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends MySqlDatabase<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySqlTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\tprotected schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprotected readonly nestedIndex: number,\n\t\tmode: Mode,\n\t) {\n\t\tsuper(dialect, session, schema, mode);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\t/** Nested transactions (aka savepoints) only work with InnoDB engine. */\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface PreparedQueryHKTBase extends MySqlPreparedQueryHKT {\n\ttype: MySqlPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,oBAAyC;AAEzC,iBAA0C;AAE1C,gBAA8B;AAuCvB,MAAe,mBAAuD;AAAA,EAC5E,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAKD;AAQO,MAAe,aAKpB;AAAA,EAGD,YAAsB,SAAuB;AAAvB;AAAA,EAAwB;AAAA,EAF9C,QAAiB,wBAAU,IAAY;AAAA,EAUvC,QAAW,OAAwB;AAClC,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,IACD,EAAE,QAAQ;AAAA,EACX;AAAA,EASU,qBAAqB,QAAiD;AAC/E,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,gBAAgB;AAC1B,YAAM,KAAK,mBAAmB,OAAO,cAAc,EAAE;AAAA,IACtD;AAEA,WAAO,MAAM,SAAS,eAAI,KAAK,CAAC,oBAAoB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI;AAAA,EACzE;AAAA,EAEU,uBAAuB,QAAiD;AACjF,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,wBAAwB;AAClC,YAAM,KAAK,0BAA0B;AAAA,IACtC;AAEA,QAAI,OAAO,YAAY;AACtB,YAAM,KAAK,OAAO,UAAU;AAAA,IAC7B;AAEA,WAAO,MAAM,SAAS,eAAI,KAAK,CAAC,sBAAsB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI;AAAA,EAC3E;AACD;AAEO,MAAe,yBAKZ,wBAAqE;AAAA,EAG9E,YACC,SACA,SACU,QACS,aACnB,MACC;AACD,UAAM,SAAS,SAAS,QAAQ,IAAI;AAJ1B;AACS;AAAA,EAIpB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAAA,EAYvC,WAAkB;AACjB,UAAM,IAAI,uCAAyB;AAAA,EACpC;AAMD;","names":[]}
|
package/mysql-core/session.d.cts
CHANGED
|
@@ -6,32 +6,32 @@ import { MySqlDatabase } from "./db.cjs";
|
|
|
6
6
|
import type { MySqlDialect } from "./dialect.cjs";
|
|
7
7
|
import type { SelectedFieldsOrdered } from "./query-builders/select.types.cjs";
|
|
8
8
|
export type Mode = 'default' | 'planetscale';
|
|
9
|
-
export interface
|
|
10
|
-
readonly $brand: '
|
|
9
|
+
export interface MySqlQueryResultHKT {
|
|
10
|
+
readonly $brand: 'MySqlQueryResultHKT';
|
|
11
11
|
readonly row: unknown;
|
|
12
12
|
readonly type: unknown;
|
|
13
13
|
}
|
|
14
|
-
export interface
|
|
14
|
+
export interface AnyMySqlQueryResultHKT extends MySqlQueryResultHKT {
|
|
15
15
|
readonly type: any;
|
|
16
16
|
}
|
|
17
|
-
export type
|
|
17
|
+
export type MySqlQueryResultKind<TKind extends MySqlQueryResultHKT, TRow> = (TKind & {
|
|
18
18
|
readonly row: TRow;
|
|
19
19
|
})['type'];
|
|
20
|
-
export interface
|
|
20
|
+
export interface MySqlPreparedQueryConfig {
|
|
21
21
|
execute: unknown;
|
|
22
22
|
iterator: unknown;
|
|
23
23
|
}
|
|
24
|
-
export interface
|
|
24
|
+
export interface MySqlPreparedQueryHKT {
|
|
25
25
|
readonly $brand: 'MySqlPreparedQueryHKT';
|
|
26
26
|
readonly config: unknown;
|
|
27
27
|
readonly type: unknown;
|
|
28
28
|
}
|
|
29
|
-
export type PreparedQueryKind<TKind extends
|
|
29
|
+
export type PreparedQueryKind<TKind extends MySqlPreparedQueryHKT, TConfig extends MySqlPreparedQueryConfig, TAssume extends boolean = false> = Equal<TAssume, true> extends true ? Assume<(TKind & {
|
|
30
30
|
readonly config: TConfig;
|
|
31
|
-
})['type'],
|
|
31
|
+
})['type'], MySqlPreparedQuery<TConfig>> : (TKind & {
|
|
32
32
|
readonly config: TConfig;
|
|
33
33
|
})['type'];
|
|
34
|
-
export declare abstract class
|
|
34
|
+
export declare abstract class MySqlPreparedQuery<T extends MySqlPreparedQueryConfig> {
|
|
35
35
|
static readonly [entityKind]: string;
|
|
36
36
|
abstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
|
|
37
37
|
abstract iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;
|
|
@@ -41,18 +41,18 @@ export interface MySqlTransactionConfig {
|
|
|
41
41
|
accessMode?: 'read only' | 'read write';
|
|
42
42
|
isolationLevel: 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable';
|
|
43
43
|
}
|
|
44
|
-
export declare abstract class MySqlSession<TQueryResult extends
|
|
44
|
+
export declare abstract class MySqlSession<TQueryResult extends MySqlQueryResultHKT = MySqlQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> {
|
|
45
45
|
protected dialect: MySqlDialect;
|
|
46
46
|
static readonly [entityKind]: string;
|
|
47
47
|
constructor(dialect: MySqlDialect);
|
|
48
|
-
abstract prepareQuery<T extends
|
|
48
|
+
abstract prepareQuery<T extends MySqlPreparedQueryConfig, TPreparedQueryHKT extends MySqlPreparedQueryHKT>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute']): PreparedQueryKind<TPreparedQueryHKT, T>;
|
|
49
49
|
execute<T>(query: SQL): Promise<T>;
|
|
50
50
|
abstract all<T = unknown>(query: SQL): Promise<T[]>;
|
|
51
51
|
abstract transaction<T>(transaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>, config?: MySqlTransactionConfig): Promise<T>;
|
|
52
52
|
protected getSetTransactionSQL(config: MySqlTransactionConfig): SQL | undefined;
|
|
53
53
|
protected getStartTransactionSQL(config: MySqlTransactionConfig): SQL | undefined;
|
|
54
54
|
}
|
|
55
|
-
export declare abstract class MySqlTransaction<TQueryResult extends
|
|
55
|
+
export declare abstract class MySqlTransaction<TQueryResult extends MySqlQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> extends MySqlDatabase<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema> {
|
|
56
56
|
protected schema: RelationalSchemaConfig<TSchema> | undefined;
|
|
57
57
|
protected readonly nestedIndex: number;
|
|
58
58
|
static readonly [entityKind]: string;
|
|
@@ -61,6 +61,6 @@ export declare abstract class MySqlTransaction<TQueryResult extends QueryResultH
|
|
|
61
61
|
/** Nested transactions (aka savepoints) only work with InnoDB engine. */
|
|
62
62
|
abstract transaction<T>(transaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>): Promise<T>;
|
|
63
63
|
}
|
|
64
|
-
export interface PreparedQueryHKTBase extends
|
|
65
|
-
type:
|
|
64
|
+
export interface PreparedQueryHKTBase extends MySqlPreparedQueryHKT {
|
|
65
|
+
type: MySqlPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;
|
|
66
66
|
}
|
package/mysql-core/session.d.ts
CHANGED
|
@@ -6,32 +6,32 @@ import { MySqlDatabase } from "./db.js";
|
|
|
6
6
|
import type { MySqlDialect } from "./dialect.js";
|
|
7
7
|
import type { SelectedFieldsOrdered } from "./query-builders/select.types.js";
|
|
8
8
|
export type Mode = 'default' | 'planetscale';
|
|
9
|
-
export interface
|
|
10
|
-
readonly $brand: '
|
|
9
|
+
export interface MySqlQueryResultHKT {
|
|
10
|
+
readonly $brand: 'MySqlQueryResultHKT';
|
|
11
11
|
readonly row: unknown;
|
|
12
12
|
readonly type: unknown;
|
|
13
13
|
}
|
|
14
|
-
export interface
|
|
14
|
+
export interface AnyMySqlQueryResultHKT extends MySqlQueryResultHKT {
|
|
15
15
|
readonly type: any;
|
|
16
16
|
}
|
|
17
|
-
export type
|
|
17
|
+
export type MySqlQueryResultKind<TKind extends MySqlQueryResultHKT, TRow> = (TKind & {
|
|
18
18
|
readonly row: TRow;
|
|
19
19
|
})['type'];
|
|
20
|
-
export interface
|
|
20
|
+
export interface MySqlPreparedQueryConfig {
|
|
21
21
|
execute: unknown;
|
|
22
22
|
iterator: unknown;
|
|
23
23
|
}
|
|
24
|
-
export interface
|
|
24
|
+
export interface MySqlPreparedQueryHKT {
|
|
25
25
|
readonly $brand: 'MySqlPreparedQueryHKT';
|
|
26
26
|
readonly config: unknown;
|
|
27
27
|
readonly type: unknown;
|
|
28
28
|
}
|
|
29
|
-
export type PreparedQueryKind<TKind extends
|
|
29
|
+
export type PreparedQueryKind<TKind extends MySqlPreparedQueryHKT, TConfig extends MySqlPreparedQueryConfig, TAssume extends boolean = false> = Equal<TAssume, true> extends true ? Assume<(TKind & {
|
|
30
30
|
readonly config: TConfig;
|
|
31
|
-
})['type'],
|
|
31
|
+
})['type'], MySqlPreparedQuery<TConfig>> : (TKind & {
|
|
32
32
|
readonly config: TConfig;
|
|
33
33
|
})['type'];
|
|
34
|
-
export declare abstract class
|
|
34
|
+
export declare abstract class MySqlPreparedQuery<T extends MySqlPreparedQueryConfig> {
|
|
35
35
|
static readonly [entityKind]: string;
|
|
36
36
|
abstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
|
|
37
37
|
abstract iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;
|
|
@@ -41,18 +41,18 @@ export interface MySqlTransactionConfig {
|
|
|
41
41
|
accessMode?: 'read only' | 'read write';
|
|
42
42
|
isolationLevel: 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable';
|
|
43
43
|
}
|
|
44
|
-
export declare abstract class MySqlSession<TQueryResult extends
|
|
44
|
+
export declare abstract class MySqlSession<TQueryResult extends MySqlQueryResultHKT = MySqlQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> {
|
|
45
45
|
protected dialect: MySqlDialect;
|
|
46
46
|
static readonly [entityKind]: string;
|
|
47
47
|
constructor(dialect: MySqlDialect);
|
|
48
|
-
abstract prepareQuery<T extends
|
|
48
|
+
abstract prepareQuery<T extends MySqlPreparedQueryConfig, TPreparedQueryHKT extends MySqlPreparedQueryHKT>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute']): PreparedQueryKind<TPreparedQueryHKT, T>;
|
|
49
49
|
execute<T>(query: SQL): Promise<T>;
|
|
50
50
|
abstract all<T = unknown>(query: SQL): Promise<T[]>;
|
|
51
51
|
abstract transaction<T>(transaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>, config?: MySqlTransactionConfig): Promise<T>;
|
|
52
52
|
protected getSetTransactionSQL(config: MySqlTransactionConfig): SQL | undefined;
|
|
53
53
|
protected getStartTransactionSQL(config: MySqlTransactionConfig): SQL | undefined;
|
|
54
54
|
}
|
|
55
|
-
export declare abstract class MySqlTransaction<TQueryResult extends
|
|
55
|
+
export declare abstract class MySqlTransaction<TQueryResult extends MySqlQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> extends MySqlDatabase<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema> {
|
|
56
56
|
protected schema: RelationalSchemaConfig<TSchema> | undefined;
|
|
57
57
|
protected readonly nestedIndex: number;
|
|
58
58
|
static readonly [entityKind]: string;
|
|
@@ -61,6 +61,6 @@ export declare abstract class MySqlTransaction<TQueryResult extends QueryResultH
|
|
|
61
61
|
/** Nested transactions (aka savepoints) only work with InnoDB engine. */
|
|
62
62
|
abstract transaction<T>(transaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>): Promise<T>;
|
|
63
63
|
}
|
|
64
|
-
export interface PreparedQueryHKTBase extends
|
|
65
|
-
type:
|
|
64
|
+
export interface PreparedQueryHKTBase extends MySqlPreparedQueryHKT {
|
|
65
|
+
type: MySqlPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;
|
|
66
66
|
}
|
package/mysql-core/session.js
CHANGED
|
@@ -2,7 +2,7 @@ import { entityKind } from "../entity.js";
|
|
|
2
2
|
import { TransactionRollbackError } from "../errors.js";
|
|
3
3
|
import { sql } from "../sql/sql.js";
|
|
4
4
|
import { MySqlDatabase } from "./db.js";
|
|
5
|
-
class
|
|
5
|
+
class MySqlPreparedQuery {
|
|
6
6
|
static [entityKind] = "MySqlPreparedQuery";
|
|
7
7
|
/** @internal */
|
|
8
8
|
joinsNotNullableMap;
|
|
@@ -48,8 +48,8 @@ class MySqlTransaction extends MySqlDatabase {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
export {
|
|
51
|
+
MySqlPreparedQuery,
|
|
51
52
|
MySqlSession,
|
|
52
|
-
MySqlTransaction
|
|
53
|
-
PreparedQuery
|
|
53
|
+
MySqlTransaction
|
|
54
54
|
};
|
|
55
55
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mysql-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { type Query, type SQL, sql } from '~/sql/sql.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { MySqlDatabase } from './db.ts';\nimport type { MySqlDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport type Mode = 'default' | 'planetscale';\n\nexport interface
|
|
1
|
+
{"version":3,"sources":["../../src/mysql-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { type Query, type SQL, sql } from '~/sql/sql.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { MySqlDatabase } from './db.ts';\nimport type { MySqlDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport type Mode = 'default' | 'planetscale';\n\nexport interface MySqlQueryResultHKT {\n\treadonly $brand: 'MySqlQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport interface AnyMySqlQueryResultHKT extends MySqlQueryResultHKT {\n\treadonly type: any;\n}\n\nexport type MySqlQueryResultKind<TKind extends MySqlQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n\nexport interface MySqlPreparedQueryConfig {\n\texecute: unknown;\n\titerator: unknown;\n}\n\nexport interface MySqlPreparedQueryHKT {\n\treadonly $brand: 'MySqlPreparedQueryHKT';\n\treadonly config: unknown;\n\treadonly type: unknown;\n}\n\nexport type PreparedQueryKind<\n\tTKind extends MySqlPreparedQueryHKT,\n\tTConfig extends MySqlPreparedQueryConfig,\n\tTAssume extends boolean = false,\n> = Equal<TAssume, true> extends true\n\t? Assume<(TKind & { readonly config: TConfig })['type'], MySqlPreparedQuery<TConfig>>\n\t: (TKind & { readonly config: TConfig })['type'];\n\nexport abstract class MySqlPreparedQuery<T extends MySqlPreparedQueryConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\tabstract iterator(placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;\n}\n\nexport interface MySqlTransactionConfig {\n\twithConsistentSnapshot?: boolean;\n\taccessMode?: 'read only' | 'read write';\n\tisolationLevel: 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable';\n}\n\nexport abstract class MySqlSession<\n\tTQueryResult extends MySqlQueryResultHKT = MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'MySqlSession';\n\n\tconstructor(protected dialect: MySqlDialect) {}\n\n\tabstract prepareQuery<T extends MySqlPreparedQueryConfig, TPreparedQueryHKT extends MySqlPreparedQueryHKT>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PreparedQueryKind<TPreparedQueryHKT, T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn this.prepareQuery<MySqlPreparedQueryConfig & { execute: T }, PreparedQueryHKTBase>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t).execute();\n\t}\n\n\tabstract all<T = unknown>(query: SQL): Promise<T[]>;\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T>;\n\n\tprotected getSetTransactionSQL(config: MySqlTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.isolationLevel) {\n\t\t\tparts.push(`isolation level ${config.isolationLevel}`);\n\t\t}\n\n\t\treturn parts.length ? sql.join(['set transaction ', parts.join(' ')]) : undefined;\n\t}\n\n\tprotected getStartTransactionSQL(config: MySqlTransactionConfig): SQL | undefined {\n\t\tconst parts: string[] = [];\n\n\t\tif (config.withConsistentSnapshot) {\n\t\t\tparts.push('with consistent snapshot');\n\t\t}\n\n\t\tif (config.accessMode) {\n\t\t\tparts.push(config.accessMode);\n\t\t}\n\n\t\treturn parts.length ? sql.join(['start transaction ', parts.join(' ')]) : undefined;\n\t}\n}\n\nexport abstract class MySqlTransaction<\n\tTQueryResult extends MySqlQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends MySqlDatabase<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySqlTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\tprotected schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprotected readonly nestedIndex: number,\n\t\tmode: Mode,\n\t) {\n\t\tsuper(dialect, session, schema, mode);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\t/** Nested transactions (aka savepoints) only work with InnoDB engine. */\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: MySqlTransaction<TQueryResult, TPreparedQueryHKT, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface PreparedQueryHKTBase extends MySqlPreparedQueryHKT {\n\ttype: MySqlPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,gCAAgC;AAEzC,SAA+B,WAAW;AAE1C,SAAS,qBAAqB;AAuCvB,MAAe,mBAAuD;AAAA,EAC5E,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAKD;AAQO,MAAe,aAKpB;AAAA,EAGD,YAAsB,SAAuB;AAAvB;AAAA,EAAwB;AAAA,EAF9C,QAAiB,UAAU,IAAY;AAAA,EAUvC,QAAW,OAAwB;AAClC,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,IACD,EAAE,QAAQ;AAAA,EACX;AAAA,EASU,qBAAqB,QAAiD;AAC/E,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,gBAAgB;AAC1B,YAAM,KAAK,mBAAmB,OAAO,cAAc,EAAE;AAAA,IACtD;AAEA,WAAO,MAAM,SAAS,IAAI,KAAK,CAAC,oBAAoB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI;AAAA,EACzE;AAAA,EAEU,uBAAuB,QAAiD;AACjF,UAAM,QAAkB,CAAC;AAEzB,QAAI,OAAO,wBAAwB;AAClC,YAAM,KAAK,0BAA0B;AAAA,IACtC;AAEA,QAAI,OAAO,YAAY;AACtB,YAAM,KAAK,OAAO,UAAU;AAAA,IAC7B;AAEA,WAAO,MAAM,SAAS,IAAI,KAAK,CAAC,sBAAsB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI;AAAA,EAC3E;AACD;AAEO,MAAe,yBAKZ,cAAqE;AAAA,EAG9E,YACC,SACA,SACU,QACS,aACnB,MACC;AACD,UAAM,SAAS,SAAS,QAAQ,IAAI;AAJ1B;AACS;AAAA,EAIpB;AAAA,EAVA,QAAiB,UAAU,IAAY;AAAA,EAYvC,WAAkB;AACjB,UAAM,IAAI,yBAAyB;AAAA,EACpC;AAMD;","names":[]}
|
package/mysql-proxy/session.cjs
CHANGED
|
@@ -63,7 +63,7 @@ class MySqlProxyTransaction extends import_mysql_core.MySqlTransaction {
|
|
|
63
63
|
throw new Error("Transactions are not supported by the MySql Proxy driver");
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
-
class PreparedQuery extends import_session.
|
|
66
|
+
class PreparedQuery extends import_session.MySqlPreparedQuery {
|
|
67
67
|
constructor(client, queryString, params, logger, fields, customResultMapper) {
|
|
68
68
|
super();
|
|
69
69
|
this.client = client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mysql-proxy/session.ts"],"sourcesContent":["import type { FieldPacket, ResultSetHeader } from 'mysql2/promise';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport { MySqlTransaction } from '~/mysql-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport type {\n\
|
|
1
|
+
{"version":3,"sources":["../../src/mysql-proxy/session.ts"],"sourcesContent":["import type { FieldPacket, ResultSetHeader } from 'mysql2/promise';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport { MySqlTransaction } from '~/mysql-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport type {\n\tMySqlPreparedQueryConfig,\n\tMySqlPreparedQueryHKT,\n\tMySqlQueryResultHKT,\n\tMySqlTransactionConfig,\n\tPreparedQueryKind,\n} from '~/mysql-core/session.ts';\nimport { MySqlPreparedQuery as PreparedQueryBase, MySqlSession } from '~/mysql-core/session.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders } from '~/sql/sql.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\nimport type { RemoteCallback } from './driver.ts';\n\nexport type MySqlRawQueryResult = [ResultSetHeader, FieldPacket[]];\n\nexport interface MySqlRemoteSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class MySqlRemoteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends MySqlSession<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySqlRemoteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: RemoteCallback,\n\t\tdialect: MySqlDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: MySqlRemoteSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PreparedQueryKind<MySqlRemotePreparedQueryHKT, T> {\n\t\treturn new PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t) as PreparedQueryKind<MySqlRemotePreparedQueryHKT, T>;\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client(querySql.sql, querySql.params, 'all').then(({ rows }) => rows) as Promise<T[]>;\n\t}\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: MySqlProxyTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\t_config?: MySqlTransactionConfig,\n\t): Promise<T> {\n\t\tthrow new Error('Transactions are not supported by the MySql Proxy driver');\n\t}\n}\n\nexport class MySqlProxyTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends MySqlTransaction<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySqlProxyTransaction';\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: MySqlProxyTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tthrow new Error('Transactions are not supported by the MySql Proxy driver');\n\t}\n}\n\nexport class PreparedQuery<T extends MySqlPreparedQueryConfig> extends PreparedQueryBase<T> {\n\tstatic readonly [entityKind]: string = 'MySqlProxyPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: RemoteCallback,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper();\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tconst { fields, client, queryString, logger, joinsNotNullableMap, customResultMapper } = this;\n\n\t\tlogger.logQuery(queryString, params);\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst { rows } = await client(queryString, params, 'execute');\n\n\t\t\treturn rows;\n\t\t}\n\n\t\tconst { rows } = await client(queryString, params, 'all');\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\toverride iterator(\n\t\t_placeholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<T['iterator']> {\n\t\tthrow new Error('Streaming is not supported by the MySql Proxy driver');\n\t}\n}\n\nexport interface MySqlRemoteQueryResultHKT extends MySqlQueryResultHKT {\n\ttype: MySqlRawQueryResult;\n}\n\nexport interface MySqlRemotePreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: PreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,oBAA2B;AAE3B,wBAAiC;AASjC,qBAAsE;AAEtE,iBAAiC;AAEjC,mBAA0C;AASnC,MAAM,2BAGH,4BAA2F;AAAA,EAKpG,YACS,QACR,SACQ,QACR,SACC;AACD,UAAM,OAAO;AALL;AAEA;AAIR,SAAK,SAAS,QAAQ,UAAU,IAAI,yBAAW;AAAA,EAChD;AAAA,EAZA,QAAiB,wBAAU,IAAY;AAAA,EAE/B;AAAA,EAYR,aACC,OACA,QACA,oBACoD;AACpD,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAES,IAAiB,OAA0B;AACnD,UAAM,WAAW,KAAK,QAAQ,WAAW,KAAK;AAC9C,SAAK,OAAO,SAAS,SAAS,KAAK,SAAS,MAAM;AAClD,WAAO,KAAK,OAAO,SAAS,KAAK,SAAS,QAAQ,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,MAAM,IAAI;AAAA,EACjF;AAAA,EAEA,MAAe,YACd,cACA,SACa;AACb,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC3E;AACD;AAEO,MAAM,8BAGH,mCAA+F;AAAA,EACxG,QAAiB,wBAAU,IAAY;AAAA,EAEvC,MAAe,YACd,cACa;AACb,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC3E;AACD;AAEO,MAAM,sBAA0D,eAAAA,mBAAqB;AAAA,EAG3F,YACS,QACA,aACA,QACA,QACA,QACA,oBACP;AACD,UAAM;AAPE;AACA;AACA;AACA;AACA;AACA;AAAA,EAGT;AAAA,EAXA,QAAiB,wBAAU,IAAY;AAAA,EAavC,MAAM,QAAQ,oBAAyD,CAAC,GAA0B;AACjG,UAAM,aAAS,6BAAiB,KAAK,QAAQ,iBAAiB;AAE9D,UAAM,EAAE,QAAQ,QAAQ,aAAa,QAAQ,qBAAqB,mBAAmB,IAAI;AAEzF,WAAO,SAAS,aAAa,MAAM;AAEnC,QAAI,CAAC,UAAU,CAAC,oBAAoB;AACnC,YAAM,EAAE,MAAAC,MAAK,IAAI,MAAM,OAAO,aAAa,QAAQ,SAAS;AAE5D,aAAOA;AAAA,IACR;AAEA,UAAM,EAAE,KAAK,IAAI,MAAM,OAAO,aAAa,QAAQ,KAAK;AAExD,QAAI,oBAAoB;AACvB,aAAO,mBAAmB,IAAI;AAAA,IAC/B;AAEA,WAAO,KAAK,IAAI,CAAC,YAAQ,2BAA2B,QAAS,KAAK,mBAAmB,CAAC;AAAA,EACvF;AAAA,EAES,SACR,qBAA8C,CAAC,GACf;AAChC,UAAM,IAAI,MAAM,sDAAsD;AAAA,EACvE;AACD;","names":["PreparedQueryBase","rows"]}
|
|
@@ -4,8 +4,8 @@ import type { Logger } from "../logger.cjs";
|
|
|
4
4
|
import type { MySqlDialect } from "../mysql-core/dialect.cjs";
|
|
5
5
|
import { MySqlTransaction } from "../mysql-core/index.cjs";
|
|
6
6
|
import type { SelectedFieldsOrdered } from "../mysql-core/query-builders/select.types.cjs";
|
|
7
|
-
import type {
|
|
8
|
-
import {
|
|
7
|
+
import type { MySqlPreparedQueryConfig, MySqlPreparedQueryHKT, MySqlQueryResultHKT, MySqlTransactionConfig, PreparedQueryKind } from "../mysql-core/session.cjs";
|
|
8
|
+
import { MySqlPreparedQuery as PreparedQueryBase, MySqlSession } from "../mysql-core/session.cjs";
|
|
9
9
|
import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.cjs";
|
|
10
10
|
import type { Query, SQL } from "../sql/sql.cjs";
|
|
11
11
|
import { type Assume } from "../utils.cjs";
|
|
@@ -20,7 +20,7 @@ export declare class MySqlRemoteSession<TFullSchema extends Record<string, unkno
|
|
|
20
20
|
static readonly [entityKind]: string;
|
|
21
21
|
private logger;
|
|
22
22
|
constructor(client: RemoteCallback, dialect: MySqlDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options: MySqlRemoteSessionOptions);
|
|
23
|
-
prepareQuery<T extends
|
|
23
|
+
prepareQuery<T extends MySqlPreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute']): PreparedQueryKind<MySqlRemotePreparedQueryHKT, T>;
|
|
24
24
|
all<T = unknown>(query: SQL): Promise<T[]>;
|
|
25
25
|
transaction<T>(_transaction: (tx: MySqlProxyTransaction<TFullSchema, TSchema>) => Promise<T>, _config?: MySqlTransactionConfig): Promise<T>;
|
|
26
26
|
}
|
|
@@ -28,7 +28,7 @@ export declare class MySqlProxyTransaction<TFullSchema extends Record<string, un
|
|
|
28
28
|
static readonly [entityKind]: string;
|
|
29
29
|
transaction<T>(_transaction: (tx: MySqlProxyTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;
|
|
30
30
|
}
|
|
31
|
-
export declare class PreparedQuery<T extends
|
|
31
|
+
export declare class PreparedQuery<T extends MySqlPreparedQueryConfig> extends PreparedQueryBase<T> {
|
|
32
32
|
private client;
|
|
33
33
|
private queryString;
|
|
34
34
|
private params;
|
|
@@ -40,9 +40,9 @@ export declare class PreparedQuery<T extends PreparedQueryConfig> extends Prepar
|
|
|
40
40
|
execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
41
41
|
iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;
|
|
42
42
|
}
|
|
43
|
-
export interface MySqlRemoteQueryResultHKT extends
|
|
43
|
+
export interface MySqlRemoteQueryResultHKT extends MySqlQueryResultHKT {
|
|
44
44
|
type: MySqlRawQueryResult;
|
|
45
45
|
}
|
|
46
|
-
export interface MySqlRemotePreparedQueryHKT extends
|
|
47
|
-
type: PreparedQuery<Assume<this['config'],
|
|
46
|
+
export interface MySqlRemotePreparedQueryHKT extends MySqlPreparedQueryHKT {
|
|
47
|
+
type: PreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;
|
|
48
48
|
}
|