| OLD | NEW |
| 1 /* | 1 /* |
| 2 ** 2006 July 10 | 2 ** 2006 July 10 |
| 3 ** | 3 ** |
| 4 ** The author disclaims copyright to this source code. | 4 ** The author disclaims copyright to this source code. |
| 5 ** | 5 ** |
| 6 ************************************************************************* | 6 ************************************************************************* |
| 7 ** Defines the interface to tokenizers used by fulltext-search. There | 7 ** Defines the interface to tokenizers used by fulltext-search. There |
| 8 ** are three basic components: | 8 ** are three basic components: |
| 9 ** | 9 ** |
| 10 ** sqlite3_tokenizer_module is a singleton defining the tokenizer | 10 ** sqlite3_tokenizer_module is a singleton defining the tokenizer |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 ** the following SQL is executed: | 63 ** the following SQL is executed: |
| 64 ** | 64 ** |
| 65 ** CREATE .. USING fts2( ... , tokenizer <tokenizer-name> arg1 arg2) | 65 ** CREATE .. USING fts2( ... , tokenizer <tokenizer-name> arg1 arg2) |
| 66 ** | 66 ** |
| 67 ** then argc is set to 2, and the argv[] array contains pointers | 67 ** then argc is set to 2, and the argv[] array contains pointers |
| 68 ** to the strings "arg1" and "arg2". | 68 ** to the strings "arg1" and "arg2". |
| 69 ** | 69 ** |
| 70 ** This method should return either SQLITE_OK (0), or an SQLite error | 70 ** This method should return either SQLITE_OK (0), or an SQLite error |
| 71 ** code. If SQLITE_OK is returned, then *ppTokenizer should be set | 71 ** code. If SQLITE_OK is returned, then *ppTokenizer should be set |
| 72 ** to point at the newly created tokenizer structure. The generic | 72 ** to point at the newly created tokenizer structure. The generic |
| 73 ** sqlite3_tokenizer.pModule variable should not be initialised by | 73 ** sqlite3_tokenizer.pModule variable should not be initialized by |
| 74 ** this callback. The caller will do so. | 74 ** this callback. The caller will do so. |
| 75 */ | 75 */ |
| 76 int (*xCreate)( | 76 int (*xCreate)( |
| 77 int argc, /* Size of argv array */ | 77 int argc, /* Size of argv array */ |
| 78 const char *const*argv, /* Tokenizer argument strings */ | 78 const char *const*argv, /* Tokenizer argument strings */ |
| 79 sqlite3_tokenizer **ppTokenizer /* OUT: Created tokenizer */ | 79 sqlite3_tokenizer **ppTokenizer /* OUT: Created tokenizer */ |
| 80 ); | 80 ); |
| 81 | 81 |
| 82 /* | 82 /* |
| 83 ** Destroy an existing tokenizer. The fts2 module calls this method | 83 ** Destroy an existing tokenizer. The fts2 module calls this method |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 const sqlite3_tokenizer_module *pModule; /* The module for this tokenizer */ | 136 const sqlite3_tokenizer_module *pModule; /* The module for this tokenizer */ |
| 137 /* Tokenizer implementations will typically add additional fields */ | 137 /* Tokenizer implementations will typically add additional fields */ |
| 138 }; | 138 }; |
| 139 | 139 |
| 140 struct sqlite3_tokenizer_cursor { | 140 struct sqlite3_tokenizer_cursor { |
| 141 sqlite3_tokenizer *pTokenizer; /* Tokenizer for this cursor. */ | 141 sqlite3_tokenizer *pTokenizer; /* Tokenizer for this cursor. */ |
| 142 /* Tokenizer implementations will typically add additional fields */ | 142 /* Tokenizer implementations will typically add additional fields */ |
| 143 }; | 143 }; |
| 144 | 144 |
| 145 #endif /* _FTS2_TOKENIZER_H_ */ | 145 #endif /* _FTS2_TOKENIZER_H_ */ |
| OLD | NEW |