JustDatabase class

The main database class. Wraps the storage, SQL engine, and lock manager.

Properties

encryptionKey String?
The AES-256-GCM encryption key used when mode is DatabaseMode.secure. null for all other modes.
final
estimatedSizeBytes int
no setter
hashCode int
The hash code for this object.
no setterinherited
inTransaction bool
Whether a transaction is currently active on this database.
no setter
isOpen bool
no setter
mode DatabaseMode
final
name String
final
persist bool
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
tableNames List<String>
no setter
totalRows int
no setter
triggerNames List<String>
Returns the names of all defined triggers.
no setter
viewNames List<String>
Returns the names of all defined views.
no setter

Methods

beginTransaction({String? mode}) Future<QueryResult>
Begins a transaction. Returns an error result if one is already active.
benchmarkQuery(String label, String sql, {int warmup = 3, int iterations = 50}) Future<QueryStats>
Benchmarks a single SQL query by running it iterations times.
close() Future<void>
commit() Future<QueryResult>
Commits the current transaction.
execute(String sql) Future<QueryResult>
Executes DDL or DML statements (CREATE, INSERT, UPDATE, DELETE, DROP, ALTER).
from(String tableName) QueryBuilder
Returns a QueryBuilder for fluent query construction on tableName.
getTableSchema(String name) TableSchema?
indexNamesForTable(String tableName) List<String>
Returns the names of all indexes on a named table.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
query(String sql) Future<QueryResult>
Executes a SELECT statement and returns results.
releaseSavepoint(String name) Future<QueryResult>
Releases a named savepoint.
rollback({String? savepoint}) Future<QueryResult>
Rolls back the current transaction. If savepoint is provided, rolls back only to that savepoint.
runStandardBenchmark({int rowCount = 1000, int warmup = 3, int iterations = 50}) Future<BenchmarkSuiteResult>
Runs the standard benchmark suite against this database.
savepoint(String name) Future<QueryResult>
Creates a named savepoint within the current transaction.
toString() String
A string representation of this object.
inherited
transaction<T>(Future<T> action(JustDatabase db)) Future<T>
Executes action inside a transaction, automatically committing on success or rolling back on error.

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

open(String name, {DatabaseMode mode = DatabaseMode.standard, bool persist = true, String? encryptionKey}) Future<JustDatabase>
Opens or creates a database. If persist is true and a file exists on disk, loads tables from disk.