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 00b41c4f_4e02_f219_eb9d_a3e981ad9878["RelationalQueryBuilder"] 8fc14c17_4c1c_c2ea_1f7f_006a83abdc29["query.ts"] 00b41c4f_4e02_f219_eb9d_a3e981ad9878 -->|defined in| 8fc14c17_4c1c_c2ea_1f7f_006a83abdc29 88a907f9_88f6_e2ff_6a31_2c4a5e8e9a31["constructor()"] 00b41c4f_4e02_f219_eb9d_a3e981ad9878 -->|method| 88a907f9_88f6_e2ff_6a31_2c4a5e8e9a31 4489a29d_4828_34d9_dc46_a51d7031970a["findMany()"] 00b41c4f_4e02_f219_eb9d_a3e981ad9878 -->|method| 4489a29d_4828_34d9_dc46_a51d7031970a 0fd10905_cb33_1d41_3d74_d005c0963718["findFirst()"] 00b41c4f_4e02_f219_eb9d_a3e981ad9878 -->|method| 0fd10905_cb33_1d41_3d74_d005c0963718
Relationship Graph
Source Code
drizzle-orm/src/pg-core/query-builders/query.ts lines 19–63
export class RelationalQueryBuilder<TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {
static readonly [entityKind]: string = 'PgRelationalQueryBuilder';
constructor(
private fullSchema: Record<string, unknown>,
private schema: TSchema,
private tableNamesMap: Record<string, string>,
private table: PgTable,
private tableConfig: TableRelationalConfig,
private dialect: PgDialect,
private session: PgSession,
) {}
findMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(
config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>,
): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig>[]> {
return new PgRelationalQuery(
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'>>,
): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TSelection> | undefined> {
return new PgRelationalQuery(
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/pg-core/query-builders/query.ts.
Where is RelationalQueryBuilder defined?
RelationalQueryBuilder is defined in drizzle-orm/src/pg-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