Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Avoid surplus bytes at the end of the keyword string table. Add testcase() macros to make sure all keywords are used during testing. (CVS 6090) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
73958060aaf641d93bede3a42851e5b3 |
User & Date: | drh 2008-12-31 21:52:41.000 |
Context
2009-01-01
| ||
04:19 | Fix a bug parsing "<expr> AND (abc NEAR def)" in fts3_expr.c. (CVS 6091) (check-in: d1a6a2edd7 user: danielk1977 tags: trunk) | |
2008-12-31
| ||
21:52 | Avoid surplus bytes at the end of the keyword string table. Add testcase() macros to make sure all keywords are used during testing. (CVS 6090) (check-in: 73958060aa user: drh tags: trunk) | |
19:27 | Fix the name in the documentation of the compile-time macro for enabling FTS3 parenthesis processing. (CVS 6089) (check-in: ac8258da6e user: drh tags: trunk) | |
Changes
Changes to tool/mkkeywordhash.c.
︙ | |||
11 12 13 14 15 16 17 | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | - + | ** A header comment placed at the beginning of generated code. */ static const char zHdr[] = "/***** This file contains automatically generated code ******\n" "**\n" "** The code in this file has been automatically generated by\n" "**\n" |
︙ | |||
481 482 483 484 485 486 487 | 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 | - - + + + | } printf("%s", p->zName); j += p->len; } if( j>0 ){ printf("%*s */\n", 74-j, ""); } |
︙ | |||
569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 | 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 | + + + + | printf(" if( n<2 ) return TK_ID;\n"); printf(" h = ((charMap(z[0])*4) ^\n" " (charMap(z[n-1])*3) ^\n" " n) %% %d;\n", bestSize); printf(" for(i=((int)aHash[h])-1; i>=0; i=((int)aNext[i])-1){\n"); printf(" if( aLen[i]==n &&" " sqlite3StrNICmp(&zText[aOffset[i]],z,n)==0 ){\n"); for(i=0; i<nKeyword; i++){ printf(" testcase( i==%d ); /* %s */\n", i, aKeywordTable[i].zTokenType); } printf(" return aCode[i];\n"); printf(" }\n"); printf(" }\n"); printf(" return TK_ID;\n"); printf("}\n"); printf("int sqlite3KeywordCode(const unsigned char *z, int n){\n"); printf(" return keywordCode((char*)z, n);\n"); printf("}\n"); return 0; } |