@class NSString, SGSqliteDatabaseImpl, SGSqliteDatabaseSharedLock; @interface SGSqliteDatabase : NSObject { SGSqliteDatabaseImpl *_impl; unsigned long long _lastBusyWaitEnded; SGSqliteDatabaseSharedLock *_sharedWriterLock; BOOL _usesDataProtection; } @property (readonly, nonatomic) struct sqlite3 { } *handle; @property (readonly, nonatomic) NSString *filename; @property (readonly, nonatomic) BOOL isInMemory; + (id)corruptionMarkerPathForPath:(id)a0; + (id)randomlyNamedInMemoryPathWithBaseName:(id)a0; + (id)sqliteDatabaseInMemoryWithError:(id *)a0; + (id)inMemoryPath; + (id)sqliteDatabaseWithFilename:(id)a0 error:(id *)a1; + (void)truncateDatabaseAtPath:(id)a0; + (BOOL)isInMemoryPath:(id)a0; + (int)bindParam:(struct sqlite3_stmt { } *)a0 name:(const char *)a1 double:(double)a2; + (int)bindParam:(struct sqlite3_stmt { } *)a0 name:(const char *)a1 int64:(long long)a2; + (int)bindParam:(struct sqlite3_stmt { } *)a0 name:(const char *)a1 int:(int)a2; + (int)bindParam:(struct sqlite3_stmt { } *)a0 name:(const char *)a1 nsdata:(id)a2; + (int)bindParam:(struct sqlite3_stmt { } *)a0 name:(const char *)a1 nsstring:(id)a2; + (int)bindParamToNull:(struct sqlite3_stmt { } *)a0 name:(const char *)a1; + (id)corruptionMarkerFilename; - (void)vacuum; - (unsigned long long)pageCount; - (BOOL)_handle_SQLITE_IOERR_SEEK:(id)a0 onError:(id /* block */)a1; - (void)performIntegrityCheck; - (BOOL)_handle_SQLITE_CONSTRAINT_FOREIGNKEY:(id)a0 onError:(id /* block */)a1; - (void)closePermanently; - (id)initWithFilename:(id)a0 withProtection:(BOOL)a1 sharedLock:(id)a2 error:(id *)a3; - (BOOL)_handle_SQLITE_IOERR_MMAP:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_CONSTRAINT_UNIQUE:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_SHMOPEN:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_WARNING_AUTOINDEX:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_LOCK:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_PERM:(id)a0 onError:(id /* block */)a1; - (id)freeSpace; - (BOOL)_handle_SQLITE_NOMEM:(id)a0 onError:(id /* block */)a1; - (id)dbErrorWithCode:(unsigned long long)a0 sqliteReturnValue:(int)a1 lastErrno:(int)a2 query:(id)a3; - (BOOL)_handle_SQLITE_IOERR_UNLOCK:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_ERROR:(id)a0 onError:(id /* block */)a1; - (BOOL)runQuery:(id)a0 onRow:(id /* block */)a1 onError:(id /* block */)a2; - (void)_prepAndRunQuery:(id)a0 columns:(id)a1 dictionary:(id)a2 onError:(id /* block */)a3; - (BOOL)_handle_SQLITE_ABORT:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_RANGE:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_NOTICE_RECOVER_ROLLBACK:(id)a0 onError:(id /* block */)a1; - (void)placeCorruptionMarker; - (BOOL)_handle_SQLITE_CANTOPEN_NOTEMPDIR:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_CANTOPEN_FULLPATH:(id)a0 onError:(id /* block */)a1; - (void)simulateOnDiskDatabase; - (BOOL)_handle_UNKNOWN_ERROR:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_READONLY_RECOVERY:(id)a0 onError:(id /* block */)a1; - (BOOL)createSnapshot:(id)a0; - (BOOL)_prepQuery:(id)a0 onPrep:(id /* block */)a1 onError:(id /* block */)a2; - (id)corruptionMarkerPath; - (BOOL)_handle_SQLITE_NOTICE:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_FULL:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_ABORT_ROLLBACK:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_TOOBIG:(id)a0 onError:(id /* block */)a1; - (BOOL)frailWriteTransaction:(id /* block */)a0; - (BOOL)_handle_SQLITE_BUSY_RECOVERY:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_SHMSIZE:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_CONSTRAINT_FUNCTION:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_MISUSE:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_CHECKRESERVEDLOCK:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_SHORT_READ:(id)a0 onError:(id /* block */)a1; - (unsigned int)userVersion; - (BOOL)_handle_SQLITE_IOERR_BLOCKED:(id)a0 onError:(id /* block */)a1; - (id)selectColumns:(id)a0 fromTable:(id)a1 whereClause:(id)a2 onPrep:(id /* block */)a3 onError:(id /* block */)a4; - (BOOL)_handle_SQLITE_IOERR_TRUNCATE:(id)a0 onError:(id /* block */)a1; - (void)updateTable:(id)a0 dictionary:(id)a1 whereClause:(id)a2 onError:(id /* block */)a3; - (BOOL)_handle_SQLITE_CONSTRAINT_TRIGGER:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_DIR_CLOSE:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_READONLY_ROLLBACK:(id)a0 onError:(id /* block */)a1; - (BOOL)_abortDueToSqliteError:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_WRITE:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_READONLY_DBMOVED:(id)a0 onError:(id /* block */)a1; - (unsigned long long)freelistCount; - (BOOL)_handle_SQLITE_IOERR_DELETE_NOENT:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_READONLY_CANTLOCK:(id)a0 onError:(id /* block */)a1; - (BOOL)hasIndexNamed:(id)a0; - (BOOL)_handle_SQLITE_IOERR_SHMMAP:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_WARNING:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_CANTOPEN:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_NOMEM:(id)a0 onError:(id /* block */)a1; - (id)languageForFTSTable:(id)a0; - (BOOL)_handle_SQLITE_IOERR_DIR_FSYNC:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_SHMLOCK:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_CONSTRAINT_VTAB:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_INTERNAL:(id)a0 onError:(id /* block */)a1; - (void)optimize:(unsigned long long)a0; - (unsigned long long)vacuumMode; - (unsigned long long)_pagesToVacuum; - (BOOL)_handle_SQLITE_AUTH_USER:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_NOTADB:(id)a0 onError:(id /* block */)a1; - (id)description; - (BOOL)handleError:(long long)a0 sqliteError:(int)a1 forQuery:(id)a2 onError:(id /* block */)a3; - (void)insertOrReplaceIntoTable:(id)a0 dictionary:(id)a1 onError:(id /* block */)a2; - (long long)maxIdForTable:(id)a0; - (BOOL)_handle_SQLITE_IOERR_CONVPATH:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_CONSTRAINT_COMMITHOOK:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_PROTOCOL:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_EMPTY:(id)a0 onError:(id /* block */)a1; - (BOOL)hasTableNamed:(id)a0; - (BOOL)_handle_SQLITE_CONSTRAINT_ROWID:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_ACCESS:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_sqlite_error_code:(int)a0 error:(id)a1 onError:(id /* block */)a2; - (BOOL)_handle_SQLITE_IOERR_DELETE:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_FSTAT:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_CLOSE:(id)a0 onError:(id /* block */)a1; - (id)tablesWithColumnNamed:(id)a0; - (BOOL)_handle_SQLITE_IOERR:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_BUSY_SNAPSHOT:(id)a0 onError:(id /* block */)a1; - (void).cxx_destruct; - (BOOL)_handle_SQLITE_IOERR_FSYNC:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_CONSTRAINT_NOTNULL:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_NOTFOUND:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_AUTH:(id)a0 onError:(id /* block */)a1; - (BOOL)setUserVersion:(unsigned int)a0; - (BOOL)_handle_SQLITE_CONSTRAINT_PRIMARYKEY:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_NOTICE_RECOVER_WAL:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_INTERRUPT:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_CONSTRAINT:(id)a0 onError:(id /* block */)a1; - (void)writeTransaction:(id /* block */)a0; - (BOOL)_handle_SQLITE_NOLFS:(id)a0 onError:(id /* block */)a1; - (BOOL)frailReadTransaction:(id /* block */)a0; - (BOOL)_handle_SQLITE_BUSY:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_CORRUPT:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_AUTH:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_READONLY:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_LOCKED_SHAREDCACHE:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_CANTOPEN_ISDIR:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_CANTOPEN_CONVPATH:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_LOCKED:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_RDLOCK:(id)a0 onError:(id /* block */)a1; - (BOOL)prepAndRunNonDataQueries:(id)a0 onError:(id /* block */)a1; - (void)runWithWriteLockAcquired:(id /* block */)a0; - (BOOL)_handle_SQLITE_SCHEMA:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_READ:(id)a0 onError:(id /* block */)a1; - (BOOL)prepAndRunQuery:(id)a0 onPrep:(id /* block */)a1 onRow:(id /* block */)a2 onError:(id /* block */)a3; - (BOOL)prepAndRunSQL:(id)a0 onPrep:(id /* block */)a1 onRow:(id /* block */)a2 onError:(id /* block */)a3; - (BOOL)_handle_SQLITE_CONSTRAINT_CHECK:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_MISMATCH:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_IOERR_GETTEMPPATH:(id)a0 onError:(id /* block */)a1; - (unsigned long long)numberOfRowsInTable:(id)a0; - (BOOL)_handle_SQLITE_IOERR_VNODE:(id)a0 onError:(id /* block */)a1; - (BOOL)_handle_SQLITE_CORRUPT_VTAB:(id)a0 onError:(id /* block */)a1; - (long long)lastInsertRowId; - (BOOL)_handle_SQLITE_FORMAT:(id)a0 onError:(id /* block */)a1; - (void)readTransaction:(id /* block */)a0; - (BOOL)hasColumnOnTable:(id)a0 named:(id)a1; @end