lib/search/word: fix english sql query
This commit is contained in:
@@ -133,13 +133,22 @@ Future<List<ScoredEntryId>> fetchEntryIds(
|
||||
break;
|
||||
|
||||
case SearchMode.English:
|
||||
entryIds = (await connection.query(
|
||||
JMdictTableNames.senseGlossary,
|
||||
columns: ['entryId'],
|
||||
where: 'english LIKE ?',
|
||||
whereArgs: ['%$word%'],
|
||||
limit: pageSize,
|
||||
offset: offset,
|
||||
entryIds = (await connection.rawQuery(
|
||||
'''
|
||||
SELECT DISTINCT
|
||||
"${JMdictTableNames.sense}"."entryId"
|
||||
FROM "${JMdictTableNames.senseGlossary}"
|
||||
JOIN "${JMdictTableNames.sense}" USING ("senseId")
|
||||
WHERE "${JMdictTableNames.senseGlossary}"."phrase" LIKE ?
|
||||
LIMIT ?
|
||||
OFFSET ?
|
||||
'''
|
||||
.trim(),
|
||||
[
|
||||
'%$word%',
|
||||
pageSize,
|
||||
offset,
|
||||
],
|
||||
))
|
||||
.map((row) => ScoredEntryId(
|
||||
row['entryId'] as int,
|
||||
@@ -200,13 +209,19 @@ Future<int?> fetchEntryIdCount(
|
||||
break;
|
||||
|
||||
case SearchMode.English:
|
||||
entryIdCount = (await connection.query(
|
||||
JMdictTableNames.senseGlossary,
|
||||
columns: ['COUNT(DISTINCT entryId)'],
|
||||
where: 'english LIKE ?',
|
||||
whereArgs: ['%$word%'],
|
||||
entryIdCount = (await connection.rawQuery(
|
||||
'''
|
||||
SELECT COUNT(DISTINCT "${JMdictTableNames.sense}"."entryId") AS "count"
|
||||
FROM "${JMdictTableNames.senseGlossary}"
|
||||
JOIN "${JMdictTableNames.sense}" USING ("senseId")
|
||||
WHERE "${JMdictTableNames.senseGlossary}"."phrase" LIKE ?
|
||||
'''
|
||||
.trim(),
|
||||
[
|
||||
'%$word%',
|
||||
],
|
||||
))
|
||||
.firstOrNull?['COUNT(DISTINCT entryId)'] as int?;
|
||||
.firstOrNull?['count'] as int?;
|
||||
break;
|
||||
|
||||
case SearchMode.MixedKana:
|
||||
|
||||
Reference in New Issue
Block a user