From c45561736288d8bb32d3d6f0a9dc8a1ee386e1ee Mon Sep 17 00:00:00 2001 From: Emi Matchu Date: Tue, 20 Feb 2024 16:31:45 -0800 Subject: [PATCH] Migrate away from item translations for item search --- src/server/loaders.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/server/loaders.js b/src/server/loaders.js index cca9df9..3793d14 100644 --- a/src/server/loaders.js +++ b/src/server/loaders.js @@ -308,7 +308,9 @@ function buildItemSearchConditions({ continue; } - const condition = isNegative ? "t.name NOT LIKE ?" : "t.name LIKE ?"; + const condition = isNegative + ? "items.name NOT LIKE ?" + : "items.name LIKE ?"; const matcher = "%" + word.replace(/_%/g, "\\$0") + "%"; wordMatchConditions.push(condition); @@ -336,7 +338,6 @@ function buildItemSearchConditions({ : []; const queryJoins = ` - INNER JOIN item_translations t ON t.item_id = items.id INNER JOIN parents_swf_assets rel ON rel.parent_type = "Item" AND rel.parent_id = items.id INNER JOIN swf_assets ON rel.swf_asset_id = swf_assets.id @@ -346,7 +347,7 @@ function buildItemSearchConditions({ const queryConditions = ` (${wordMatchCondition}) AND (${bodyIdCondition}) AND (${zoneIdsCondition}) AND (${itemKindCondition}) AND - (${currentUserCondition}) AND t.locale = "en" + (${currentUserCondition}) `; const queryConditionValues = [ ...wordMatchValues, @@ -430,10 +431,10 @@ const buildItemSearchItemsLoader = (db, loaders) => const [rows] = await db.execute( ` - SELECT DISTINCT items.*, t.name FROM items + SELECT DISTINCT items.* FROM items ${queryJoins} WHERE ${queryConditions} - ORDER BY t.name + ORDER BY items.name LIMIT ? OFFSET ? `, [...queryConditionValues, actualLimit, actualOffset],