Merge branch 'master' into kcls_dcl53
[evergreen-equinox.git] / Open-ILS / src / sql / Pg / 002.functions.aggregate.sql
index 70dc588..41f8090 100644 (file)
  *
  */
 
--- 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;
-
 BEGIN;
 
+DROP AGGREGATE IF EXISTS array_accum(anyelement) CASCADE;
+DROP AGGREGATE IF EXISTS public.first(anyelement) CASCADE;
+DROP AGGREGATE IF EXISTS public.last(anyelement) CASCADE;
+DROP AGGREGATE IF EXISTS public.agg_text(text) CASCADE;
+
 CREATE AGGREGATE array_accum (
        sfunc = array_append,
        basetype = anyelement,
@@ -68,22 +65,6 @@ CREATE AGGREGATE public.agg_text (
        stype    = text
 );
 
-CREATE OR REPLACE FUNCTION public.tsvector_concat ( tsvector, tsvector ) RETURNS tsvector AS $$
-SELECT
-       CASE    WHEN $1 IS NULL
-                       THEN $2
-               WHEN $2 IS NULL
-                       THEN $1
-               ELSE $1 || ' ' || $2
-       END;
-$$ LANGUAGE SQL STABLE;
-
-CREATE AGGREGATE public.agg_tsvector (
-       sfunc    = public.tsvector_concat,
-       basetype = tsvector,
-       stype    = tsvector
-);
-
 CREATE OR REPLACE FUNCTION public.explode_array(anyarray) RETURNS SETOF anyelement AS $BODY$
     SELECT ($1)[s] FROM generate_series(1, array_upper($1, 1)) AS s;
 $BODY$