intermediate
This commit is contained in:
@@ -39,7 +39,7 @@ class SearchDao extends DatabaseAccessor<ChatSearchDatabase>
|
||||
required String searchString,
|
||||
}) {
|
||||
return db.chatQuery(
|
||||
query: db.buildQuery(searchString),
|
||||
query: db.buildFtsQuery(searchString),
|
||||
snippetLength: snippetLength,
|
||||
beforeMatch: matchPrefix,
|
||||
afterMatch: matchSuffix,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:lensai/features/chat_archive/data/database/daos/search.dart';
|
||||
import 'package:lensai/features/query/domain/tokenizer.dart';
|
||||
import 'package:lensai/features/search/domain/fts_tokenizer.dart';
|
||||
|
||||
part 'database.g.dart';
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ CREATE TRIGGER chat_after_update AFTER UPDATE ON chat BEGIN
|
||||
chat_fts(chat_fts, rowid, title, content)
|
||||
VALUES('delete', old.rowid, old.title, old.content);
|
||||
INSERT INTO
|
||||
chat_fts(chat_fts, title, content)
|
||||
chat_fts(rowid, title, content)
|
||||
VALUES (new.rowid, new.title, new.content);
|
||||
END;
|
||||
|
||||
|
||||
@@ -380,7 +380,7 @@ abstract class _$ChatSearchDatabase extends GeneratedDatabase {
|
||||
'CREATE TRIGGER chat_after_delete AFTER DELETE ON chat BEGIN INSERT INTO chat_fts (chat_fts, "rowid", title, content) VALUES (\'delete\', old."rowid", old.title, old.content);END',
|
||||
'chat_after_delete');
|
||||
late final Trigger chatAfterUpdate = Trigger(
|
||||
'CREATE TRIGGER chat_after_update AFTER UPDATE ON chat BEGIN INSERT INTO chat_fts (chat_fts, "rowid", title, content) VALUES (\'delete\', old."rowid", old.title, old.content);INSERT INTO chat_fts (chat_fts, title, content) VALUES (new."rowid", new.title, new.content);END',
|
||||
'CREATE TRIGGER chat_after_update AFTER UPDATE ON chat BEGIN INSERT INTO chat_fts (chat_fts, "rowid", title, content) VALUES (\'delete\', old."rowid", old.title, old.content);INSERT INTO chat_fts ("rowid", title, content) VALUES (new."rowid", new.title, new.content);END',
|
||||
'chat_after_update');
|
||||
late final SearchDao searchDao = SearchDao(this as ChatSearchDatabase);
|
||||
Selectable<ChatQueryResult> chatQuery(
|
||||
|
||||
@@ -83,10 +83,6 @@ class ChatArchiveSearchRepository extends _$ChatArchiveSearchRepository {
|
||||
_streamController = StreamController();
|
||||
_searchDatabase = ref.watch(chatSearchDatabaseProvider);
|
||||
|
||||
ref.onDispose(() async {
|
||||
await _streamController.close();
|
||||
});
|
||||
|
||||
// populate with initial chats
|
||||
await _searchDatabase.searchDao.deleteAllChats();
|
||||
await _searchDatabase.searchDao.indexChats(await _availableChats());
|
||||
@@ -112,6 +108,7 @@ class ChatArchiveSearchRepository extends _$ChatArchiveSearchRepository {
|
||||
|
||||
ref.onDispose(() async {
|
||||
await changeStreamSubscription.cancel();
|
||||
await _streamController.close();
|
||||
});
|
||||
|
||||
yield* _streamController.stream;
|
||||
|
||||
@@ -7,7 +7,7 @@ part of 'search.dart';
|
||||
// **************************************************************************
|
||||
|
||||
String _$chatArchiveSearchRepositoryHash() =>
|
||||
r'a3decc7975bf49995b20ea578db3c08b69f7c03c';
|
||||
r'd7174cfb877c61ee4e9580f44d7ffd11bf3b4b60';
|
||||
|
||||
/// See also [ChatArchiveSearchRepository].
|
||||
@ProviderFor(ChatArchiveSearchRepository)
|
||||
|
||||
Reference in New Issue
Block a user