[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