From e3416f81636d2f79e45b9b05b74237ad0d0f55a8 Mon Sep 17 00:00:00 2001 From: dbs Date: Mon, 7 Jul 2008 13:33:07 +0000 Subject: [PATCH] Restore PostgreSQL 8.1 support in trunk schema git-svn-id: svn://svn.open-ils.org/ILS/trunk@9980 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../src/sql/Pg/002.functions.aggregate.sql | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/Open-ILS/src/sql/Pg/002.functions.aggregate.sql b/Open-ILS/src/sql/Pg/002.functions.aggregate.sql index b6d308f77b..0463321c72 100644 --- a/Open-ILS/src/sql/Pg/002.functions.aggregate.sql +++ b/Open-ILS/src/sql/Pg/002.functions.aggregate.sql @@ -15,9 +15,15 @@ * */ -BEGIN; +-- Allow these to fail gracelessly outside the transaction +-- because PostgreSQL 8.1 does not support IF EXISTS +DROP AGGREGATE array_accum(anyelement) CASCADE; +DROP AGGREGATE public.first(anyelement) CASCADE; +DROP AGGREGATE public.last(anyelement) CASCADE; +DROP AGGREGATE public.agg_text(text) CASCADE; +DROP AGGREGATE public.agg_tsvector(tsvector) CASCADE; -DROP AGGREGATE IF EXISTS array_accum(anyelement) CASCADE; +BEGIN; CREATE AGGREGATE array_accum ( sfunc = array_append, @@ -30,8 +36,6 @@ CREATE OR REPLACE FUNCTION public.first_agg ( anyelement, anyelement ) RETURNS a SELECT CASE WHEN $1 IS NULL THEN $2 ELSE $1 END; $$ LANGUAGE SQL STABLE; -DROP AGGREGATE IF EXISTS public.first(anyelement) CASCADE; - CREATE AGGREGATE public.first ( sfunc = public.first_agg, basetype = anyelement, @@ -42,8 +46,6 @@ CREATE OR REPLACE FUNCTION public.last_agg ( anyelement, anyelement ) RETURNS an SELECT $2; $$ LANGUAGE SQL STABLE; -DROP AGGREGATE IF EXISTS public.last(anyelement) CASCADE; - CREATE AGGREGATE public.last ( sfunc = public.last_agg, basetype = anyelement, @@ -60,8 +62,6 @@ SELECT END; $$ LANGUAGE SQL STABLE; -DROP AGGREGATE IF EXISTS public.agg_text(text) CASCADE; - CREATE AGGREGATE public.agg_text ( sfunc = public.text_concat, basetype = text, @@ -78,8 +78,6 @@ SELECT END; $$ LANGUAGE SQL STABLE; -DROP AGGREGATE IF EXISTS public.agg_tsvector(tsvector) CASCADE; - CREATE AGGREGATE public.agg_tsvector ( sfunc = public.tsvector_concat, basetype = tsvector, -- 2.43.2