[open-ils-commits] [GIT] Evergreen ILS branch master updated. 722e91ea874551fd00856241d3083da23fffd534
Evergreen Git
git at git.evergreen-ils.org
Fri Dec 16 14:05:12 EST 2011
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 722e91ea874551fd00856241d3083da23fffd534 (commit)
via a769d4798a3b0500825d1cb3082f73d7e1a2c6b3 (commit)
from 39ef430d3862277bcf0df977ac48985dd7f64f2c (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 722e91ea874551fd00856241d3083da23fffd534
Author: Dan Scott <dscott at laurentian.ca>
Date: Fri Dec 16 14:00:24 2011 -0500
LP# 902667 - Wrap upgrade script for Dewey sorting
Signed-off-by: Dan Scott <dscott at laurentian.ca>
diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index 15a1cae..1573edb 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -86,7 +86,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 ('0657', :eg_version); -- berick/tsbere
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0658', :eg_version); -- jamesrf/dbs
CREATE TABLE config.bib_source (
id SERIAL PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/xxxx.dewey-sort-fix.sql b/Open-ILS/src/sql/Pg/upgrade/0658.schema.acn_dewey_sort_fix.sql
similarity index 83%
rename from Open-ILS/src/sql/Pg/upgrade/xxxx.dewey-sort-fix.sql
rename to Open-ILS/src/sql/Pg/upgrade/0658.schema.acn_dewey_sort_fix.sql
index 310bb2f..21ca1e2 100644
--- a/Open-ILS/src/sql/Pg/upgrade/xxxx.dewey-sort-fix.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0658.schema.acn_dewey_sort_fix.sql
@@ -1,6 +1,11 @@
+-- Evergreen DB patch 0658.schema.acn_dewey_sort_fix.sql
+--
+-- Fixes Dewey call number sorting (per LP# 902667)
+--
BEGIN;
-INSERT INTO config.upgrade_log (version) VALUES ('xxxx');
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('0658', :eg_version);
CREATE OR REPLACE FUNCTION asset.label_normalizer_dewey(TEXT) RETURNS TEXT AS $func$
# Derived from the Koha C4::ClassSortRoutine::Dewey module
commit a769d4798a3b0500825d1cb3082f73d7e1a2c6b3
Author: James Fournie <jfournie at sitka.bclibraries.ca>
Date: Sat Dec 10 16:49:01 2011 -0800
Fix Dewey call number sorting
Ported over Koha commit aef8358c - fix for Koha Bug 4265.
Further documented in Evergreen LP # 902667
Here's the description from the commit message by Magnus Enger:
C4::ClassSortRoutine::Dewey turns "306 Les" into "306_Les"
for items.cn_sort and MARC-field 952$6, which results in
"306.46 Les" being sorted before "306 Les" in the OPAC.
With this patch, "306 Les" is turned into "306_000000000000000_Les".
Signed-off-by: James Fournie <jfournie at sitka.bclibraries.ca>
Signed-off-by: Dan Scott <dscott at laurentian.ca>
diff --git a/Open-ILS/src/sql/Pg/040.schema.asset.sql b/Open-ILS/src/sql/Pg/040.schema.asset.sql
index f80b2d1..fef5ced 100644
--- a/Open-ILS/src/sql/Pg/040.schema.asset.sql
+++ b/Open-ILS/src/sql/Pg/040.schema.asset.sql
@@ -328,6 +328,10 @@ CREATE OR REPLACE FUNCTION asset.label_normalizer_dewey(TEXT) RETURNS TEXT AS $f
}
}
}
+ # Pad the first digit_group if there was only one
+ if (1 == $digit_group_count) {
+ $tokens[0] .= '_000000000000000'
+ }
my $key = join("_", @tokens);
$key =~ s/[^\p{IsAlnum}_]//g;
diff --git a/Open-ILS/src/sql/Pg/upgrade/xxxx.dewey-sort-fix.sql b/Open-ILS/src/sql/Pg/upgrade/xxxx.dewey-sort-fix.sql
new file mode 100644
index 0000000..310bb2f
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/xxxx.dewey-sort-fix.sql
@@ -0,0 +1,43 @@
+BEGIN;
+
+INSERT INTO config.upgrade_log (version) VALUES ('xxxx');
+
+CREATE OR REPLACE FUNCTION asset.label_normalizer_dewey(TEXT) RETURNS TEXT AS $func$
+ # Derived from the Koha C4::ClassSortRoutine::Dewey module
+ # Copyright (C) 2007 LibLime
+ # Licensed under the GPL v2 or later
+
+ use strict;
+ use warnings;
+
+ my $init = uc(shift);
+ $init =~ s/^\s+//;
+ $init =~ s/\s+$//;
+ $init =~ s!/!!g;
+ $init =~ s/^([\p{IsAlpha}]+)/$1 /;
+ my @tokens = split /\.|\s+/, $init;
+ my $digit_group_count = 0;
+ for (my $i = 0; $i <= $#tokens; $i++) {
+ if ($tokens[$i] =~ /^\d+$/) {
+ $digit_group_count++;
+ if (2 == $digit_group_count) {
+ $tokens[$i] = sprintf("%-15.15s", $tokens[$i]);
+ $tokens[$i] =~ tr/ /0/;
+ }
+ }
+ }
+ # Pad the first digit_group if there was only one
+ if (1 == $digit_group_count) {
+ $tokens[0] .= '_000000000000000'
+ }
+ my $key = join("_", @tokens);
+ $key =~ s/[^\p{IsAlnum}_]//g;
+
+ return $key;
+
+$func$ LANGUAGE PLPERLU;
+
+-- regenerate sort keys for any dewey call numbers
+UPDATE asset.call_number SET id = id WHERE label_class = 2;
+
+COMMIT;
-----------------------------------------------------------------------
Summary of changes:
Open-ILS/src/sql/Pg/002.schema.config.sql | 2 +-
Open-ILS/src/sql/Pg/040.schema.asset.sql | 4 ++
.../Pg/upgrade/0658.schema.acn_dewey_sort_fix.sql | 48 ++++++++++++++++++++
3 files changed, 53 insertions(+), 1 deletions(-)
create mode 100644 Open-ILS/src/sql/Pg/upgrade/0658.schema.acn_dewey_sort_fix.sql
hooks/post-receive
--
Evergreen ILS
More information about the open-ils-commits
mailing list