mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-01-28 07:58:08 +01:00
log sqlite error codes as strings in attempt to track down the
occasional assertions failure.
This commit is contained in:
parent
3b7afa4557
commit
3209fc1b74
1 changed files with 49 additions and 3 deletions
|
@ -23,7 +23,7 @@
|
|||
|
||||
static void getColumnText( sqlite3_stmt *ppStmt, int iCol, XP_UCHAR* buf,
|
||||
int len );
|
||||
|
||||
static char* sqliteErr2str( int err );
|
||||
|
||||
sqlite3*
|
||||
openGamesDB( const char* dbName )
|
||||
|
@ -92,7 +92,10 @@ writeToDB( XWStreamCtxt* stream, void* closure )
|
|||
result = sqlite3_bind_zeroblob( stmt, 1 /*col 0 ??*/, len );
|
||||
XP_ASSERT( SQLITE_OK == result );
|
||||
result = sqlite3_step( stmt );
|
||||
XP_ASSERT( SQLITE_DONE == result );
|
||||
if ( SQLITE_DONE != result ) {
|
||||
XP_LOGF( "%s: sqlite3_step => %s", __func__, sqliteErr2str( result ) );
|
||||
XP_ASSERT(0);
|
||||
}
|
||||
XP_USE( result );
|
||||
|
||||
if ( newGame ) { /* new row; need to insert blob first */
|
||||
|
@ -176,7 +179,10 @@ summarize( CommonGlobals* cGlobals )
|
|||
int result = sqlite3_prepare_v2( cGlobals->pDb, buf, -1, &stmt, NULL );
|
||||
XP_ASSERT( SQLITE_OK == result );
|
||||
result = sqlite3_step( stmt );
|
||||
XP_ASSERT( SQLITE_DONE == result );
|
||||
if ( SQLITE_DONE != result ) {
|
||||
XP_LOGF( "sqlite3_step=>%s", sqliteErr2str( result ) );
|
||||
XP_ASSERT( 0 );
|
||||
}
|
||||
sqlite3_finalize( stmt );
|
||||
XP_USE( result );
|
||||
}
|
||||
|
@ -364,3 +370,43 @@ getColumnText( sqlite3_stmt *ppStmt, int iCol, XP_UCHAR* buf,
|
|||
XP_MEMCPY( buf, txt, needLen );
|
||||
buf[needLen] = '\0';
|
||||
}
|
||||
|
||||
# define CASESTR(c) case c: return #c
|
||||
static char*
|
||||
sqliteErr2str( int err )
|
||||
{
|
||||
switch( err ) {
|
||||
CASESTR( SQLITE_OK );
|
||||
CASESTR( SQLITE_ERROR );
|
||||
CASESTR( SQLITE_INTERNAL );
|
||||
CASESTR( SQLITE_PERM );
|
||||
CASESTR( SQLITE_ABORT );
|
||||
CASESTR( SQLITE_BUSY );
|
||||
CASESTR( SQLITE_LOCKED );
|
||||
CASESTR( SQLITE_NOMEM );
|
||||
CASESTR( SQLITE_READONLY );
|
||||
CASESTR( SQLITE_INTERRUPT );
|
||||
CASESTR( SQLITE_IOERR );
|
||||
CASESTR( SQLITE_CORRUPT );
|
||||
CASESTR( SQLITE_NOTFOUND );
|
||||
CASESTR( SQLITE_FULL );
|
||||
CASESTR( SQLITE_CANTOPEN );
|
||||
CASESTR( SQLITE_PROTOCOL );
|
||||
CASESTR( SQLITE_EMPTY );
|
||||
CASESTR( SQLITE_SCHEMA );
|
||||
CASESTR( SQLITE_TOOBIG );
|
||||
CASESTR( SQLITE_CONSTRAINT );
|
||||
CASESTR( SQLITE_MISMATCH );
|
||||
CASESTR( SQLITE_MISUSE );
|
||||
CASESTR( SQLITE_NOLFS );
|
||||
CASESTR( SQLITE_AUTH );
|
||||
CASESTR( SQLITE_FORMAT );
|
||||
CASESTR( SQLITE_RANGE );
|
||||
CASESTR( SQLITE_NOTADB );
|
||||
CASESTR( SQLITE_NOTICE );
|
||||
CASESTR( SQLITE_WARNING );
|
||||
CASESTR( SQLITE_ROW );
|
||||
CASESTR( SQLITE_DONE );
|
||||
}
|
||||
return "<unknown>";
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue