luxlabs header browser preview


@class ML3DatabaseConnectionPool, NSString, NSUUID, ML3DatabasePrivacyContext, ML3DatabaseStatementCache, NSMutableArray;
@protocol ML3DatabaseConnectionDelegate;

@interface ML3DatabaseConnection : NSObject {
    struct sqlite3 { } *_sqlitedb;
    BOOL _isOpen;
    ML3DatabaseStatementCache *_statementCache;
    unsigned long long _statementsSinceLastCheckpoint;
    unsigned long long _transactionLevel;
    BOOL _nestedTransactionWantsToRollback;
    NSMutableArray *_enqueuedTransactionCommitBlocks;
    ML3DatabaseConnectionPool *_owningPool;
    NSMutableArray *_registeredFunctions;
    NSMutableArray *_registeredModules;
    const void *_iTunesExtensions;
    int _willDeleteDatabaseNotifyToken;
    BOOL _isHandlingIOError;
    BOOL _alreadyAttemptedCorruptionRecovery;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock;
}

@property (weak, nonatomic) id<ML3DatabaseConnectionDelegate> connectionDelegate;
@property (readonly, nonatomic) NSString *databasePath;
@property (readonly, nonatomic) BOOL isOpen;
@property (retain, nonatomic) ML3DatabasePrivacyContext *privacyContext;
@property (nonatomic, setter=setReadOnly:) BOOL isReadOnly;
@property (nonatomic) unsigned long long journalingMode;
@property (nonatomic) unsigned long long protectionLevel;
@property (readonly, nonatomic) BOOL isInTransaction;
@property (readonly, nonatomic) BOOL transactionMarkedForRollBack;
@property (readonly, nonatomic) NSUUID *currentTransactionID;
@property (readonly, nonatomic) NSUUID *uniqueIdentifier;
@property (nonatomic) BOOL automaticCheckpointingEnabled;
@property (nonatomic) unsigned long long checkpointStatementThreshold;
@property (nonatomic) BOOL logQueryPlans;

