diff --git a/lib/search/word_search/data_query.dart b/lib/search/word_search/data_query.dart index b4fb372..1bb876a 100644 --- a/lib/search/word_search/data_query.dart +++ b/lib/search/word_search/data_query.dart @@ -120,9 +120,7 @@ Future fetchLinearWordQueryData( ON "${JMdictTableNames.senseAntonyms}"."xrefEntryId" = "JMdict_BaseAndFurigana"."entryId" WHERE "senseId" IN (${List.filled(senseIds.length, '?').join(',')}) - AND COALESCE("JMdict_BaseAndFurigana"."kanjiOrderNum", 1) - + "JMdict_BaseAndFurigana"."readingOrderNum" - = 2 + AND "JMdict_BaseAndFurigana"."isFirst" ORDER BY "${JMdictTableNames.senseAntonyms}"."senseId", "${JMdictTableNames.senseAntonyms}"."xrefEntryId" @@ -213,9 +211,7 @@ Future fetchLinearWordQueryData( ON "${JMdictTableNames.senseSeeAlso}"."xrefEntryId" = "JMdict_BaseAndFurigana"."entryId" WHERE "senseId" IN (${List.filled(senseIds.length, '?').join(',')}) - AND COALESCE("JMdict_BaseAndFurigana"."kanjiOrderNum", 1) - + "JMdict_BaseAndFurigana"."readingOrderNum" - = 2 + AND "JMdict_BaseAndFurigana"."isFirst" ORDER BY "${JMdictTableNames.senseSeeAlso}"."senseId", "${JMdictTableNames.senseSeeAlso}"."xrefEntryId" diff --git a/migrations/0010_Views.sql b/migrations/0010_Views.sql index a9518b9..7c60a83 100644 --- a/migrations/0010_Views.sql +++ b/migrations/0010_Views.sql @@ -14,7 +14,7 @@ SELECT FROM "JMdict_SenseGlossary" JOIN "JMdict_Sense" USING("senseId"); -CREATE VIEW "JMdict_BaseAndFurigana"("entryId", "base", "furigana", "kanjiOrderNum", "readingOrderNum") +CREATE VIEW "JMdict_BaseAndFurigana"("entryId", "base", "furigana", "isFirst", "kanjiOrderNum", "readingOrderNum") AS SELECT "JMdict_Entry"."entryId" AS "entryId", @@ -32,6 +32,10 @@ SELECT THEN "JMdict_ReadingElement"."reading" ELSE NULL END AS "furigana", + COALESCE("JMdict_KanjiElement"."orderNum", 1) + + "JMdict_ReadingElement"."orderNum" + = 2 + AS "isFirst", "JMdict_KanjiElement"."orderNum" AS "kanjiOrderNum", "JMdict_ReadingElement"."orderNum" AS "readingOrderNum" FROM "JMdict_Entry"