/
opt
/
canhelp
/
node_modules
/
drizzle-orm
/
singlestore-core
/
/opt/canhelp/node_modules/drizzle-orm/singlestore-core
mkdir
upload
Name
Size
Mode
Actions
columns/
-
0755
rm
query-builders/
-
0755
rm
alias.cjs
1214
0644
edit
dl
rm
alias.cjs.map
702
0644
edit
dl
rm
alias.d.cts
302
0644
edit
dl
rm
alias.d.ts
300
0644
edit
dl
rm
alias.js
211
0644
edit
dl
rm
alias.js.map
664
0644
edit
dl
rm
db.cjs
9063
0644
edit
dl
rm
db.cjs.map
22106
0644
edit
dl
rm
db.d.cts
9987
0644
edit
dl
rm
db.d.ts
9975
0644
edit
dl
rm
db.js
7810
0644
edit
dl
rm
db.js.map
22135
0644
edit
dl
rm
dialect.cjs
26437
0644
edit
dl
rm
dialect.cjs.map
43654
0644
edit
dl
rm
dialect.d.cts
3360
0644
edit
dl
rm
dialect.d.ts
3347
0644
edit
dl
rm
dialect.js
22622
0644
edit
dl
rm
dialect.js.map
43627
0644
edit
dl
rm
expressions.cjs
2361
0644
edit
dl
rm
expressions.cjs.map
2006
0644
edit
dl
rm
expressions.d.cts
699
0644
edit
dl
rm
expressions.d.ts
696
0644
edit
dl
rm
expressions.js
832
0644
edit
dl
rm
expressions.js.map
1939
0644
edit
dl
rm
index.cjs
2522
0644
edit
dl
rm
index.cjs.map
851
0644
edit
dl
rm
index.d.cts
426
0644
edit
dl
rm
index.d.ts
413
0644
edit
dl
rm
index.js
446
0644
edit
dl
rm
index.js.map
735
0644
edit
dl
rm
indexes.cjs
2382
0644
edit
dl
rm
indexes.cjs.map
6238
0644
edit
dl
rm
indexes.d.cts
2247
0644
edit
dl
rm
indexes.d.ts
2243
0644
edit
dl
rm
indexes.js
1199
0644
edit
dl
rm
indexes.js.map
6177
0644
edit
dl
rm
primary-keys.cjs
2191
0644
edit
dl
rm
primary-keys.cjs.map
2785
0644
edit
dl
rm
primary-keys.d.cts
1197
0644
edit
dl
rm
primary-keys.d.ts
1194
0644
edit
dl
rm
primary-keys.js
1042
0644
edit
dl
rm
primary-keys.js.map
2740
0644
edit
dl
rm
schema.cjs
2057
0644
edit
dl
rm
schema.cjs.map
1822
0644
edit
dl
rm
schema.d.cts
846
0644
edit
dl
rm
schema.d.ts
844
0644
edit
dl
rm
schema.js
848
0644
edit
dl
rm
schema.js.map
1776
0644
edit
dl
rm
session.cjs
2942
0644
edit
dl
rm
session.cjs.map
6946
0644
edit
dl
rm
session.d.cts
4349
0644
edit
dl
rm
session.d.ts
4342
0644
edit
dl
rm
session.js
1695
0644
edit
dl
rm
session.js.map
6909
0644
edit
dl
rm
subquery.cjs
784
0644
edit
dl
rm
subquery.cjs.map
1695
0644
edit
dl
rm
subquery.d.cts
1501
0644
edit
dl
rm
subquery.d.ts
1496
0644
edit
dl
rm
subquery.js
36
0644
edit
dl
rm
subquery.js.map
71
0644
edit
dl
rm
table.cjs
3000
0644
edit
dl
rm
table.cjs.map
8496
0644
edit
dl
rm
table.d.cts
5174
0644
edit
dl
rm
table.d.ts
5166
0644
edit
dl
rm
table.js
1712
0644
edit
dl
rm
table.js.map
8445
0644
edit
dl
rm
unique-constraint.cjs
2668
0644
edit
dl
rm
unique-constraint.cjs.map
2807
0644
edit
dl
rm
unique-constraint.d.cts
1078
0644
edit
dl
rm
unique-constraint.d.ts
1075
0644
edit
dl
rm
unique-constraint.js
1355
0644
edit
dl
rm
unique-constraint.js.map
2750
0644
edit
dl
rm
utils.cjs
2696
0644
edit
dl
rm
utils.cjs.map
3082
0644
edit
dl
rm
utils.d.cts
608
0644
edit
dl
rm
utils.d.ts
604
0644
edit
dl
rm
utils.js
1460
0644
edit
dl
rm
utils.js.map
3039
0644
edit
dl
rm
view-base.cjs
1316
0644
edit
dl
rm
view-base.cjs.map
817
0644
edit
dl
rm
view-base.d.cts
535
0644
edit
dl
rm
view-base.d.ts
532
0644
edit
dl
rm
view-base.js
242
0644
edit
dl
rm
view-base.js.map
780
0644
edit
dl
rm
view-common.cjs
1200
0644
edit
dl
rm
view-common.cjs.map
276
0644
edit
dl
rm
view-common.d.cts
59
0644
edit
dl
rm
view-common.d.ts
59
0644
edit
dl
rm
view-common.js
150
0644
edit
dl
rm
view-common.js.map
233
0644
edit
dl
rm
view.cjs
4576
0644
edit
dl
rm
view.cjs.map
9497
0644
edit
dl
rm
view.d.cts
3547
0644
edit
dl
rm
view.d.ts
3537
0644
edit
dl
rm
view.js
3201
0644
edit
dl
rm
view.js.map
9469
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/drizzle-orm/singlestore-core/db.js
(7810B)
import { entityKind } from "../entity.js"; import { SelectionProxyHandler } from "../selection-proxy.js"; import { sql } from "../sql/sql.js"; import { WithSubquery } from "../subquery.js"; import { SingleStoreCountBuilder } from "./query-builders/count.js"; import { QueryBuilder, SingleStoreDeleteBase, SingleStoreInsertBuilder, SingleStoreSelectBuilder, SingleStoreUpdateBuilder } from "./query-builders/index.js"; class SingleStoreDatabase { constructor(dialect, session, schema) { this.dialect = dialect; this.session = session; this._ = schema ? { schema: schema.schema, fullSchema: schema.fullSchema, tableNamesMap: schema.tableNamesMap } : { schema: void 0, fullSchema: {}, tableNamesMap: {} }; this.query = {}; } static [entityKind] = "SingleStoreDatabase"; // We are waiting for SingleStore support for `json_array` function /**@inrernal */ query; /** * Creates a subquery that defines a temporary named result set as a CTE. * * It is useful for breaking down complex queries into simpler parts and for reusing the result set in subsequent parts of the query. * * See docs: {@link https://orm.drizzle.team/docs/select#with-clause} * * @param alias The alias for the subquery. * * Failure to provide an alias will result in a DrizzleTypeError, preventing the subquery from being referenced in other queries. * * @example * * ```ts * // Create a subquery with alias 'sq' and use it in the select query * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42))); * * const result = await db.with(sq).select().from(sq); * ``` * * To select arbitrary SQL values as fields in a CTE and reference them in other CTEs or in the main query, you need to add aliases to them: * * ```ts * // Select an arbitrary SQL value as a field in a CTE and reference it in the main query * const sq = db.$with('sq').as(db.select({ * name: sql<string>`upper(${users.name})`.as('name'), * }) * .from(users)); * * const result = await db.with(sq).select({ name: sq.name }).from(sq); * ``` */ $with = (alias, selection) => { const self = this; const as = (qb) => { if (typeof qb === "function") { qb = qb(new QueryBuilder(self.dialect)); } return new Proxy( new WithSubquery( qb.getSQL(), selection ?? ("getSelectedFields" in qb ? qb.getSelectedFields() ?? {} : {}), alias, true ), new SelectionProxyHandler({ alias, sqlAliasedBehavior: "alias", sqlBehavior: "error" }) ); }; return { as }; }; $count(source, filters) { return new SingleStoreCountBuilder({ source, filters, session: this.session }); } /** * Incorporates a previously defined CTE (using `$with`) into the main query. * * This method allows the main query to reference a temporary named result set. * * See docs: {@link https://orm.drizzle.team/docs/select#with-clause} * * @param queries The CTEs to incorporate into the main query. * * @example * * ```ts * // Define a subquery 'sq' as a CTE using $with * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42))); * * // Incorporate the CTE 'sq' into the main query and select from it * const result = await db.with(sq).select().from(sq); * ``` */ with(...queries) { const self = this; function select(fields) { return new SingleStoreSelectBuilder({ fields: fields ?? void 0, session: self.session, dialect: self.dialect, withList: queries }); } function selectDistinct(fields) { return new SingleStoreSelectBuilder({ fields: fields ?? void 0, session: self.session, dialect: self.dialect, withList: queries, distinct: true }); } function update(table) { return new SingleStoreUpdateBuilder(table, self.session, self.dialect, queries); } function delete_(table) { return new SingleStoreDeleteBase(table, self.session, self.dialect, queries); } return { select, selectDistinct, update, delete: delete_ }; } select(fields) { return new SingleStoreSelectBuilder({ fields: fields ?? void 0, session: this.session, dialect: this.dialect }); } selectDistinct(fields) { return new SingleStoreSelectBuilder({ fields: fields ?? void 0, session: this.session, dialect: this.dialect, distinct: true }); } /** * Creates an update query. * * Calling this method without `.where()` clause will update all rows in a table. The `.where()` clause specifies which rows should be updated. * * Use `.set()` method to specify which values to update. * * See docs: {@link https://orm.drizzle.team/docs/update} * * @param table The table to update. * * @example * * ```ts * // Update all rows in the 'cars' table * await db.update(cars).set({ color: 'red' }); * * // Update rows with filters and conditions * await db.update(cars).set({ color: 'red' }).where(eq(cars.brand, 'BMW')); * ``` */ update(table) { return new SingleStoreUpdateBuilder(table, this.session, this.dialect); } /** * Creates an insert query. * * Calling this method will create new rows in a table. Use `.values()` method to specify which values to insert. * * See docs: {@link https://orm.drizzle.team/docs/insert} * * @param table The table to insert into. * * @example * * ```ts * // Insert one row * await db.insert(cars).values({ brand: 'BMW' }); * * // Insert multiple rows * await db.insert(cars).values([{ brand: 'BMW' }, { brand: 'Porsche' }]); * ``` */ insert(table) { return new SingleStoreInsertBuilder(table, this.session, this.dialect); } /** * Creates a delete query. * * Calling this method without `.where()` clause will delete all rows in a table. The `.where()` clause specifies which rows should be deleted. * * See docs: {@link https://orm.drizzle.team/docs/delete} * * @param table The table to delete from. * * @example * * ```ts * // Delete all rows in the 'cars' table * await db.delete(cars); * * // Delete rows with filters and conditions * await db.delete(cars).where(eq(cars.color, 'green')); * ``` */ delete(table) { return new SingleStoreDeleteBase(table, this.session, this.dialect); } execute(query) { return this.session.execute(typeof query === "string" ? sql.raw(query) : query.getSQL()); } transaction(transaction, config) { return this.session.transaction(transaction, config); } } const withReplicas = (primary, replicas, getReplica = () => replicas[Math.floor(Math.random() * replicas.length)]) => { const select = (...args) => getReplica(replicas).select(...args); const selectDistinct = (...args) => getReplica(replicas).selectDistinct(...args); const $count = (...args) => getReplica(replicas).$count(...args); const $with = (...args) => getReplica(replicas).with(...args); const update = (...args) => primary.update(...args); const insert = (...args) => primary.insert(...args); const $delete = (...args) => primary.delete(...args); const execute = (...args) => primary.execute(...args); const transaction = (...args) => primary.transaction(...args); return { ...primary, update, insert, delete: $delete, execute, transaction, $primary: primary, select, selectDistinct, $count, with: $with, get query() { return getReplica(replicas).query; } }; }; export { SingleStoreDatabase, withReplicas }; //# sourceMappingURL=db.js.map
Save
cmd:
run