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

Evergreen Git git at git.evergreen-ils.org
Thu Nov 5 10:46:39 EST 2015


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  7ca6e9952fef14ca50b0f57d8efe45b312fdaad8 (commit)
       via  6828688209942df3d5f2653accc3b33b10f3e47c (commit)
       via  59c773e00d7c94984918004c5efd6f08011ab239 (commit)
      from  01c32c5c1c7fc3a5e99b7c5fb50129ca051886d5 (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 7ca6e9952fef14ca50b0f57d8efe45b312fdaad8
Author: Galen Charlton <gmc at esilibrary.com>
Date:   Thu Nov 5 15:44:43 2015 +0000

    LP#1464765: stamp upgrade script
    
    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 b0739fb..ab7b39f 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 ('0946', :eg_version); -- gmcharlt/berick
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0947', :eg_version); -- jboyer/gmcharlt
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.lpad_number_fix.sql b/Open-ILS/src/sql/Pg/upgrade/0947.function.lpad_number_fix.sql
similarity index 87%
rename from Open-ILS/src/sql/Pg/upgrade/XXXX.function.lpad_number_fix.sql
rename to Open-ILS/src/sql/Pg/upgrade/0947.function.lpad_number_fix.sql
index 3b31f94..8293eec 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.lpad_number_fix.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0947.function.lpad_number_fix.sql
@@ -1,6 +1,6 @@
 BEGIN;
 
-SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+SELECT evergreen.upgrade_deps_block_check('0947', :eg_version);
 
 CREATE OR REPLACE FUNCTION evergreen.lpad_number_substrings( TEXT, TEXT, INT ) RETURNS TEXT AS $$
     my $string = shift;            # Source string

commit 6828688209942df3d5f2653accc3b33b10f3e47c
Author: Galen Charlton <gmc at esilibrary.com>
Date:   Thu Nov 5 15:42:03 2015 +0000

    LP#1464765: (follow-up) remove unneeded bits from schema upgrade
    
    The patch for bug 1155313 already corrected the data,
    so no need to do it again.
    
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.lpad_number_fix.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.function.lpad_number_fix.sql
index dc15874..3b31f94 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.lpad_number_fix.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.function.lpad_number_fix.sql
@@ -12,16 +12,4 @@ CREATE OR REPLACE FUNCTION evergreen.lpad_number_substrings( TEXT, TEXT, INT ) R
     return $string;
 $$ LANGUAGE PLPERLU;
 
-
--- Correct any potentially incorrectly padded sortkeys
-
-UPDATE biblio.monograph_part SET label = label;
-
-UPDATE asset.call_number_prefix SET label = label;
-
--- asset.call_number.label_sortkey doesn't make use of this function
-
-UPDATE asset.call_number_suffix SET label = label;
-
 COMMIT;
-

commit 59c773e00d7c94984918004c5efd6f08011ab239
Author: Jason Boyer <jboyer at library.in.gov>
Date:   Tue Jun 30 08:53:21 2015 -0400

    LP1464765: Speed Up Number Padding for Sort Keys
    
    [New commit message by Galen Charlton:]
    This patch was originally written to fix a problem with
    normalization of various labels, but the patches for
    bug 1155313 fixed the function problem.  However, testing
    shows that this version of evergreen.lpad_number_substrings()
    is about a third faster, so this patch is being merged to
    get the speed improvement and the additional tests.
    
    Thanks to Thomas Berezansky for a much simplified approach.
    
    Signed-off-by: Jason Boyer <jboyer at library.in.gov>
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/sql/Pg/002.functions.config.sql b/Open-ILS/src/sql/Pg/002.functions.config.sql
index 527e89b..d52c6f9 100644
--- a/Open-ILS/src/sql/Pg/002.functions.config.sql
+++ b/Open-ILS/src/sql/Pg/002.functions.config.sql
@@ -583,13 +583,8 @@ CREATE OR REPLACE FUNCTION evergreen.lpad_number_substrings( TEXT, TEXT, INT ) R
     my $string = shift;            # Source string
     my $pad = shift;               # string to fill. Typically '0'. This should be a single character.
     my $len = shift;               # length of resultant padded field
-    my $find = $len - 1;
 
-    while ($string =~ /(^|\D)(\d{1,$find})($|\D)/) {
-        my $padded = $2;
-        $padded = $pad x ($len - length($padded)) . $padded;
-        $string = $` . $1 . $padded . $3 . $';
-    }
+    $string =~ s/([0-9]+)/$pad x ($len - length($1)) . $1/eg;
 
     return $string;
 $$ LANGUAGE PLPERLU;
diff --git a/Open-ILS/src/sql/Pg/t/lpad_number_substrings.pg b/Open-ILS/src/sql/Pg/t/lpad_number_substrings.pg
index 3aafe13..7a2697d 100644
--- a/Open-ILS/src/sql/Pg/t/lpad_number_substrings.pg
+++ b/Open-ILS/src/sql/Pg/t/lpad_number_substrings.pg
@@ -1,23 +1,6 @@
-
--- Turn off echo and keep things quiet.
-\set ECHO
-\set QUIET 1
-
--- Format the output for nice TAP.
-\pset format unaligned
-\pset tuples_only true
-\pset pager
-
--- Revert all changes on failure.
-\set ON_ERROR_ROLLBACK 1
-\set ON_ERROR_STOP true
-\set QUIET 1
-
--- Load the TAP functions.
+-- Start transaction and plan the tests.
 BEGIN;
-
--- Plan the tests.
-SELECT plan(5);
+SELECT plan(11);
 
 -- Run the tests.
 SELECT is(evergreen.lpad_number_substrings(
@@ -34,8 +17,26 @@ SELECT is(evergreen.lpad_number_substrings(
 
 SELECT is(evergreen.lpad_number_substrings(
 	'Vol 5a-15','0',5), 'Vol 00005a-00015','Mixed format');
+	
+SELECT isnt(evergreen.lpad_number_substrings(
+	'2015 01 Jan','0',5),'02000015 00001 Jan','Matching Substring Error 1');
+
+SELECT isnt(evergreen.lpad_number_substrings(
+	'2015 02 Feb','0',5),'00002015 00002 Feb','Matching Substring Error 2');
+
+SELECT is(evergreen.lpad_number_substrings(
+	'2015 01 Jan','0',5),'02015 00001 Jan','Matching Substrings 1');
+
+SELECT is(evergreen.lpad_number_substrings(
+	'2015 02 Feb','0',5),'02015 00002 Feb','Matching Substrings 2');
 
+SELECT is(evergreen.lpad_number_substrings(
+	'0001 001 1 01','0',5),'00001 00001 00001 00001','Matching Substrings 3');
+
+SELECT is(evergreen.lpad_number_substrings(
+	'123456','0',5),'123456','Longer than Padding Length');
 
 -- Finish the tests and clean up.
 SELECT * FROM finish();
 ROLLBACK;
+
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.lpad_number_fix.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.function.lpad_number_fix.sql
new file mode 100644
index 0000000..dc15874
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.function.lpad_number_fix.sql
@@ -0,0 +1,27 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+CREATE OR REPLACE FUNCTION evergreen.lpad_number_substrings( TEXT, TEXT, INT ) RETURNS TEXT AS $$
+    my $string = shift;            # Source string
+    my $pad = shift;               # string to fill. Typically '0'. This should be a single character.
+    my $len = shift;               # length of resultant padded field
+
+    $string =~ s/([0-9]+)/$pad x ($len - length($1)) . $1/eg;
+
+    return $string;
+$$ LANGUAGE PLPERLU;
+
+
+-- Correct any potentially incorrectly padded sortkeys
+
+UPDATE biblio.monograph_part SET label = label;
+
+UPDATE asset.call_number_prefix SET label = label;
+
+-- asset.call_number.label_sortkey doesn't make use of this function
+
+UPDATE asset.call_number_suffix SET label = label;
+
+COMMIT;
+

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

Summary of changes:
 Open-ILS/src/sql/Pg/002.functions.config.sql       |    7 +---
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    2 +-
 Open-ILS/src/sql/Pg/t/lpad_number_substrings.pg    |   39 ++++++++++----------
 .../Pg/upgrade/0947.function.lpad_number_fix.sql   |   15 ++++++++
 4 files changed, 37 insertions(+), 26 deletions(-)
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/0947.function.lpad_number_fix.sql


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list