SingleStoreRelationalQuery Class — drizzle-orm Architecture
Architecture documentation for the SingleStoreRelationalQuery class in query.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 016e14f7_1175_0f45_608e_694b0a02390c["SingleStoreRelationalQuery"] 3dd154a2_93d2_ad97_3dff_5d4bd64bf7d4["query.ts"] 016e14f7_1175_0f45_608e_694b0a02390c -->|defined in| 3dd154a2_93d2_ad97_3dff_5d4bd64bf7d4 27c02bf6_d8d3_30a3_abab_3e18a76a0551["constructor()"] 016e14f7_1175_0f45_608e_694b0a02390c -->|method| 27c02bf6_d8d3_30a3_abab_3e18a76a0551 7c569ae0_2ed4_e880_a90a_f90200ec0f72["prepare()"] 016e14f7_1175_0f45_608e_694b0a02390c -->|method| 7c569ae0_2ed4_e880_a90a_f90200ec0f72 1ea335a3_8650_b46e_d6f4_64f288128f9d["_getQuery()"] 016e14f7_1175_0f45_608e_694b0a02390c -->|method| 1ea335a3_8650_b46e_d6f4_64f288128f9d 6502f5a2_b090_2e3b_9616_3008ed994d0b["_toSQL()"] 016e14f7_1175_0f45_608e_694b0a02390c -->|method| 6502f5a2_b090_2e3b_9616_3008ed994d0b cd68b5b2_eb70_62b0_2aad_8afb602e58e9["getSQL()"] 016e14f7_1175_0f45_608e_694b0a02390c -->|method| cd68b5b2_eb70_62b0_2aad_8afb602e58e9 d577a511_f0cf_0876_4e74_de205a067458["toSQL()"] 016e14f7_1175_0f45_608e_694b0a02390c -->|method| d577a511_f0cf_0876_4e74_de205a067458 3248c18f_6965_091d_6243_e3cfec16a05b["execute()"] 016e14f7_1175_0f45_608e_694b0a02390c -->|method| 3248c18f_6965_091d_6243_e3cfec16a05b
Relationship Graph
Source Code
drizzle-orm/src/singlestore-core/query-builders/query.ts lines 72–141
export class SingleStoreRelationalQuery<
TPreparedQueryHKT extends PreparedQueryHKTBase,
TResult,
> extends QueryPromise<TResult> {
static override readonly [entityKind]: string = 'SingleStoreRelationalQuery';
declare protected $brand: 'SingleStoreRelationalQuery';
constructor(
private fullSchema: Record<string, unknown>,
private schema: TablesRelationalConfig,
private tableNamesMap: Record<string, string>,
private table: SingleStoreTable,
private tableConfig: TableRelationalConfig,
private dialect: SingleStoreDialect,
private session: SingleStoreSession,
private config: DBQueryConfig<'many', true> | true,
private queryMode: 'many' | 'first',
) {
super();
}
prepare() {
const { query, builtQuery } = this._toSQL();
return this.session.prepareQuery(
builtQuery,
undefined,
(rawRows) => {
const rows = rawRows.map((row) => mapRelationalRow(this.schema, this.tableConfig, row, query.selection));
if (this.queryMode === 'first') {
return rows[0] as TResult;
}
return rows as TResult;
},
) as PreparedQueryKind<TPreparedQueryHKT, SingleStorePreparedQueryConfig & { execute: TResult }, true>;
}
private _getQuery() {
return this.dialect.buildRelationalQuery({
fullSchema: this.fullSchema,
schema: this.schema,
tableNamesMap: this.tableNamesMap,
table: this.table,
tableConfig: this.tableConfig,
queryConfig: this.config,
tableAlias: this.tableConfig.tsName,
});
}
private _toSQL(): { query: BuildRelationalQueryResult; builtQuery: QueryWithTypings } {
const query = this._getQuery();
const builtQuery = this.dialect.sqlToQuery(query.sql as SQL);
return { builtQuery, query };
}
/** @internal */
getSQL(): SQL {
return this._getQuery().sql as SQL;
}
toSQL(): Query {
return this._toSQL().builtQuery;
}
override execute(): Promise<TResult> {
return this.prepare().execute();
}
}
Domain
Source
Frequently Asked Questions
What is the SingleStoreRelationalQuery class?
SingleStoreRelationalQuery is a class in the drizzle-orm codebase, defined in drizzle-orm/src/singlestore-core/query-builders/query.ts.
Where is SingleStoreRelationalQuery defined?
SingleStoreRelationalQuery is defined in drizzle-orm/src/singlestore-core/query-builders/query.ts at line 72.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free