WIP
Some checks failed
Build and test / build (push) Failing after 17m17s

This commit is contained in:
2026-04-06 12:55:40 +09:00
parent c74a5f5cb6
commit 7bacfc39a8
5 changed files with 44 additions and 43 deletions

View File

@@ -10,8 +10,9 @@ import 'package:sqflite_common/sqlite_api.dart';
class ResolvedXref {
Entry entry;
bool ambiguous;
int? senseOrderNum;
ResolvedXref(this.entry, this.ambiguous);
ResolvedXref(this.entry, this.ambiguous, senseOrderNum);
}
/// Resolves an xref (pair of kanji, optionally reading, and optionally sense number) to an a specific
@@ -74,9 +75,10 @@ ResolvedXref resolveXref(
'kanjiRef: ${xref.kanjiRef}, readingRef: ${xref.readingRef}, '
'senseOrderNum: ${xref.senseOrderNum}',
);
return ResolvedXref(candidateEntries.first, true);
return ResolvedXref(candidateEntries.first, true, xref.senseOrderNum);
} else {
return ResolvedXref(candidateEntries.first, false);
return ResolvedXref(candidateEntries.first, false, xref.senseOrderNum);
}
}
@@ -161,14 +163,14 @@ Future<void> seedJMDictData(List<Entry> entries, Database db) async {
b.insert(JMdictTableNames.senseRestrictedToKanji, {
'entryId': e.entryId,
'senseId': s.senseId,
'kanji': rk,
'kanjiOrderNum': e.kanji.indexWhere((k) => k.reading == rk) + 1,
});
}
for (final rr in s.restrictedToReading) {
b.insert(JMdictTableNames.senseRestrictedToReading, {
'entryId': e.entryId,
'senseId': s.senseId,
'reading': rr,
'readingOrderNum': e.readings.indexWhere((r) => r.reading == rr) + 1,
});
}
for (final ls in s.languageSource) {
@@ -229,9 +231,7 @@ Future<void> seedJMDictData(List<Entry> entries, Database db) async {
b.insert(JMdictTableNames.senseSeeAlso, {
'senseId': s.senseId,
'xrefEntryId': resolvedEntry.entry.entryId,
'seeAlsoKanji': xref.kanjiRef,
'seeAlsoReading': xref.readingRef,
'seeAlsoSense': xref.senseOrderNum,
'xrefSenseOrderNum': resolvedEntry.senseOrderNum,
'ambiguous': resolvedEntry.ambiguous,
});
}
@@ -256,9 +256,6 @@ Future<void> seedJMDictData(List<Entry> entries, Database db) async {
b.insert(JMdictTableNames.senseAntonyms, {
'senseId': s.senseId,
'xrefEntryId': resolvedEntry.entry.entryId,
'antonymKanji': ant.kanjiRef,
'antonymReading': ant.readingRef,
'antonymSense': ant.senseOrderNum,
'ambiguous': resolvedEntry.ambiguous,
});
}

View File

@@ -27,6 +27,7 @@ Future<Database> openLocalDb({
await db.execute('PRAGMA journal_mode = WAL');
}
await db.execute('PRAGMA foreign_keys = ON');
await db.execute("SELECT icu_load_collation('ja_JP', 'japanese')");
},
readOnly: !readWrite,
),