Home / Class/ PglitePreparedQuery Class — drizzle-orm Architecture

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

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