drizzle-orm 0.22.0 → 0.22.1-73da00f
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/mysql-core/db.js +1 -1
- package/mysql-core/db.js.map +1 -1
- package/mysql-core/dialect.d.ts +1 -1
- package/mysql-core/dialect.d.ts.map +1 -1
- package/mysql-core/dialect.js +14 -13
- package/mysql-core/dialect.js.map +1 -1
- package/mysql-core/query-builders/select.d.ts +28 -28
- package/mysql-core/query-builders/select.d.ts.map +1 -1
- package/mysql-core/query-builders/select.js +54 -36
- package/mysql-core/query-builders/select.js.map +1 -1
- package/mysql-core/query-builders/select.types.d.ts +32 -14
- package/mysql-core/query-builders/select.types.d.ts.map +1 -1
- package/mysql-core/session.d.ts.map +1 -1
- package/mysql-core/session.js +0 -1
- package/mysql-core/session.js.map +1 -1
- package/mysql-core/table.d.ts +1 -0
- package/mysql-core/table.d.ts.map +1 -1
- package/mysql-core/table.js +8 -1
- package/mysql-core/table.js.map +1 -1
- package/operations.js +0 -7
- package/operations.js.map +1 -1
- package/package.json +13 -3
- package/pg-core/db.js +1 -1
- package/pg-core/db.js.map +1 -1
- package/pg-core/dialect.d.ts +1 -1
- package/pg-core/dialect.d.ts.map +1 -1
- package/pg-core/dialect.js +12 -12
- package/pg-core/dialect.js.map +1 -1
- package/pg-core/query-builders/select.d.ts +28 -28
- package/pg-core/query-builders/select.d.ts.map +1 -1
- package/pg-core/query-builders/select.js +54 -36
- package/pg-core/query-builders/select.js.map +1 -1
- package/pg-core/query-builders/select.types.d.ts +32 -14
- package/pg-core/query-builders/select.types.d.ts.map +1 -1
- package/pg-core/table.d.ts +1 -0
- package/pg-core/table.d.ts.map +1 -1
- package/pg-core/table.js +8 -1
- package/pg-core/table.js.map +1 -1
- package/planetscale-serverless/session.d.ts.map +1 -1
- package/planetscale-serverless/session.js +0 -1
- package/planetscale-serverless/session.js.map +1 -1
- package/sql/expressions/conditions.d.ts +2 -3
- package/sql/expressions/conditions.d.ts.map +1 -1
- package/sql/expressions/conditions.js +36 -36
- package/sql/expressions/conditions.js.map +1 -1
- package/sqlite-core/db.js +1 -1
- package/sqlite-core/db.js.map +1 -1
- package/sqlite-core/dialect.d.ts +1 -1
- package/sqlite-core/dialect.d.ts.map +1 -1
- package/sqlite-core/dialect.js +12 -12
- package/sqlite-core/dialect.js.map +1 -1
- package/sqlite-core/query-builders/select.d.ts +27 -27
- package/sqlite-core/query-builders/select.d.ts.map +1 -1
- package/sqlite-core/query-builders/select.js +63 -45
- package/sqlite-core/query-builders/select.js.map +1 -1
- package/sqlite-core/query-builders/select.types.d.ts +37 -15
- package/sqlite-core/query-builders/select.types.d.ts.map +1 -1
- package/sqlite-core/table.d.ts +1 -0
- package/sqlite-core/table.d.ts.map +1 -1
- package/sqlite-core/table.js +8 -1
- package/sqlite-core/table.js.map +1 -1
- package/subquery.d.ts.map +1 -1
- package/subquery.js +2 -1
- package/subquery.js.map +1 -1
- package/utils.d.ts +2 -0
- package/utils.d.ts.map +1 -1
package/mysql-core/db.js
CHANGED
|
@@ -18,7 +18,7 @@ class MySqlDatabase {
|
|
|
18
18
|
if (typeof qb === 'function') {
|
|
19
19
|
qb = qb(query_builders_1.queryBuilder);
|
|
20
20
|
}
|
|
21
|
-
return new Proxy(new subquery_1.WithSubquery(qb.getSQL(), qb.getSelection(), alias, true), new subquery_1.SelectionProxyHandler({ alias, sqlAliasedBehavior: '
|
|
21
|
+
return new Proxy(new subquery_1.WithSubquery(qb.getSQL(), qb.getSelection(), alias, true), new subquery_1.SelectionProxyHandler({ alias, sqlAliasedBehavior: 'subquery_selection', sqlBehavior: 'error' }));
|
|
22
22
|
},
|
|
23
23
|
};
|
|
24
24
|
}
|
package/mysql-core/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/mysql-core/db.ts"],"names":[],"mappings":";;;AAEA,yCAAiE;AAGjE,qDAM0B;AAM1B,MAAa,aAAa;IACzB;IACC,gBAAgB;IACP,OAAqB;IAC9B,gBAAgB;IACP,OAAiB;QAFjB,YAAO,GAAP,OAAO,CAAc;QAErB,YAAO,GAAP,OAAO,CAAU;IACxB,CAAC;IAEJ,KAAK,CAAwB,KAAa;QACzC,OAAO;YACN,EAAE,CACD,EAAuF;gBAEvF,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;oBAC7B,EAAE,GAAG,EAAE,CAAC,6BAAY,CAAC,CAAC;iBACtB;gBAED,OAAO,IAAI,KAAK,CACf,IAAI,uBAAY,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,YAAY,EAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,EAC7E,IAAI,gCAAqB,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/mysql-core/db.ts"],"names":[],"mappings":";;;AAEA,yCAAiE;AAGjE,qDAM0B;AAM1B,MAAa,aAAa;IACzB;IACC,gBAAgB;IACP,OAAqB;IAC9B,gBAAgB;IACP,OAAiB;QAFjB,YAAO,GAAP,OAAO,CAAc;QAErB,YAAO,GAAP,OAAO,CAAU;IACxB,CAAC;IAEJ,KAAK,CAAwB,KAAa;QACzC,OAAO;YACN,EAAE,CACD,EAAuF;gBAEvF,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;oBAC7B,EAAE,GAAG,EAAE,CAAC,6BAAY,CAAC,CAAC;iBACtB;gBAED,OAAO,IAAI,KAAK,CACf,IAAI,uBAAY,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,YAAY,EAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,EAC7E,IAAI,gCAAqB,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CACnD,CAAC;YACpD,CAAC;SACD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,OAAuB;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC;QAIlB,SAAS,MAAM,CAAC,MAAqB;YACpC,OAAO,IAAI,mCAAkB,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACnB,CAAC;IAID,MAAM,CAAC,MAAqB;QAC3B,OAAO,IAAI,mCAAkB,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,CAA+B,KAAa;QACjD,OAAO,IAAI,mCAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAA+B,KAAa;QACjD,OAAO,IAAI,mCAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAA+B,KAAa;QACjD,OAAO,IAAI,4BAAW,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CACN,KAAiB;QAEjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;CACD;AA5DD,sCA4DC"}
|
package/mysql-core/dialect.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export declare class MySqlDialect {
|
|
|
28
28
|
* If `isSingleTable` is true, then columns won't be prefixed with table name
|
|
29
29
|
*/
|
|
30
30
|
private buildSelection;
|
|
31
|
-
buildSelectQuery({ withList, fieldsList
|
|
31
|
+
buildSelectQuery({ withList, fieldsList, where, having, table, joins, orderBy, groupBy, limit, offset, lockingClause }: MySqlSelectConfig): SQL;
|
|
32
32
|
buildInsertQuery({ table, values, onConflict, returning }: MySqlInsertConfig): SQL;
|
|
33
33
|
sqlToQuery(sql: SQL): Query;
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../src/mysql-core/dialect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAC;AACnD,OAAO,EAAQ,GAAG,EAAO,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,+BAA+B,CAAC;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../src/mysql-core/dialect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAC;AACnD,OAAO,EAAQ,GAAG,EAAO,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,+BAA+B,CAAC;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAY7C,qBAAa,YAAY;IAClB,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmChF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIhC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIhC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIjC,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,GAAG;IAUrE,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,GAAG;IAkBzD,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,GAAG;IAY1E;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;IAoDtB,gBAAgB,CACf,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EACpG,iBAAiB,GAChB,GAAG;IAkHN,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,GAAG;IAoClF,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK;CAO3B"}
|
package/mysql-core/dialect.js
CHANGED
|
@@ -24,6 +24,7 @@ const table_1 = require("../table");
|
|
|
24
24
|
const view_1 = require("../view");
|
|
25
25
|
const common_1 = require("./columns/common");
|
|
26
26
|
const table_2 = require("./table");
|
|
27
|
+
const view_2 = require("./view");
|
|
27
28
|
// TODO find out how to use all/values. Seems like I need those functions
|
|
28
29
|
// Build project
|
|
29
30
|
// copy runtime tests to be sure it's working
|
|
@@ -159,22 +160,23 @@ class MySqlDialect {
|
|
|
159
160
|
.flat(1);
|
|
160
161
|
return sql_1.sql.fromList(chunks);
|
|
161
162
|
}
|
|
162
|
-
buildSelectQuery({ withList, fieldsList
|
|
163
|
-
|
|
164
|
-
let tableName;
|
|
163
|
+
buildSelectQuery({ withList, fieldsList, where, having, table, joins, orderBy, groupBy, limit, offset, lockingClause }) {
|
|
164
|
+
fieldsList.forEach((f) => {
|
|
165
165
|
if (f.field instanceof column_1.Column
|
|
166
166
|
&& (0, table_1.getTableName)(f.field.table)
|
|
167
167
|
!== (table instanceof subquery_1.Subquery
|
|
168
168
|
? table[subquery_1.SubqueryConfig].alias
|
|
169
|
-
: table instanceof
|
|
169
|
+
: table instanceof view_2.MySqlViewBase
|
|
170
170
|
? table[view_1.ViewBaseConfig].name
|
|
171
|
-
:
|
|
172
|
-
|
|
171
|
+
: table instanceof sql_1.SQL
|
|
172
|
+
? undefined
|
|
173
|
+
: (0, table_1.getTableName)(table))
|
|
174
|
+
&& !((table) => joins.some(({ alias }) => alias === (0, table_1.getTableName)(table)))(f.field.table)) {
|
|
175
|
+
const tableName = (0, table_1.getTableName)(f.field.table);
|
|
173
176
|
throw new Error(`Your "${f.path.join('->')}" field references a column "${tableName}"."${f.field.name}", but the table "${tableName}" is not part of the query! Did you forget to join it?`);
|
|
174
177
|
}
|
|
175
178
|
});
|
|
176
|
-
const
|
|
177
|
-
const isSingleTable = joinKeys.length === 0;
|
|
179
|
+
const isSingleTable = joins.length === 0;
|
|
178
180
|
let withSql;
|
|
179
181
|
if (withList.length) {
|
|
180
182
|
const withSqlChunks = [(0, sql_1.sql) `with `];
|
|
@@ -187,25 +189,24 @@ class MySqlDialect {
|
|
|
187
189
|
withSqlChunks.push((0, sql_1.sql) ` `);
|
|
188
190
|
withSql = sql_1.sql.fromList(withSqlChunks);
|
|
189
191
|
}
|
|
190
|
-
const selection = this.buildSelection(
|
|
192
|
+
const selection = this.buildSelection(fieldsList, { isSingleTable });
|
|
191
193
|
const joinsArray = [];
|
|
192
|
-
|
|
194
|
+
joins.forEach((joinMeta, index) => {
|
|
193
195
|
if (index === 0) {
|
|
194
196
|
joinsArray.push((0, sql_1.sql) ` `);
|
|
195
197
|
}
|
|
196
|
-
const joinMeta = joins[tableAlias];
|
|
197
198
|
const table = joinMeta.table;
|
|
198
199
|
if (table instanceof table_2.MySqlTable) {
|
|
199
200
|
const tableName = table[table_2.MySqlTable.Symbol.Name];
|
|
200
201
|
const tableSchema = table[table_2.MySqlTable.Symbol.Schema];
|
|
201
202
|
const origTableName = table[table_2.MySqlTable.Symbol.OriginalName];
|
|
202
|
-
const alias = tableName === origTableName ? undefined :
|
|
203
|
+
const alias = tableName === origTableName ? undefined : joinMeta.alias;
|
|
203
204
|
joinsArray.push((0, sql_1.sql) `${sql_1.sql.raw(joinMeta.joinType)} join ${tableSchema ? (0, sql_1.sql) `${new sql_1.Name(tableSchema)}.` : undefined}${new sql_1.Name(origTableName)} ${alias && new sql_1.Name(alias)} on ${joinMeta.on}`);
|
|
204
205
|
}
|
|
205
206
|
else {
|
|
206
207
|
joinsArray.push((0, sql_1.sql) `${sql_1.sql.raw(joinMeta.joinType)} join ${table} on ${joinMeta.on}`);
|
|
207
208
|
}
|
|
208
|
-
if (index <
|
|
209
|
+
if (index < joins.length - 1) {
|
|
209
210
|
joinsArray.push((0, sql_1.sql) ` `);
|
|
210
211
|
}
|
|
211
212
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialect.js","sourceRoot":"","sources":["../../src/mysql-core/dialect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dialect.js","sourceRoot":"","sources":["../../src/mysql-core/dialect.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,56 +5,56 @@ import type { SubqueryWithSelection } from '../subquery';
|
|
|
5
5
|
import type { AnyMySqlTable } from '../table';
|
|
6
6
|
import { MySqlViewBase } from '../view';
|
|
7
7
|
import { QueryPromise } from '../../query-promise';
|
|
8
|
-
import type
|
|
8
|
+
import { type Query, SQL } from '../../sql';
|
|
9
9
|
import { Subquery } from '../../subquery';
|
|
10
10
|
import { type Simplify, type ValueOrArray } from '../../utils';
|
|
11
11
|
import { QueryBuilder } from './query-builder';
|
|
12
|
-
import type {
|
|
13
|
-
declare type CreateMySqlSelectFromBuilderMode<
|
|
12
|
+
import type { BuildSubquerySelection, GetSelectTableName, GetSelectTableSelection, JoinFn, JoinNullability, LockConfig, LockStrength, MySqlSelectConfig, MySqlSelectHKT, MySqlSelectHKTBase, MySqlSelectQueryBuilderHKT, SelectFields, SelectMode, SelectResult } from './select.types';
|
|
13
|
+
declare type CreateMySqlSelectFromBuilderMode<TBuilderMode extends 'db' | 'qb', TTableName extends string | undefined, TSelection, TSelectMode extends SelectMode> = TBuilderMode extends 'db' ? MySqlSelect<TTableName, TSelection, TSelectMode> : MySqlSelectQueryBuilder<MySqlSelectQueryBuilderHKT, TTableName, TSelection, TSelectMode>;
|
|
14
14
|
export declare class MySqlSelectBuilder<TSelection extends SelectFields | undefined, TBuilderMode extends 'db' | 'qb' = 'db'> {
|
|
15
15
|
private fields;
|
|
16
16
|
private session;
|
|
17
17
|
private dialect;
|
|
18
18
|
private withList;
|
|
19
19
|
constructor(fields: TSelection, session: MySqlSession | undefined, dialect: MySqlDialect, withList?: Subquery[]);
|
|
20
|
-
from<TFrom extends AnyMySqlTable | Subquery | MySqlViewBase>(source: TFrom): CreateMySqlSelectFromBuilderMode<
|
|
20
|
+
from<TFrom extends AnyMySqlTable | Subquery | MySqlViewBase | SQL>(source: TFrom): CreateMySqlSelectFromBuilderMode<TBuilderMode, GetSelectTableName<TFrom>, TSelection extends undefined ? GetSelectTableSelection<TFrom> : TSelection, TSelection extends undefined ? 'single' : 'partial'>;
|
|
21
21
|
}
|
|
22
|
-
export declare abstract class
|
|
22
|
+
export declare abstract class MySqlSelectQueryBuilder<THKT extends MySqlSelectHKTBase, TTableName extends string | undefined, TSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}> extends QueryBuilder<BuildSubquerySelection<TSelection, TNullabilityMap>> {
|
|
23
|
+
private isPartialSelect;
|
|
24
|
+
protected session: MySqlSession | undefined;
|
|
25
|
+
protected dialect: MySqlDialect;
|
|
23
26
|
protected $selectMode: TSelectMode;
|
|
24
27
|
protected $selection: TSelection;
|
|
25
28
|
protected $subquerySelection: BuildSubquerySelection<TSelection, TNullabilityMap>;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
export declare class MySqlSelect<TTableName extends string, TSelection, TSelectMode extends SelectMode, TExcludedMethods extends string = never, TNullabilityMap extends Record<string, JoinNullability> = Record<TTableName, 'not-null'>> extends MySqlSelectCore<TTableName, TSelection, TSelectMode, TNullabilityMap> {
|
|
30
|
-
private isPartialSelect;
|
|
31
|
-
private session;
|
|
32
|
-
private dialect;
|
|
33
|
-
private config;
|
|
34
|
-
private joinsNotNullableMap;
|
|
29
|
+
protected config: MySqlSelectConfig;
|
|
30
|
+
protected joinsNotNullableMap: Record<string, boolean>;
|
|
35
31
|
private tableName;
|
|
36
32
|
constructor(table: MySqlSelectConfig['table'], fields: MySqlSelectConfig['fields'], fieldsList: MySqlSelectConfig['fieldsList'], isPartialSelect: boolean, session: MySqlSession | undefined, dialect: MySqlDialect, withList: Subquery[]);
|
|
37
33
|
private createJoin;
|
|
38
|
-
leftJoin: JoinFn<TTableName, TSelectMode, "left", TSelection,
|
|
39
|
-
rightJoin: JoinFn<TTableName, TSelectMode, "right", TSelection,
|
|
40
|
-
innerJoin: JoinFn<TTableName, TSelectMode, "inner", TSelection,
|
|
41
|
-
fullJoin: JoinFn<TTableName, TSelectMode, "full", TSelection,
|
|
42
|
-
where(where: ((aliases: TSelection) => SQL | undefined) | SQL | undefined):
|
|
43
|
-
having(having: ((aliases: TSelection) => SQL | undefined) | SQL | undefined):
|
|
44
|
-
groupBy(builder: (aliases: TSelection) => ValueOrArray<AnyMySqlColumn | SQL | SQL.Aliased>):
|
|
45
|
-
groupBy(...columns: (AnyMySqlColumn | SQL)[]):
|
|
46
|
-
orderBy(builder: (aliases: TSelection) => ValueOrArray<AnyMySqlColumn | SQL | SQL.Aliased>):
|
|
47
|
-
orderBy(...columns: (AnyMySqlColumn | SQL)[]):
|
|
48
|
-
limit(limit: number):
|
|
49
|
-
offset(offset: number):
|
|
50
|
-
for(strength: LockStrength, config?: LockConfig):
|
|
34
|
+
leftJoin: JoinFn<THKT, TTableName, TSelectMode, "left", TSelection, TNullabilityMap>;
|
|
35
|
+
rightJoin: JoinFn<THKT, TTableName, TSelectMode, "right", TSelection, TNullabilityMap>;
|
|
36
|
+
innerJoin: JoinFn<THKT, TTableName, TSelectMode, "inner", TSelection, TNullabilityMap>;
|
|
37
|
+
fullJoin: JoinFn<THKT, TTableName, TSelectMode, "full", TSelection, TNullabilityMap>;
|
|
38
|
+
where(where: ((aliases: TSelection) => SQL | undefined) | SQL | undefined): this;
|
|
39
|
+
having(having: ((aliases: TSelection) => SQL | undefined) | SQL | undefined): this;
|
|
40
|
+
groupBy(builder: (aliases: TSelection) => ValueOrArray<AnyMySqlColumn | SQL | SQL.Aliased>): this;
|
|
41
|
+
groupBy(...columns: (AnyMySqlColumn | SQL | SQL.Aliased)[]): this;
|
|
42
|
+
orderBy(builder: (aliases: TSelection) => ValueOrArray<AnyMySqlColumn | SQL | SQL.Aliased>): this;
|
|
43
|
+
orderBy(...columns: (AnyMySqlColumn | SQL | SQL.Aliased)[]): this;
|
|
44
|
+
limit(limit: number): this;
|
|
45
|
+
offset(offset: number): this;
|
|
46
|
+
for(strength: LockStrength, config?: LockConfig): this;
|
|
51
47
|
toSQL(): Simplify<Omit<Query, 'typings'>>;
|
|
48
|
+
as<TAlias extends string>(alias: TAlias): SubqueryWithSelection<BuildSubquerySelection<TSelection, TNullabilityMap>, TAlias>;
|
|
49
|
+
}
|
|
50
|
+
export interface MySqlSelect<TTableName extends string | undefined, TSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}> extends MySqlSelectQueryBuilder<MySqlSelectHKT, TTableName, TSelection, TSelectMode, TNullabilityMap>, QueryPromise<SelectResult<TSelection, TSelectMode, TNullabilityMap>[]> {
|
|
51
|
+
}
|
|
52
|
+
export declare class MySqlSelect<TTableName extends string | undefined, TSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}> extends MySqlSelectQueryBuilder<MySqlSelectHKT, TTableName, TSelection, TSelectMode, TNullabilityMap> {
|
|
52
53
|
private _prepare;
|
|
53
54
|
prepare(name: string): PreparedQuery<PreparedQueryConfig & {
|
|
54
55
|
execute: SelectResult<TSelection, TSelectMode, TNullabilityMap>[];
|
|
55
56
|
}>;
|
|
56
57
|
execute: ReturnType<this['prepare']>['execute'];
|
|
57
|
-
as<TAlias extends string>(alias: TAlias): SubqueryWithSelection<BuildSubquerySelection<TSelection, TNullabilityMap>, TAlias>;
|
|
58
58
|
}
|
|
59
59
|
export {};
|
|
60
60
|
//# sourceMappingURL=select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/select.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/select.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAyB,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAe,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAGxE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EACX,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,MAAM,EACN,eAAe,EAEf,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,MAAM,gBAAgB,CAAC;AAExB,aAAK,gCAAgC,CACpC,YAAY,SAAS,IAAI,GAAG,IAAI,EAChC,UAAU,SAAS,MAAM,GAAG,SAAS,EACrC,UAAU,EACV,WAAW,SAAS,UAAU,IAC3B,YAAY,SAAS,IAAI,GAAG,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,GAC7E,uBAAuB,CAAC,0BAA0B,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AAE5F,qBAAa,kBAAkB,CAAC,UAAU,SAAS,YAAY,GAAG,SAAS,EAAE,YAAY,SAAS,IAAI,GAAG,IAAI,GAAG,IAAI;IAElH,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;gBAHR,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,YAAY,GAAG,SAAS,EACjC,OAAO,EAAE,YAAY,EACrB,QAAQ,GAAE,QAAQ,EAAO;IAGlC,IAAI,CAAC,KAAK,SAAS,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,GAAG,EAChE,MAAM,EAAE,KAAK,GACX,gCAAgC,CAClC,YAAY,EACZ,kBAAkB,CAAC,KAAK,CAAC,EACzB,UAAU,SAAS,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,GAAG,UAAU,EAC1E,UAAU,SAAS,SAAS,GAAG,QAAQ,GAAG,SAAS,CACnD;CAgCD;AAED,8BAAsB,uBAAuB,CAC5C,IAAI,SAAS,kBAAkB,EAC/B,UAAU,SAAS,MAAM,GAAG,SAAS,EACrC,UAAU,EACV,WAAW,SAAS,UAAU,EAC9B,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,UAAU,SAAS,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GACjH,EAAE,CACJ,SAAQ,YAAY,CAAC,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAazE,OAAO,CAAC,eAAe;IACvB,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS;IAC3C,SAAS,CAAC,OAAO,EAAE,YAAY;IAdhC,UAAkB,WAAW,EAAE,WAAW,CAAC;IAC3C,UAAkB,UAAU,EAAE,UAAU,CAAC;IACzC,UAAkB,kBAAkB,EAAE,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAE1F,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACpC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,CAAC,SAAS,CAAqB;gBAGrC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EACjC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EACnC,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,EACnC,eAAe,EAAE,OAAO,EACtB,OAAO,EAAE,YAAY,GAAG,SAAS,EACjC,OAAO,EAAE,YAAY,EAC/B,QAAQ,EAAE,QAAQ,EAAE;IAuBrB,OAAO,CAAC,UAAU;IA0ElB,QAAQ,6EAA2B;IAEnC,SAAS,8EAA4B;IAErC,SAAS,8EAA4B;IAErC,QAAQ,6EAA2B;IAEnC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,KAAK,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,GAAG,SAAS;IAazE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,KAAK,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,GAAG,SAAS;IAa3E,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,YAAY,CAAC,cAAc,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI;IACjG,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC,cAAc,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI;IAoBjE,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,YAAY,CAAC,cAAc,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI;IACjG,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC,cAAc,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI;IAoBjE,KAAK,CAAC,KAAK,EAAE,MAAM;IAKnB,MAAM,CAAC,MAAM,EAAE,MAAM;IAKrB,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAE,UAAe;IAUnD,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAKzC,EAAE,CAAC,MAAM,SAAS,MAAM,EACvB,KAAK,EAAE,MAAM,GACX,qBAAqB,CAAC,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC;CAMrF;AAED,MAAM,WAAW,WAAW,CAC3B,UAAU,SAAS,MAAM,GAAG,SAAS,EACrC,UAAU,EACV,WAAW,SAAS,UAAU,EAC9B,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,UAAU,SAAS,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GACjH,EAAE,CACJ,SACD,uBAAuB,CAAC,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC,EAC7F,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,CAAC;CACrE;AAEF,qBAAa,WAAW,CACvB,UAAU,SAAS,MAAM,GAAG,SAAS,EACrC,UAAU,EACV,WAAW,SAAS,UAAU,EAC9B,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,UAAU,SAAS,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GACjH,EAAE,CACJ,SAAQ,uBAAuB,CAAC,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC;IACtG,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CACnC,mBAAmB,GAAG;QACrB,OAAO,EAAE,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,CAAC;KAClE,CACD;IAID,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAE7C;CACF"}
|
|
@@ -11,10 +11,11 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
return t;
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.MySqlSelect = exports.
|
|
14
|
+
exports.MySqlSelect = exports.MySqlSelectQueryBuilder = exports.MySqlSelectBuilder = void 0;
|
|
15
15
|
const utils_1 = require("../utils");
|
|
16
16
|
const view_1 = require("../view");
|
|
17
17
|
const query_promise_1 = require("../../query-promise");
|
|
18
|
+
const sql_1 = require("../../sql");
|
|
18
19
|
const subquery_1 = require("../../subquery");
|
|
19
20
|
const table_1 = require("../../table");
|
|
20
21
|
const utils_2 = require("../../utils");
|
|
@@ -41,6 +42,9 @@ class MySqlSelectBuilder {
|
|
|
41
42
|
else if (source instanceof view_1.MySqlViewBase) {
|
|
42
43
|
fields = source[view_2.ViewBaseConfig].selection;
|
|
43
44
|
}
|
|
45
|
+
else if (source instanceof sql_1.SQL) {
|
|
46
|
+
fields = {};
|
|
47
|
+
}
|
|
44
48
|
else {
|
|
45
49
|
fields = (0, utils_1.getTableColumns)(source);
|
|
46
50
|
}
|
|
@@ -49,10 +53,7 @@ class MySqlSelectBuilder {
|
|
|
49
53
|
}
|
|
50
54
|
}
|
|
51
55
|
exports.MySqlSelectBuilder = MySqlSelectBuilder;
|
|
52
|
-
class
|
|
53
|
-
}
|
|
54
|
-
exports.MySqlSelectCore = MySqlSelectCore;
|
|
55
|
-
class MySqlSelect extends MySqlSelectCore {
|
|
56
|
+
class MySqlSelectQueryBuilder extends query_builder_1.QueryBuilder {
|
|
56
57
|
constructor(table, fields, fieldsList, isPartialSelect, session, dialect, withList) {
|
|
57
58
|
super();
|
|
58
59
|
this.isPartialSelect = isPartialSelect;
|
|
@@ -62,15 +63,12 @@ class MySqlSelect extends MySqlSelectCore {
|
|
|
62
63
|
this.rightJoin = this.createJoin('right');
|
|
63
64
|
this.innerJoin = this.createJoin('inner');
|
|
64
65
|
this.fullJoin = this.createJoin('full');
|
|
65
|
-
this.execute = (placeholderValues) => {
|
|
66
|
-
return this._prepare().execute(placeholderValues);
|
|
67
|
-
};
|
|
68
66
|
this.config = {
|
|
69
67
|
withList,
|
|
70
68
|
table,
|
|
71
69
|
fields,
|
|
72
70
|
fieldsList,
|
|
73
|
-
joins:
|
|
71
|
+
joins: [],
|
|
74
72
|
orderBy: [],
|
|
75
73
|
groupBy: [],
|
|
76
74
|
};
|
|
@@ -79,41 +77,52 @@ class MySqlSelect extends MySqlSelectCore {
|
|
|
79
77
|
? table[subquery_1.SubqueryConfig].alias
|
|
80
78
|
: table instanceof view_1.MySqlViewBase
|
|
81
79
|
? table[view_2.ViewBaseConfig].name
|
|
82
|
-
: table
|
|
83
|
-
|
|
80
|
+
: table instanceof sql_1.SQL
|
|
81
|
+
? undefined
|
|
82
|
+
: table[table_1.Table.Symbol.Name];
|
|
83
|
+
this.joinsNotNullableMap = typeof this.tableName === 'string' ? { [this.tableName]: true } : {};
|
|
84
84
|
}
|
|
85
85
|
createJoin(joinType) {
|
|
86
86
|
return (table, on) => {
|
|
87
|
-
const
|
|
88
|
-
|
|
87
|
+
const baseTableName = this.tableName;
|
|
88
|
+
const tableName = table instanceof subquery_1.Subquery
|
|
89
|
+
? table[subquery_1.SubqueryConfig].alias
|
|
90
|
+
: table instanceof sql_1.SQL
|
|
91
|
+
? undefined
|
|
92
|
+
: table[table_1.Table.Symbol.Name];
|
|
93
|
+
if (typeof tableName === 'string' && this.config.joins.some((join) => join.alias === tableName)) {
|
|
89
94
|
throw new Error(`Alias "${tableName}" is already used in this query`);
|
|
90
95
|
}
|
|
91
96
|
if (!this.isPartialSelect) {
|
|
92
|
-
// If this is the first join and this is not a partial select, "move" the fields from the main table to the nested object
|
|
93
|
-
if (Object.keys(this.joinsNotNullableMap).length === 1) {
|
|
94
|
-
this.config.fieldsList = this.config.fieldsList.map((field) => (Object.assign(Object.assign({}, field), { path: [
|
|
97
|
+
// If this is the first join and this is not a partial select and we're not selecting from raw SQL, "move" the fields from the main table to the nested object
|
|
98
|
+
if (Object.keys(this.joinsNotNullableMap).length === 1 && typeof baseTableName === 'string') {
|
|
99
|
+
this.config.fieldsList = this.config.fieldsList.map((field) => (Object.assign(Object.assign({}, field), { path: [baseTableName, ...field.path] })));
|
|
100
|
+
}
|
|
101
|
+
if (typeof tableName === 'string' && !(table instanceof sql_1.SQL)) {
|
|
102
|
+
this.config.fieldsList.push(...(0, utils_3.orderSelectedFields)(table instanceof subquery_1.Subquery ? table[subquery_1.SubqueryConfig].selection : table[table_1.Table.Symbol.Columns], [tableName]));
|
|
95
103
|
}
|
|
96
|
-
this.config.fieldsList.push(...(0, utils_3.orderSelectedFields)(table instanceof subquery_1.Subquery ? table[subquery_1.SubqueryConfig].selection : table[table_1.Table.Symbol.Columns], [tableName]));
|
|
97
104
|
}
|
|
98
105
|
if (typeof on === 'function') {
|
|
99
106
|
on = on(new Proxy(this.config.fields, new subquery_1.SelectionProxyHandler({ sqlAliasedBehavior: 'alias', sqlBehavior: 'sql' })));
|
|
100
107
|
}
|
|
101
|
-
this.config.joins
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
108
|
+
this.config.joins.push({ on, table, joinType, alias: tableName });
|
|
109
|
+
if (typeof tableName === 'string') {
|
|
110
|
+
switch (joinType) {
|
|
111
|
+
case 'left':
|
|
112
|
+
this.joinsNotNullableMap[tableName] = false;
|
|
113
|
+
break;
|
|
114
|
+
case 'right':
|
|
115
|
+
this.joinsNotNullableMap = Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false]));
|
|
116
|
+
this.joinsNotNullableMap[tableName] = true;
|
|
117
|
+
break;
|
|
118
|
+
case 'inner':
|
|
119
|
+
this.joinsNotNullableMap[tableName] = true;
|
|
120
|
+
break;
|
|
121
|
+
case 'full':
|
|
122
|
+
this.joinsNotNullableMap = Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false]));
|
|
123
|
+
this.joinsNotNullableMap[tableName] = false;
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
117
126
|
}
|
|
118
127
|
return this;
|
|
119
128
|
};
|
|
@@ -172,6 +181,18 @@ class MySqlSelect extends MySqlSelectCore {
|
|
|
172
181
|
const _a = this.dialect.sqlToQuery(this.getSQL()), { typings } = _a, rest = __rest(_a, ["typings"]);
|
|
173
182
|
return rest;
|
|
174
183
|
}
|
|
184
|
+
as(alias) {
|
|
185
|
+
return new Proxy(new subquery_1.Subquery(this.getSQL(), this.config.fields, alias), new subquery_1.SelectionProxyHandler({ alias, sqlAliasedBehavior: 'subquery_selection', sqlBehavior: 'error' }));
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
exports.MySqlSelectQueryBuilder = MySqlSelectQueryBuilder;
|
|
189
|
+
class MySqlSelect extends MySqlSelectQueryBuilder {
|
|
190
|
+
constructor() {
|
|
191
|
+
super(...arguments);
|
|
192
|
+
this.execute = (placeholderValues) => {
|
|
193
|
+
return this._prepare().execute(placeholderValues);
|
|
194
|
+
};
|
|
195
|
+
}
|
|
175
196
|
_prepare(name) {
|
|
176
197
|
if (!this.session) {
|
|
177
198
|
throw new Error('Cannot execute a query on a query builder. Please use a database instance instead.');
|
|
@@ -183,9 +204,6 @@ class MySqlSelect extends MySqlSelectCore {
|
|
|
183
204
|
prepare(name) {
|
|
184
205
|
return this._prepare(name);
|
|
185
206
|
}
|
|
186
|
-
as(alias) {
|
|
187
|
-
return new Proxy(new subquery_1.Subquery(this.getSQL(), this.config.fields, alias), new subquery_1.SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }));
|
|
188
|
-
}
|
|
189
207
|
}
|
|
190
208
|
exports.MySqlSelect = MySqlSelect;
|
|
191
209
|
(0, utils_2.applyMixins)(MySqlSelect, [query_promise_1.QueryPromise]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/select.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,8CAAqD;AACrD,4CAAkD;AAClD,mDAA+C;
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/select.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,14 @@ import type { MySqlViewBase, MySqlViewWithSelection } from '../view';
|
|
|
6
6
|
import type { SelectFields as SelectFieldsBase, SelectFieldsFlat as SelectFieldsFlatBase, SelectFieldsOrdered as SelectFieldsOrderedBase } from '../../operations';
|
|
7
7
|
import type { Placeholder, SQL } from '../../sql';
|
|
8
8
|
import type { GetSubquerySelection, Subquery } from '../../subquery';
|
|
9
|
-
import type { Assume, DrizzleTypeError, Simplify } from '../../utils';
|
|
10
|
-
import type { MySqlSelect,
|
|
9
|
+
import type { Assume, DrizzleTypeError, Equal, Simplify } from '../../utils';
|
|
10
|
+
import type { MySqlSelect, MySqlSelectQueryBuilder } from './select';
|
|
11
11
|
export declare type JoinType = 'inner' | 'left' | 'right' | 'full';
|
|
12
12
|
export declare type SelectMode = 'partial' | 'single' | 'multiple';
|
|
13
13
|
export interface JoinsValue {
|
|
14
14
|
on: SQL | undefined;
|
|
15
|
-
table: AnyMySqlTable | Subquery;
|
|
15
|
+
table: AnyMySqlTable | Subquery | SQL;
|
|
16
|
+
alias: string | undefined;
|
|
16
17
|
joinType: JoinType;
|
|
17
18
|
}
|
|
18
19
|
export declare type JoinNullability = 'nullable' | 'not-null';
|
|
@@ -39,17 +40,17 @@ export declare type BuildAliasTable<TTable extends AnyMySqlTable, TAlias extends
|
|
|
39
40
|
export declare type MapColumnsToTableAlias<TColumns extends Record<string, AnyMySqlColumn | SQL | SQL.Aliased>, TAlias extends string> = Simplify<{
|
|
40
41
|
[Key in keyof TColumns]: TColumns[Key] extends AnyMySqlColumn ? ChangeColumnTableName<TColumns[Key], TAlias> : TColumns[Key];
|
|
41
42
|
}>;
|
|
42
|
-
export declare type AddAliasToSelection<TSelection, TAlias extends string> = Simplify<{
|
|
43
|
+
export declare type AddAliasToSelection<TSelection, TAlias extends string> = Equal<TSelection, any> extends true ? any : Simplify<{
|
|
43
44
|
[Key in keyof TSelection]: TSelection[Key] extends AnyMySqlColumn ? ChangeColumnTableName<TSelection[Key], TAlias> : TSelection[Key] extends SQL | SQL.Aliased ? TSelection[Key] : TSelection[Key] extends Record<string, AnyMySqlColumn | SQL | SQL.Aliased> ? MapColumnsToTableAlias<TSelection[Key], TAlias> : never;
|
|
44
45
|
}>;
|
|
45
46
|
export declare type BuildSubquerySelection<TSelection, TNullability extends Record<string, JoinNullability>> = TSelection extends never ? any : Simplify<{
|
|
46
47
|
[Key in keyof TSelection]: TSelection[Key] extends SQL ? DrizzleTypeError<'You cannot reference this field without assigning it an alias first - use `.as(<alias>)`'> : TSelection[Key] extends SQL.Aliased ? TSelection[Key] : TSelection[Key] extends AnyMySqlColumn ? ApplyNullabilityToColumn<TSelection[Key], TNullability[GetColumnConfig<TSelection[Key], 'tableName'>]> : TSelection[Key] extends Record<string, AnyMySqlColumn | SQL | SQL.Aliased> ? BuildSubquerySelection<TSelection[Key], TNullability> : never;
|
|
47
48
|
}>;
|
|
48
|
-
export declare type AppendToResult<TTableName extends string, TResult, TJoinedName extends string, TSelectedFields extends SelectFields, TOldSelectMode extends SelectMode> = TOldSelectMode extends 'partial' ? TResult : TOldSelectMode extends 'single' ? Record<TTableName, TResult> & Record<TJoinedName, TSelectedFields> : TResult & Record<TJoinedName, TSelectedFields
|
|
49
|
+
export declare type AppendToResult<TTableName extends string | undefined, TResult, TJoinedName extends string | undefined, TSelectedFields extends SelectFields, TOldSelectMode extends SelectMode> = TOldSelectMode extends 'partial' ? TResult : TOldSelectMode extends 'single' ? (TTableName extends string ? Record<TTableName, TResult> : TResult) & (TJoinedName extends string ? Record<TJoinedName, TSelectedFields> : TSelectedFields) : TResult & (TJoinedName extends string ? Record<TJoinedName, TSelectedFields> : TSelectedFields);
|
|
49
50
|
declare type SetJoinsNullability<TNullabilityMap extends Record<string, JoinNullability>, TValue extends JoinNullability> = {
|
|
50
51
|
[Key in keyof TNullabilityMap]: TValue;
|
|
51
52
|
};
|
|
52
|
-
export declare type AppendToNullabilityMap<TJoinsNotNull extends Record<string, JoinNullability>, TJoinedName extends string, TJoinType extends JoinType> = 'left' extends TJoinType ? TJoinsNotNull & {
|
|
53
|
+
export declare type AppendToNullabilityMap<TJoinsNotNull extends Record<string, JoinNullability>, TJoinedName extends string | undefined, TJoinType extends JoinType> = TJoinedName extends string ? 'left' extends TJoinType ? TJoinsNotNull & {
|
|
53
54
|
[name in TJoinedName]: 'nullable';
|
|
54
55
|
} : 'right' extends TJoinType ? SetJoinsNullability<TJoinsNotNull, 'nullable'> & {
|
|
55
56
|
[name in TJoinedName]: 'not-null';
|
|
@@ -57,17 +58,17 @@ export declare type AppendToNullabilityMap<TJoinsNotNull extends Record<string,
|
|
|
57
58
|
[name in TJoinedName]: 'not-null';
|
|
58
59
|
} : 'full' extends TJoinType ? SetJoinsNullability<TJoinsNotNull, 'nullable'> & {
|
|
59
60
|
[name in TJoinedName]: 'nullable';
|
|
60
|
-
} : never;
|
|
61
|
+
} : never : TJoinsNotNull;
|
|
61
62
|
export interface MySqlSelectConfig {
|
|
62
63
|
withList: Subquery[];
|
|
63
64
|
fields: SelectFields;
|
|
64
65
|
fieldsList: SelectFieldsOrdered;
|
|
65
66
|
where?: SQL;
|
|
66
67
|
having?: SQL;
|
|
67
|
-
table: AnyMySqlTable | Subquery | MySqlViewBase;
|
|
68
|
+
table: AnyMySqlTable | Subquery | MySqlViewBase | SQL;
|
|
68
69
|
limit?: number | Placeholder;
|
|
69
70
|
offset?: number | Placeholder;
|
|
70
|
-
joins:
|
|
71
|
+
joins: JoinsValue[];
|
|
71
72
|
orderBy: (AnyMySqlColumn | SQL | SQL.Aliased)[];
|
|
72
73
|
groupBy: (AnyMySqlColumn | SQL | SQL.Aliased)[];
|
|
73
74
|
lockingClause?: {
|
|
@@ -75,9 +76,9 @@ export interface MySqlSelectConfig {
|
|
|
75
76
|
config: LockConfig;
|
|
76
77
|
};
|
|
77
78
|
}
|
|
78
|
-
export declare type JoinFn<TTableName extends string, TSelectMode extends SelectMode, TJoinType extends JoinType, TSelection,
|
|
79
|
-
export declare type GetSelectTableName<TTable extends AnyMySqlTable | Subquery | MySqlViewBase> = TTable extends AnyMySqlTable ? GetTableConfig<TTable, 'name'> : TTable extends Subquery<infer TAlias> ? TAlias : TTable extends MySqlViewBase<infer TAlias> ? TAlias : never;
|
|
80
|
-
export declare type GetSelectTableSelection<TTable extends AnyMySqlTable | Subquery | MySqlViewBase> = TTable extends AnyMySqlTable ? GetTableConfig<TTable, 'columns'> : TTable extends Subquery<string, infer TSelection> ? TSelection : TTable extends MySqlViewWithSelection<any, any, infer TSelection> ? TSelection : never;
|
|
79
|
+
export declare type JoinFn<THKT extends MySqlSelectHKTBase, TTableName extends string | undefined, TSelectMode extends SelectMode, TJoinType extends JoinType, TSelection, TNullabilityMap extends Record<string, JoinNullability>> = <TJoinedTable extends AnyMySqlTable | Subquery | SQL, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: ((aliases: TSelection) => SQL | undefined) | SQL | undefined) => MySqlSelectKind<THKT, TTableName, AppendToResult<TTableName, TSelection, TJoinedName, TJoinedTable extends AnyMySqlTable ? GetTableConfig<TJoinedTable, 'columns'> : TJoinedName extends Subquery ? Assume<GetSubquerySelection<TJoinedName>, SelectFields> : never, TSelectMode>, TSelectMode extends 'partial' ? TSelectMode : 'multiple', AppendToNullabilityMap<TNullabilityMap, TJoinedName, TJoinType>>;
|
|
80
|
+
export declare type GetSelectTableName<TTable extends AnyMySqlTable | Subquery | MySqlViewBase | SQL> = TTable extends AnyMySqlTable ? GetTableConfig<TTable, 'name'> : TTable extends Subquery<infer TAlias> ? TAlias : TTable extends MySqlViewBase<infer TAlias> ? TAlias : TTable extends SQL ? undefined : never;
|
|
81
|
+
export declare type GetSelectTableSelection<TTable extends AnyMySqlTable | Subquery | MySqlViewBase | SQL> = TTable extends AnyMySqlTable ? GetTableConfig<TTable, 'columns'> : TTable extends Subquery<string, infer TSelection> ? TSelection : TTable extends MySqlViewWithSelection<any, any, infer TSelection> ? TSelection : TTable extends SQL ? {} : never;
|
|
81
82
|
export declare type SelectFieldsFlat = SelectFieldsFlatBase<AnyMySqlColumn>;
|
|
82
83
|
export declare type SelectFields = SelectFieldsBase<AnyMySqlColumn, AnyMySqlTable>;
|
|
83
84
|
export declare type SelectFieldsOrdered = SelectFieldsOrderedBase<AnyMySqlColumn>;
|
|
@@ -96,7 +97,24 @@ export declare type LockConfig = {
|
|
|
96
97
|
noWait?: undefined;
|
|
97
98
|
skipLocked?: undefined;
|
|
98
99
|
};
|
|
99
|
-
export
|
|
100
|
-
|
|
100
|
+
export interface MySqlSelectHKTBase {
|
|
101
|
+
tableName: string | undefined;
|
|
102
|
+
selection: unknown;
|
|
103
|
+
selectMode: SelectMode;
|
|
104
|
+
nullabilityMap: unknown;
|
|
105
|
+
$type: unknown;
|
|
106
|
+
}
|
|
107
|
+
export declare type MySqlSelectKind<T extends MySqlSelectHKTBase, TTableName extends string | undefined, TSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability>> = (T & {
|
|
108
|
+
tableName: TTableName;
|
|
109
|
+
selection: TSelection;
|
|
110
|
+
selectMode: TSelectMode;
|
|
111
|
+
nullabilityMap: TNullabilityMap;
|
|
112
|
+
})['$type'];
|
|
113
|
+
export interface MySqlSelectQueryBuilderHKT extends MySqlSelectHKTBase {
|
|
114
|
+
$type: MySqlSelectQueryBuilder<this, this['tableName'], this['selection'], this['selectMode'], Assume<this['nullabilityMap'], Record<string, JoinNullability>>>;
|
|
115
|
+
}
|
|
116
|
+
export interface MySqlSelectHKT extends MySqlSelectHKTBase {
|
|
117
|
+
$type: MySqlSelect<this['tableName'], this['selection'], this['selectMode'], Assume<this['nullabilityMap'], Record<string, JoinNullability>>>;
|
|
118
|
+
}
|
|
101
119
|
export {};
|
|
102
120
|
//# sourceMappingURL=select.types.d.ts.map
|