diff options
author | Masaya Tojo <masaya@tojo.tokyo> | 2023-03-04 19:44:11 +0900 |
---|---|---|
committer | Masaya Tojo <masaya@tojo.tokyo> | 2023-03-04 20:12:02 +0900 |
commit | 85aa0f7fa89cad0cd81af87336d7f9d31bb19422 (patch) | |
tree | 5f0b3662993798269085c6d7d3a04a00188214ac | |
parent | 88b7a0784e0c9e66dad26e0d85ee06ce9f7c59b9 (diff) |
Change insert_transaction signature to use integer.
-rw-r--r-- | deploy/insert_transaction.sql | 3 | ||||
-rw-r--r-- | deploy/insert_transaction@v1.0.0-dev1.sql | 24 | ||||
-rw-r--r-- | revert/insert_transaction.sql | 22 | ||||
-rw-r--r-- | revert/insert_transaction@v1.0.0-dev1.sql | 7 | ||||
-rw-r--r-- | sqitch.plan | 1 | ||||
-rw-r--r-- | verify/insert_transaction.sql | 2 | ||||
-rw-r--r-- | verify/insert_transaction@v1.0.0-dev1.sql | 7 |
7 files changed, 62 insertions, 4 deletions
diff --git a/deploy/insert_transaction.sql b/deploy/insert_transaction.sql index 851b38e..42e825d 100644 --- a/deploy/insert_transaction.sql +++ b/deploy/insert_transaction.sql @@ -4,8 +4,9 @@ BEGIN; +DROP FUNCTION kakeibo.insert_transaction(kakeibo.transaction_type, DATE, TEXT); CREATE OR REPLACE FUNCTION kakeibo.insert_transaction( - p_type kakeibo.transaction_type, + p_type INTEGER, p_date DATE, p_note TEXT ) RETURNS INTEGER AS $$ diff --git a/deploy/insert_transaction@v1.0.0-dev1.sql b/deploy/insert_transaction@v1.0.0-dev1.sql new file mode 100644 index 0000000..851b38e --- /dev/null +++ b/deploy/insert_transaction@v1.0.0-dev1.sql @@ -0,0 +1,24 @@ +-- Deploy kakeibo:insert_transaction to pg +-- requires: appschema +-- requires: transactions + +BEGIN; + +CREATE OR REPLACE FUNCTION kakeibo.insert_transaction( + p_type kakeibo.transaction_type, + p_date DATE, + p_note TEXT +) RETURNS INTEGER AS $$ +DECLARE + inserted_id INTEGER; +BEGIN + INSERT INTO kakeibo.transactions ( + type, date, note + ) VALUES ( + p_type, p_date, p_note + ) RETURNING id INTO inserted_id; + RETURN inserted_id; +END; +$$ LANGUAGE plpgsql SECURITY DEFINER; + +COMMIT; diff --git a/revert/insert_transaction.sql b/revert/insert_transaction.sql index d579ca6..d15552f 100644 --- a/revert/insert_transaction.sql +++ b/revert/insert_transaction.sql @@ -1,7 +1,25 @@ --- Revert kakeibo:insert_transaction from pg +-- Deploy kakeibo:insert_transaction to pg +-- requires: appschema +-- requires: transactions BEGIN; -DROP FUNCTION kakeibo.insert_transaction; +DROP FUNCTION kakeibo.insert_transaction(INTEGER, DATE, TEXT); +CREATE OR REPLACE FUNCTION kakeibo.insert_transaction( + p_type kakeibo.transaction_type, + p_date DATE, + p_note TEXT +) RETURNS INTEGER AS $$ +DECLARE + inserted_id INTEGER; +BEGIN + INSERT INTO kakeibo.transactions ( + type, date, note + ) VALUES ( + p_type, p_date, p_note + ) RETURNING id INTO inserted_id; + RETURN inserted_id; +END; +$$ LANGUAGE plpgsql SECURITY DEFINER; COMMIT; diff --git a/revert/insert_transaction@v1.0.0-dev1.sql b/revert/insert_transaction@v1.0.0-dev1.sql new file mode 100644 index 0000000..d579ca6 --- /dev/null +++ b/revert/insert_transaction@v1.0.0-dev1.sql @@ -0,0 +1,7 @@ +-- Revert kakeibo:insert_transaction from pg + +BEGIN; + +DROP FUNCTION kakeibo.insert_transaction; + +COMMIT; diff --git a/sqitch.plan b/sqitch.plan index 9d0965f..ae95b66 100644 --- a/sqitch.plan +++ b/sqitch.plan @@ -15,3 +15,4 @@ transactions_update_timestamp [transactions update_timestamp] 2023-02-28T16:43:4 items_update_timestamp [items update_timestamp] 2023-02-28T17:04:02Z Masaya Tojo <masaya@tojo.tokyo> # Add update_timestamp trigger to items table. @v1.0.0-dev1 2023-03-04T09:29:02Z Masaya Tojo <masaya@tojo.tokyo> # Tag v1.0.0-dev1. transaction_type_to_integer [transactions] 2023-03-04T09:32:34Z Masaya Tojo <masaya@tojo.tokyo> # Make transaction type integer. +insert_transaction [insert_transaction@v1.0.0-dev1 appschema transactions] 2023-03-04T10:40:25Z Masaya Tojo <masaya@tojo.tokyo> # Change insert_transaction signature to use integer. diff --git a/verify/insert_transaction.sql b/verify/insert_transaction.sql index a591157..1c348f1 100644 --- a/verify/insert_transaction.sql +++ b/verify/insert_transaction.sql @@ -2,6 +2,6 @@ BEGIN; -SELECT has_function_privilege('kakeibo.insert_transaction(kakeibo.transaction_type, date, text)', 'execute'); +SELECT has_function_privilege('kakeibo.insert_transaction(INTEGER, date, text)', 'execute'); ROLLBACK; diff --git a/verify/insert_transaction@v1.0.0-dev1.sql b/verify/insert_transaction@v1.0.0-dev1.sql new file mode 100644 index 0000000..a591157 --- /dev/null +++ b/verify/insert_transaction@v1.0.0-dev1.sql @@ -0,0 +1,7 @@ +-- Verify kakeibo:insert_transaction on pg + +BEGIN; + +SELECT has_function_privilege('kakeibo.insert_transaction(kakeibo.transaction_type, date, text)', 'execute'); + +ROLLBACK; |