Fossil SCM

Improvements to the SQLite error logging output format.

drh 2010-03-31 15:17 UTC trunk
Commit b30e35fcd23978877417703c77f02baf5655a615
1 file changed +36 -1
+36 -1
--- src/main.c
+++ src/main.c
@@ -348,14 +348,49 @@
348348
cgi_printf("<p><font color=\"red\">%h</font></p>", z);
349349
}else{
350350
fprintf(stderr, "%s: %s\n", g.argv[0], z);
351351
}
352352
}
353
+
354
+/*
355
+** Return a name for an SQLite error code
356
+*/
357
+static const char *sqlite_error_code_name(int iCode){
358
+ static char zCode[30];
359
+ switch( iCode & 0xff ){
360
+ case SQLITE_OK: return "SQLITE_OK";
361
+ case SQLITE_ERROR: return "SQLITE_ERROR";
362
+ case SQLITE_PERM: return "SQLITE_PERM";
363
+ case SQLITE_ABORT: return "SQLITE_ABORT";
364
+ case SQLITE_BUSY: return "SQLITE_BUSY";
365
+ case SQLITE_NOMEM: return "SQLITE_NOMEM";
366
+ case SQLITE_READONLY: return "SQLITE_READONLY";
367
+ case SQLITE_INTERRUPT: return "SQLITE_INTERRUPT";
368
+ case SQLITE_IOERR: return "SQLITE_IOERR";
369
+ case SQLITE_CORRUPT: return "SQLITE_CORRUPT";
370
+ case SQLITE_FULL: return "SQLITE_FULL";
371
+ case SQLITE_CANTOPEN: return "SQLITE_CANTOPEN";
372
+ case SQLITE_PROTOCOL: return "SQLITE_PROTOCOL";
373
+ case SQLITE_EMPTY: return "SQLITE_EMPTY";
374
+ case SQLITE_SCHEMA: return "SQLITE_SCHEMA";
375
+ case SQLITE_CONSTRAINT: return "SQLITE_CONSTRAINT";
376
+ case SQLITE_MISMATCH: return "SQLITE_MISMATCH";
377
+ case SQLITE_MISUSE: return "SQLITE_MISUSE";
378
+ case SQLITE_NOLFS: return "SQLITE_NOLFS";
379
+ case SQLITE_FORMAT: return "SQLITE_FORMAT";
380
+ case SQLITE_RANGE: return "SQLITE_RANGE";
381
+ case SQLITE_NOTADB: return "SQLITE_NOTADB";
382
+ default: {
383
+ sqlite3_snprintf(sizeof(zCode),zCode,"error code %d",iCode);
384
+ }
385
+ }
386
+ return zCode;
387
+}
353388
354389
/* Error logs from SQLite */
355390
void fossil_sqlite_log(void *notUsed, int iCode, const char *zErrmsg){
356
- fossil_warning("SQLite error log (code %d): %s", iCode, zErrmsg);
391
+ fossil_warning("%s: %s", sqlite_error_code_name(iCode), zErrmsg);
357392
}
358393
359394
/*
360395
** Print a usage comment and quit
361396
*/
362397
--- src/main.c
+++ src/main.c
@@ -348,14 +348,49 @@
348 cgi_printf("<p><font color=\"red\">%h</font></p>", z);
349 }else{
350 fprintf(stderr, "%s: %s\n", g.argv[0], z);
351 }
352 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
353
354 /* Error logs from SQLite */
355 void fossil_sqlite_log(void *notUsed, int iCode, const char *zErrmsg){
356 fossil_warning("SQLite error log (code %d): %s", iCode, zErrmsg);
357 }
358
359 /*
360 ** Print a usage comment and quit
361 */
362
--- src/main.c
+++ src/main.c
@@ -348,14 +348,49 @@
348 cgi_printf("<p><font color=\"red\">%h</font></p>", z);
349 }else{
350 fprintf(stderr, "%s: %s\n", g.argv[0], z);
351 }
352 }
353
354 /*
355 ** Return a name for an SQLite error code
356 */
357 static const char *sqlite_error_code_name(int iCode){
358 static char zCode[30];
359 switch( iCode & 0xff ){
360 case SQLITE_OK: return "SQLITE_OK";
361 case SQLITE_ERROR: return "SQLITE_ERROR";
362 case SQLITE_PERM: return "SQLITE_PERM";
363 case SQLITE_ABORT: return "SQLITE_ABORT";
364 case SQLITE_BUSY: return "SQLITE_BUSY";
365 case SQLITE_NOMEM: return "SQLITE_NOMEM";
366 case SQLITE_READONLY: return "SQLITE_READONLY";
367 case SQLITE_INTERRUPT: return "SQLITE_INTERRUPT";
368 case SQLITE_IOERR: return "SQLITE_IOERR";
369 case SQLITE_CORRUPT: return "SQLITE_CORRUPT";
370 case SQLITE_FULL: return "SQLITE_FULL";
371 case SQLITE_CANTOPEN: return "SQLITE_CANTOPEN";
372 case SQLITE_PROTOCOL: return "SQLITE_PROTOCOL";
373 case SQLITE_EMPTY: return "SQLITE_EMPTY";
374 case SQLITE_SCHEMA: return "SQLITE_SCHEMA";
375 case SQLITE_CONSTRAINT: return "SQLITE_CONSTRAINT";
376 case SQLITE_MISMATCH: return "SQLITE_MISMATCH";
377 case SQLITE_MISUSE: return "SQLITE_MISUSE";
378 case SQLITE_NOLFS: return "SQLITE_NOLFS";
379 case SQLITE_FORMAT: return "SQLITE_FORMAT";
380 case SQLITE_RANGE: return "SQLITE_RANGE";
381 case SQLITE_NOTADB: return "SQLITE_NOTADB";
382 default: {
383 sqlite3_snprintf(sizeof(zCode),zCode,"error code %d",iCode);
384 }
385 }
386 return zCode;
387 }
388
389 /* Error logs from SQLite */
390 void fossil_sqlite_log(void *notUsed, int iCode, const char *zErrmsg){
391 fossil_warning("%s: %s", sqlite_error_code_name(iCode), zErrmsg);
392 }
393
394 /*
395 ** Print a usage comment and quit
396 */
397

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button