Package-level declarations
Types
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class ColumnDef(val name: String, val type: String, val nullable: Boolean, val defaultValue: String, val migrateFrom: String = "", val isPrimaryKey: Boolean = false, val autoIncrement: Boolean = false, val isUnique: Boolean = false)
Full description of one expected column, generated by the processor into each repository's createTable() so SchemaMigrator can diff and migrate automatically.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class JvmDatabaseDriverFactory
Link copied to clipboard
interface KilnCursor
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface KilnPreparedStatement
Link copied to clipboard
interface KilnTransaction
Link copied to clipboard
Automatic schema migration — called inside every generated createTable().
Functions
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Inside a transaction, records tableName as dirty so its notification is sent once, after the outermost commit — or not at all if the transaction rolls back. Outside a transaction, calls KilnDriver.notifyListeners immediately (preserving the existing per-operation behaviour).
Link copied to clipboard
fun <T> observeQuery(driver: KilnDriver, tableName: String, context: CoroutineContext, query: () -> T): Flow<T>
Link copied to clipboard
suspend fun KilnDriver.withTransaction(context: CoroutineContext = Dispatchers.Default, block: suspend () -> Unit)
Executes block inside a single SQLite transaction.
Link copied to clipboard
suspend fun <T> KilnDriver.withTransactionAwareContext(context: CoroutineContext, block: suspend CoroutineScope.() -> T): T
Runs block like withContext(context, block), unless a transaction is open: