Fixed recipes_nestings_resolved recursive serving calculation (fixes #2361)

This commit is contained in:
Bernd Bestel
2025-01-13 21:37:16 +01:00
parent c8ccc0b529
commit cc40344845
2 changed files with 28 additions and 1 deletions

26
migrations/0243.sql Normal file
View File

@@ -0,0 +1,26 @@
DROP VIEW recipes_nestings_resolved;
CREATE VIEW recipes_nestings_resolved
AS
WITH RECURSIVE r1(recipe_id, includes_recipe_id, includes_servings, level)
AS (
SELECT
id AS recipe_id,
id AS includes_recipe_id,
1 AS includes_servings,
0 AS level
FROM recipes
UNION ALL
SELECT
rn.recipe_id,
r1.includes_recipe_id,
rn.servings * r1.includes_servings AS includes_servings,
r1.level + 1 AS level
FROM recipes_nestings rn, r1 r1
WHERE rn.includes_recipe_id = r1.recipe_id
)
SELECT
*,
1 AS id -- Dummy, LessQL needs an id column
FROM r1;