diff options
author | Masaya Tojo <masaya@tojo.tokyo> | 2023-02-28 22:20:46 +0900 |
---|---|---|
committer | Masaya Tojo <masaya@tojo.tokyo> | 2023-03-02 09:22:36 +0900 |
commit | 438a85fd3a2ea8dd4fa48df5537c1db2c0e90878 (patch) | |
tree | 16fe9f543dc45be32c040c4183300273fde6ba45 | |
parent | 58c00ca515142d27e3fb324539dedd75b8740bcf (diff) |
Add function to delete item.
-rw-r--r-- | deploy/delete_item.sql | 14 | ||||
-rw-r--r-- | deploy/insert_item.sql | 4 | ||||
-rw-r--r-- | revert/delete_item.sql | 7 | ||||
-rw-r--r-- | sqitch.plan | 1 | ||||
-rw-r--r-- | verify/delete_item.sql | 7 | ||||
-rw-r--r-- | verify/insert_item.sql | 2 |
6 files changed, 32 insertions, 3 deletions
diff --git a/deploy/delete_item.sql b/deploy/delete_item.sql new file mode 100644 index 0000000..51dbcf5 --- /dev/null +++ b/deploy/delete_item.sql @@ -0,0 +1,14 @@ +-- Deploy kakeibo:delete_item to pg +-- requires: appschema +-- requires: items + +BEGIN; + +CREATE OR REPLACE FUNCTION kakeibo.delete_item(p_id integer) + RETURNS VOID AS $$ +BEGIN + DELETE FROM kakeibo.items WHERE id = p_id; +END; +$$ LANGUAGE plpgsql SECURITY DEFINER; + +COMMIT; diff --git a/deploy/insert_item.sql b/deploy/insert_item.sql index a0a5b5c..7f62e14 100644 --- a/deploy/insert_item.sql +++ b/deploy/insert_item.sql @@ -4,8 +4,8 @@ BEGIN; -CREATE OR REPLACE FUNCTION kakeibo.insert_transaction( - p_transaction_id INTEER, +CREATE OR REPLACE FUNCTION kakeibo.insert_item( + p_transaction_id INTEGER, p_category TEXT, p_subcategory TEXT, p_amount INTEGER, diff --git a/revert/delete_item.sql b/revert/delete_item.sql new file mode 100644 index 0000000..d5bda39 --- /dev/null +++ b/revert/delete_item.sql @@ -0,0 +1,7 @@ +-- Revert kakeibo:delete_item from pg + +BEGIN; + +DROP FUNCTION kakeibo.delete_item; + +COMMIT; diff --git a/sqitch.plan b/sqitch.plan index ee84944..9247959 100644 --- a/sqitch.plan +++ b/sqitch.plan @@ -9,3 +9,4 @@ insert_transaction [appschema transactions] 2023-02-28T01:06:21Z Masaya Tojo <ma delete_transaction [transactions appschema] 2023-02-28T12:00:07Z Masaya Tojo <masaya@tojo.tokyo> # Create a function to delete a transaction. items [appschema transactions] 2023-02-28T12:08:45Z Masaya Tojo <masaya@tojo.tokyo> # Add items table for tracking individual products in transaction. insert_item [appschema items] 2023-02-28T13:13:22Z Masaya Tojo <masaya@tojo.tokyo> # Add function to insert item. +delete_item [appschema items] 2023-02-28T13:13:39Z Masaya Tojo <masaya@tojo.tokyo> # Add function to delete item. diff --git a/verify/delete_item.sql b/verify/delete_item.sql new file mode 100644 index 0000000..adc3a79 --- /dev/null +++ b/verify/delete_item.sql @@ -0,0 +1,7 @@ +-- Verify kakeibo:delete_item on pg + +BEGIN; + +SELECT has_function_privilege('kakeibo.delete_item(integer)', 'execute'); + +ROLLBACK; diff --git a/verify/insert_item.sql b/verify/insert_item.sql index dac4fba..03b6d05 100644 --- a/verify/insert_item.sql +++ b/verify/insert_item.sql @@ -2,6 +2,6 @@ BEGIN; -SELECT has_function_privilege('kakeibo.insert_item(kakeibo.transaction_type, date, text)', 'execute'); +SELECT has_function_privilege('kakeibo.insert_item(INTEGER, TEXT, TEXT, INTEGER, TEXT)', 'execute'); ROLLBACK; |