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

Side by Side Diff: third_party/sqlite/src/test/wordcount.c

Issue 1610963002: Import SQLite 3.10.2. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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 ** This C program extracts all "words" from an input document and adds them 2 ** This C program extracts all "words" from an input document and adds them
3 ** to an SQLite database. A "word" is any contiguous sequence of alphabetic 3 ** to an SQLite database. A "word" is any contiguous sequence of alphabetic
4 ** characters. All digits, punctuation, and whitespace characters are 4 ** characters. All digits, punctuation, and whitespace characters are
5 ** word separators. The database stores a single entry for each distinct 5 ** word separators. The database stores a single entry for each distinct
6 ** word together with a count of the number of occurrences of that word. 6 ** word together with a count of the number of occurrences of that word.
7 ** A fresh database is created automatically on each run. 7 ** A fresh database is created automatically on each run.
8 ** 8 **
9 ** wordcount DATABASE INPUTFILE 9 ** wordcount DATABASE INPUTFILE
10 ** 10 **
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 ** 73 **
74 ** gcc -I. -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \ 74 ** gcc -I. -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
75 ** wordcount.c sqlite3.c 75 ** wordcount.c sqlite3.c
76 */ 76 */
77 #include <stdio.h> 77 #include <stdio.h>
78 #include <string.h> 78 #include <string.h>
79 #include <ctype.h> 79 #include <ctype.h>
80 #include <stdlib.h> 80 #include <stdlib.h>
81 #include <stdarg.h> 81 #include <stdarg.h>
82 #include "sqlite3.h" 82 #include "sqlite3.h"
83 #define ISALPHA(X) isalpha((unsigned char)(X))
83 84
84 /* Return the current wall-clock time */ 85 /* Return the current wall-clock time */
85 static sqlite3_int64 realTime(void){ 86 static sqlite3_int64 realTime(void){
86 static sqlite3_vfs *clockVfs = 0; 87 static sqlite3_vfs *clockVfs = 0;
87 sqlite3_int64 t; 88 sqlite3_int64 t;
88 if( clockVfs==0 ) clockVfs = sqlite3_vfs_find(0); 89 if( clockVfs==0 ) clockVfs = sqlite3_vfs_find(0);
89 if( clockVfs->iVersion>=1 && clockVfs->xCurrentTimeInt64!=0 ){ 90 if( clockVfs->iVersion>=1 && clockVfs->xCurrentTimeInt64!=0 ){
90 clockVfs->xCurrentTimeInt64(clockVfs, &t); 91 clockVfs->xCurrentTimeInt64(clockVfs, &t);
91 }else{ 92 }else{
92 double r; 93 double r;
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 rc = sqlite3_prepare_v2(db, 386 rc = sqlite3_prepare_v2(db,
386 "DELETE FROM wordcount WHERE word=?1", 387 "DELETE FROM wordcount WHERE word=?1",
387 -1, &pDelete, 0); 388 -1, &pDelete, 0);
388 if( rc ) fatal_error("Could not prepare the DELETE statement: %s\n", 389 if( rc ) fatal_error("Could not prepare the DELETE statement: %s\n",
389 sqlite3_errmsg(db)); 390 sqlite3_errmsg(db));
390 } 391 }
391 392
392 /* Process the input file */ 393 /* Process the input file */
393 while( fgets(zInput, sizeof(zInput), in) ){ 394 while( fgets(zInput, sizeof(zInput), in) ){
394 for(i=0; zInput[i]; i++){ 395 for(i=0; zInput[i]; i++){
395 if( !isalpha(zInput[i]) ) continue; 396 if( !ISALPHA(zInput[i]) ) continue;
396 for(j=i+1; isalpha(zInput[j]); j++){} 397 for(j=i+1; ISALPHA(zInput[j]); j++){}
397 398
398 /* Found a new word at zInput[i] that is j-i bytes long. 399 /* Found a new word at zInput[i] that is j-i bytes long.
399 ** Process it into the wordcount table. */ 400 ** Process it into the wordcount table. */
400 if( iMode==MODE_DELETE ){ 401 if( iMode==MODE_DELETE ){
401 sqlite3_bind_text(pDelete, 1, zInput+i, j-i, SQLITE_STATIC); 402 sqlite3_bind_text(pDelete, 1, zInput+i, j-i, SQLITE_STATIC);
402 if( sqlite3_step(pDelete)!=SQLITE_DONE ){ 403 if( sqlite3_step(pDelete)!=SQLITE_DONE ){
403 fatal_error("DELETE failed: %s\n", sqlite3_errmsg(db)); 404 fatal_error("DELETE failed: %s\n", sqlite3_errmsg(db));
404 } 405 }
405 sqlite3_reset(pDelete); 406 sqlite3_reset(pDelete);
406 }else if( iMode==MODE_SELECT ){ 407 }else if( iMode==MODE_SELECT ){
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
536 printf("-- Scratch Overflow Bytes: %d (max %d)\n", iCur,iHiwtr); 537 printf("-- Scratch Overflow Bytes: %d (max %d)\n", iCur,iHiwtr);
537 sqlite3_status(SQLITE_STATUS_MALLOC_SIZE, &iCur, &iHiwtr, 0); 538 sqlite3_status(SQLITE_STATUS_MALLOC_SIZE, &iCur, &iHiwtr, 0);
538 printf("-- Largest Allocation: %d bytes\n",iHiwtr); 539 printf("-- Largest Allocation: %d bytes\n",iHiwtr);
539 sqlite3_status(SQLITE_STATUS_PAGECACHE_SIZE, &iCur, &iHiwtr, 0); 540 sqlite3_status(SQLITE_STATUS_PAGECACHE_SIZE, &iCur, &iHiwtr, 0);
540 printf("-- Largest Pcache Allocation: %d bytes\n",iHiwtr); 541 printf("-- Largest Pcache Allocation: %d bytes\n",iHiwtr);
541 sqlite3_status(SQLITE_STATUS_SCRATCH_SIZE, &iCur, &iHiwtr, 0); 542 sqlite3_status(SQLITE_STATUS_SCRATCH_SIZE, &iCur, &iHiwtr, 0);
542 printf("-- Largest Scratch Allocation: %d bytes\n", iHiwtr); 543 printf("-- Largest Scratch Allocation: %d bytes\n", iHiwtr);
543 } 544 }
544 return 0; 545 return 0;
545 } 546 }
OLDNEW
« no previous file with comments | « third_party/sqlite/src/test/without_rowid6.test ('k') | third_party/sqlite/src/test/zeroblob.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698