- (BOOL)close;
- (id)initWithDatabasePath:(id)a0;
- (BOOL)_alterTableNamed:(id)a0 withNewColumnDefinitions:(id)a1 newColumnNames:(id)a2 oldColumnNames:(id)a3;
- (void)_internalLogQuery:(id)a0 withParameters:(id)a1 limitProperty:(id)a2 limitValue:(long long)a3;
- (BOOL)schemaRenameColumn:(id)a0 inTable:(id)a1 toNewColumnName:(id)a2;
- (id)init;
- (id)_prepareStatement:(id)a0 error:(id *)a1;
- (BOOL)registerFunctionName:(id)a0 argumentCount:(int)a1 functionPointer:(void /* function */ *)a2;
- (void)dealloc;
- (BOOL)pushTransaction;
- (BOOL)schemaInsertColumnDefinition:(id)a0 intoTable:(id)a1 atIndex:(unsigned long long)a2;
- (BOOL)schemaAddColumnDefinition:(id)a0 toTable:(id)a1;
- (BOOL)open;
- (id)_internalExecuteQuery:(id)a0 withParameters:(id)a1 limitProperty:(id)a2 limitValue:(long long)a3;
- (void)flush;
- (id)sqliteError;
- (BOOL)registerModuleName:(id)a0 moduleMethods:(struct sqlite3_module { int x0; void /* function */ *x1; void /* function */ *x2; void /* function */ *x3; void /* function */ *x4; void /* function */ *x5; void /* function */ *x6; void /* function */ *x7; void /* function */ *x8; void /* function */ *x9; void /* function */ *x10; void /* function */ *x11; void /* function */ *x12; void /* function */ *x13; void /* function */ *x14; void /* function */ *x15; void /* function */ *x16; void /* function */ *x17; void /* function */ *x18; void /* function */ *x19; void /* function */ *x20; void /* function */ *x21; void /* function */ *x22; void /* function */ *x23; } *)a1;
- (BOOL)_closeAndFlushTransactionState:(BOOL)a0;
- (BOOL)tableExists:(id)a0;
- (void)_createDatabaseDirectoryIfNonexistent;
- (void)setTransactionLevel:(unsigned long long)a0;
- (void)_logCurrentErrorWhilePerformingStatementOperation:(id)a0 statementSQL:(id)a1;
- (BOOL)executeUpdate:(id)a0;
- (id)_owningPool;
- (BOOL)performTransactionWithBlock:(id /* block */)a0 usingBehaviorType:(unsigned long long)a1;
- (BOOL)registerFunctionName:(id)a0 argumentCount:(int)a1 block:(id /* block */)a2;
- (BOOL)popTransactionAndCommit:(BOOL)a0;
- (BOOL)_validatePreparedStatement:(id)a0 error:(id *)a1;
- (BOOL)_handleDiskIOError;
- (BOOL)popToRootTransactionAndCommit:(BOOL)a0;
- (BOOL)_isDeviceMediaLibraryDatabase;
- (void)_enumerateTableColumnNamesAndDefinitionsFromTable:(id)a0 usingBlock:(id /* block */)a1;
- (int)checkpointDatabase;
- (void)_resetUnfinalizedStatements;
- (BOOL)executeUpdate:(id)a0 withParameters:(id)a1 error:(id *)a2;
- (BOOL)_handleZombieSQLiteConnection:(struct sqlite3 { } *)a0;
- (id)executeQuery:(id)a0 withParameters:(id)a1 limitProperty:(id)a2 limitValue:(long long)a3;
- (id)_databaseFilePaths;
- (BOOL)schemaDeleteColumn:(id)a0 inTable:(id)a1;
- (id)description;
- (void)_logCurrentErrorWhilePerformingStatementOperation:(id)a0 statement:(id)a1;
- (BOOL)_databaseFileExists;
- (void)_setOwningPool:(id)a0;
- (BOOL)databasePathExists;
- (BOOL)schemaInsertColumnDefinitions:(id)a0 intoTable:(id)a1 atIndex:(unsigned long long)a2;
- (void)_createDatabaseFileIfNonexistent;
- (BOOL)pushTransactionUsingBehaviorType:(unsigned long long)a0;
- (BOOL)_handleConnectionErrorWhileOpening:(int)a0;
- (BOOL)_internalExecuteUpdate:(id)a0 withParameters:(id)a1 error:(id *)a2;
- (void)_executeTransactionCommitBlocks:(BOOL)a0;
- (BOOL)_databaseFilesAreWritable;
- (id)_shortDescription;
- (BOOL)_executeStatement:(id)a0 withError:(id *)a1;
- (void).cxx_destruct;
- (BOOL)registerModule:(id)a0;
- (id)debugDescription;
- (unsigned long long)transactionLevel;
- (id)_registeredModuleNamed:(id)a0;
- (id)executeQuery:(id)a0;
- (BOOL)_handleBusyLockWithNumberOfRetries:(int)a0;
- (void)_logCurrentError;
- (BOOL)_internalEndTransactionAndCommit:(BOOL)a0;
- (void)_logDatabaseFileDebugInformation;
- (BOOL)_internalBeginTransactionWithBehaviorType:(unsigned long long)a0;
- (BOOL)isEqual:(id)a0;
- (BOOL)_alreadyAttemptedCorruptionRecovery;
- (void)_handleDatabaseCorruption;
- (BOOL)performTransactionWithBlock:(id /* block */)a0;
- (BOOL)_openWithFlags:(int)a0;
- (BOOL)schemaDeleteColumns:(id)a0 inTable:(id)a1;
- (void)setCurrentTransactionID:(id)a0;
- (void)_setAlreadyAttemptedCorruptionRecovery:(BOOL)a0;
- (void)_finalizeAllStatements;
- (long long)lastInsertionRowID;
- (BOOL)removeModuleNamed:(id)a0;
- (id)openBlobInTable:(id)a0 column:(id)a1 row:(long long)a2 readOnly:(BOOL)a3;
- (void)enqueueBlockForTransactionCommit:(id /* block */)a0;
- (BOOL)registerFunctionName:(id)a0 argumentCount:(int)a1 functionPointer:(void /* function */ *)a2 userData:(void *)a3;
- (BOOL)deleteDatabase;
- (id)executeQuery:(id)a0 withParameters:(id)a1;
- (void)_ensureConnectionIsOpen;
- (int)_distrustQueriesDuringBlock:(id /* block */)a0;
- (struct sqlite3 { } *)_sqliteHandle;

@end