Home / Class/ VercelPgPreparedQuery Class — drizzle-orm Architecture

VercelPgPreparedQuery Class — drizzle-orm Architecture

Architecture documentation for the VercelPgPreparedQuery class in session.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  e2c50c8d_fb7d_d417_0322_22c93324dfc6["VercelPgPreparedQuery"]
  5332ec54_ebfc_a1f4_a95c_2a39ae467e61["session.ts"]
  e2c50c8d_fb7d_d417_0322_22c93324dfc6 -->|defined in| 5332ec54_ebfc_a1f4_a95c_2a39ae467e61
  fe48f394_88e3_d209_0804_2a2936e7d214["constructor()"]
  e2c50c8d_fb7d_d417_0322_22c93324dfc6 -->|method| fe48f394_88e3_d209_0804_2a2936e7d214
  3a6e8138_0409_5715_8044_528b249e7919["execute()"]
  e2c50c8d_fb7d_d417_0322_22c93324dfc6 -->|method| 3a6e8138_0409_5715_8044_528b249e7919
  c4332c6a_6798_1c78_f44b_45598607739d["all()"]
  e2c50c8d_fb7d_d417_0322_22c93324dfc6 -->|method| c4332c6a_6798_1c78_f44b_45598607739d
  4fc5c84a_2a0f_cf54_eb84_17d93ccfd50f["values()"]
  e2c50c8d_fb7d_d417_0322_22c93324dfc6 -->|method| 4fc5c84a_2a0f_cf54_eb84_17d93ccfd50f
  4dbfcb6c_fc7d_da3d_54d9_54cc0a07dac4["isResponseInArrayMode()"]
  e2c50c8d_fb7d_d417_0322_22c93324dfc6 -->|method| 4dbfcb6c_fc7d_da3d_54d9_54cc0a07dac4

Relationship Graph

Source Code

drizzle-orm/src/vercel-postgres/session.ts lines 26–181

export class VercelPgPreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {
	static override readonly [entityKind]: string = 'VercelPgPreparedQuery';

	private rawQuery: QueryConfig;
	private queryConfig: QueryArrayConfig;

	constructor(
		private client: VercelPgClient,
		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.rawQuery = {
			name,
			text: queryString,
			types: {
				// @ts-ignore
				getTypeParser: (typeId, format) => {
					if (typeId === types.builtins.TIMESTAMPTZ) {
						return (val: any) => val;
					}
					if (typeId === types.builtins.TIMESTAMP) {
						return (val: any) => val;
					}
					if (typeId === types.builtins.DATE) {
						return (val: any) => val;
					}
					if (typeId === types.builtins.INTERVAL) {
						return (val: any) => val;
					}
					// numeric[]
					if (typeId === 1231 as any) {
						return (val: any) => val;
					}
					// timestamp[]
					if (typeId === 1115 as any) {
						return (val: any) => val;
					}
					// timestamp with timezone[]
					if (typeId === 1185 as any) {
						return (val: any) => val;
					}
					// interval[]
					if (typeId === 1187 as any) {
						return (val: any) => val;
					}
					// date[]
					if (typeId === 1182 as any) {
						return (val: any) => 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: any) => val;
					}
					if (typeId === types.builtins.TIMESTAMP) {
						return (val: any) => val;
					}
					if (typeId === types.builtins.DATE) {
						return (val: any) => val;

Domain

Frequently Asked Questions

What is the VercelPgPreparedQuery class?
VercelPgPreparedQuery is a class in the drizzle-orm codebase, defined in drizzle-orm/src/vercel-postgres/session.ts.
Where is VercelPgPreparedQuery defined?
VercelPgPreparedQuery is defined in drizzle-orm/src/vercel-postgres/session.ts at line 26.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free