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

Evergreen Git git at git.evergreen-ils.org
Thu Apr 28 11:33:30 EDT 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  eca2ef927d263a4d9379fa331174c018fd170d3f (commit)
       via  6035a5e1eaeebc75a134b6e31e4717f283ddd4d9 (commit)
       via  7b8ea038b983903ed5094e96a6547b19ee8def13 (commit)
       via  3ed20ce9fc08902823a81fc3674d680b6ea7fd62 (commit)
       via  61bac8464b6d65232e5a570b925318d80166e132 (commit)
       via  5dc79e84f0bd9e79c6c0e21acc6d39a1bc6307cf (commit)
      from  093805861a26080424a855360d525659f30604aa (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 eca2ef927d263a4d9379fa331174c018fd170d3f
Author: Galen Charlton <gmc at esilibrary.com>
Date:   Thu Apr 28 11:31:20 2016 -0400

    LP#1569884: stamp schema update
    
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index 2a92f1c..95766bf 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 ('0976', :eg_version); -- berick/kmlussier
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0977', :eg_version); -- Callender/Dyrcona/gmcharlt
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/XXXX.schema.allow_parts_to_be_recreated.sql b/Open-ILS/src/sql/Pg/upgrade/0977.schema.allow_parts_to_be_recreated.sql
similarity index 67%
rename from Open-ILS/src/sql/XXXX.schema.allow_parts_to_be_recreated.sql
rename to Open-ILS/src/sql/Pg/upgrade/0977.schema.allow_parts_to_be_recreated.sql
index c403a5d..1c220b7 100644
--- a/Open-ILS/src/sql/XXXX.schema.allow_parts_to_be_recreated.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0977.schema.allow_parts_to_be_recreated.sql
@@ -1,6 +1,6 @@
 BEGIN;
 
-SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+SELECT evergreen.upgrade_deps_block_check('0977', :eg_version); -- Callender/Dyrcona/gmcharlt
 
 ALTER TABLE biblio.monograph_part DROP CONSTRAINT "record_label_unique";
 CREATE UNIQUE INDEX record_label_unique_idx ON biblio.monograph_part (record, label) WHERE deleted = FALSE;

commit 6035a5e1eaeebc75a134b6e31e4717f283ddd4d9
Author: Galen Charlton <gmc at esilibrary.com>
Date:   Thu Apr 28 11:27:11 2016 -0400

    LP#1569884: fix schema update script
    
    CREATE INDEX cannot run concurrently in a transaction
    block period, at least as of 9.4.
    
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/sql/XXXX.schema.allow_parts_to_be_recreated.sql b/Open-ILS/src/sql/XXXX.schema.allow_parts_to_be_recreated.sql
index 235a5f0..c403a5d 100644
--- a/Open-ILS/src/sql/XXXX.schema.allow_parts_to_be_recreated.sql
+++ b/Open-ILS/src/sql/XXXX.schema.allow_parts_to_be_recreated.sql
@@ -3,6 +3,6 @@ BEGIN;
 SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
 
 ALTER TABLE biblio.monograph_part DROP CONSTRAINT "record_label_unique";
-CREATE UNIQUE INDEX CONCURRENTLY record_label_unique_idx ON biblio.monograph_part (record, label) WHERE deleted = FALSE;
+CREATE UNIQUE INDEX record_label_unique_idx ON biblio.monograph_part (record, label) WHERE deleted = FALSE;
 
 COMMIT;

commit 7b8ea038b983903ed5094e96a6547b19ee8def13
Author: Jason Stephenson <jstephenson at mvlcstaff.org>
Date:   Wed Apr 27 15:43:31 2016 -0400

    LP#1569884 Fix two problems in previous commit.
    
    The CREATE TABLE biblio.monograph_part statement in
    010.schema.biblio.sql ended up with a trailing comma.
    
    The CREATE UNIQUE INDEX on biblio.monograph_part cannot be done
    CONCURRENTLY at DB creation time, apparently.  At least not on
    PostgreSQL 9.3.
    
    Signed-off-by: Jason Stephenson <jstephenson at mvlcstaff.org>
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/sql/Pg/010.schema.biblio.sql b/Open-ILS/src/sql/Pg/010.schema.biblio.sql
index 3312edf..f0c0133 100644
--- a/Open-ILS/src/sql/Pg/010.schema.biblio.sql
+++ b/Open-ILS/src/sql/Pg/010.schema.biblio.sql
@@ -98,9 +98,9 @@ CREATE TABLE biblio.monograph_part (
     record          BIGINT  NOT NULL REFERENCES biblio.record_entry (id),
     label           TEXT    NOT NULL,
     label_sortkey   TEXT    NOT NULL,
-    deleted         BOOL    NOT NULL DEFAULT FALSE,
+    deleted         BOOL    NOT NULL DEFAULT FALSE
 );
-CREATE UNIQUE INDEX CONCURRENTLY record_label_unique_idx ON biblio.monograph_part (record, label) WHERE deleted = FALSE;
+CREATE UNIQUE INDEX record_label_unique_idx ON biblio.monograph_part (record, label) WHERE deleted = FALSE;
 
 CREATE OR REPLACE FUNCTION biblio.normalize_biblio_monograph_part_sortkey () RETURNS TRIGGER AS $$
 BEGIN

commit 3ed20ce9fc08902823a81fc3674d680b6ea7fd62
Author: Steven Callender <stevecallender at esilibrary.com>
Date:   Wed Apr 27 12:05:48 2016 -0400

    LP#1569884 Updated base schema with monograph parts index.
    
    Signed-off-by: Steven Callender <stevecallender at esilibrary.com>
    Signed-off-by: Jason Stephenson <jstephenson at mvlcstaff.org>
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/sql/Pg/010.schema.biblio.sql b/Open-ILS/src/sql/Pg/010.schema.biblio.sql
index ff0542d..3312edf 100644
--- a/Open-ILS/src/sql/Pg/010.schema.biblio.sql
+++ b/Open-ILS/src/sql/Pg/010.schema.biblio.sql
@@ -99,8 +99,8 @@ CREATE TABLE biblio.monograph_part (
     label           TEXT    NOT NULL,
     label_sortkey   TEXT    NOT NULL,
     deleted         BOOL    NOT NULL DEFAULT FALSE,
-    CONSTRAINT record_label_unique UNIQUE (record,label)
 );
+CREATE UNIQUE INDEX CONCURRENTLY record_label_unique_idx ON biblio.monograph_part (record, label) WHERE deleted = FALSE;
 
 CREATE OR REPLACE FUNCTION biblio.normalize_biblio_monograph_part_sortkey () RETURNS TRIGGER AS $$
 BEGIN

commit 61bac8464b6d65232e5a570b925318d80166e132
Author: Steven Callender <stevecallender at esilibrary.com>
Date:   Wed Apr 13 11:15:27 2016 -0400

    LP#1569884 Allow deleted monograph parts to be recreated.
    
    Changed the constraint on the biblio.monograph_part table to allow for a
    monograph part to be created if a duplicate deleted version is found.
    
    To test:
    
    [1] Add a monograph part to a bib.
    [2] Delete that monograph part.
    [3] Attempt to add a monograph part to the same bib using
        the same part label. Without the patches installed, this
        will fail; upon applying the database update, this operation
        should succeed.
    
    Signed-off-by: Steven Callender <stevecallender at esilibrary.com>
    Signed-off-by: Jason Stephenson <jstephenson at mvlcstaff.org>
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/sql/XXXX.schema.allow_parts_to_be_recreated.sql b/Open-ILS/src/sql/XXXX.schema.allow_parts_to_be_recreated.sql
new file mode 100644
index 0000000..235a5f0
--- /dev/null
+++ b/Open-ILS/src/sql/XXXX.schema.allow_parts_to_be_recreated.sql
@@ -0,0 +1,8 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+ALTER TABLE biblio.monograph_part DROP CONSTRAINT "record_label_unique";
+CREATE UNIQUE INDEX CONCURRENTLY record_label_unique_idx ON biblio.monograph_part (record, label) WHERE deleted = FALSE;
+
+COMMIT;

commit 5dc79e84f0bd9e79c6c0e21acc6d39a1bc6307cf
Author: Galen Charlton <gmc at esilibrary.com>
Date:   Thu Apr 28 11:20:29 2016 -0400

    LP#1569884: add regression test
    
    This pgTAP test verifies that if you logically delete a monograph part,
    you can subsequently add a new one with the same label as that of the
    deleted one.
    
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/sql/Pg/t/regress/lp1569884_readd_deleted_bmp.sql b/Open-ILS/src/sql/Pg/t/regress/lp1569884_readd_deleted_bmp.sql
new file mode 100644
index 0000000..ecb468f
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/t/regress/lp1569884_readd_deleted_bmp.sql
@@ -0,0 +1,52 @@
+BEGIN;
+
+SELECT plan(4);
+
+INSERT INTO biblio.record_entry (id, last_xact_id, marc)
+VALUES (999999998, 'pgtap', '<record    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"    xmlns="http://www.loc.gov/MARC21/slim">
+  <leader>00531nam a2200157 a 4500</leader>
+  <controlfield tag="005">20080729170300.0</controlfield>
+  <controlfield tag="008">      t19981999enka              0 eng  </controlfield>
+  <datafield tag="245" ind1="1" ind2="4">
+    <subfield code="a">test-value</subfield>
+  </datafield>
+</record>');
+
+INSERT INTO biblio.monograph_part(record, label) VALUES (999999998, 'Part 1');
+
+SELECT is(
+    label,
+    'Part 1',
+    'LP#1569884: new monograph parts start out active'
+)
+FROM biblio.monograph_part
+WHERE record = 999999998
+AND NOT deleted;
+
+DELETE FROM biblio.monograph_part WHERE record = 999999998;
+
+SELECT is(
+    deleted,
+    TRUE,
+    'LP#1569884: deleting monograph part sets deleted flag'
+)
+FROM biblio.monograph_part
+WHERE record = 999999998
+AND label = 'Part 1';
+
+SELECT lives_ok(
+    $$INSERT INTO biblio.monograph_part(record, label) VALUES (999999998, 'Part 1')$$,
+    'LP#1569884: can add monograph part with same label as logically deleted one'
+);
+
+SELECT is(
+    COUNT(*)::INT,
+    1,
+    'LP#1569884: one active part with label Part 1'
+)
+FROM biblio.monograph_part
+WHERE record = 999999998
+AND label = 'Part 1'
+AND NOT deleted;
+
+ROLLBACK;

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

Summary of changes:
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    2 +-
 Open-ILS/src/sql/Pg/010.schema.biblio.sql          |    4 +-
 .../Pg/t/regress/lp1569884_readd_deleted_bmp.sql   |   52 ++++++++++++++++++++
 .../0977.schema.allow_parts_to_be_recreated.sql    |    8 +++
 4 files changed, 63 insertions(+), 3 deletions(-)
 create mode 100644 Open-ILS/src/sql/Pg/t/regress/lp1569884_readd_deleted_bmp.sql
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/0977.schema.allow_parts_to_be_recreated.sql


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list