Fix duplicate key in search suggestions

This commit is contained in:
FooIbar committed 2024-05-05 01:59:49 +08:00
1 parent 97d5642427
commit 31aea1cdbf
2 files changed
+5 -5

No files matched your search

@@ -12,11 +12,11 @@ interface SearchDao {
@Query("DELETE FROM suggestions WHERE `query` = :query")
suspend fun deleteQuery(query: String)
@Query("SELECT * FROM suggestions WHERE `query` LIKE :prefix || '%' ORDER BY date DESC LIMIT :limit")
suspend fun rawSuggestions(prefix: String, limit: Int): Array<Search>
@Query("SELECT DISTINCT `query` FROM suggestions WHERE `query` LIKE :prefix || '%' ORDER BY date DESC LIMIT :limit")
suspend fun rawSuggestions(prefix: String, limit: Int): List<String>
@Query("SELECT * FROM suggestions ORDER BY date DESC LIMIT :limit")
suspend fun list(limit: Int): Array<Search>
@Query("SELECT DISTINCT `query` FROM suggestions ORDER BY date DESC LIMIT :limit")
suspend fun list(limit: Int): List<String>
@Insert
suspend fun insert(search: Search)
@@ -97,7 +97,7 @@ abstract class Suggestion {
}
suspend fun SearchDao.suggestions(prefix: String, limit: Int) =
(if (prefix.isBlank()) list(limit) else rawSuggestions(prefix, limit)).map { it.query }
(if (prefix.isBlank()) list(limit) else rawSuggestions(prefix, limit))
@Composable
fun SearchBarScreen(