NodePgPreparedQuery Class — drizzle-orm Architecture
Architecture documentation for the NodePgPreparedQuery class in session.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD b1ecfc7b_8f56_6df4_7a24_c6d1f8b2d849["NodePgPreparedQuery"] 0507ccca_3cb1_384d_6315_fc19900c69b1["session.ts"] b1ecfc7b_8f56_6df4_7a24_c6d1f8b2d849 -->|defined in| 0507ccca_3cb1_384d_6315_fc19900c69b1 0a722b68_488a_f768_1c0b_6058f0b0f772["constructor()"] b1ecfc7b_8f56_6df4_7a24_c6d1f8b2d849 -->|method| 0a722b68_488a_f768_1c0b_6058f0b0f772 f7db4a0e_fe1a_0681_7125_5036f9a2f266["execute()"] b1ecfc7b_8f56_6df4_7a24_c6d1f8b2d849 -->|method| f7db4a0e_fe1a_0681_7125_5036f9a2f266 4da55603_0df9_fe8e_e7fc_88c62d736b66["all()"] b1ecfc7b_8f56_6df4_7a24_c6d1f8b2d849 -->|method| 4da55603_0df9_fe8e_e7fc_88c62d736b66 d1aaf09b_1c48_7390_ecee_48aa9ce15017["isResponseInArrayMode()"] b1ecfc7b_8f56_6df4_7a24_c6d1f8b2d849 -->|method| d1aaf09b_1c48_7390_ecee_48aa9ce15017
Relationship Graph
Source Code
drizzle-orm/src/node-postgres/session.ts lines 21–194
export class NodePgPreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {
static override readonly [entityKind]: string = 'NodePgPreparedQuery';
private rawQueryConfig: QueryConfig;
private queryConfig: QueryArrayConfig;
constructor(
private client: NodePgClient,
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 = {
name,
text: queryString,
types: {
// @ts-ignore
getTypeParser: (typeId, format) => {
if (typeId === types.builtins.TIMESTAMPTZ) {
return (val) => val;
}
if (typeId === types.builtins.TIMESTAMP) {
return (val) => val;
}
if (typeId === types.builtins.DATE) {
return (val) => val;
}
if (typeId === types.builtins.INTERVAL) {
return (val) => val;
}
// numeric[]
if (typeId === 1231) {
return (val) => val;
}
// timestamp[]
if (typeId === 1115) {
return (val) => val;
}
// timestamp with timezone[]
if (typeId === 1185) {
return (val) => val;
}
// interval[]
if (typeId === 1187) {
return (val) => val;
}
// date[]
if (typeId === 1182) {
return (val) => val;
}
// @ts-ignore
return types.getTypeParser(typeId, format);
},
},
};
this.queryConfig = {
name,
text: queryString,
rowMode: 'array',
types: {
// @ts-ignore
getTypeParser: (typeId, format) => {
if (typeId === types.builtins.TIMESTAMPTZ) {
return (val) => val;
}
if (typeId === types.builtins.TIMESTAMP) {
return (val) => val;
}
if (typeId === types.builtins.DATE) {
return (val) => val;
Domain
Defined In
Source
Frequently Asked Questions
What is the NodePgPreparedQuery class?
NodePgPreparedQuery is a class in the drizzle-orm codebase, defined in drizzle-orm/src/node-postgres/session.ts.
Where is NodePgPreparedQuery defined?
NodePgPreparedQuery is defined in drizzle-orm/src/node-postgres/session.ts at line 21.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free