PglitePreparedQuery Class — drizzle-orm Architecture
Architecture documentation for the PglitePreparedQuery class in session.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 9709a876_abd7_0a8e_9830_63729e8caa7e["PglitePreparedQuery"] f04e535e_b661_b4ac_5837_80cbf4e6ecba["session.ts"] 9709a876_abd7_0a8e_9830_63729e8caa7e -->|defined in| f04e535e_b661_b4ac_5837_80cbf4e6ecba 32317230_ac94_8d98_5736_7eec79c0f89d["constructor()"] 9709a876_abd7_0a8e_9830_63729e8caa7e -->|method| 32317230_ac94_8d98_5736_7eec79c0f89d da23f796_5e6e_bf68_3025_1e12067f0ab2["execute()"] 9709a876_abd7_0a8e_9830_63729e8caa7e -->|method| da23f796_5e6e_bf68_3025_1e12067f0ab2 071f7125_ccc1_7ff4_17cf_d442894a79a6["all()"] 9709a876_abd7_0a8e_9830_63729e8caa7e -->|method| 071f7125_ccc1_7ff4_17cf_d442894a79a6 4a64b039_9e7e_4945_0a5a_ea8d2c4ff59a["isResponseInArrayMode()"] 9709a876_abd7_0a8e_9830_63729e8caa7e -->|method| 4a64b039_9e7e_4945_0a5a_ea8d2c4ff59a
Relationship Graph
Source Code
drizzle-orm/src/pglite/session.ts lines 19–116
export class PglitePreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {
static override readonly [entityKind]: string = 'PglitePreparedQuery';
private rawQueryConfig: QueryOptions;
private queryConfig: QueryOptions;
constructor(
private client: PgliteClient | Transaction,
private queryString: string,
private params: unknown[],
private logger: Logger,
cache: Cache,
queryMetadata: {
type: 'select' | 'update' | 'delete' | 'insert';
tables: string[];
} | undefined,
cacheConfig: WithCacheConfig | undefined,
private fields: SelectedFieldsOrdered | undefined,
name: string | undefined,
private _isResponseInArrayMode: boolean,
private customResultMapper?: (rows: unknown[][]) => T['execute'],
) {
super({ sql: queryString, params }, cache, queryMetadata, cacheConfig);
this.rawQueryConfig = {
rowMode: 'object',
parsers: {
[types.TIMESTAMP]: (value) => value,
[types.TIMESTAMPTZ]: (value) => value,
[types.INTERVAL]: (value) => value,
[types.DATE]: (value) => value,
// numeric[]
[1231]: (value) => value,
// timestamp[]
[1115]: (value) => value,
// timestamp with timezone[]
[1185]: (value) => value,
// interval[]
[1187]: (value) => value,
// date[]
[1182]: (value) => value,
},
};
this.queryConfig = {
rowMode: 'array',
parsers: {
[types.TIMESTAMP]: (value) => value,
[types.TIMESTAMPTZ]: (value) => value,
[types.INTERVAL]: (value) => value,
[types.DATE]: (value) => value,
// numeric[]
[1231]: (value) => value,
// timestamp[]
[1115]: (value) => value,
// timestamp with timezone[]
[1185]: (value) => value,
// interval[]
[1187]: (value) => value,
// date[]
[1182]: (value) => value,
},
};
}
async execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {
const params = fillPlaceholders(this.params, placeholderValues);
this.logger.logQuery(this.queryString, params);
const { fields, client, queryConfig, joinsNotNullableMap, customResultMapper, queryString, rawQueryConfig } = this;
if (!fields && !customResultMapper) {
return this.queryWithCache(queryString, params, async () => {
return await client.query<any[]>(queryString, params, rawQueryConfig);
});
}
const result = await this.queryWithCache(queryString, params, async () => {
return await client.query<any[]>(queryString, params, queryConfig);
});
return customResultMapper
Domain
Defined In
Source
Frequently Asked Questions
What is the PglitePreparedQuery class?
PglitePreparedQuery is a class in the drizzle-orm codebase, defined in drizzle-orm/src/pglite/session.ts.
Where is PglitePreparedQuery defined?
PglitePreparedQuery is defined in drizzle-orm/src/pglite/session.ts at line 19.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free