drizzle-orm 0.30.2-be1fd1a → 0.30.2-e4bc89e
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/session.cjs +10 -3
- package/aws-data-api/pg/session.cjs.map +1 -1
- package/aws-data-api/pg/session.d.cts +3 -2
- package/aws-data-api/pg/session.d.ts +3 -2
- package/aws-data-api/pg/session.js +10 -3
- package/aws-data-api/pg/session.js.map +1 -1
- package/better-sqlite3/session.cjs +16 -3
- package/better-sqlite3/session.cjs.map +1 -1
- package/better-sqlite3/session.d.cts +3 -2
- package/better-sqlite3/session.d.ts +3 -2
- package/better-sqlite3/session.js +16 -3
- package/better-sqlite3/session.js.map +1 -1
- package/bun-sqlite/session.cjs +16 -3
- package/bun-sqlite/session.cjs.map +1 -1
- package/bun-sqlite/session.d.cts +3 -2
- package/bun-sqlite/session.d.ts +3 -2
- package/bun-sqlite/session.js +16 -3
- package/bun-sqlite/session.js.map +1 -1
- package/d1/session.cjs +16 -4
- package/d1/session.cjs.map +1 -1
- package/d1/session.d.cts +3 -2
- package/d1/session.d.ts +3 -2
- package/d1/session.js +16 -4
- package/d1/session.js.map +1 -1
- package/expo-sqlite/driver.cjs.map +1 -1
- package/expo-sqlite/driver.js.map +1 -1
- package/expo-sqlite/index.cjs.map +1 -1
- package/expo-sqlite/index.js.map +1 -1
- package/expo-sqlite/migrator.cjs.map +1 -1
- package/expo-sqlite/migrator.js.map +1 -1
- package/expo-sqlite/session.cjs +16 -3
- package/expo-sqlite/session.cjs.map +1 -1
- package/expo-sqlite/session.d.cts +4 -3
- package/expo-sqlite/session.d.ts +4 -3
- package/expo-sqlite/session.js +16 -3
- package/expo-sqlite/session.js.map +1 -1
- package/libsql/session.cjs +8 -2
- package/libsql/session.cjs.map +1 -1
- package/libsql/session.d.cts +3 -2
- package/libsql/session.d.ts +3 -2
- package/libsql/session.js +8 -2
- package/libsql/session.js.map +1 -1
- package/mysql-core/db.cjs +38 -38
- package/mysql-core/db.cjs.map +1 -1
- package/mysql-core/db.js +38 -38
- package/mysql-core/db.js.map +1 -1
- package/mysql-core/dialect.cjs.map +1 -1
- package/mysql-core/dialect.js +1 -1
- package/mysql-core/dialect.js.map +1 -1
- package/mysql-core/query-builders/delete.cjs +10 -10
- package/mysql-core/query-builders/delete.cjs.map +1 -1
- package/mysql-core/query-builders/delete.d.cts +2 -2
- package/mysql-core/query-builders/delete.d.ts +2 -2
- package/mysql-core/query-builders/delete.js +10 -10
- package/mysql-core/query-builders/delete.js.map +1 -1
- package/mysql-core/query-builders/insert.cjs +7 -7
- package/mysql-core/query-builders/insert.cjs.map +1 -1
- package/mysql-core/query-builders/insert.js +7 -7
- package/mysql-core/query-builders/insert.js.map +1 -1
- package/mysql-core/query-builders/query-builder.cjs +2 -2
- package/mysql-core/query-builders/query-builder.cjs.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-builder.js +2 -2
- package/mysql-core/query-builders/query-builder.js.map +1 -1
- package/mysql-core/query-builders/select.cjs +85 -85
- package/mysql-core/query-builders/select.cjs.map +1 -1
- package/mysql-core/query-builders/select.d.cts +1 -1
- package/mysql-core/query-builders/select.d.ts +1 -1
- package/mysql-core/query-builders/select.js +85 -85
- 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 +1 -1
- package/mysql-core/query-builders/select.types.d.ts +1 -1
- package/mysql-core/query-builders/update.cjs +8 -8
- package/mysql-core/query-builders/update.cjs.map +1 -1
- package/mysql-core/query-builders/update.d.cts +1 -1
- package/mysql-core/query-builders/update.d.ts +1 -1
- package/mysql-core/query-builders/update.js +8 -8
- package/mysql-core/query-builders/update.js.map +1 -1
- package/mysql-core/view-base.cjs.map +1 -1
- package/mysql-core/view-base.js.map +1 -1
- package/mysql-proxy/migrator.cjs.map +1 -1
- package/mysql-proxy/migrator.js.map +1 -1
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +1 -1
- package/neon-http/driver.d.ts +1 -1
- package/neon-http/driver.js.map +1 -1
- package/neon-http/migrator.cjs.map +1 -1
- package/neon-http/migrator.js.map +1 -1
- package/neon-http/session.cjs +17 -6
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +5 -13
- package/neon-http/session.d.ts +5 -13
- package/neon-http/session.js +17 -6
- package/neon-http/session.js.map +1 -1
- package/neon-serverless/session.cjs +17 -3
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.d.cts +3 -2
- package/neon-serverless/session.d.ts +3 -2
- package/neon-serverless/session.js +17 -3
- package/neon-serverless/session.js.map +1 -1
- package/node-postgres/session.cjs +17 -3
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +3 -2
- package/node-postgres/session.d.ts +3 -2
- package/node-postgres/session.js +17 -3
- package/node-postgres/session.js.map +1 -1
- package/op-sqlite/driver.cjs.map +1 -1
- package/op-sqlite/driver.js.map +1 -1
- package/op-sqlite/index.cjs.map +1 -1
- package/op-sqlite/index.js.map +1 -1
- package/op-sqlite/migrator.cjs.map +1 -1
- package/op-sqlite/migrator.js.map +1 -1
- package/op-sqlite/session.cjs +16 -3
- package/op-sqlite/session.cjs.map +1 -1
- package/op-sqlite/session.d.cts +4 -3
- package/op-sqlite/session.d.ts +4 -3
- package/op-sqlite/session.js +16 -3
- package/op-sqlite/session.js.map +1 -1
- package/package.json +2 -2
- package/pg-core/columns/common.cjs +1 -1
- package/pg-core/columns/common.cjs.map +1 -1
- package/pg-core/columns/common.js +1 -1
- package/pg-core/columns/common.js.map +1 -1
- package/pg-core/db.cjs +3 -2
- package/pg-core/db.cjs.map +1 -1
- package/pg-core/db.d.cts +2 -1
- package/pg-core/db.d.ts +2 -1
- package/pg-core/db.js +3 -2
- package/pg-core/db.js.map +1 -1
- package/pg-core/query-builders/delete.cjs +1 -1
- package/pg-core/query-builders/delete.cjs.map +1 -1
- package/pg-core/query-builders/delete.js +1 -1
- package/pg-core/query-builders/delete.js.map +1 -1
- package/pg-core/query-builders/insert.cjs +1 -1
- package/pg-core/query-builders/insert.cjs.map +1 -1
- package/pg-core/query-builders/insert.js +1 -1
- package/pg-core/query-builders/insert.js.map +1 -1
- package/pg-core/query-builders/query-builder.cjs +2 -2
- package/pg-core/query-builders/query-builder.cjs.map +1 -1
- package/pg-core/query-builders/query-builder.d.cts +1 -1
- package/pg-core/query-builders/query-builder.d.ts +1 -1
- package/pg-core/query-builders/query-builder.js +2 -2
- package/pg-core/query-builders/query-builder.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.js +1 -0
- package/pg-core/query-builders/query.js.map +1 -1
- package/pg-core/query-builders/raw.cjs +4 -0
- package/pg-core/query-builders/raw.cjs.map +1 -1
- package/pg-core/query-builders/raw.d.cts +1 -1
- package/pg-core/query-builders/raw.d.ts +1 -1
- package/pg-core/query-builders/raw.js +4 -0
- package/pg-core/query-builders/raw.js.map +1 -1
- package/pg-core/query-builders/refresh-materialized-view.cjs +1 -1
- package/pg-core/query-builders/refresh-materialized-view.cjs.map +1 -1
- package/pg-core/query-builders/refresh-materialized-view.js +1 -1
- package/pg-core/query-builders/refresh-materialized-view.js.map +1 -1
- package/pg-core/query-builders/select.cjs +1 -1
- package/pg-core/query-builders/select.cjs.map +1 -1
- package/pg-core/query-builders/select.js +1 -1
- package/pg-core/query-builders/select.js.map +1 -1
- package/pg-core/query-builders/update.cjs +1 -1
- package/pg-core/query-builders/update.cjs.map +1 -1
- package/pg-core/query-builders/update.js +1 -1
- package/pg-core/query-builders/update.js.map +1 -1
- package/pg-core/session.cjs +4 -2
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +1 -1
- package/pg-core/session.d.ts +1 -1
- package/pg-core/session.js +4 -2
- package/pg-core/session.js.map +1 -1
- package/pg-core/view.cjs +2 -2
- package/pg-core/view.cjs.map +1 -1
- package/pg-core/view.d.cts +2 -2
- package/pg-core/view.d.ts +2 -2
- package/pg-core/view.js +2 -2
- package/pg-core/view.js.map +1 -1
- package/pg-proxy/migrator.cjs.map +1 -1
- package/pg-proxy/migrator.js.map +1 -1
- package/pg-proxy/session.cjs +16 -3
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.d.cts +3 -2
- package/pg-proxy/session.d.ts +3 -2
- package/pg-proxy/session.js +16 -3
- package/pg-proxy/session.js.map +1 -1
- package/postgres-js/session.cjs +16 -3
- package/postgres-js/session.cjs.map +1 -1
- package/postgres-js/session.d.cts +3 -2
- package/postgres-js/session.d.ts +3 -2
- package/postgres-js/session.js +16 -3
- package/postgres-js/session.js.map +1 -1
- package/session.cjs.map +1 -1
- package/sql/functions/aggregate.cjs +1 -1
- package/sql/functions/aggregate.cjs.map +1 -1
- package/sql/functions/aggregate.d.cts +1 -1
- package/sql/functions/aggregate.d.ts +1 -1
- package/sql/functions/aggregate.js +1 -1
- package/sql/functions/aggregate.js.map +1 -1
- package/sql/index.cjs +3 -3
- package/sql/index.cjs.map +1 -1
- package/sql/index.d.cts +1 -1
- package/sql/index.d.ts +1 -1
- package/sql/index.js +1 -1
- package/sql/index.js.map +1 -1
- package/sql-js/session.cjs +10 -4
- package/sql-js/session.cjs.map +1 -1
- package/sql-js/session.d.cts +4 -3
- package/sql-js/session.d.ts +4 -3
- package/sql-js/session.js +10 -4
- package/sql-js/session.js.map +1 -1
- package/sqlite-core/dialect.cjs.map +1 -1
- package/sqlite-core/dialect.js.map +1 -1
- package/sqlite-core/query-builders/delete.cjs +2 -1
- package/sqlite-core/query-builders/delete.cjs.map +1 -1
- package/sqlite-core/query-builders/delete.js +2 -1
- package/sqlite-core/query-builders/delete.js.map +1 -1
- package/sqlite-core/query-builders/insert.cjs +2 -1
- package/sqlite-core/query-builders/insert.cjs.map +1 -1
- package/sqlite-core/query-builders/insert.js +2 -1
- package/sqlite-core/query-builders/insert.js.map +1 -1
- package/sqlite-core/query-builders/query-builder.cjs +2 -2
- package/sqlite-core/query-builders/query-builder.cjs.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-core/query-builders/query-builder.js +2 -2
- package/sqlite-core/query-builders/query-builder.js.map +1 -1
- package/sqlite-core/query-builders/query.cjs +1 -0
- package/sqlite-core/query-builders/query.cjs.map +1 -1
- package/sqlite-core/query-builders/query.js +1 -0
- package/sqlite-core/query-builders/query.js.map +1 -1
- package/sqlite-core/query-builders/raw.cjs +4 -0
- package/sqlite-core/query-builders/raw.cjs.map +1 -1
- package/sqlite-core/query-builders/raw.d.cts +1 -1
- package/sqlite-core/query-builders/raw.d.ts +1 -1
- package/sqlite-core/query-builders/raw.js +4 -0
- package/sqlite-core/query-builders/raw.js.map +1 -1
- package/sqlite-core/query-builders/select.cjs +2 -1
- package/sqlite-core/query-builders/select.cjs.map +1 -1
- package/sqlite-core/query-builders/select.js +2 -1
- package/sqlite-core/query-builders/select.js.map +1 -1
- package/sqlite-core/query-builders/select.types.cjs.map +1 -1
- package/sqlite-core/query-builders/select.types.d.cts +2 -2
- package/sqlite-core/query-builders/select.types.d.ts +2 -2
- package/sqlite-core/query-builders/update.cjs +2 -1
- package/sqlite-core/query-builders/update.cjs.map +1 -1
- package/sqlite-core/query-builders/update.js +2 -1
- package/sqlite-core/query-builders/update.js.map +1 -1
- package/sqlite-core/session.cjs +6 -6
- package/sqlite-core/session.cjs.map +1 -1
- package/sqlite-core/session.d.cts +2 -2
- package/sqlite-core/session.d.ts +2 -2
- package/sqlite-core/session.js +6 -6
- package/sqlite-core/session.js.map +1 -1
- package/sqlite-core/subquery.cjs.map +1 -1
- package/sqlite-core/subquery.d.cts +1 -1
- package/sqlite-core/subquery.d.ts +1 -1
- package/sqlite-core/view-base.cjs.map +1 -1
- package/sqlite-core/view-base.js.map +1 -1
- package/sqlite-core/view.cjs +2 -2
- package/sqlite-core/view.cjs.map +1 -1
- package/sqlite-core/view.js +2 -2
- package/sqlite-core/view.js.map +1 -1
- package/sqlite-proxy/session.cjs +17 -4
- package/sqlite-proxy/session.cjs.map +1 -1
- package/sqlite-proxy/session.d.cts +3 -2
- package/sqlite-proxy/session.d.ts +3 -2
- package/sqlite-proxy/session.js +17 -4
- package/sqlite-proxy/session.js.map +1 -1
- package/subquery.cjs.map +1 -1
- package/subquery.js.map +1 -1
- package/tracing-utils.cjs.map +1 -1
- package/tracing-utils.js.map +1 -1
- package/vercel-postgres/session.cjs +8 -2
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.d.cts +3 -2
- package/vercel-postgres/session.d.ts +3 -2
- package/vercel-postgres/session.js +8 -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
|
@@ -385,7 +385,7 @@ export declare abstract class MySqlSelectQueryBuilderBase<THKT extends MySqlSele
|
|
|
385
385
|
* // Select all cars with the green or blue color
|
|
386
386
|
* await db.select().from(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));
|
|
387
387
|
* ```
|
|
388
|
-
|
|
388
|
+
*/
|
|
389
389
|
where(where: ((aliases: this['_']['selection']) => SQL | undefined) | SQL | undefined): MySqlSelectWithout<this, TDynamic, 'where'>;
|
|
390
390
|
/**
|
|
391
391
|
* Adds a `having` clause to the query.
|
|
@@ -385,7 +385,7 @@ export declare abstract class MySqlSelectQueryBuilderBase<THKT extends MySqlSele
|
|
|
385
385
|
* // Select all cars with the green or blue color
|
|
386
386
|
* await db.select().from(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));
|
|
387
387
|
* ```
|
|
388
|
-
|
|
388
|
+
*/
|
|
389
389
|
where(where: ((aliases: this['_']['selection']) => SQL | undefined) | SQL | undefined): MySqlSelectWithout<this, TDynamic, 'where'>;
|
|
390
390
|
/**
|
|
391
391
|
* Adds a `having` clause to the query.
|
|
@@ -143,22 +143,22 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
143
143
|
}
|
|
144
144
|
/**
|
|
145
145
|
* Executes a `left join` operation by adding another table to the current query.
|
|
146
|
-
*
|
|
146
|
+
*
|
|
147
147
|
* 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.
|
|
148
|
-
*
|
|
148
|
+
*
|
|
149
149
|
* See docs: {@link https://orm.drizzle.team/docs/joins#left-join}
|
|
150
|
-
*
|
|
150
|
+
*
|
|
151
151
|
* @param table the table to join.
|
|
152
152
|
* @param on the `on` clause.
|
|
153
|
-
*
|
|
153
|
+
*
|
|
154
154
|
* @example
|
|
155
|
-
*
|
|
155
|
+
*
|
|
156
156
|
* ```ts
|
|
157
157
|
* // Select all users and their pets
|
|
158
158
|
* const usersWithPets: { user: User; pets: Pet | null }[] = await db.select()
|
|
159
159
|
* .from(users)
|
|
160
160
|
* .leftJoin(pets, eq(users.id, pets.ownerId))
|
|
161
|
-
*
|
|
161
|
+
*
|
|
162
162
|
* // Select userId and petId
|
|
163
163
|
* const usersIdsAndPetIds: { userId: number; petId: number | null }[] = await db.select({
|
|
164
164
|
* userId: users.id,
|
|
@@ -171,22 +171,22 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
171
171
|
leftJoin = this.createJoin("left");
|
|
172
172
|
/**
|
|
173
173
|
* Executes a `right join` operation by adding another table to the current query.
|
|
174
|
-
*
|
|
174
|
+
*
|
|
175
175
|
* 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.
|
|
176
|
-
*
|
|
176
|
+
*
|
|
177
177
|
* See docs: {@link https://orm.drizzle.team/docs/joins#right-join}
|
|
178
|
-
*
|
|
178
|
+
*
|
|
179
179
|
* @param table the table to join.
|
|
180
180
|
* @param on the `on` clause.
|
|
181
|
-
*
|
|
181
|
+
*
|
|
182
182
|
* @example
|
|
183
|
-
*
|
|
183
|
+
*
|
|
184
184
|
* ```ts
|
|
185
185
|
* // Select all users and their pets
|
|
186
186
|
* const usersWithPets: { user: User | null; pets: Pet }[] = await db.select()
|
|
187
187
|
* .from(users)
|
|
188
188
|
* .rightJoin(pets, eq(users.id, pets.ownerId))
|
|
189
|
-
*
|
|
189
|
+
*
|
|
190
190
|
* // Select userId and petId
|
|
191
191
|
* const usersIdsAndPetIds: { userId: number | null; petId: number }[] = await db.select({
|
|
192
192
|
* userId: users.id,
|
|
@@ -199,22 +199,22 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
199
199
|
rightJoin = this.createJoin("right");
|
|
200
200
|
/**
|
|
201
201
|
* Executes an `inner join` operation, creating a new table by combining rows from two tables that have matching values.
|
|
202
|
-
*
|
|
202
|
+
*
|
|
203
203
|
* 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.
|
|
204
|
-
*
|
|
204
|
+
*
|
|
205
205
|
* See docs: {@link https://orm.drizzle.team/docs/joins#inner-join}
|
|
206
|
-
*
|
|
206
|
+
*
|
|
207
207
|
* @param table the table to join.
|
|
208
208
|
* @param on the `on` clause.
|
|
209
|
-
*
|
|
209
|
+
*
|
|
210
210
|
* @example
|
|
211
|
-
*
|
|
211
|
+
*
|
|
212
212
|
* ```ts
|
|
213
213
|
* // Select all users and their pets
|
|
214
214
|
* const usersWithPets: { user: User; pets: Pet }[] = await db.select()
|
|
215
215
|
* .from(users)
|
|
216
216
|
* .innerJoin(pets, eq(users.id, pets.ownerId))
|
|
217
|
-
*
|
|
217
|
+
*
|
|
218
218
|
* // Select userId and petId
|
|
219
219
|
* const usersIdsAndPetIds: { userId: number; petId: number }[] = await db.select({
|
|
220
220
|
* userId: users.id,
|
|
@@ -227,22 +227,22 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
227
227
|
innerJoin = this.createJoin("inner");
|
|
228
228
|
/**
|
|
229
229
|
* Executes a `full join` operation by combining rows from two tables into a new table.
|
|
230
|
-
*
|
|
230
|
+
*
|
|
231
231
|
* 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.
|
|
232
|
-
*
|
|
232
|
+
*
|
|
233
233
|
* See docs: {@link https://orm.drizzle.team/docs/joins#full-join}
|
|
234
|
-
*
|
|
234
|
+
*
|
|
235
235
|
* @param table the table to join.
|
|
236
236
|
* @param on the `on` clause.
|
|
237
|
-
*
|
|
237
|
+
*
|
|
238
238
|
* @example
|
|
239
|
-
*
|
|
239
|
+
*
|
|
240
240
|
* ```ts
|
|
241
241
|
* // Select all users and their pets
|
|
242
242
|
* const usersWithPets: { user: User | null; pets: Pet | null }[] = await db.select()
|
|
243
243
|
* .from(users)
|
|
244
244
|
* .fullJoin(pets, eq(users.id, pets.ownerId))
|
|
245
|
-
*
|
|
245
|
+
*
|
|
246
246
|
* // Select userId and petId
|
|
247
247
|
* const usersIdsAndPetIds: { userId: number | null; petId: number | null }[] = await db.select({
|
|
248
248
|
* userId: users.id,
|
|
@@ -267,13 +267,13 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
267
267
|
}
|
|
268
268
|
/**
|
|
269
269
|
* Adds `union` set operator to the query.
|
|
270
|
-
*
|
|
270
|
+
*
|
|
271
271
|
* Calling this method will combine the result sets of the `select` statements and remove any duplicate rows that appear across them.
|
|
272
|
-
*
|
|
272
|
+
*
|
|
273
273
|
* See docs: {@link https://orm.drizzle.team/docs/set-operations#union}
|
|
274
|
-
*
|
|
274
|
+
*
|
|
275
275
|
* @example
|
|
276
|
-
*
|
|
276
|
+
*
|
|
277
277
|
* ```ts
|
|
278
278
|
* // Select all unique names from customers and users tables
|
|
279
279
|
* await db.select({ name: users.name })
|
|
@@ -283,9 +283,9 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
283
283
|
* );
|
|
284
284
|
* // or
|
|
285
285
|
* import { union } from 'drizzle-orm/mysql-core'
|
|
286
|
-
*
|
|
286
|
+
*
|
|
287
287
|
* await union(
|
|
288
|
-
* db.select({ name: users.name }).from(users),
|
|
288
|
+
* db.select({ name: users.name }).from(users),
|
|
289
289
|
* db.select({ name: customers.name }).from(customers)
|
|
290
290
|
* );
|
|
291
291
|
* ```
|
|
@@ -293,13 +293,13 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
293
293
|
union = this.createSetOperator("union", false);
|
|
294
294
|
/**
|
|
295
295
|
* Adds `union all` set operator to the query.
|
|
296
|
-
*
|
|
296
|
+
*
|
|
297
297
|
* Calling this method will combine the result-set of the `select` statements and keep all duplicate rows that appear across them.
|
|
298
|
-
*
|
|
298
|
+
*
|
|
299
299
|
* See docs: {@link https://orm.drizzle.team/docs/set-operations#union-all}
|
|
300
|
-
*
|
|
300
|
+
*
|
|
301
301
|
* @example
|
|
302
|
-
*
|
|
302
|
+
*
|
|
303
303
|
* ```ts
|
|
304
304
|
* // Select all transaction ids from both online and in-store sales
|
|
305
305
|
* await db.select({ transaction: onlineSales.transactionId })
|
|
@@ -309,7 +309,7 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
309
309
|
* );
|
|
310
310
|
* // or
|
|
311
311
|
* import { unionAll } from 'drizzle-orm/mysql-core'
|
|
312
|
-
*
|
|
312
|
+
*
|
|
313
313
|
* await unionAll(
|
|
314
314
|
* db.select({ transaction: onlineSales.transactionId }).from(onlineSales),
|
|
315
315
|
* db.select({ transaction: inStoreSales.transactionId }).from(inStoreSales)
|
|
@@ -319,13 +319,13 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
319
319
|
unionAll = this.createSetOperator("union", true);
|
|
320
320
|
/**
|
|
321
321
|
* Adds `intersect` set operator to the query.
|
|
322
|
-
*
|
|
322
|
+
*
|
|
323
323
|
* Calling this method will retain only the rows that are present in both result sets and eliminate duplicates.
|
|
324
|
-
*
|
|
324
|
+
*
|
|
325
325
|
* See docs: {@link https://orm.drizzle.team/docs/set-operations#intersect}
|
|
326
|
-
*
|
|
326
|
+
*
|
|
327
327
|
* @example
|
|
328
|
-
*
|
|
328
|
+
*
|
|
329
329
|
* ```ts
|
|
330
330
|
* // Select course names that are offered in both departments A and B
|
|
331
331
|
* await db.select({ courseName: depA.courseName })
|
|
@@ -335,7 +335,7 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
335
335
|
* );
|
|
336
336
|
* // or
|
|
337
337
|
* import { intersect } from 'drizzle-orm/mysql-core'
|
|
338
|
-
*
|
|
338
|
+
*
|
|
339
339
|
* await intersect(
|
|
340
340
|
* db.select({ courseName: depA.courseName }).from(depA),
|
|
341
341
|
* db.select({ courseName: depB.courseName }).from(depB)
|
|
@@ -345,30 +345,30 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
345
345
|
intersect = this.createSetOperator("intersect", false);
|
|
346
346
|
/**
|
|
347
347
|
* Adds `intersect all` set operator to the query.
|
|
348
|
-
*
|
|
348
|
+
*
|
|
349
349
|
* Calling this method will retain only the rows that are present in both result sets including all duplicates.
|
|
350
|
-
*
|
|
350
|
+
*
|
|
351
351
|
* See docs: {@link https://orm.drizzle.team/docs/set-operations#intersect-all}
|
|
352
|
-
*
|
|
352
|
+
*
|
|
353
353
|
* @example
|
|
354
|
-
*
|
|
354
|
+
*
|
|
355
355
|
* ```ts
|
|
356
356
|
* // Select all products and quantities that are ordered by both regular and VIP customers
|
|
357
|
-
* await db.select({
|
|
358
|
-
* productId: regularCustomerOrders.productId,
|
|
357
|
+
* await db.select({
|
|
358
|
+
* productId: regularCustomerOrders.productId,
|
|
359
359
|
* quantityOrdered: regularCustomerOrders.quantityOrdered
|
|
360
360
|
* })
|
|
361
361
|
* .from(regularCustomerOrders)
|
|
362
362
|
* .intersectAll(
|
|
363
|
-
* db.select({
|
|
364
|
-
* productId: vipCustomerOrders.productId,
|
|
365
|
-
* quantityOrdered: vipCustomerOrders.quantityOrdered
|
|
363
|
+
* db.select({
|
|
364
|
+
* productId: vipCustomerOrders.productId,
|
|
365
|
+
* quantityOrdered: vipCustomerOrders.quantityOrdered
|
|
366
366
|
* })
|
|
367
367
|
* .from(vipCustomerOrders)
|
|
368
368
|
* );
|
|
369
369
|
* // or
|
|
370
370
|
* import { intersectAll } from 'drizzle-orm/mysql-core'
|
|
371
|
-
*
|
|
371
|
+
*
|
|
372
372
|
* await intersectAll(
|
|
373
373
|
* db.select({
|
|
374
374
|
* productId: regularCustomerOrders.productId,
|
|
@@ -386,13 +386,13 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
386
386
|
intersectAll = this.createSetOperator("intersect", true);
|
|
387
387
|
/**
|
|
388
388
|
* Adds `except` set operator to the query.
|
|
389
|
-
*
|
|
389
|
+
*
|
|
390
390
|
* 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.
|
|
391
|
-
*
|
|
391
|
+
*
|
|
392
392
|
* See docs: {@link https://orm.drizzle.team/docs/set-operations#except}
|
|
393
|
-
*
|
|
393
|
+
*
|
|
394
394
|
* @example
|
|
395
|
-
*
|
|
395
|
+
*
|
|
396
396
|
* ```ts
|
|
397
397
|
* // Select all courses offered in department A but not in department B
|
|
398
398
|
* await db.select({ courseName: depA.courseName })
|
|
@@ -402,7 +402,7 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
402
402
|
* );
|
|
403
403
|
* // or
|
|
404
404
|
* import { except } from 'drizzle-orm/mysql-core'
|
|
405
|
-
*
|
|
405
|
+
*
|
|
406
406
|
* await except(
|
|
407
407
|
* db.select({ courseName: depA.courseName }).from(depA),
|
|
408
408
|
* db.select({ courseName: depB.courseName }).from(depB)
|
|
@@ -412,13 +412,13 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
412
412
|
except = this.createSetOperator("except", false);
|
|
413
413
|
/**
|
|
414
414
|
* Adds `except all` set operator to the query.
|
|
415
|
-
*
|
|
415
|
+
*
|
|
416
416
|
* Calling this method will retrieve all rows from the left query, except for the rows that are present in the result set of the right query.
|
|
417
|
-
*
|
|
417
|
+
*
|
|
418
418
|
* See docs: {@link https://orm.drizzle.team/docs/set-operations#except-all}
|
|
419
|
-
*
|
|
419
|
+
*
|
|
420
420
|
* @example
|
|
421
|
-
*
|
|
421
|
+
*
|
|
422
422
|
* ```ts
|
|
423
423
|
* // Select all products that are ordered by regular customers but not by VIP customers
|
|
424
424
|
* await db.select({
|
|
@@ -435,7 +435,7 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
435
435
|
* );
|
|
436
436
|
* // or
|
|
437
437
|
* import { exceptAll } from 'drizzle-orm/mysql-core'
|
|
438
|
-
*
|
|
438
|
+
*
|
|
439
439
|
* await exceptAll(
|
|
440
440
|
* db.select({
|
|
441
441
|
* productId: regularCustomerOrders.productId,
|
|
@@ -456,35 +456,35 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
456
456
|
this.config.setOperators.push(...setOperators);
|
|
457
457
|
return this;
|
|
458
458
|
}
|
|
459
|
-
/**
|
|
459
|
+
/**
|
|
460
460
|
* Adds a `where` clause to the query.
|
|
461
|
-
*
|
|
461
|
+
*
|
|
462
462
|
* Calling this method will select only those rows that fulfill a specified condition.
|
|
463
|
-
*
|
|
463
|
+
*
|
|
464
464
|
* See docs: {@link https://orm.drizzle.team/docs/select#filtering}
|
|
465
|
-
*
|
|
465
|
+
*
|
|
466
466
|
* @param where the `where` clause.
|
|
467
|
-
*
|
|
467
|
+
*
|
|
468
468
|
* @example
|
|
469
469
|
* You can use conditional operators and `sql function` to filter the rows to be selected.
|
|
470
|
-
*
|
|
470
|
+
*
|
|
471
471
|
* ```ts
|
|
472
472
|
* // Select all cars with green color
|
|
473
473
|
* await db.select().from(cars).where(eq(cars.color, 'green'));
|
|
474
474
|
* // or
|
|
475
475
|
* await db.select().from(cars).where(sql`${cars.color} = 'green'`)
|
|
476
476
|
* ```
|
|
477
|
-
*
|
|
477
|
+
*
|
|
478
478
|
* You can logically combine conditional operators with `and()` and `or()` operators:
|
|
479
|
-
*
|
|
479
|
+
*
|
|
480
480
|
* ```ts
|
|
481
481
|
* // Select all BMW cars with a green color
|
|
482
482
|
* await db.select().from(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));
|
|
483
|
-
*
|
|
483
|
+
*
|
|
484
484
|
* // Select all cars with the green or blue color
|
|
485
485
|
* await db.select().from(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));
|
|
486
486
|
* ```
|
|
487
|
-
|
|
487
|
+
*/
|
|
488
488
|
where(where) {
|
|
489
489
|
if (typeof where === "function") {
|
|
490
490
|
where = where(
|
|
@@ -499,15 +499,15 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
499
499
|
}
|
|
500
500
|
/**
|
|
501
501
|
* Adds a `having` clause to the query.
|
|
502
|
-
*
|
|
502
|
+
*
|
|
503
503
|
* 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.
|
|
504
|
-
*
|
|
504
|
+
*
|
|
505
505
|
* See docs: {@link https://orm.drizzle.team/docs/select#aggregations}
|
|
506
|
-
*
|
|
506
|
+
*
|
|
507
507
|
* @param having the `having` clause.
|
|
508
|
-
*
|
|
508
|
+
*
|
|
509
509
|
* @example
|
|
510
|
-
*
|
|
510
|
+
*
|
|
511
511
|
* ```ts
|
|
512
512
|
* // Select all brands with more than one car
|
|
513
513
|
* await db.select({
|
|
@@ -571,13 +571,13 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
571
571
|
}
|
|
572
572
|
/**
|
|
573
573
|
* Adds a `limit` clause to the query.
|
|
574
|
-
*
|
|
574
|
+
*
|
|
575
575
|
* Calling this method will set the maximum number of rows that will be returned by this query.
|
|
576
576
|
*
|
|
577
577
|
* See docs: {@link https://orm.drizzle.team/docs/select#limit--offset}
|
|
578
|
-
*
|
|
578
|
+
*
|
|
579
579
|
* @param limit the `limit` clause.
|
|
580
|
-
*
|
|
580
|
+
*
|
|
581
581
|
* @example
|
|
582
582
|
*
|
|
583
583
|
* ```ts
|
|
@@ -595,13 +595,13 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
595
595
|
}
|
|
596
596
|
/**
|
|
597
597
|
* Adds an `offset` clause to the query.
|
|
598
|
-
*
|
|
598
|
+
*
|
|
599
599
|
* Calling this method will skip a number of rows when returning results from this query.
|
|
600
|
-
*
|
|
600
|
+
*
|
|
601
601
|
* See docs: {@link https://orm.drizzle.team/docs/select#limit--offset}
|
|
602
|
-
*
|
|
602
|
+
*
|
|
603
603
|
* @param offset the `offset` clause.
|
|
604
|
-
*
|
|
604
|
+
*
|
|
605
605
|
* @example
|
|
606
606
|
*
|
|
607
607
|
* ```ts
|
|
@@ -619,11 +619,11 @@ class MySqlSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
619
619
|
}
|
|
620
620
|
/**
|
|
621
621
|
* Adds a `for` clause to the query.
|
|
622
|
-
*
|
|
622
|
+
*
|
|
623
623
|
* Calling this method will specify a lock strength for this query that controls how strictly it acquires exclusive access to the rows being queried.
|
|
624
|
-
*
|
|
624
|
+
*
|
|
625
625
|
* See docs: {@link https://dev.mysql.com/doc/refman/8.0/en/innodb-locking-reads.html}
|
|
626
|
-
*
|
|
626
|
+
*
|
|
627
627
|
* @param strength the lock strength.
|
|
628
628
|
* @param config the lock configuration.
|
|
629
629
|
*/
|