Missed function in upgrade script
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 29 Mar 2011 16:06:26 +0000 (16:06 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 29 Mar 2011 16:06:26 +0000 (16:06 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@19887 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/sql/Pg/upgrade/0504.schema.parts_and_cnaffix.sql

index 5245e37..020a78a 100644 (file)
@@ -2,6 +2,21 @@ BEGIN;
 
 INSERT INTO config.upgrade_log (version) VALUES ('0504'); -- miker
 
+CREATE OR REPLACE FUNCTION lpad_number_substrings( TEXT, TEXT, INT ) RETURNS TEXT AS $$
+    my $string = shift;
+    my $pad = shift;
+    my $len = shift;
+    my $find = $len - 1;
+
+    while ($string =~ /(?:^|\D)(\d{1,$find})(?:$|\D)/) {
+        my $padded = $1;
+        $padded = $pad x ($len - length($padded)) . $padded;
+        $string =~ s/$1/$padded/sg;
+    }
+
+    return $string;
+$$ LANGUAGE PLPERLU;
+
 CREATE TABLE biblio.monograph_part (
     id              SERIAL  PRIMARY KEY,
     record          BIGINT  NOT NULL REFERENCES biblio.record_entry (id),