tokenizer.diff 1.5 KB

12345678910111213141516171819202122
  1. --- a/src/core/database.cpp
  2. +++ b/src/core/database.cpp
  3. @@ -265,7 +265,17 @@
  4. StaticInit();
  5. {
  6. - QSqlQuery set_fts_tokenizer(db);
  7. +#ifdef SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
  8. + QVariant v = db.driver()->handle();
  9. + if (v.isValid() && qstrcmp(v.typeName(), "sqlite3*") == 0) {
  10. + sqlite3* handle = *static_cast<sqlite3**>(v.data());
  11. + if (handle) {
  12. + sqlite3_db_config(handle, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, NULL);
  13. + }
  14. + }
  15. +#endif
  16. +
  17. + QSqlQuery set_fts_tokenizer("SELECT fts3_tokenizer(:name, :pointer)", db);
  18. set_fts_tokenizer.prepare("SELECT fts3_tokenizer(:name, :pointer)");
  19. set_fts_tokenizer.bindValue(":name", "unicode");
  20. set_fts_tokenizer.bindValue(