From c278460da98993c4426f9cd9a583c14dc7d81090 Mon Sep 17 00:00:00 2001 From: Kirill Kamakin Date: Sun, 13 Nov 2022 10:00:08 +0100 Subject: [PATCH] Replace full text search with pattern matching --- .../kotlin/gq/kirmanak/mealient/database/AppDb.kt | 4 +--- .../kirmanak/mealient/database/recipe/RecipeDao.kt | 2 +- .../recipe/entity/RecipeSummaryFtsEntity.kt | 13 ------------- 3 files changed, 2 insertions(+), 17 deletions(-) delete mode 100644 database/src/main/kotlin/gq/kirmanak/mealient/database/recipe/entity/RecipeSummaryFtsEntity.kt diff --git a/database/src/main/kotlin/gq/kirmanak/mealient/database/AppDb.kt b/database/src/main/kotlin/gq/kirmanak/mealient/database/AppDb.kt index 239d072..d54cd7e 100644 --- a/database/src/main/kotlin/gq/kirmanak/mealient/database/AppDb.kt +++ b/database/src/main/kotlin/gq/kirmanak/mealient/database/AppDb.kt @@ -6,13 +6,12 @@ import gq.kirmanak.mealient.database.recipe.RecipeDao import gq.kirmanak.mealient.database.recipe.entity.* @Database( - version = 7, + version = 6, entities = [ RecipeSummaryEntity::class, RecipeEntity::class, RecipeIngredientEntity::class, RecipeInstructionEntity::class, - RecipeSummaryFtsEntity::class, ], exportSchema = true, autoMigrations = [ @@ -20,7 +19,6 @@ import gq.kirmanak.mealient.database.recipe.entity.* AutoMigration(from = 3, to = 4), AutoMigration(from = 4, to = 5, spec = AppDb.From4To5Migration::class), AutoMigration(from = 5, to = 6, spec = AppDb.From5To6Migration::class), - AutoMigration(from = 6, to = 7), ] ) @TypeConverters(RoomTypeConverters::class) diff --git a/database/src/main/kotlin/gq/kirmanak/mealient/database/recipe/RecipeDao.kt b/database/src/main/kotlin/gq/kirmanak/mealient/database/recipe/RecipeDao.kt index d105404..fe44c45 100644 --- a/database/src/main/kotlin/gq/kirmanak/mealient/database/recipe/RecipeDao.kt +++ b/database/src/main/kotlin/gq/kirmanak/mealient/database/recipe/RecipeDao.kt @@ -9,7 +9,7 @@ interface RecipeDao { @Query("SELECT * FROM recipe_summaries ORDER BY date_added DESC") fun queryRecipesByPages(): PagingSource - @Query("SELECT * FROM recipe_summaries JOIN recipe_summaries_fts ON recipe_summaries_fts.remote_id == recipe_summaries.remote_id WHERE recipe_summaries_fts.name MATCH :query ORDER BY date_added DESC") + @Query("SELECT * FROM recipe_summaries WHERE recipe_summaries.name LIKE '%' || :query || '%' ORDER BY date_added DESC") fun queryRecipesByPages(query: String): PagingSource @Insert(onConflict = OnConflictStrategy.REPLACE) diff --git a/database/src/main/kotlin/gq/kirmanak/mealient/database/recipe/entity/RecipeSummaryFtsEntity.kt b/database/src/main/kotlin/gq/kirmanak/mealient/database/recipe/entity/RecipeSummaryFtsEntity.kt deleted file mode 100644 index 8336c1b..0000000 --- a/database/src/main/kotlin/gq/kirmanak/mealient/database/recipe/entity/RecipeSummaryFtsEntity.kt +++ /dev/null @@ -1,13 +0,0 @@ -package gq.kirmanak.mealient.database.recipe.entity - -import androidx.room.ColumnInfo -import androidx.room.Entity -import androidx.room.Fts4 - - -@Entity(tableName = "recipe_summaries_fts") -@Fts4(contentEntity = RecipeSummaryEntity::class) -data class RecipeSummaryFtsEntity( - @ColumnInfo(name = "remote_id") val remoteId: String, - @ColumnInfo(name = "name") val name: String, -)