| OLD | NEW |
| 1 | 1 |
| 2 1. FTS3 Tokenizers | 2 1. FTS3 Tokenizers |
| 3 | 3 |
| 4 When creating a new full-text table, FTS3 allows the user to select | 4 When creating a new full-text table, FTS3 allows the user to select |
| 5 the text tokenizer implementation to be used when indexing text | 5 the text tokenizer implementation to be used when indexing text |
| 6 by specifying a "tokenize" clause as part of the CREATE VIRTUAL TABLE | 6 by specifying a "tokenize" clause as part of the CREATE VIRTUAL TABLE |
| 7 statement: | 7 statement: |
| 8 | 8 |
| 9 CREATE VIRTUAL TABLE <table-name> USING fts3( | 9 CREATE VIRTUAL TABLE <table-name> USING fts3( |
| 10 <columns ...> [, tokenize <tokenizer-name> [<tokenizer-args>]] | 10 <columns ...> [, tokenize <tokenizer-name> [<tokenizer-args>]] |
| 11 ); | 11 ); |
| 12 | 12 |
| 13 The built-in tokenizers (valid values to pass as <tokenizer name>) are | 13 The built-in tokenizers (valid values to pass as <tokenizer name>) are |
| 14 "simple" and "porter". | 14 "simple", "porter" and "unicode". |
| 15 | 15 |
| 16 <tokenizer-args> should consist of zero or more white-space separated | 16 <tokenizer-args> should consist of zero or more white-space separated |
| 17 arguments to pass to the selected tokenizer implementation. The | 17 arguments to pass to the selected tokenizer implementation. The |
| 18 interpretation of the arguments, if any, depends on the individual | 18 interpretation of the arguments, if any, depends on the individual |
| 19 tokenizer. | 19 tokenizer. |
| 20 | 20 |
| 21 2. Custom Tokenizers | 21 2. Custom Tokenizers |
| 22 | 22 |
| 23 FTS3 allows users to provide custom tokenizer implementations. The | 23 FTS3 allows users to provide custom tokenizer implementations. The |
| 24 interface used to create a new tokenizer is defined and described in | 24 interface used to create a new tokenizer is defined and described in |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 | 124 |
| 125 sqlite3_bind_text(pStmt, 1, zName, -1, SQLITE_STATIC); | 125 sqlite3_bind_text(pStmt, 1, zName, -1, SQLITE_STATIC); |
| 126 if( SQLITE_ROW==sqlite3_step(pStmt) ){ | 126 if( SQLITE_ROW==sqlite3_step(pStmt) ){ |
| 127 if( sqlite3_column_type(pStmt, 0)==SQLITE_BLOB ){ | 127 if( sqlite3_column_type(pStmt, 0)==SQLITE_BLOB ){ |
| 128 memcpy(pp, sqlite3_column_blob(pStmt, 0), sizeof(*pp)); | 128 memcpy(pp, sqlite3_column_blob(pStmt, 0), sizeof(*pp)); |
| 129 } | 129 } |
| 130 } | 130 } |
| 131 | 131 |
| 132 return sqlite3_finalize(pStmt); | 132 return sqlite3_finalize(pStmt); |
| 133 } | 133 } |
| OLD | NEW |