mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-10-14 18:15:41 +00:00
move docker files to root
This commit is contained in:
1 parent
5c7636e4c7
commit
c619c0235d
8 files changed
+20
-10
No files matched your search
@@ -0,0 +1,8 @@
|
||||
DROP TABLE IF EXISTS item;
|
||||
CREATE TABLE item
|
||||
(
|
||||
name character varying(100) NOT NULL,
|
||||
sell_in numeric(6) NOT NULL,
|
||||
quality numeric(6) NOT NULL
|
||||
);
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
DROP PROCEDURE IF EXISTS new_item;
|
||||
CREATE PROCEDURE new_item(
|
||||
name item.name%TYPE,
|
||||
sell_in item.sell_in%TYPE,
|
||||
quality item.quality%TYPE
|
||||
)
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
BEGIN
|
||||
INSERT INTO item (name, sell_in, quality) VALUES (name, sell_in, quality);
|
||||
END;
|
||||
$$;
|
||||
@@ -0,0 +1,72 @@
|
||||
CREATE OR REPLACE PROCEDURE update_quality()
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
c_items CURSOR FOR
|
||||
SELECT name, sell_in, quality FROM item FOR UPDATE;
|
||||
l_item RECORD;
|
||||
l_name item.name%TYPE;
|
||||
l_sell_in item.sell_in%TYPE;
|
||||
l_quality item.quality%TYPE;
|
||||
BEGIN
|
||||
OPEN c_items;
|
||||
LOOP
|
||||
FETCH c_items INTO l_item;
|
||||
EXIT WHEN NOT FOUND;
|
||||
|
||||
l_name := l_item.name;
|
||||
l_sell_in := l_item.sell_in;
|
||||
l_quality := l_item.quality;
|
||||
|
||||
IF l_name <> 'Aged Brie' AND l_name <> 'Backstage passes to a TAFKAL80ETC concert' THEN
|
||||
IF l_quality > 0 THEN
|
||||
IF l_name <> 'Sulfuras, Hand of Ragnaros' THEN
|
||||
l_quality := l_quality - 1;
|
||||
END IF;
|
||||
END IF;
|
||||
ELSE
|
||||
IF (l_quality < 50) THEN
|
||||
l_quality := l_quality + 1;
|
||||
IF l_name = 'Backstage passes to a TAFKAL80ETC concert' THEN
|
||||
IF l_sell_in < 11 THEN
|
||||
IF l_quality < 50 THEN
|
||||
l_quality := l_quality + 1;
|
||||
END IF;
|
||||
END IF;
|
||||
IF l_sell_in < 6 THEN
|
||||
IF l_quality < 50 THEN
|
||||
l_quality := l_quality + 1;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF l_name <> 'Sulfuras, Hand of Ragnaros' THEN
|
||||
l_sell_in := l_sell_in - 1;
|
||||
END IF;
|
||||
|
||||
IF l_sell_in < 0 THEN
|
||||
IF l_name <> 'Aged Brie' THEN
|
||||
IF l_name <> 'Backstage passes to a TAFKAL80ETC concert' THEN
|
||||
IF l_quality > 0 THEN
|
||||
IF l_name <> 'Sulfuras, Hand of Ragnaros' THEN
|
||||
l_quality := l_quality - 1;
|
||||
END IF;
|
||||
END IF;
|
||||
ELSE
|
||||
l_quality := l_quality - l_quality;
|
||||
END IF;
|
||||
ELSE
|
||||
IF l_quality < 50 THEN
|
||||
l_quality := l_quality + 1;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
UPDATE item
|
||||
SET name = l_name, sell_in = l_sell_in, quality = l_quality WHERE CURRENT OF c_items;
|
||||
END LOOP;
|
||||
CLOSE c_items;
|
||||
END;
|
||||
$$;
|
||||
Reference in new issue
Block a user