SingleStoreSelectBuilder Class — drizzle-orm Architecture
Architecture documentation for the SingleStoreSelectBuilder class in select.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 75f7c7c2_4738_dec2_b8e5_415f51cb2239["SingleStoreSelectBuilder"] eddab78d_59a6_c51b_6a1e_6cd2989d2bc3["select.ts"] 75f7c7c2_4738_dec2_b8e5_415f51cb2239 -->|defined in| eddab78d_59a6_c51b_6a1e_6cd2989d2bc3 d784e390_92ed_0a7a_e4c0_7e070c447117["constructor()"] 75f7c7c2_4738_dec2_b8e5_415f51cb2239 -->|method| d784e390_92ed_0a7a_e4c0_7e070c447117 247eed81_4624_41d2_086c_368bf144c4b9["from()"] 75f7c7c2_4738_dec2_b8e5_415f51cb2239 -->|method| 247eed81_4624_41d2_086c_368bf144c4b9
Relationship Graph
Source Code
drizzle-orm/src/singlestore-core/query-builders/select.ts lines 59–131
export class SingleStoreSelectBuilder<
TSelection extends SelectedFields | undefined,
TPreparedQueryHKT extends PreparedQueryHKTBase,
TBuilderMode extends 'db' | 'qb' = 'db',
> {
static readonly [entityKind]: string = 'SingleStoreSelectBuilder';
private fields: TSelection;
private session: SingleStoreSession | undefined;
private dialect: SingleStoreDialect;
private withList: Subquery[] = [];
private distinct: boolean | undefined;
constructor(
config: {
fields: TSelection;
session: SingleStoreSession | undefined;
dialect: SingleStoreDialect;
withList?: Subquery[];
distinct?: boolean;
},
) {
this.fields = config.fields;
this.session = config.session;
this.dialect = config.dialect;
if (config.withList) {
this.withList = config.withList;
}
this.distinct = config.distinct;
}
from<TFrom extends SingleStoreTable | Subquery | SQL>( // | SingleStoreViewBase
source: TFrom,
): CreateSingleStoreSelectFromBuilderMode<
TBuilderMode,
GetSelectTableName<TFrom>,
TSelection extends undefined ? GetSelectTableSelection<TFrom> : TSelection,
TSelection extends undefined ? 'single' : 'partial',
TPreparedQueryHKT
> {
const isPartialSelect = !!this.fields;
let fields: SelectedFields;
if (this.fields) {
fields = this.fields;
} else if (is(source, Subquery)) {
// This is required to use the proxy handler to get the correct field values from the subquery
fields = Object.fromEntries(
Object.keys(source._.selectedFields).map((
key,
) => [key, source[key as unknown as keyof typeof source] as unknown as SelectedFields[string]]),
);
/* } else if (is(source, SingleStoreViewBase)) {
fields = source[ViewBaseConfig].selectedFields as SelectedFields; */
} else if (is(source, SQL)) {
fields = {};
} else {
fields = getTableColumns<SingleStoreTable>(source);
}
return new SingleStoreSelectBase(
{
table: source,
fields,
isPartialSelect,
session: this.session,
dialect: this.dialect,
withList: this.withList,
distinct: this.distinct,
},
) as any;
}
}
Domain
Source
Frequently Asked Questions
What is the SingleStoreSelectBuilder class?
SingleStoreSelectBuilder is a class in the drizzle-orm codebase, defined in drizzle-orm/src/singlestore-core/query-builders/select.ts.
Where is SingleStoreSelectBuilder defined?
SingleStoreSelectBuilder is defined in drizzle-orm/src/singlestore-core/query-builders/select.ts at line 59.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free