bin/jadb: enable fk constraint checking, RO mode for search

This commit is contained in:
Oystein Kristoffer Tveit 2025-04-22 19:11:26 +02:00
parent 7544013ffd
commit de01d1ea43
Signed by: oysteikt
GPG Key ID: 9F2F7D8250F35146

@ -47,8 +47,16 @@ class CreateDb extends Command {
final db = await createDatabaseFactoryFfi(ffiInit: () {
open.overrideForAll(
() => DynamicLibrary.open(argResults!.option('libsqlite')!));
}).openDatabase(Directory.current.uri.resolve('jadb.sqlite').path);
() => DynamicLibrary.open(argResults!.option('libsqlite')!),
);
}).openDatabase(
Directory.current.uri.resolve('jadb.sqlite').path,
options: OpenDatabaseOptions(
onOpen: (db) {
db.execute("PRAGMA foreign_keys = ON");
},
),
);
await addDataFromJMdict(db);
await addDataFromRADKFILE(db);
@ -74,9 +82,17 @@ class QueryKanji extends Command {
final db = await createDatabaseFactoryFfi(ffiInit: () {
open.overrideForAll(
() => DynamicLibrary.open(argResults!.option('libsqlite')!));
() => DynamicLibrary.open(argResults!.option('libsqlite')!),
);
}).openDatabase(
Directory.current.uri.resolve(argResults!.option('jadb')!).path);
Directory.current.uri.resolve(argResults!.option('jadb')!).path,
options: OpenDatabaseOptions(
readOnly: true,
onOpen: (db) {
db.execute("PRAGMA foreign_keys = ON");
},
),
);
final result = await JaDBConnection(db).searchKanji('');
@ -106,11 +122,19 @@ class QueryWord extends Command {
final db = await createDatabaseFactoryFfi(ffiInit: () {
open.overrideForAll(
() => DynamicLibrary.open(argResults!.option('libsqlite')!));
() => DynamicLibrary.open(argResults!.option('libsqlite')!),
);
}).openDatabase(
Directory.current.uri.resolve(argResults!.option('jadb')!).path);
Directory.current.uri.resolve(argResults!.option('jadb')!).path,
options: OpenDatabaseOptions(
readOnly: true,
onOpen: (db) {
db.execute("PRAGMA foreign_keys = ON");
},
),
);
final result = await JaDBConnection(db).searchWord('かな');
final result = await JaDBConnection(db).searchWord('kana');
if (result == null) {
print("Invalid search");