drizzle-orm 0.29.3 → 0.29.4-b475b53
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/README.md +29 -141
- package/alias.cjs.map +1 -1
- package/alias.js.map +1 -1
- package/aws-data-api/pg/session.cjs +2 -2
- package/aws-data-api/pg/session.cjs.map +1 -1
- package/aws-data-api/pg/session.d.cts +3 -3
- package/aws-data-api/pg/session.d.ts +3 -3
- package/aws-data-api/pg/session.js +4 -4
- package/aws-data-api/pg/session.js.map +1 -1
- package/d1/session.cjs +3 -3
- package/d1/session.cjs.map +1 -1
- package/d1/session.d.cts +1 -1
- package/d1/session.d.ts +1 -1
- package/d1/session.js +4 -4
- package/d1/session.js.map +1 -1
- package/libsql/session.cjs +1 -1
- package/libsql/session.cjs.map +1 -1
- package/libsql/session.js +1 -1
- package/libsql/session.js.map +1 -1
- package/neon-http/driver.cjs +13 -1
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +8 -3
- package/neon-http/driver.d.ts +8 -3
- package/neon-http/driver.js +13 -5
- package/neon-http/driver.js.map +1 -1
- package/neon-http/session.cjs +46 -28
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +16 -12
- package/neon-http/session.d.ts +16 -12
- package/neon-http/session.js +47 -29
- package/neon-http/session.js.map +1 -1
- package/neon-serverless/session.cjs +12 -12
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.d.cts +5 -5
- package/neon-serverless/session.d.ts +5 -5
- package/neon-serverless/session.js +13 -13
- package/neon-serverless/session.js.map +1 -1
- package/node-postgres/session.cjs +12 -12
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +5 -5
- package/node-postgres/session.d.ts +5 -5
- package/node-postgres/session.js +13 -13
- package/node-postgres/session.js.map +1 -1
- package/package.json +13 -1
- package/pg-core/db.cjs +14 -1
- package/pg-core/db.cjs.map +1 -1
- package/pg-core/db.js +14 -1
- package/pg-core/db.js.map +1 -1
- package/pg-core/query-builders/delete.cjs +11 -10
- package/pg-core/query-builders/delete.cjs.map +1 -1
- package/pg-core/query-builders/delete.d.cts +8 -6
- package/pg-core/query-builders/delete.d.ts +8 -6
- package/pg-core/query-builders/delete.js +11 -10
- package/pg-core/query-builders/delete.js.map +1 -1
- package/pg-core/query-builders/insert.cjs +15 -14
- package/pg-core/query-builders/insert.cjs.map +1 -1
- package/pg-core/query-builders/insert.d.cts +8 -6
- package/pg-core/query-builders/insert.d.ts +8 -6
- package/pg-core/query-builders/insert.js +15 -14
- package/pg-core/query-builders/insert.js.map +1 -1
- package/pg-core/query-builders/query.cjs +1 -0
- package/pg-core/query-builders/query.cjs.map +1 -1
- package/pg-core/query-builders/query.d.cts +9 -6
- package/pg-core/query-builders/query.d.ts +9 -6
- package/pg-core/query-builders/query.js +1 -0
- package/pg-core/query-builders/query.js.map +1 -1
- package/pg-core/query-builders/raw.cjs +53 -0
- package/pg-core/query-builders/raw.cjs.map +1 -0
- package/pg-core/query-builders/raw.d.cts +22 -0
- package/pg-core/query-builders/raw.d.ts +22 -0
- package/pg-core/query-builders/raw.js +29 -0
- package/pg-core/query-builders/raw.js.map +1 -0
- package/pg-core/query-builders/refresh-materialized-view.cjs +1 -0
- package/pg-core/query-builders/refresh-materialized-view.cjs.map +1 -1
- package/pg-core/query-builders/refresh-materialized-view.d.cts +10 -6
- package/pg-core/query-builders/refresh-materialized-view.d.ts +10 -6
- package/pg-core/query-builders/refresh-materialized-view.js +1 -0
- package/pg-core/query-builders/refresh-materialized-view.js.map +1 -1
- package/pg-core/query-builders/select.cjs +86 -85
- package/pg-core/query-builders/select.cjs.map +1 -1
- package/pg-core/query-builders/select.d.cts +5 -4
- package/pg-core/query-builders/select.d.ts +5 -4
- package/pg-core/query-builders/select.js +86 -85
- package/pg-core/query-builders/select.js.map +1 -1
- package/pg-core/query-builders/select.types.cjs.map +1 -1
- package/pg-core/query-builders/select.types.d.cts +2 -2
- package/pg-core/query-builders/select.types.d.ts +2 -2
- package/pg-core/query-builders/update.cjs +9 -8
- package/pg-core/query-builders/update.cjs.map +1 -1
- package/pg-core/query-builders/update.d.cts +7 -5
- package/pg-core/query-builders/update.d.ts +7 -5
- package/pg-core/query-builders/update.js +9 -8
- package/pg-core/query-builders/update.js.map +1 -1
- package/pg-core/session.cjs +14 -5
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +7 -2
- package/pg-core/session.d.ts +7 -2
- package/pg-core/session.js +12 -3
- package/pg-core/session.js.map +1 -1
- package/pg-proxy/session.cjs +2 -2
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.d.cts +1 -1
- package/pg-proxy/session.d.ts +1 -1
- package/pg-proxy/session.js +2 -2
- package/pg-proxy/session.js.map +1 -1
- package/postgres-js/session.cjs +11 -11
- package/postgres-js/session.cjs.map +1 -1
- package/postgres-js/session.d.cts +5 -5
- package/postgres-js/session.d.ts +5 -5
- package/postgres-js/session.js +12 -12
- package/postgres-js/session.js.map +1 -1
- package/runnable-query.cjs.map +1 -1
- package/runnable-query.d.cts +0 -2
- package/runnable-query.d.ts +0 -2
- package/sql/sql.cjs +0 -8
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.d.cts +1 -1
- package/sql/sql.d.ts +1 -1
- package/sql/sql.js +0 -8
- package/sql/sql.js.map +1 -1
- package/sqlite-core/db.cjs +53 -43
- package/sqlite-core/db.cjs.map +1 -1
- package/sqlite-core/db.d.cts +3 -0
- package/sqlite-core/db.d.ts +3 -0
- package/sqlite-core/db.js +53 -43
- package/sqlite-core/db.js.map +1 -1
- package/sqlite-core/query-builders/delete.cjs +20 -16
- package/sqlite-core/query-builders/delete.cjs.map +1 -1
- package/sqlite-core/query-builders/delete.d.cts +3 -3
- package/sqlite-core/query-builders/delete.d.ts +3 -3
- package/sqlite-core/query-builders/delete.js +20 -16
- package/sqlite-core/query-builders/delete.js.map +1 -1
- package/sqlite-core/query-builders/insert.cjs +23 -19
- package/sqlite-core/query-builders/insert.cjs.map +1 -1
- package/sqlite-core/query-builders/insert.d.cts +1 -1
- package/sqlite-core/query-builders/insert.d.ts +1 -1
- package/sqlite-core/query-builders/insert.js +23 -19
- package/sqlite-core/query-builders/insert.js.map +1 -1
- package/sqlite-core/query-builders/query.cjs +8 -4
- package/sqlite-core/query-builders/query.cjs.map +1 -1
- package/sqlite-core/query-builders/query.js +8 -4
- package/sqlite-core/query-builders/query.js.map +1 -1
- package/sqlite-core/query-builders/raw.cjs +9 -17
- package/sqlite-core/query-builders/raw.cjs.map +1 -1
- package/sqlite-core/query-builders/raw.d.cts +10 -6
- package/sqlite-core/query-builders/raw.d.ts +10 -6
- package/sqlite-core/query-builders/raw.js +9 -17
- package/sqlite-core/query-builders/raw.js.map +1 -1
- package/sqlite-core/query-builders/select.cjs +78 -74
- package/sqlite-core/query-builders/select.cjs.map +1 -1
- package/sqlite-core/query-builders/select.d.cts +7 -7
- package/sqlite-core/query-builders/select.d.ts +7 -7
- package/sqlite-core/query-builders/select.js +78 -74
- package/sqlite-core/query-builders/select.js.map +1 -1
- package/sqlite-core/query-builders/update.cjs +17 -13
- package/sqlite-core/query-builders/update.cjs.map +1 -1
- package/sqlite-core/query-builders/update.d.cts +1 -1
- package/sqlite-core/query-builders/update.d.ts +1 -1
- package/sqlite-core/query-builders/update.js +17 -13
- package/sqlite-core/query-builders/update.js.map +1 -1
- package/vercel-postgres/session.cjs +6 -6
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.d.cts +4 -4
- package/vercel-postgres/session.d.ts +4 -4
- package/vercel-postgres/session.js +7 -7
- 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
|
@@ -4,16 +4,16 @@ import type { BuildSubquerySelection, GetSelectTableName, GetSelectTableSelectio
|
|
|
4
4
|
import { QueryPromise } from "../../query-promise.cjs";
|
|
5
5
|
import type { RunnableQuery } from "../../runnable-query.cjs";
|
|
6
6
|
import { SQL } from "../../sql/sql.cjs";
|
|
7
|
-
import type { ColumnsSelection, Placeholder, Query } from "../../sql/sql.cjs";
|
|
7
|
+
import type { ColumnsSelection, Placeholder, Query, SQLWrapper } from "../../sql/sql.cjs";
|
|
8
8
|
import type { SQLiteColumn } from "../columns/index.cjs";
|
|
9
9
|
import type { SQLiteDialect } from "../dialect.cjs";
|
|
10
10
|
import type { SQLiteSession } from "../session.cjs";
|
|
11
11
|
import type { SubqueryWithSelection } from "../subquery.cjs";
|
|
12
12
|
import type { SQLiteTable } from "../table.cjs";
|
|
13
|
-
import { type ValueOrArray } from "../../utils.cjs";
|
|
14
|
-
import type { CreateSQLiteSelectFromBuilderMode, GetSQLiteSetOperators, SelectedFields, SetOperatorRightSelect, SQLiteCreateSetOperatorFn, SQLiteJoinFn, SQLiteSelectConfig, SQLiteSelectDynamic, SQLiteSelectExecute, SQLiteSelectHKT, SQLiteSelectHKTBase, SQLiteSelectPrepare, SQLiteSelectWithout, SQLiteSetOperatorExcludedMethods, SQLiteSetOperatorWithResult } from "./select.types.cjs";
|
|
15
13
|
import { Subquery } from "../../subquery.cjs";
|
|
14
|
+
import { type ValueOrArray } from "../../utils.cjs";
|
|
16
15
|
import { SQLiteViewBase } from "../view-base.cjs";
|
|
16
|
+
import type { CreateSQLiteSelectFromBuilderMode, GetSQLiteSetOperators, SelectedFields, SetOperatorRightSelect, SQLiteCreateSetOperatorFn, SQLiteJoinFn, SQLiteSelectConfig, SQLiteSelectDynamic, SQLiteSelectExecute, SQLiteSelectHKT, SQLiteSelectHKTBase, SQLiteSelectPrepare, SQLiteSelectWithout, SQLiteSetOperatorExcludedMethods, SQLiteSetOperatorWithResult } from "./select.types.cjs";
|
|
17
17
|
export declare class SQLiteSelectBuilder<TSelection extends SelectedFields | undefined, TResultType extends 'sync' | 'async', TRunResult, TBuilderMode extends 'db' | 'qb' = 'db'> {
|
|
18
18
|
static readonly [entityKind]: string;
|
|
19
19
|
private fields;
|
|
@@ -33,7 +33,7 @@ export declare class SQLiteSelectBuilder<TSelection extends SelectedFields | und
|
|
|
33
33
|
export declare abstract class SQLiteSelectQueryBuilderBase<THKT extends SQLiteSelectHKTBase, TTableName extends string | undefined, TResultType extends 'sync' | 'async', TRunResult, TSelection extends ColumnsSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}, TDynamic extends boolean = false, TExcludedMethods extends string = never, TResult extends any[] = SelectResult<TSelection, TSelectMode, TNullabilityMap>[], TSelectedFields extends ColumnsSelection = BuildSubquerySelection<TSelection, TNullabilityMap>> extends TypedQueryBuilder<TSelectedFields, TResult> {
|
|
34
34
|
static readonly [entityKind]: string;
|
|
35
35
|
readonly _: {
|
|
36
|
-
dialect: 'sqlite';
|
|
36
|
+
readonly dialect: 'sqlite';
|
|
37
37
|
readonly hkt: THKT;
|
|
38
38
|
readonly tableName: TTableName;
|
|
39
39
|
readonly resultType: TResultType;
|
|
@@ -306,7 +306,7 @@ export declare abstract class SQLiteSelectQueryBuilderBase<THKT extends SQLiteSe
|
|
|
306
306
|
* // Select all cars with the green or blue color
|
|
307
307
|
* await db.select().from(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));
|
|
308
308
|
* ```
|
|
309
|
-
|
|
309
|
+
*/
|
|
310
310
|
where(where: ((aliases: TSelection) => SQL | undefined) | SQL | undefined): SQLiteSelectWithout<this, TDynamic, 'where'>;
|
|
311
311
|
/**
|
|
312
312
|
* Adds a `having` clause to the query.
|
|
@@ -418,9 +418,9 @@ export declare abstract class SQLiteSelectQueryBuilderBase<THKT extends SQLiteSe
|
|
|
418
418
|
}
|
|
419
419
|
export interface SQLiteSelectBase<TTableName extends string | undefined, TResultType extends 'sync' | 'async', TRunResult, TSelection extends ColumnsSelection, TSelectMode extends SelectMode = 'single', TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}, TDynamic extends boolean = false, TExcludedMethods extends string = never, TResult extends any[] = SelectResult<TSelection, TSelectMode, TNullabilityMap>[], TSelectedFields extends ColumnsSelection = BuildSubquerySelection<TSelection, TNullabilityMap>> extends SQLiteSelectQueryBuilderBase<SQLiteSelectHKT, TTableName, TResultType, TRunResult, TSelection, TSelectMode, TNullabilityMap, TDynamic, TExcludedMethods, TResult, TSelectedFields>, QueryPromise<TResult> {
|
|
420
420
|
}
|
|
421
|
-
export declare class SQLiteSelectBase<TTableName extends string | undefined, TResultType extends 'sync' | 'async', TRunResult, TSelection, TSelectMode extends SelectMode = 'single', TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}, TDynamic extends boolean = false, TExcludedMethods extends string = never, TResult = SelectResult<TSelection, TSelectMode, TNullabilityMap>[], TSelectedFields extends ColumnsSelection = BuildSubquerySelection<TSelection, TNullabilityMap>> extends SQLiteSelectQueryBuilderBase<SQLiteSelectHKT, TTableName, TResultType, TRunResult, TSelection, TSelectMode, TNullabilityMap, TDynamic, TExcludedMethods, TResult, TSelectedFields> implements RunnableQuery<TResult, 'sqlite'
|
|
421
|
+
export declare class SQLiteSelectBase<TTableName extends string | undefined, TResultType extends 'sync' | 'async', TRunResult, TSelection, TSelectMode extends SelectMode = 'single', TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}, TDynamic extends boolean = false, TExcludedMethods extends string = never, TResult = SelectResult<TSelection, TSelectMode, TNullabilityMap>[], TSelectedFields extends ColumnsSelection = BuildSubquerySelection<TSelection, TNullabilityMap>> extends SQLiteSelectQueryBuilderBase<SQLiteSelectHKT, TTableName, TResultType, TRunResult, TSelection, TSelectMode, TNullabilityMap, TDynamic, TExcludedMethods, TResult, TSelectedFields> implements RunnableQuery<TResult, 'sqlite'>, SQLWrapper {
|
|
422
422
|
static readonly [entityKind]: string;
|
|
423
|
-
prepare(
|
|
423
|
+
prepare(): SQLiteSelectPrepare<this>;
|
|
424
424
|
run: ReturnType<this['prepare']>['run'];
|
|
425
425
|
all: ReturnType<this['prepare']>['all'];
|
|
426
426
|
get: ReturnType<this['prepare']>['get'];
|
|
@@ -4,16 +4,16 @@ import type { BuildSubquerySelection, GetSelectTableName, GetSelectTableSelectio
|
|
|
4
4
|
import { QueryPromise } from "../../query-promise.js";
|
|
5
5
|
import type { RunnableQuery } from "../../runnable-query.js";
|
|
6
6
|
import { SQL } from "../../sql/sql.js";
|
|
7
|
-
import type { ColumnsSelection, Placeholder, Query } from "../../sql/sql.js";
|
|
7
|
+
import type { ColumnsSelection, Placeholder, Query, SQLWrapper } from "../../sql/sql.js";
|
|
8
8
|
import type { SQLiteColumn } from "../columns/index.js";
|
|
9
9
|
import type { SQLiteDialect } from "../dialect.js";
|
|
10
10
|
import type { SQLiteSession } from "../session.js";
|
|
11
11
|
import type { SubqueryWithSelection } from "../subquery.js";
|
|
12
12
|
import type { SQLiteTable } from "../table.js";
|
|
13
|
-
import { type ValueOrArray } from "../../utils.js";
|
|
14
|
-
import type { CreateSQLiteSelectFromBuilderMode, GetSQLiteSetOperators, SelectedFields, SetOperatorRightSelect, SQLiteCreateSetOperatorFn, SQLiteJoinFn, SQLiteSelectConfig, SQLiteSelectDynamic, SQLiteSelectExecute, SQLiteSelectHKT, SQLiteSelectHKTBase, SQLiteSelectPrepare, SQLiteSelectWithout, SQLiteSetOperatorExcludedMethods, SQLiteSetOperatorWithResult } from "./select.types.js";
|
|
15
13
|
import { Subquery } from "../../subquery.js";
|
|
14
|
+
import { type ValueOrArray } from "../../utils.js";
|
|
16
15
|
import { SQLiteViewBase } from "../view-base.js";
|
|
16
|
+
import type { CreateSQLiteSelectFromBuilderMode, GetSQLiteSetOperators, SelectedFields, SetOperatorRightSelect, SQLiteCreateSetOperatorFn, SQLiteJoinFn, SQLiteSelectConfig, SQLiteSelectDynamic, SQLiteSelectExecute, SQLiteSelectHKT, SQLiteSelectHKTBase, SQLiteSelectPrepare, SQLiteSelectWithout, SQLiteSetOperatorExcludedMethods, SQLiteSetOperatorWithResult } from "./select.types.js";
|
|
17
17
|
export declare class SQLiteSelectBuilder<TSelection extends SelectedFields | undefined, TResultType extends 'sync' | 'async', TRunResult, TBuilderMode extends 'db' | 'qb' = 'db'> {
|
|
18
18
|
static readonly [entityKind]: string;
|
|
19
19
|
private fields;
|
|
@@ -33,7 +33,7 @@ export declare class SQLiteSelectBuilder<TSelection extends SelectedFields | und
|
|
|
33
33
|
export declare abstract class SQLiteSelectQueryBuilderBase<THKT extends SQLiteSelectHKTBase, TTableName extends string | undefined, TResultType extends 'sync' | 'async', TRunResult, TSelection extends ColumnsSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}, TDynamic extends boolean = false, TExcludedMethods extends string = never, TResult extends any[] = SelectResult<TSelection, TSelectMode, TNullabilityMap>[], TSelectedFields extends ColumnsSelection = BuildSubquerySelection<TSelection, TNullabilityMap>> extends TypedQueryBuilder<TSelectedFields, TResult> {
|
|
34
34
|
static readonly [entityKind]: string;
|
|
35
35
|
readonly _: {
|
|
36
|
-
dialect: 'sqlite';
|
|
36
|
+
readonly dialect: 'sqlite';
|
|
37
37
|
readonly hkt: THKT;
|
|
38
38
|
readonly tableName: TTableName;
|
|
39
39
|
readonly resultType: TResultType;
|
|
@@ -306,7 +306,7 @@ export declare abstract class SQLiteSelectQueryBuilderBase<THKT extends SQLiteSe
|
|
|
306
306
|
* // Select all cars with the green or blue color
|
|
307
307
|
* await db.select().from(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));
|
|
308
308
|
* ```
|
|
309
|
-
|
|
309
|
+
*/
|
|
310
310
|
where(where: ((aliases: TSelection) => SQL | undefined) | SQL | undefined): SQLiteSelectWithout<this, TDynamic, 'where'>;
|
|
311
311
|
/**
|
|
312
312
|
* Adds a `having` clause to the query.
|
|
@@ -418,9 +418,9 @@ export declare abstract class SQLiteSelectQueryBuilderBase<THKT extends SQLiteSe
|
|
|
418
418
|
}
|
|
419
419
|
export interface SQLiteSelectBase<TTableName extends string | undefined, TResultType extends 'sync' | 'async', TRunResult, TSelection extends ColumnsSelection, TSelectMode extends SelectMode = 'single', TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}, TDynamic extends boolean = false, TExcludedMethods extends string = never, TResult extends any[] = SelectResult<TSelection, TSelectMode, TNullabilityMap>[], TSelectedFields extends ColumnsSelection = BuildSubquerySelection<TSelection, TNullabilityMap>> extends SQLiteSelectQueryBuilderBase<SQLiteSelectHKT, TTableName, TResultType, TRunResult, TSelection, TSelectMode, TNullabilityMap, TDynamic, TExcludedMethods, TResult, TSelectedFields>, QueryPromise<TResult> {
|
|
420
420
|
}
|
|
421
|
-
export declare class SQLiteSelectBase<TTableName extends string | undefined, TResultType extends 'sync' | 'async', TRunResult, TSelection, TSelectMode extends SelectMode = 'single', TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}, TDynamic extends boolean = false, TExcludedMethods extends string = never, TResult = SelectResult<TSelection, TSelectMode, TNullabilityMap>[], TSelectedFields extends ColumnsSelection = BuildSubquerySelection<TSelection, TNullabilityMap>> extends SQLiteSelectQueryBuilderBase<SQLiteSelectHKT, TTableName, TResultType, TRunResult, TSelection, TSelectMode, TNullabilityMap, TDynamic, TExcludedMethods, TResult, TSelectedFields> implements RunnableQuery<TResult, 'sqlite'
|
|
421
|
+
export declare class SQLiteSelectBase<TTableName extends string | undefined, TResultType extends 'sync' | 'async', TRunResult, TSelection, TSelectMode extends SelectMode = 'single', TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}, TDynamic extends boolean = false, TExcludedMethods extends string = never, TResult = SelectResult<TSelection, TSelectMode, TNullabilityMap>[], TSelectedFields extends ColumnsSelection = BuildSubquerySelection<TSelection, TNullabilityMap>> extends SQLiteSelectQueryBuilderBase<SQLiteSelectHKT, TTableName, TResultType, TRunResult, TSelection, TSelectMode, TNullabilityMap, TDynamic, TExcludedMethods, TResult, TSelectedFields> implements RunnableQuery<TResult, 'sqlite'>, SQLWrapper {
|
|
422
422
|
static readonly [entityKind]: string;
|
|
423
|
-
prepare(
|
|
423
|
+
prepare(): SQLiteSelectPrepare<this>;
|
|
424
424
|
run: ReturnType<this['prepare']>['run'];
|
|
425
425
|
all: ReturnType<this['prepare']>['all'];
|
|
426
426
|
get: ReturnType<this['prepare']>['get'];
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { entityKind, is } from "../../entity.js";
|
|
2
2
|
import { TypedQueryBuilder } from "../../query-builders/query-builder.js";
|
|
3
3
|
import { QueryPromise } from "../../query-promise.js";
|
|
4
|
+
import { SelectionProxyHandler } from "../../selection-proxy.js";
|
|
4
5
|
import { SQL, View } from "../../sql/sql.js";
|
|
6
|
+
import { Subquery, SubqueryConfig } from "../../subquery.js";
|
|
5
7
|
import { Table } from "../../table.js";
|
|
6
8
|
import {
|
|
7
9
|
applyMixins,
|
|
@@ -11,9 +13,7 @@ import {
|
|
|
11
13
|
orderSelectedFields
|
|
12
14
|
} from "../../utils.js";
|
|
13
15
|
import { ViewBaseConfig } from "../../view-common.js";
|
|
14
|
-
import { Subquery, SubqueryConfig } from "../../subquery.js";
|
|
15
16
|
import { SQLiteViewBase } from "../view-base.js";
|
|
16
|
-
import { SelectionProxyHandler } from "../../selection-proxy.js";
|
|
17
17
|
class SQLiteSelectBuilder {
|
|
18
18
|
static [entityKind] = "SQLiteSelectBuilder";
|
|
19
19
|
fields;
|
|
@@ -144,22 +144,22 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
146
146
|
* Executes a `left join` operation by adding another table to the current query.
|
|
147
|
-
*
|
|
147
|
+
*
|
|
148
148
|
* Calling this method associates each row of the table with the corresponding row from the joined table, if a match is found. If no matching row exists, it sets all columns of the joined table to null.
|
|
149
|
-
*
|
|
149
|
+
*
|
|
150
150
|
* See docs: {@link https://orm.drizzle.team/docs/joins#left-join}
|
|
151
|
-
*
|
|
151
|
+
*
|
|
152
152
|
* @param table the table to join.
|
|
153
153
|
* @param on the `on` clause.
|
|
154
|
-
*
|
|
154
|
+
*
|
|
155
155
|
* @example
|
|
156
|
-
*
|
|
156
|
+
*
|
|
157
157
|
* ```ts
|
|
158
158
|
* // Select all users and their pets
|
|
159
159
|
* const usersWithPets: { user: User; pets: Pet | null }[] = await db.select()
|
|
160
160
|
* .from(users)
|
|
161
161
|
* .leftJoin(pets, eq(users.id, pets.ownerId))
|
|
162
|
-
*
|
|
162
|
+
*
|
|
163
163
|
* // Select userId and petId
|
|
164
164
|
* const usersIdsAndPetIds: { userId: number; petId: number | null }[] = await db.select({
|
|
165
165
|
* userId: users.id,
|
|
@@ -172,22 +172,22 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
172
172
|
leftJoin = this.createJoin("left");
|
|
173
173
|
/**
|
|
174
174
|
* Executes a `right join` operation by adding another table to the current query.
|
|
175
|
-
*
|
|
175
|
+
*
|
|
176
176
|
* Calling this method associates each row of the joined table with the corresponding row from the main table, if a match is found. If no matching row exists, it sets all columns of the main table to null.
|
|
177
|
-
*
|
|
177
|
+
*
|
|
178
178
|
* See docs: {@link https://orm.drizzle.team/docs/joins#right-join}
|
|
179
|
-
*
|
|
179
|
+
*
|
|
180
180
|
* @param table the table to join.
|
|
181
181
|
* @param on the `on` clause.
|
|
182
|
-
*
|
|
182
|
+
*
|
|
183
183
|
* @example
|
|
184
|
-
*
|
|
184
|
+
*
|
|
185
185
|
* ```ts
|
|
186
186
|
* // Select all users and their pets
|
|
187
187
|
* const usersWithPets: { user: User | null; pets: Pet }[] = await db.select()
|
|
188
188
|
* .from(users)
|
|
189
189
|
* .rightJoin(pets, eq(users.id, pets.ownerId))
|
|
190
|
-
*
|
|
190
|
+
*
|
|
191
191
|
* // Select userId and petId
|
|
192
192
|
* const usersIdsAndPetIds: { userId: number | null; petId: number }[] = await db.select({
|
|
193
193
|
* userId: users.id,
|
|
@@ -200,22 +200,22 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
200
200
|
rightJoin = this.createJoin("right");
|
|
201
201
|
/**
|
|
202
202
|
* Executes an `inner join` operation, creating a new table by combining rows from two tables that have matching values.
|
|
203
|
-
*
|
|
203
|
+
*
|
|
204
204
|
* Calling this method retrieves rows that have corresponding entries in both joined tables. Rows without matching entries in either table are excluded, resulting in a table that includes only matching pairs.
|
|
205
|
-
*
|
|
205
|
+
*
|
|
206
206
|
* See docs: {@link https://orm.drizzle.team/docs/joins#inner-join}
|
|
207
|
-
*
|
|
207
|
+
*
|
|
208
208
|
* @param table the table to join.
|
|
209
209
|
* @param on the `on` clause.
|
|
210
|
-
*
|
|
210
|
+
*
|
|
211
211
|
* @example
|
|
212
|
-
*
|
|
212
|
+
*
|
|
213
213
|
* ```ts
|
|
214
214
|
* // Select all users and their pets
|
|
215
215
|
* const usersWithPets: { user: User; pets: Pet }[] = await db.select()
|
|
216
216
|
* .from(users)
|
|
217
217
|
* .innerJoin(pets, eq(users.id, pets.ownerId))
|
|
218
|
-
*
|
|
218
|
+
*
|
|
219
219
|
* // Select userId and petId
|
|
220
220
|
* const usersIdsAndPetIds: { userId: number; petId: number }[] = await db.select({
|
|
221
221
|
* userId: users.id,
|
|
@@ -228,22 +228,22 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
228
228
|
innerJoin = this.createJoin("inner");
|
|
229
229
|
/**
|
|
230
230
|
* Executes a `full join` operation by combining rows from two tables into a new table.
|
|
231
|
-
*
|
|
231
|
+
*
|
|
232
232
|
* Calling this method retrieves all rows from both main and joined tables, merging rows with matching values and filling in `null` for non-matching columns.
|
|
233
|
-
*
|
|
233
|
+
*
|
|
234
234
|
* See docs: {@link https://orm.drizzle.team/docs/joins#full-join}
|
|
235
|
-
*
|
|
235
|
+
*
|
|
236
236
|
* @param table the table to join.
|
|
237
237
|
* @param on the `on` clause.
|
|
238
|
-
*
|
|
238
|
+
*
|
|
239
239
|
* @example
|
|
240
|
-
*
|
|
240
|
+
*
|
|
241
241
|
* ```ts
|
|
242
242
|
* // Select all users and their pets
|
|
243
243
|
* const usersWithPets: { user: User | null; pets: Pet | null }[] = await db.select()
|
|
244
244
|
* .from(users)
|
|
245
245
|
* .fullJoin(pets, eq(users.id, pets.ownerId))
|
|
246
|
-
*
|
|
246
|
+
*
|
|
247
247
|
* // Select userId and petId
|
|
248
248
|
* const usersIdsAndPetIds: { userId: number | null; petId: number | null }[] = await db.select({
|
|
249
249
|
* userId: users.id,
|
|
@@ -268,13 +268,13 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
268
268
|
}
|
|
269
269
|
/**
|
|
270
270
|
* Adds `union` set operator to the query.
|
|
271
|
-
*
|
|
271
|
+
*
|
|
272
272
|
* Calling this method will combine the result sets of the `select` statements and remove any duplicate rows that appear across them.
|
|
273
|
-
*
|
|
273
|
+
*
|
|
274
274
|
* See docs: {@link https://orm.drizzle.team/docs/set-operations#union}
|
|
275
|
-
*
|
|
275
|
+
*
|
|
276
276
|
* @example
|
|
277
|
-
*
|
|
277
|
+
*
|
|
278
278
|
* ```ts
|
|
279
279
|
* // Select all unique names from customers and users tables
|
|
280
280
|
* await db.select({ name: users.name })
|
|
@@ -284,9 +284,9 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
284
284
|
* );
|
|
285
285
|
* // or
|
|
286
286
|
* import { union } from 'drizzle-orm/sqlite-core'
|
|
287
|
-
*
|
|
287
|
+
*
|
|
288
288
|
* await union(
|
|
289
|
-
* db.select({ name: users.name }).from(users),
|
|
289
|
+
* db.select({ name: users.name }).from(users),
|
|
290
290
|
* db.select({ name: customers.name }).from(customers)
|
|
291
291
|
* );
|
|
292
292
|
* ```
|
|
@@ -294,13 +294,13 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
294
294
|
union = this.createSetOperator("union", false);
|
|
295
295
|
/**
|
|
296
296
|
* Adds `union all` set operator to the query.
|
|
297
|
-
*
|
|
297
|
+
*
|
|
298
298
|
* Calling this method will combine the result-set of the `select` statements and keep all duplicate rows that appear across them.
|
|
299
|
-
*
|
|
299
|
+
*
|
|
300
300
|
* See docs: {@link https://orm.drizzle.team/docs/set-operations#union-all}
|
|
301
|
-
*
|
|
301
|
+
*
|
|
302
302
|
* @example
|
|
303
|
-
*
|
|
303
|
+
*
|
|
304
304
|
* ```ts
|
|
305
305
|
* // Select all transaction ids from both online and in-store sales
|
|
306
306
|
* await db.select({ transaction: onlineSales.transactionId })
|
|
@@ -310,7 +310,7 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
310
310
|
* );
|
|
311
311
|
* // or
|
|
312
312
|
* import { unionAll } from 'drizzle-orm/sqlite-core'
|
|
313
|
-
*
|
|
313
|
+
*
|
|
314
314
|
* await unionAll(
|
|
315
315
|
* db.select({ transaction: onlineSales.transactionId }).from(onlineSales),
|
|
316
316
|
* db.select({ transaction: inStoreSales.transactionId }).from(inStoreSales)
|
|
@@ -320,13 +320,13 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
320
320
|
unionAll = this.createSetOperator("union", true);
|
|
321
321
|
/**
|
|
322
322
|
* Adds `intersect` set operator to the query.
|
|
323
|
-
*
|
|
323
|
+
*
|
|
324
324
|
* Calling this method will retain only the rows that are present in both result sets and eliminate duplicates.
|
|
325
|
-
*
|
|
325
|
+
*
|
|
326
326
|
* See docs: {@link https://orm.drizzle.team/docs/set-operations#intersect}
|
|
327
|
-
*
|
|
327
|
+
*
|
|
328
328
|
* @example
|
|
329
|
-
*
|
|
329
|
+
*
|
|
330
330
|
* ```ts
|
|
331
331
|
* // Select course names that are offered in both departments A and B
|
|
332
332
|
* await db.select({ courseName: depA.courseName })
|
|
@@ -336,7 +336,7 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
336
336
|
* );
|
|
337
337
|
* // or
|
|
338
338
|
* import { intersect } from 'drizzle-orm/sqlite-core'
|
|
339
|
-
*
|
|
339
|
+
*
|
|
340
340
|
* await intersect(
|
|
341
341
|
* db.select({ courseName: depA.courseName }).from(depA),
|
|
342
342
|
* db.select({ courseName: depB.courseName }).from(depB)
|
|
@@ -346,13 +346,13 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
346
346
|
intersect = this.createSetOperator("intersect", false);
|
|
347
347
|
/**
|
|
348
348
|
* Adds `except` set operator to the query.
|
|
349
|
-
*
|
|
349
|
+
*
|
|
350
350
|
* Calling this method will retrieve all unique rows from the left query, except for the rows that are present in the result set of the right query.
|
|
351
|
-
*
|
|
351
|
+
*
|
|
352
352
|
* See docs: {@link https://orm.drizzle.team/docs/set-operations#except}
|
|
353
|
-
*
|
|
353
|
+
*
|
|
354
354
|
* @example
|
|
355
|
-
*
|
|
355
|
+
*
|
|
356
356
|
* ```ts
|
|
357
357
|
* // Select all courses offered in department A but not in department B
|
|
358
358
|
* await db.select({ courseName: depA.courseName })
|
|
@@ -362,7 +362,7 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
362
362
|
* );
|
|
363
363
|
* // or
|
|
364
364
|
* import { except } from 'drizzle-orm/sqlite-core'
|
|
365
|
-
*
|
|
365
|
+
*
|
|
366
366
|
* await except(
|
|
367
367
|
* db.select({ courseName: depA.courseName }).from(depA),
|
|
368
368
|
* db.select({ courseName: depB.courseName }).from(depB)
|
|
@@ -375,35 +375,35 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
375
375
|
this.config.setOperators.push(...setOperators);
|
|
376
376
|
return this;
|
|
377
377
|
}
|
|
378
|
-
/**
|
|
378
|
+
/**
|
|
379
379
|
* Adds a `where` clause to the query.
|
|
380
|
-
*
|
|
380
|
+
*
|
|
381
381
|
* Calling this method will select only those rows that fulfill a specified condition.
|
|
382
|
-
*
|
|
382
|
+
*
|
|
383
383
|
* See docs: {@link https://orm.drizzle.team/docs/select#filtering}
|
|
384
|
-
*
|
|
384
|
+
*
|
|
385
385
|
* @param where the `where` clause.
|
|
386
|
-
*
|
|
386
|
+
*
|
|
387
387
|
* @example
|
|
388
388
|
* You can use conditional operators and `sql function` to filter the rows to be selected.
|
|
389
|
-
*
|
|
389
|
+
*
|
|
390
390
|
* ```ts
|
|
391
391
|
* // Select all cars with green color
|
|
392
392
|
* await db.select().from(cars).where(eq(cars.color, 'green'));
|
|
393
393
|
* // or
|
|
394
394
|
* await db.select().from(cars).where(sql`${cars.color} = 'green'`)
|
|
395
395
|
* ```
|
|
396
|
-
*
|
|
396
|
+
*
|
|
397
397
|
* You can logically combine conditional operators with `and()` and `or()` operators:
|
|
398
|
-
*
|
|
398
|
+
*
|
|
399
399
|
* ```ts
|
|
400
400
|
* // Select all BMW cars with a green color
|
|
401
401
|
* await db.select().from(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));
|
|
402
|
-
*
|
|
402
|
+
*
|
|
403
403
|
* // Select all cars with the green or blue color
|
|
404
404
|
* await db.select().from(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));
|
|
405
405
|
* ```
|
|
406
|
-
|
|
406
|
+
*/
|
|
407
407
|
where(where) {
|
|
408
408
|
if (typeof where === "function") {
|
|
409
409
|
where = where(
|
|
@@ -418,15 +418,15 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
418
418
|
}
|
|
419
419
|
/**
|
|
420
420
|
* Adds a `having` clause to the query.
|
|
421
|
-
*
|
|
421
|
+
*
|
|
422
422
|
* Calling this method will select only those rows that fulfill a specified condition. It is typically used with aggregate functions to filter the aggregated data based on a specified condition.
|
|
423
|
-
*
|
|
423
|
+
*
|
|
424
424
|
* See docs: {@link https://orm.drizzle.team/docs/select#aggregations}
|
|
425
|
-
*
|
|
425
|
+
*
|
|
426
426
|
* @param having the `having` clause.
|
|
427
|
-
*
|
|
427
|
+
*
|
|
428
428
|
* @example
|
|
429
|
-
*
|
|
429
|
+
*
|
|
430
430
|
* ```ts
|
|
431
431
|
* // Select all brands with more than one car
|
|
432
432
|
* await db.select({
|
|
@@ -490,13 +490,13 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
490
490
|
}
|
|
491
491
|
/**
|
|
492
492
|
* Adds a `limit` clause to the query.
|
|
493
|
-
*
|
|
493
|
+
*
|
|
494
494
|
* Calling this method will set the maximum number of rows that will be returned by this query.
|
|
495
495
|
*
|
|
496
496
|
* See docs: {@link https://orm.drizzle.team/docs/select#limit--offset}
|
|
497
|
-
*
|
|
497
|
+
*
|
|
498
498
|
* @param limit the `limit` clause.
|
|
499
|
-
*
|
|
499
|
+
*
|
|
500
500
|
* @example
|
|
501
501
|
*
|
|
502
502
|
* ```ts
|
|
@@ -514,13 +514,13 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
514
514
|
}
|
|
515
515
|
/**
|
|
516
516
|
* Adds an `offset` clause to the query.
|
|
517
|
-
*
|
|
517
|
+
*
|
|
518
518
|
* Calling this method will skip a number of rows when returning results from this query.
|
|
519
|
-
*
|
|
519
|
+
*
|
|
520
520
|
* See docs: {@link https://orm.drizzle.team/docs/select#limit--offset}
|
|
521
|
-
*
|
|
521
|
+
*
|
|
522
522
|
* @param offset the `offset` clause.
|
|
523
|
-
*
|
|
523
|
+
*
|
|
524
524
|
* @example
|
|
525
525
|
*
|
|
526
526
|
* ```ts
|
|
@@ -563,7 +563,8 @@ class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
563
563
|
}
|
|
564
564
|
class SQLiteSelectBase extends SQLiteSelectQueryBuilderBase {
|
|
565
565
|
static [entityKind] = "SQLiteSelect";
|
|
566
|
-
|
|
566
|
+
/** @internal */
|
|
567
|
+
_prepare(isOneTimeQuery = true) {
|
|
567
568
|
if (!this.session) {
|
|
568
569
|
throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");
|
|
569
570
|
}
|
|
@@ -576,17 +577,20 @@ class SQLiteSelectBase extends SQLiteSelectQueryBuilderBase {
|
|
|
576
577
|
query.joinsNotNullableMap = this.joinsNotNullableMap;
|
|
577
578
|
return query;
|
|
578
579
|
}
|
|
580
|
+
prepare() {
|
|
581
|
+
return this._prepare(false);
|
|
582
|
+
}
|
|
579
583
|
run = (placeholderValues) => {
|
|
580
|
-
return this.
|
|
584
|
+
return this._prepare().run(placeholderValues);
|
|
581
585
|
};
|
|
582
586
|
all = (placeholderValues) => {
|
|
583
|
-
return this.
|
|
587
|
+
return this._prepare().all(placeholderValues);
|
|
584
588
|
};
|
|
585
589
|
get = (placeholderValues) => {
|
|
586
|
-
return this.
|
|
590
|
+
return this._prepare().get(placeholderValues);
|
|
587
591
|
};
|
|
588
592
|
values = (placeholderValues) => {
|
|
589
|
-
return this.
|
|
593
|
+
return this._prepare().values(placeholderValues);
|
|
590
594
|
};
|
|
591
595
|
async execute() {
|
|
592
596
|
return this.all();
|