Home / Class/ PgVector Class — drizzle-orm Architecture

PgVector Class — drizzle-orm Architecture

Architecture documentation for the PgVector class in vector.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  04d662bd_41e3_ff61_ff73_d31903186770["PgVector"]
  9ce71e3e_4724_d5ff_7d18_e5e4ce850b18["vector.ts"]
  04d662bd_41e3_ff61_ff73_d31903186770 -->|defined in| 9ce71e3e_4724_d5ff_7d18_e5e4ce850b18
  b578d1da_1249_ebd2_c620_fef73715000d["getSQLType()"]
  04d662bd_41e3_ff61_ff73_d31903186770 -->|method| b578d1da_1249_ebd2_c620_fef73715000d
  6e4f9da7_e838_a4c1_9fb4_d4287850717f["mapToDriverValue()"]
  04d662bd_41e3_ff61_ff73_d31903186770 -->|method| 6e4f9da7_e838_a4c1_9fb4_d4287850717f
  33fa6767_d7c8_4f6e_4fda_ce6be9758ea0["mapFromDriverValue()"]
  04d662bd_41e3_ff61_ff73_d31903186770 -->|method| 33fa6767_d7c8_4f6e_4fda_ce6be9758ea0

Relationship Graph

Source Code

drizzle-orm/src/pg-core/columns/vector_extension/vector.ts lines 43–64

export class PgVector<T extends ColumnBaseConfig<'array', 'PgVector'> & { dimensions: number | undefined }>
	extends PgColumn<T, { dimensions: T['dimensions'] }, { dimensions: T['dimensions'] }>
{
	static override readonly [entityKind]: string = 'PgVector';

	readonly dimensions: T['dimensions'] = this.config.dimensions;

	getSQLType(): string {
		return `vector(${this.dimensions})`;
	}

	override mapToDriverValue(value: unknown): unknown {
		return JSON.stringify(value);
	}

	override mapFromDriverValue(value: string): unknown {
		return value
			.slice(1, -1)
			.split(',')
			.map((v) => Number.parseFloat(v));
	}
}

Domain

Frequently Asked Questions

What is the PgVector class?
PgVector is a class in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/columns/vector_extension/vector.ts.
Where is PgVector defined?
PgVector is defined in drizzle-orm/src/pg-core/columns/vector_extension/vector.ts at line 43.

Analyze Your Own Codebase

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

Try Supermodel Free