[open-ils-commits] [GIT] Evergreen ILS branch master updated. dc35906045b6438670eeb8d79ff2415992e56f05

Evergreen Git git at git.evergreen-ils.org
Fri Mar 4 11:32:37 EST 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, master has been updated
       via  dc35906045b6438670eeb8d79ff2415992e56f05 (commit)
       via  9f05aadd29c7f66344c146a91dfffabca381d131 (commit)
      from  22cf746ef809470e630e98b75ac1021c3925e52f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit dc35906045b6438670eeb8d79ff2415992e56f05
Author: Jason Stephenson <jstephenson at mvlc.org>
Date:   Fri Mar 4 11:31:06 2016 -0500

    LP 1533331: Stamping upgrade script.
    
    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index 915ffbe..8d6b9cd 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -91,7 +91,7 @@ CREATE TRIGGER no_overlapping_deps
     BEFORE INSERT OR UPDATE ON config.db_patch_dependencies
     FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
 
-INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0970', :eg_version); -- Dyrcona/gmcharlt
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0971', :eg_version); -- csharp/Dyrcona
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fix_protect_reserved_rows_from_delete.sql b/Open-ILS/src/sql/Pg/upgrade/0971.schema.fix_protect_reserved_rows_from_delete.sql
similarity index 82%
rename from Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fix_protect_reserved_rows_from_delete.sql
rename to Open-ILS/src/sql/Pg/upgrade/0971.schema.fix_protect_reserved_rows_from_delete.sql
index 6a527a9..56d6fc3 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fix_protect_reserved_rows_from_delete.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0971.schema.fix_protect_reserved_rows_from_delete.sql
@@ -1,6 +1,6 @@
 BEGIN;
 
-SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+SELECT evergreen.upgrade_deps_block_check('0971', :eg_version);
 
 CREATE OR REPLACE FUNCTION evergreen.protect_reserved_rows_from_delete() RETURNS trigger AS $protect_reserved$
 BEGIN

commit 9f05aadd29c7f66344c146a91dfffabca381d131
Author: Chris Sharp <csharp at georgialibraries.org>
Date:   Mon Feb 8 13:00:06 2016 -0500

    LP#1533331 - Fix evergreen.protect_reserved_rows_from_delete() trigger function
    
    The fix for bug 1513554 included creating a general trigger function to prevent
    the deletion of reserved table rows with an ID lower than a specified threshold.
    Testing for that seemed to pass muster, but using the function in practice revealed
    a failure to delete deletable rows either.
    
    This adds an explicit RETURN to the function, which fixes the issue.
    
    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>

diff --git a/Open-ILS/src/sql/Pg/000.functions.general.sql b/Open-ILS/src/sql/Pg/000.functions.general.sql
index 0cfa909..ad6182e 100644
--- a/Open-ILS/src/sql/Pg/000.functions.general.sql
+++ b/Open-ILS/src/sql/Pg/000.functions.general.sql
@@ -81,6 +81,7 @@ BEGIN
 IF OLD.id < TG_ARGV[0]::INT THEN
     RAISE EXCEPTION 'Cannot delete row with reserved ID %', OLD.id;
 END IF;
+RETURN OLD;
 END
 $protect_reserved$
 LANGUAGE plpgsql;
diff --git a/Open-ILS/src/sql/Pg/t/lp1513554_do_not_delete_reserved_cancel_reasons.pg b/Open-ILS/src/sql/Pg/t/lp1513554_do_not_delete_reserved_cancel_reasons.pg
index 8042860..7dedeb2 100644
--- a/Open-ILS/src/sql/Pg/t/lp1513554_do_not_delete_reserved_cancel_reasons.pg
+++ b/Open-ILS/src/sql/Pg/t/lp1513554_do_not_delete_reserved_cancel_reasons.pg
@@ -1,6 +1,6 @@
 BEGIN;
 
-SELECT plan(1);
+SELECT plan(3);
 
 SELECT throws_ok(
     'delete from acq.cancel_reason where id = 1', 
@@ -8,6 +8,16 @@ SELECT throws_ok(
     'Cannot delete row with reserved ID 1'
 );
 
+SELECT lives_ok(
+    'insert into acq.cancel_reason (id, org_unit, label, description) values (3001, 1, ''Test Reason'', ''Test Cancel Reason'')',
+    'Creating test cancel reason'
+);
+
+SELECT lives_ok(
+    'delete from acq.cancel_reason where id = 3001',
+    'Testing delete of non-reserved cancel reason'
+);
+
 SELECT * FROM finish();
 
 ROLLBACK;
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fix_protect_reserved_rows_from_delete.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fix_protect_reserved_rows_from_delete.sql
new file mode 100644
index 0000000..6a527a9
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fix_protect_reserved_rows_from_delete.sql
@@ -0,0 +1,15 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+CREATE OR REPLACE FUNCTION evergreen.protect_reserved_rows_from_delete() RETURNS trigger AS $protect_reserved$
+BEGIN
+IF OLD.id < TG_ARGV[0]::INT THEN
+    RAISE EXCEPTION 'Cannot delete row with reserved ID %', OLD.id; 
+END IF;
+RETURN OLD;
+END
+$protect_reserved$
+LANGUAGE plpgsql;
+
+COMMIT;

-----------------------------------------------------------------------

Summary of changes:
 Open-ILS/src/sql/Pg/000.functions.general.sql      |    1 +
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    2 +-
 ...513554_do_not_delete_reserved_cancel_reasons.pg |   12 +++++++++++-
 ...chema.fix_protect_reserved_rows_from_delete.sql |   15 +++++++++++++++
 4 files changed, 28 insertions(+), 2 deletions(-)
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/0971.schema.fix_protect_reserved_rows_from_delete.sql


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list