Home / Class/ BunSQLTransaction Class — drizzle-orm Architecture

BunSQLTransaction Class — drizzle-orm Architecture

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

Entity Profile

Dependency Diagram

graph TD
  da6a3b2f_aba3_d7dc_f943_f98b786e0c35["BunSQLTransaction"]
  18315257_3b48_a60d_f8cf_ea5ba47f9fd5["session.ts"]
  da6a3b2f_aba3_d7dc_f943_f98b786e0c35 -->|defined in| 18315257_3b48_a60d_f8cf_ea5ba47f9fd5
  38dd89eb_49cf_0d4d_0be6_6585ab983239["constructor()"]
  da6a3b2f_aba3_d7dc_f943_f98b786e0c35 -->|method| 38dd89eb_49cf_0d4d_0be6_6585ab983239
  e354ed2a_d8e3_1d39_f6cf_913743892d2c["transaction()"]
  da6a3b2f_aba3_d7dc_f943_f98b786e0c35 -->|method| e354ed2a_d8e3_1d39_f6cf_913743892d2c

Relationship Graph

Source Code

drizzle-orm/src/bun-sql/session.ts lines 190–220

export class BunSQLTransaction<
	TFullSchema extends Record<string, unknown>,
	TSchema extends TablesRelationalConfig,
> extends PgTransaction<BunSQLQueryResultHKT, TFullSchema, TSchema> {
	static override readonly [entityKind]: string = 'BunSQLTransaction';

	constructor(
		dialect: PgDialect,
		/** @internal */
		override readonly session: BunSQLSession<TransactionSQL | SavepointSQL, TFullSchema, TSchema>,
		schema: RelationalSchemaConfig<TSchema> | undefined,
		nestedIndex = 0,
	) {
		super(dialect, session, schema, nestedIndex);
	}

	override transaction<T>(
		transaction: (tx: BunSQLTransaction<TFullSchema, TSchema>) => Promise<T>,
	): Promise<T> {
		return (this.session.client as TransactionSQL).savepoint((client) => {
			const session = new BunSQLSession<SavepointSQL, TFullSchema, TSchema>(
				client,
				this.dialect,
				this.schema,
				this.session.options,
			);
			const tx = new BunSQLTransaction<TFullSchema, TSchema>(this.dialect, session, this.schema);
			return transaction(tx);
		}) as Promise<T>;
	}
}

Domain

Frequently Asked Questions

What is the BunSQLTransaction class?
BunSQLTransaction is a class in the drizzle-orm codebase, defined in drizzle-orm/src/bun-sql/session.ts.
Where is BunSQLTransaction defined?
BunSQLTransaction is defined in drizzle-orm/src/bun-sql/session.ts at line 190.

Analyze Your Own Codebase

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

Try Supermodel Free