]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/XXXX.function.lpad_number_fix.sql
LP1464765: Speed Up Number Padding for Sort Keys
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / XXXX.function.lpad_number_fix.sql
1 BEGIN;
2
3 SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
4
5 CREATE OR REPLACE FUNCTION evergreen.lpad_number_substrings( TEXT, TEXT, INT ) RETURNS TEXT AS $$
6     my $string = shift;            # Source string
7     my $pad = shift;               # string to fill. Typically '0'. This should be a single character.
8     my $len = shift;               # length of resultant padded field
9
10     $string =~ s/([0-9]+)/$pad x ($len - length($1)) . $1/eg;
11
12     return $string;
13 $$ LANGUAGE PLPERLU;
14
15
16 -- Correct any potentially incorrectly padded sortkeys
17
18 UPDATE biblio.monograph_part SET label = label;
19
20 UPDATE asset.call_number_prefix SET label = label;
21
22 -- asset.call_number.label_sortkey doesn't make use of this function
23
24 UPDATE asset.call_number_suffix SET label = label;
25
26 COMMIT;
27