Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1133)

Side by Side Diff: third_party/sqlite/sqlite-src-3080704/src/test4.c

Issue 883353008: [sql] Import reference version of SQLite 3.8.7.4. (Closed) Base URL: http://chromium.googlesource.com/chromium/src.git@master
Patch Set: Hold back encoding change which is messing up patch. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 ** 2003 December 18 2 ** 2003 December 18
3 ** 3 **
4 ** The author disclaims copyright to this source code. In place of 4 ** The author disclaims copyright to this source code. In place of
5 ** a legal notice, here is a blessing: 5 ** a legal notice, here is a blessing:
6 ** 6 **
7 ** May you do good and not evil. 7 ** May you do good and not evil.
8 ** May you find forgiveness for yourself and forgive others. 8 ** May you find forgiveness for yourself and forgive others.
9 ** May you share freely, never taking more than you give. 9 ** May you share freely, never taking more than you give.
10 ** 10 **
11 ************************************************************************* 11 *************************************************************************
12 ** Code for testing the the SQLite library in a multithreaded environment. 12 ** Code for testing the SQLite library in a multithreaded environment.
13 */ 13 */
14 #include "sqliteInt.h" 14 #include "sqliteInt.h"
15 #include "tcl.h" 15 #include "tcl.h"
16 #if SQLITE_OS_UNIX && SQLITE_THREADSAFE 16 #if SQLITE_OS_UNIX && SQLITE_THREADSAFE
17 #include <stdlib.h> 17 #include <stdlib.h>
18 #include <string.h> 18 #include <string.h>
19 #include <pthread.h> 19 #include <pthread.h>
20 #include <sched.h> 20 #include <sched.h>
21 #include <ctype.h> 21 #include <ctype.h>
22 22
23 extern const char *sqlite3ErrName(int);
24
23 /* 25 /*
24 ** Each thread is controlled by an instance of the following 26 ** Each thread is controlled by an instance of the following
25 ** structure. 27 ** structure.
26 */ 28 */
27 typedef struct Thread Thread; 29 typedef struct Thread Thread;
28 struct Thread { 30 struct Thread {
29 /* The first group of fields are writable by the master and read-only 31 /* The first group of fields are writable by the master and read-only
30 ** to the thread. */ 32 ** to the thread. */
31 char *zFilename; /* Name of database file */ 33 char *zFilename; /* Name of database file */
32 void (*xOp)(Thread*); /* next operation to do */ 34 void (*xOp)(Thread*); /* next operation to do */
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 " ID", 0); 367 " ID", 0);
366 return TCL_ERROR; 368 return TCL_ERROR;
367 } 369 }
368 i = parse_thread_id(interp, argv[1]); 370 i = parse_thread_id(interp, argv[1]);
369 if( i<0 ) return TCL_ERROR; 371 if( i<0 ) return TCL_ERROR;
370 if( !threadset[i].busy ){ 372 if( !threadset[i].busy ){
371 Tcl_AppendResult(interp, "no such thread", 0); 373 Tcl_AppendResult(interp, "no such thread", 0);
372 return TCL_ERROR; 374 return TCL_ERROR;
373 } 375 }
374 thread_wait(&threadset[i]); 376 thread_wait(&threadset[i]);
375 switch( threadset[i].rc ){ 377 zName = sqlite3ErrName(threadset[i].rc);
376 case SQLITE_OK: zName = "SQLITE_OK"; break;
377 case SQLITE_ERROR: zName = "SQLITE_ERROR"; break;
378 case SQLITE_PERM: zName = "SQLITE_PERM"; break;
379 case SQLITE_ABORT: zName = "SQLITE_ABORT"; break;
380 case SQLITE_BUSY: zName = "SQLITE_BUSY"; break;
381 case SQLITE_LOCKED: zName = "SQLITE_LOCKED"; break;
382 case SQLITE_NOMEM: zName = "SQLITE_NOMEM"; break;
383 case SQLITE_READONLY: zName = "SQLITE_READONLY"; break;
384 case SQLITE_INTERRUPT: zName = "SQLITE_INTERRUPT"; break;
385 case SQLITE_IOERR: zName = "SQLITE_IOERR"; break;
386 case SQLITE_CORRUPT: zName = "SQLITE_CORRUPT"; break;
387 case SQLITE_FULL: zName = "SQLITE_FULL"; break;
388 case SQLITE_CANTOPEN: zName = "SQLITE_CANTOPEN"; break;
389 case SQLITE_PROTOCOL: zName = "SQLITE_PROTOCOL"; break;
390 case SQLITE_EMPTY: zName = "SQLITE_EMPTY"; break;
391 case SQLITE_SCHEMA: zName = "SQLITE_SCHEMA"; break;
392 case SQLITE_CONSTRAINT: zName = "SQLITE_CONSTRAINT"; break;
393 case SQLITE_MISMATCH: zName = "SQLITE_MISMATCH"; break;
394 case SQLITE_MISUSE: zName = "SQLITE_MISUSE"; break;
395 case SQLITE_NOLFS: zName = "SQLITE_NOLFS"; break;
396 case SQLITE_AUTH: zName = "SQLITE_AUTH"; break;
397 case SQLITE_FORMAT: zName = "SQLITE_FORMAT"; break;
398 case SQLITE_RANGE: zName = "SQLITE_RANGE"; break;
399 case SQLITE_ROW: zName = "SQLITE_ROW"; break;
400 case SQLITE_DONE: zName = "SQLITE_DONE"; break;
401 default: zName = "SQLITE_Unknown"; break;
402 }
403 Tcl_AppendResult(interp, zName, 0); 378 Tcl_AppendResult(interp, zName, 0);
404 return TCL_OK; 379 return TCL_OK;
405 } 380 }
406 381
407 /* 382 /*
408 ** Usage: thread_error ID 383 ** Usage: thread_error ID
409 ** 384 **
410 ** Wait on the most recent operation to complete, then return the 385 ** Wait on the most recent operation to complete, then return the
411 ** error string. 386 ** error string.
412 */ 387 */
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 int i; 713 int i;
739 714
740 for(i=0; i<sizeof(aCmd)/sizeof(aCmd[0]); i++){ 715 for(i=0; i<sizeof(aCmd)/sizeof(aCmd[0]); i++){
741 Tcl_CreateCommand(interp, aCmd[i].zName, aCmd[i].xProc, 0, 0); 716 Tcl_CreateCommand(interp, aCmd[i].zName, aCmd[i].xProc, 0, 0);
742 } 717 }
743 return TCL_OK; 718 return TCL_OK;
744 } 719 }
745 #else 720 #else
746 int Sqlitetest4_Init(Tcl_Interp *interp){ return TCL_OK; } 721 int Sqlitetest4_Init(Tcl_Interp *interp){ return TCL_OK; }
747 #endif /* SQLITE_OS_UNIX */ 722 #endif /* SQLITE_OS_UNIX */
OLDNEW
« no previous file with comments | « third_party/sqlite/sqlite-src-3080704/src/test3.c ('k') | third_party/sqlite/sqlite-src-3080704/src/test5.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698