Switch to FTS5 with unicode61 (#229)
* Switch to FTS5 with unicode61 * Update required sqlite version in README * Update README * Change back db file
This commit is contained in:
@@ -37,13 +37,6 @@
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
|
||||
extern "C" {
|
||||
|
||||
struct sqlite3_tokenizer;
|
||||
struct sqlite3_tokenizer_cursor;
|
||||
struct sqlite3_tokenizer_module;
|
||||
}
|
||||
|
||||
class QThread;
|
||||
class Application;
|
||||
|
||||
@@ -95,6 +88,7 @@ class Database : public QObject {
|
||||
void DoBackup();
|
||||
|
||||
private:
|
||||
int SchemaVersion(QSqlDatabase *db);
|
||||
void UpdateMainSchema(QSqlDatabase *db);
|
||||
|
||||
void ExecSchemaCommandsFromFile(QSqlDatabase &db, const QString &filename, int schema_version, bool in_transaction = false);
|
||||
@@ -133,38 +127,6 @@ class Database : public QObject {
|
||||
|
||||
QThread *original_thread_;
|
||||
|
||||
// Do static initialisation like loading sqlite functions.
|
||||
static void StaticInit();
|
||||
|
||||
typedef int (*Sqlite3CreateFunc)(sqlite3*, const char*, int, int, void*, void (*)(sqlite3_context*, int, sqlite3_value**), void (*)(sqlite3_context*, int, sqlite3_value**), void (*)(sqlite3_context*));
|
||||
|
||||
static sqlite3_tokenizer_module *sFTSTokenizer;
|
||||
|
||||
static int FTSCreate(int argc, const char *const *argv, sqlite3_tokenizer **tokenizer);
|
||||
static int FTSDestroy(sqlite3_tokenizer *tokenizer);
|
||||
static int FTSOpen(sqlite3_tokenizer *tokenizer, const char *input, int bytes, sqlite3_tokenizer_cursor **cursor);
|
||||
static int FTSClose(sqlite3_tokenizer_cursor *cursor);
|
||||
static int FTSNext(sqlite3_tokenizer_cursor *cursor, const char **token, int *bytes, int *start_offset, int *end_offset, int *position);
|
||||
|
||||
struct Token {
|
||||
Token(const QString &token, int start, int end);
|
||||
QString token;
|
||||
int start_offset;
|
||||
int end_offset;
|
||||
};
|
||||
|
||||
// Based on sqlite3_tokenizer.
|
||||
struct UnicodeTokenizer {
|
||||
const sqlite3_tokenizer_module *pModule;
|
||||
};
|
||||
|
||||
struct UnicodeTokenizerCursor {
|
||||
const sqlite3_tokenizer *pTokenizer;
|
||||
|
||||
QList<Token> tokens;
|
||||
int position;
|
||||
QByteArray current_utf8;
|
||||
};
|
||||
};
|
||||
|
||||
class MemoryDatabase : public Database {
|
||||
@@ -178,4 +140,3 @@ class MemoryDatabase : public Database {
|
||||
};
|
||||
|
||||
#endif // DATABASE_H
|
||||
|
||||
|
||||
Reference in New Issue
Block a user