Home / Class/ BetterSQLiteTransaction Class — drizzle-orm Architecture

BetterSQLiteTransaction Class — drizzle-orm Architecture

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

Entity Profile

Dependency Diagram

graph TD
  48752ca1_89b4_77ae_a571_e965ce992d8b["BetterSQLiteTransaction"]
  3e7817ff_62e3_124e_fc75_14f2f00d713e["session.ts"]
  48752ca1_89b4_77ae_a571_e965ce992d8b -->|defined in| 3e7817ff_62e3_124e_fc75_14f2f00d713e
  8fbfe188_b4da_980f_3095_44522ae78675["transaction()"]
  48752ca1_89b4_77ae_a571_e965ce992d8b -->|method| 8fbfe188_b4da_980f_3095_44522ae78675

Relationship Graph

Source Code

drizzle-orm/src/better-sqlite3/session.ts lines 85–104

export class BetterSQLiteTransaction<
	TFullSchema extends Record<string, unknown>,
	TSchema extends TablesRelationalConfig,
> extends SQLiteTransaction<'sync', RunResult, TFullSchema, TSchema> {
	static override readonly [entityKind]: string = 'BetterSQLiteTransaction';

	override transaction<T>(transaction: (tx: BetterSQLiteTransaction<TFullSchema, TSchema>) => T): T {
		const savepointName = `sp${this.nestedIndex}`;
		const tx = new BetterSQLiteTransaction('sync', this.dialect, this.session, this.schema, this.nestedIndex + 1);
		this.session.run(sql.raw(`savepoint ${savepointName}`));
		try {
			const result = transaction(tx);
			this.session.run(sql.raw(`release savepoint ${savepointName}`));
			return result;
		} catch (err) {
			this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));
			throw err;
		}
	}
}

Domain

Frequently Asked Questions

What is the BetterSQLiteTransaction class?
BetterSQLiteTransaction is a class in the drizzle-orm codebase, defined in drizzle-orm/src/better-sqlite3/session.ts.
Where is BetterSQLiteTransaction defined?
BetterSQLiteTransaction is defined in drizzle-orm/src/better-sqlite3/session.ts at line 85.

Analyze Your Own Codebase

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

Try Supermodel Free