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
Defined In
Source
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