strip chat
This commit is contained in:
@@ -7,20 +7,12 @@ import 'package:weblibre/features/geckoview/features/tabs/data/database/daos/con
|
||||
import 'package:weblibre/features/geckoview/features/tabs/data/database/daos/tab.dart';
|
||||
import 'package:weblibre/features/geckoview/features/tabs/data/models/container_data.dart';
|
||||
import 'package:weblibre/features/geckoview/features/tabs/data/models/tab_query_result.dart';
|
||||
import 'package:weblibre/features/geckoview/features/tabs/features/vector_store/data/database/daos/vector.dart';
|
||||
import 'package:weblibre/features/geckoview/features/tabs/features/vector_store/data/database/migrator.dart';
|
||||
import 'package:weblibre/features/geckoview/features/tabs/features/vector_store/data/models/vector_result.dart';
|
||||
import 'package:weblibre/features/search/domain/fts_tokenizer.dart';
|
||||
|
||||
part 'database.g.dart';
|
||||
|
||||
@DriftDatabase(
|
||||
include: {'database.drift'},
|
||||
daos: [ContainerDao, TabDao, VectorDao],
|
||||
)
|
||||
@DriftDatabase(include: {'database.drift'}, daos: [ContainerDao, TabDao])
|
||||
class TabDatabase extends _$TabDatabase with TrigramQueryBuilderMixin {
|
||||
final int embeddingDimensions;
|
||||
|
||||
@override
|
||||
final int schemaVersion = 2;
|
||||
|
||||
@@ -31,23 +23,11 @@ class TabDatabase extends _$TabDatabase with TrigramQueryBuilderMixin {
|
||||
|
||||
@override
|
||||
MigrationStrategy get migration => MigrationStrategy(
|
||||
onCreate: (m) async {
|
||||
final migrator = VectorDatabaseMigrator(dimensions: embeddingDimensions);
|
||||
|
||||
await m.database.customStatement(migrator.vectorTableDefinition);
|
||||
|
||||
//instead of m.createAll(); we igoner vec0 table
|
||||
for (final entity in allSchemaEntities.where(
|
||||
(entity) => entity is! DocumentVec,
|
||||
)) {
|
||||
await m.create(entity);
|
||||
}
|
||||
},
|
||||
beforeOpen: (details) async {
|
||||
await customStatement('PRAGMA foreign_keys = ON;');
|
||||
await optimizeFtsIndex();
|
||||
},
|
||||
);
|
||||
|
||||
TabDatabase(super.e, {required this.embeddingDimensions});
|
||||
TabDatabase(super.e);
|
||||
}
|
||||
|
||||
@@ -25,14 +25,6 @@ CREATE TABLE tab (
|
||||
timestamp DATETIME NOT NULL
|
||||
);
|
||||
|
||||
import '../../features/vector_store/data/database/vector_store.drift';
|
||||
|
||||
-- automativcally remove documents and embeddings on delete
|
||||
-- isnert and updates are managed code side
|
||||
CREATE TRIGGER tab_document_delete AFTER DELETE ON tab BEGIN
|
||||
DELETE FROM document WHERE main_document_id = old.id;
|
||||
END;
|
||||
|
||||
CREATE VIRTUAL TABLE tab_fts
|
||||
USING fts5(
|
||||
title,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,9 +6,7 @@ import 'package:riverpod/riverpod.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:sqlite3/sqlite3.dart';
|
||||
import 'package:sqlite3_flutter_libs/sqlite3_flutter_libs.dart';
|
||||
import 'package:sqlite3_vec/sqlite3_vec.dart';
|
||||
import 'package:universal_io/io.dart';
|
||||
import 'package:weblibre/core/providers/models.dart';
|
||||
import 'package:weblibre/data/database/functions/lexo_rank_functions.dart';
|
||||
import 'package:weblibre/features/geckoview/features/tabs/data/database/database.dart';
|
||||
|
||||
@@ -16,8 +14,6 @@ part 'providers.g.dart';
|
||||
|
||||
@Riverpod(keepAlive: true)
|
||||
TabDatabase tabDatabase(Ref ref) {
|
||||
final dimensions = ref.watch(embeddingDimensionsProvider);
|
||||
|
||||
final db = TabDatabase(
|
||||
LazyDatabase(() async {
|
||||
// put the database file, called db.sqlite here, into the documents folder
|
||||
@@ -37,8 +33,6 @@ TabDatabase tabDatabase(Ref ref) {
|
||||
// Explicitly tell it about the correct temporary directory.
|
||||
sqlite3.tempDirectory = cachebase;
|
||||
|
||||
Sqlite3Vec.ensureExtensionLoaded();
|
||||
|
||||
return NativeDatabase.createInBackground(
|
||||
file,
|
||||
setup: (database) {
|
||||
@@ -46,7 +40,6 @@ TabDatabase tabDatabase(Ref ref) {
|
||||
},
|
||||
);
|
||||
}),
|
||||
embeddingDimensions: dimensions,
|
||||
);
|
||||
|
||||
ref.onDispose(() async {
|
||||
|
||||
@@ -6,7 +6,7 @@ part of 'providers.dart';
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$tabDatabaseHash() => r'db190f01d7e70e65b9f44403effa82ec503144a0';
|
||||
String _$tabDatabaseHash() => r'422bd4789296dc271fabbd5906f2e2ab16bccaa3';
|
||||
|
||||
/// See also [tabDatabase].
|
||||
@ProviderFor(tabDatabase)
|
||||
|
||||
Reference in New Issue
Block a user