luxlabs header browser preview


@class HDSQLiteStatementCache, NSString, NSURL, NSError, NSNumber, NSMutableArray;
@protocol HDSQLiteDatabaseDelegate;

@interface HDSQLiteDatabase : NSObject {
    struct sqlite3 { } *_db;
    BOOL _isInTransaction;
    BOOL _requiresRollback;
    long long _transactionType;
    _Atomic BOOL _transactionInterruptRequested;
    BOOL _isHandlingTransactionBeforeCommit;
    BOOL _isHandlingTransactionEnd;
    NSMutableArray *_beforeCommitBlocks;
    NSMutableArray *_onCommitBlocks;
    NSMutableArray *_onRollbackBlocks;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _interruptionLock;
}

@property (weak, nonatomic) id<HDSQLiteDatabaseDelegate> delegate;
@property (nonatomic) long long cacheScope;
@property (readonly, nonatomic) HDSQLiteStatementCache *statementCache;
@property BOOL transactionInterruptRequested;
@property (nonatomic) BOOL encounteredOutOfSpace;
@property (readonly, copy, nonatomic) NSError *corruptionError;
@property (nonatomic) BOOL permitWritesInReadTransaction;
@property (readonly, copy, nonatomic) NSURL *fileURL;
@property (readonly, nonatomic, getter=isOpen) BOOL open;
@property (nonatomic, getter=isWriter) BOOL writer;
@property (copy, nonatomic) NSString *fileProtectionType;
@property (nonatomic) BOOL checkpointRequired;
@property (readonly, copy, nonatomic) NSNumber *lastInsertRowID;

+ (id)memoryDatabaseFromURL:(id)a0;
+ (id)highFrequencyDatabaseURLWithProfileDirectoryPath:(id)a0;
+ (id)protectedDatabaseURLWithProfileDirectoryPath:(id)a0;
+ (BOOL)databaseSchemas:(id)a0 containTable:(id)a1;
+ (id)mainDatabaseURLWithProfileDirectoryPath:(id)a0;

- (void)close;
- (id)initMemoryDatabase;
- (id)initWithDatabaseURL:(id)a0;
- (void)dealloc;
- (BOOL)accessHFDForWritingWithError:(id *)a0 block:(id /* block */)a1;
- (BOOL)executeSQLStatements:(id)a0 error:(id *)a1;
- (BOOL)performIntegrityCheckOnDatabase:(id)a0 error:(id *)a1 integrityErrorHandler:(id /* block */)a2;
- (BOOL)executeSQL:(id)a0 error:(id *)a1 bindingHandler:(id /* block */)a2 enumerationHandler:(id /* block */)a3;
- (void)requireRollback;
- (BOOL)deleteDataEntitySubclassTable:(id)a0 intermediateTables:(id)a1 error:(id *)a2;
- (id)highFrequencyDataStore;
- (long long)userVersionWithDatabaseName:(id)a0 error:(id *)a1;
- (int)getChangesCount;
- (BOOL)accessHFDForReadingWithError:(id *)a0 block:(id /* block */)a1;
- (void)onCommit:(id /* block */)a0 orRollback:(id /* block */)a1;
- (BOOL)foreignKeyExistsFromTable:(id)a0 column:(id)a1 toTable:(id)a2 column:(id)a3 error:(id *)a4;
- (void)accessDatabaseUsingBlock:(id /* block */)a0;
- (BOOL)_executeStatementWithError:(id *)a0 statementProvider:(id /* block */)a1 bindingHandler:(id /* block */)a2 enumerationHandler:(id /* block */)a3;
- (BOOL)executeUncachedSQL:(id)a0 error:(id *)a1 bindingHandler:(id /* block */)a2 enumerationHandler:(id /* block */)a3;
- (id)typeOfColumn:(id)a0 inTable:(id)a1 error:(id *)a2;
- (void)unitTest_setCorruptionError:(id)a0;
- (BOOL)enableIncrementalAutovacuumForDatabaseWithName:(id)a0 error:(id *)a1;
- (id)dumpSchemaWithError:(id *)a0;
- (void).cxx_destruct;
- (BOOL)executeUncachedSQL:(id)a0 error:(id *)a1;
- (BOOL)incrementalVacuumDatabaseIfNeeded:(id)a0 error:(id *)a1;
- (int)openWithError:(id *)a0;
- (void)beforeCommit:(id /* block */)a0;
- (BOOL)setUserVersion:(long long)a0 withDatabaseName:(id)a1 error:(id *)a2;
- (BOOL)deleteRowsFromDataEntitySubclassTable:(id)a0 intermediateTables:(id)a1 error:(id *)a2;
- (int)openForReadingWithError:(id *)a0;
- (BOOL)table:(id)a0 hasColumnWithName:(id)a1 error:(id *)a2;
- (BOOL)executeCachedStatementForKey:(const char *)a0 error:(id *)a1 SQLGenerator:(id /* block */)a2 bindingHandler:(id /* block */)a3 enumerationHandler:(id /* block */)a4;
- (BOOL)deleteDataEntitySubclassTablesIfExist:(id)a0 intermediateTables:(id)a1 error:(id *)a2;
- (BOOL)columnIsNullable:(id)a0 inTable:(id)a1 error:(id *)a2;
- (long long)validateForeignKeysForTable:(id)a0 databaseName:(id)a1 error:(id *)a2;
- (id)getLastErrorWithStatement:(struct sqlite3_stmt { } *)a0 context:(id)a1;
- (BOOL)performTransactionWithType:(long long)a0 error:(id *)a1 usingBlock:(id /* block */)a2;

@end