RelationalQueryBuilder Class — drizzle-orm Architecture
Architecture documentation for the RelationalQueryBuilder class in query.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 1a97327d_cbc2_077c_116b_c6d51371d482["RelationalQueryBuilder"] 496562d4_b832_5877_db12_bfc126b68038["query.ts"] 1a97327d_cbc2_077c_116b_c6d51371d482 -->|defined in| 496562d4_b832_5877_db12_bfc126b68038 30805203_a605_566e_0cfc_8e07b95a7364["constructor()"] 1a97327d_cbc2_077c_116b_c6d51371d482 -->|method| 30805203_a605_566e_0cfc_8e07b95a7364 eda02b9c_a427_3ebc_1fe7_e94ed1f66521["findMany()"] 1a97327d_cbc2_077c_116b_c6d51371d482 -->|method| eda02b9c_a427_3ebc_1fe7_e94ed1f66521 bd91287a_06de_551a_5294_243a87cdadaf["findFirst()"] 1a97327d_cbc2_077c_116b_c6d51371d482 -->|method| bd91287a_06de_551a_5294_243a87cdadaf
Relationship Graph
Source Code
drizzle-orm/src/gel-core/query-builders/query.ts lines 19–63
export class RelationalQueryBuilder<TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {
static readonly [entityKind]: string = 'GelRelationalQueryBuilder';
constructor(
private fullSchema: Record<string, unknown>,
private schema: TSchema,
private tableNamesMap: Record<string, string>,
private table: GelTable,
private tableConfig: TableRelationalConfig,
private dialect: GelDialect,
private session: GelSession,
) {}
findMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(
config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>,
): GelRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig>[]> {
return new GelRelationalQuery(
this.fullSchema,
this.schema,
this.tableNamesMap,
this.table,
this.tableConfig,
this.dialect,
this.session,
config ? (config as DBQueryConfig<'many', true>) : {},
'many',
);
}
findFirst<TSelection extends Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(
config?: KnownKeysOnly<TSelection, Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>,
): GelRelationalQuery<BuildQueryResult<TSchema, TFields, TSelection> | undefined> {
return new GelRelationalQuery(
this.fullSchema,
this.schema,
this.tableNamesMap,
this.table,
this.tableConfig,
this.dialect,
this.session,
config ? { ...(config as DBQueryConfig<'many', true> | undefined), limit: 1 } : { limit: 1 },
'first',
);
}
}
Domain
Source
Frequently Asked Questions
What is the RelationalQueryBuilder class?
RelationalQueryBuilder is a class in the drizzle-orm codebase, defined in drizzle-orm/src/gel-core/query-builders/query.ts.
Where is RelationalQueryBuilder defined?
RelationalQueryBuilder is defined in drizzle-orm/src/gel-core/query-builders/query.ts at line 19.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free