created adjacency list for recipie and ingredient
- Added pl/PGSQL functions for finding pairs that are connected - Added tables for each adjacency list (RecipeConnection & IngredientConnection) - Added table to keep track of recipes that have not been merged into the graph yet - Added function to update adjacency list with new recipes
This commit is contained in:
@@ -1 +1,42 @@
|
||||
CREATE EXTENSION plpython3u
|
||||
CREATE EXTENSION plpython3u;
|
||||
|
||||
DROP FUNCTION text_pairs;
|
||||
CREATE OR REPLACE FUNCTION text_pairs(list TEXT[])
|
||||
RETURNS SETOF TEXT[]
|
||||
LANGUAGE plpgsql AS
|
||||
$$
|
||||
DECLARE
|
||||
x TEXT;
|
||||
y TEXT;
|
||||
BEGIN
|
||||
for x, y in(
|
||||
SELECT *
|
||||
FROM unnest(list) a
|
||||
CROSS JOIN unnest(list) b
|
||||
WHERE a > b)
|
||||
LOOP
|
||||
RETURN NEXT ARRAY [x, y];
|
||||
END LOOP;
|
||||
END;
|
||||
$$;
|
||||
|
||||
|
||||
DROP FUNCTION int_pairs;
|
||||
CREATE OR REPLACE FUNCTION int_pairs(list INTEGER[])
|
||||
RETURNS SETOF INTEGER[]
|
||||
LANGUAGE plpgsql AS
|
||||
$$
|
||||
DECLARE
|
||||
x INTEGER;
|
||||
y INTEGER;
|
||||
BEGIN
|
||||
for x, y in(
|
||||
SELECT *
|
||||
FROM unnest(list) a
|
||||
CROSS JOIN unnest(list) b
|
||||
WHERE a > b)
|
||||
LOOP
|
||||
RETURN NEXT ARRAY [x, y];
|
||||
END LOOP;
|
||||
END;
|
||||
$$;
|
||||
Reference in New Issue
Block a user