From bbcb46341bfed9082b24751802e43987137c83c1 Mon Sep 17 00:00:00 2001 From: miker Date: Mon, 12 Sep 2005 22:21:57 +0000 Subject: [PATCH 1/1] misc cleanup git-svn-id: svn://svn.open-ils.org/ILS/trunk@1824 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/sql/Pg/020.schema.functions.sql | 19 ++++++++++++++++++- Open-ILS/src/sql/Pg/040.schema.asset.sql | 1 + 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/sql/Pg/020.schema.functions.sql b/Open-ILS/src/sql/Pg/020.schema.functions.sql index 8d1fe38642..1b3682ae92 100644 --- a/Open-ILS/src/sql/Pg/020.schema.functions.sql +++ b/Open-ILS/src/sql/Pg/020.schema.functions.sql @@ -1,3 +1,15 @@ +CREATE OR REPLACE FUNCTION asset.call_number_dewey( TEXT ) RETURNS TEXT AS $$ + my $txt = shift; + $txt =~ s/^\s+//o; + $txt =~ s/[\[\]\{\}\(\)`'"#<>\*\?\-\+\$\\]+//o; + $txt =~ s/\s+$//o; + if (/(\d{3}(?:\.\d+)?)/o) { + return $1; + } else { + return (split /\s+/, $txt)[0]; + } +$$ LANGUAGE 'plperl' STRICT IMMUTABLE; + CREATE OR REPLACE FUNCTION public.text_concat ( TEXT, TEXT ) RETURNS TEXT AS $$ SELECT CASE WHEN $1 IS NULL @@ -98,4 +110,9 @@ CREATE OR REPLACE FUNCTION actor.org_unit_proximity ( INT, INT ) RETURNS INT AS ) z; $$ LANGUAGE SQL STABLE; - +CREATE AGGREGATE array_accum ( + sfunc = array_append, + basetype = anyelement, + stype = anyarray, + initcond = '{}' +); diff --git a/Open-ILS/src/sql/Pg/040.schema.asset.sql b/Open-ILS/src/sql/Pg/040.schema.asset.sql index 84b40050b0..1e00dd4c90 100644 --- a/Open-ILS/src/sql/Pg/040.schema.asset.sql +++ b/Open-ILS/src/sql/Pg/040.schema.asset.sql @@ -121,6 +121,7 @@ CREATE TABLE asset.call_number ( CREATE INDEX asset_call_number_record_idx ON asset.call_number (record); CREATE INDEX asset_call_number_creator_idx ON asset.call_number (creator); CREATE INDEX asset_call_number_editor_idx ON asset.call_number (editor); +CREATE INDEX asset_call_number_dewey_idx ON asset.call_number (asset.call_number_dewey(label)); CREATE TABLE asset.call_number_note ( id BIGSERIAL PRIMARY KEY, -- 2.43.2