Consistently use senseId name everywhere
This commit is contained in:
@@ -161,7 +161,7 @@ class XRef {
|
||||
}
|
||||
|
||||
class Sense extends SQLWritable {
|
||||
final int id;
|
||||
final int senseId;
|
||||
final int orderNum;
|
||||
final List<XRefParts> antonyms;
|
||||
final List<String> dialects;
|
||||
@@ -176,7 +176,7 @@ class Sense extends SQLWritable {
|
||||
final List<XRefParts> seeAlso;
|
||||
|
||||
const Sense({
|
||||
required this.id,
|
||||
required this.senseId,
|
||||
required this.orderNum,
|
||||
this.antonyms = const [],
|
||||
this.dialects = const [],
|
||||
@@ -193,7 +193,7 @@ class Sense extends SQLWritable {
|
||||
|
||||
@override
|
||||
Map<String, Object?> get sqlValue => {
|
||||
'id': id,
|
||||
'senseId': senseId,
|
||||
'orderNum': orderNum,
|
||||
};
|
||||
|
||||
|
||||
@@ -132,43 +132,43 @@ Future<void> seedJMDictData(List<Entry> entries, Database db) async {
|
||||
for (final d in s.dialects) {
|
||||
b.insert(
|
||||
JMdictTableNames.senseDialect,
|
||||
{'senseId': s.id, 'dialect': d},
|
||||
{'senseId': s.senseId, 'dialect': d},
|
||||
);
|
||||
}
|
||||
for (final f in s.fields) {
|
||||
b.insert(JMdictTableNames.senseField, {'senseId': s.id, 'field': f});
|
||||
b.insert(JMdictTableNames.senseField, {'senseId': s.senseId, 'field': f});
|
||||
}
|
||||
for (final i in s.info) {
|
||||
b.insert(JMdictTableNames.senseInfo, {'senseId': s.id, 'info': i});
|
||||
b.insert(JMdictTableNames.senseInfo, {'senseId': s.senseId, 'info': i});
|
||||
}
|
||||
for (final m in s.misc) {
|
||||
b.insert(JMdictTableNames.senseMisc, {'senseId': s.id, 'misc': m});
|
||||
b.insert(JMdictTableNames.senseMisc, {'senseId': s.senseId, 'misc': m});
|
||||
}
|
||||
for (final p in s.pos) {
|
||||
b.insert(JMdictTableNames.sensePOS, {'senseId': s.id, 'pos': p});
|
||||
b.insert(JMdictTableNames.sensePOS, {'senseId': s.senseId, 'pos': p});
|
||||
}
|
||||
for (final rk in s.restrictedToKanji) {
|
||||
b.insert(
|
||||
JMdictTableNames.senseRestrictedToKanji,
|
||||
{'entryId': e.entryId, 'senseId': s.id, 'kanji': rk},
|
||||
{'entryId': e.entryId, 'senseId': s.senseId, 'kanji': rk},
|
||||
);
|
||||
}
|
||||
for (final rr in s.restrictedToReading) {
|
||||
b.insert(
|
||||
JMdictTableNames.senseRestrictedToReading,
|
||||
{'entryId': e.entryId, 'senseId': s.id, 'reading': rr},
|
||||
{'entryId': e.entryId, 'senseId': s.senseId, 'reading': rr},
|
||||
);
|
||||
}
|
||||
for (final ls in s.languageSource) {
|
||||
b.insert(
|
||||
JMdictTableNames.senseLanguageSource,
|
||||
ls.sqlValue..addAll({'senseId': s.id}),
|
||||
ls.sqlValue..addAll({'senseId': s.senseId}),
|
||||
);
|
||||
}
|
||||
for (final g in s.glossary) {
|
||||
b.insert(
|
||||
JMdictTableNames.senseGlossary,
|
||||
g.sqlValue..addAll({'senseId': s.id}),
|
||||
g.sqlValue..addAll({'senseId': s.senseId}),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -214,7 +214,7 @@ Future<void> seedJMDictData(List<Entry> entries, Database db) async {
|
||||
b.insert(
|
||||
JMdictTableNames.senseSeeAlso,
|
||||
{
|
||||
'senseId': s.id,
|
||||
'senseId': s.senseId,
|
||||
'xrefEntryId': resolvedEntry.entry.entryId,
|
||||
'seeAlsoKanji': xref.kanjiRef,
|
||||
'seeAlsoReading': xref.readingRef,
|
||||
@@ -232,7 +232,7 @@ Future<void> seedJMDictData(List<Entry> entries, Database db) async {
|
||||
);
|
||||
|
||||
b.insert(JMdictTableNames.senseAntonyms, {
|
||||
'senseId': s.id,
|
||||
'senseId': s.senseId,
|
||||
'xrefEntryId': resolvedEntry.entry.entryId,
|
||||
'antonymKanji': ant.kanjiRef,
|
||||
'antonymReading': ant.readingRef,
|
||||
|
||||
@@ -127,7 +127,7 @@ List<Entry> parseJMDictData(XmlElement root) {
|
||||
for (final (orderNum, sense) in entry.findElements('sense').indexed) {
|
||||
senseId++;
|
||||
final result = Sense(
|
||||
id: senseId,
|
||||
senseId: senseId,
|
||||
orderNum: orderNum + 1,
|
||||
restrictedToKanji:
|
||||
sense.findElements('stagk').map((e) => e.innerText).toList(),
|
||||
|
||||
@@ -37,7 +37,7 @@ Future<List<(int, String)>> _findSenseCandidates(
|
||||
db
|
||||
.rawQuery('SELECT entryId, phrase '
|
||||
'FROM ${JMdictTableNames.senseGlossary} '
|
||||
'JOIN ${JMdictTableNames.sense} ON ${JMdictTableNames.senseGlossary}.senseId = ${JMdictTableNames.sense}.id '
|
||||
'JOIN ${JMdictTableNames.sense} USING (senseId)'
|
||||
'WHERE phrase IN (${word.meanings.map((e) => escapeStringValue(e)).join(',')})')
|
||||
.then((rows) => rows
|
||||
.map((row) => (row['entryId'] as int, row['phrase'] as String))
|
||||
|
||||
@@ -81,7 +81,7 @@ Future<List<WordSearchResult>?> searchWordWithDbConnection(
|
||||
|
||||
// Sense queries
|
||||
|
||||
final senseIds = senses.map((element) => element['id'] as int).toList();
|
||||
final senseIds = senses.map((sense) => sense['senseId'] as int).toList();
|
||||
|
||||
late final List<Map<String, Object?>> senseAntonyms;
|
||||
final Future<List<Map<String, Object?>>> senseAntonyms_query =
|
||||
@@ -450,7 +450,7 @@ List<WordSearchSense> _regroup_senses({
|
||||
|
||||
final List<WordSearchSense> result = [];
|
||||
for (final sense in senses) {
|
||||
final int senseId = sense['id'] as int;
|
||||
final int senseId = sense['senseId'] as int;
|
||||
|
||||
final antonyms = groupedSenseAntonyms[senseId] ?? [];
|
||||
final dialects = groupedSenseDialects[senseId] ?? [];
|
||||
|
||||
@@ -99,7 +99,7 @@ CREATE TABLE "JMdict_ReadingElementInfo" (
|
||||
-- Sense
|
||||
|
||||
CREATE TABLE "JMdict_Sense" (
|
||||
"id" INTEGER PRIMARY KEY,
|
||||
"senseId" INTEGER PRIMARY KEY,
|
||||
"entryId" INTEGER NOT NULL REFERENCES "JMdict_Entry"("entryId"),
|
||||
"orderNum" INTEGER NOT NULL,
|
||||
UNIQUE("entryId", "orderNum")
|
||||
@@ -109,7 +109,7 @@ CREATE INDEX "JMdict_Sense_byEntryId_byOrderNum" ON "JMdict_Sense"("entryId", "o
|
||||
|
||||
CREATE TABLE "JMdict_SenseRestrictedToKanji" (
|
||||
"entryId" INTEGER NOT NULL,
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("id"),
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("senseId"),
|
||||
"kanji" TEXT NOT NULL,
|
||||
FOREIGN KEY ("entryId", "kanji") REFERENCES "JMdict_KanjiElement"("entryId", "reading"),
|
||||
PRIMARY KEY ("entryId", "senseId", "kanji")
|
||||
@@ -117,7 +117,7 @@ CREATE TABLE "JMdict_SenseRestrictedToKanji" (
|
||||
|
||||
CREATE TABLE "JMdict_SenseRestrictedToReading" (
|
||||
"entryId" INTEGER NOT NULL,
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("id"),
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("senseId"),
|
||||
"reading" TEXT NOT NULL,
|
||||
FOREIGN KEY ("entryId", "reading") REFERENCES "JMdict_ReadingElement"("entryId", "reading"),
|
||||
PRIMARY KEY ("entryId", "senseId", "reading")
|
||||
@@ -134,7 +134,7 @@ CREATE TABLE "JMdict_SenseRestrictedToReading" (
|
||||
-- These two things also concern "SenseAntonym"
|
||||
|
||||
CREATE TABLE "JMdict_SenseSeeAlso" (
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("id"),
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("senseId"),
|
||||
"xrefEntryId" INTEGER NOT NULL,
|
||||
"seeAlsoReading" TEXT,
|
||||
"seeAlsoKanji" TEXT,
|
||||
@@ -150,7 +150,7 @@ CREATE TABLE "JMdict_SenseSeeAlso" (
|
||||
);
|
||||
|
||||
CREATE TABLE "JMdict_SenseAntonym" (
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("id"),
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("senseId"),
|
||||
"xrefEntryId" INTEGER NOT NULL,
|
||||
"antonymReading" TEXT,
|
||||
"antonymKanji" TEXT,
|
||||
@@ -170,7 +170,7 @@ CREATE INDEX "JMdict_SenseSeeAlso_bySenseId" ON "JMdict_SenseSeeAlso"("senseId")
|
||||
CREATE INDEX "JMdict_SenseAntonym_bySenseId" ON "JMdict_SenseAntonym"("senseId");
|
||||
|
||||
CREATE TABLE "JMdict_SensePOS" (
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("id"),
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("senseId"),
|
||||
"pos" TEXT NOT NULL REFERENCES "JMdict_InfoPOS"("id"),
|
||||
PRIMARY KEY ("senseId", "pos")
|
||||
) WITHOUT ROWID;
|
||||
@@ -178,19 +178,19 @@ CREATE TABLE "JMdict_SensePOS" (
|
||||
CREATE TABLE "JMdict_SenseField" (
|
||||
"senseId" INTEGER NOT NULL,
|
||||
"field" TEXT NOT NULL,
|
||||
FOREIGN KEY ("senseId") REFERENCES "JMdict_Sense"("id"),
|
||||
FOREIGN KEY ("senseId") REFERENCES "JMdict_Sense"("senseId"),
|
||||
FOREIGN KEY ("field") REFERENCES "JMdict_InfoField"("id"),
|
||||
PRIMARY KEY ("senseId", "field")
|
||||
) WITHOUT ROWID;
|
||||
|
||||
CREATE TABLE "JMdict_SenseMisc" (
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("id"),
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("senseId"),
|
||||
"misc" TEXT NOT NULL REFERENCES "JMdict_InfoMisc"("id"),
|
||||
PRIMARY KEY ("senseId", "misc")
|
||||
) WITHOUT ROWID;
|
||||
|
||||
CREATE TABLE "JMdict_SenseLanguageSource" (
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("id"),
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("senseId"),
|
||||
"language" CHAR(3) NOT NULL DEFAULT "eng",
|
||||
"phrase" TEXT,
|
||||
"fullyDescribesSense" BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
@@ -199,7 +199,7 @@ CREATE TABLE "JMdict_SenseLanguageSource" (
|
||||
);
|
||||
|
||||
CREATE TABLE "JMdict_SenseDialect" (
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("id"),
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("senseId"),
|
||||
"dialect" TEXT NOT NULL REFERENCES "JMdict_InfoDialect"("id"),
|
||||
PRIMARY KEY ("senseId", "dialect")
|
||||
) WITHOUT ROWID;
|
||||
@@ -210,7 +210,7 @@ CREATE TABLE "JMdict_SenseDialect" (
|
||||
-- will be omitted.
|
||||
|
||||
CREATE TABLE "JMdict_SenseGlossary" (
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("id"),
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("senseId"),
|
||||
"phrase" TEXT NOT NULL,
|
||||
"language" CHAR(3) NOT NULL DEFAULT "eng",
|
||||
"type" TEXT,
|
||||
@@ -220,7 +220,7 @@ CREATE TABLE "JMdict_SenseGlossary" (
|
||||
CREATE INDEX "JMdict_SenseGlossary_byPhrase" ON JMdict_SenseGlossary("phrase");
|
||||
|
||||
CREATE TABLE "JMdict_SenseInfo" (
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("id"),
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("senseId"),
|
||||
"info" TEXT NOT NULL,
|
||||
PRIMARY KEY ("senseId", "info")
|
||||
) WITHOUT ROWID;
|
||||
@@ -229,7 +229,7 @@ CREATE TABLE "JMdict_SenseInfo" (
|
||||
-- the Tanaka Corpus, so I will leave the type out for now.
|
||||
|
||||
CREATE TABLE "JMdict_ExampleSentence" (
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("id"),
|
||||
"senseId" INTEGER NOT NULL REFERENCES "JMdict_Sense"("senseId"),
|
||||
"word" TEXT NOT NULL,
|
||||
"source" TEXT NOT NULL,
|
||||
"sourceLanguage" CHAR(3) NOT NULL DEFAULT "eng",
|
||||
|
||||
Reference in New Issue
Block a user