[open-ils-commits] r20238 - trunk/Open-ILS/src/sql/Pg (miker)

svn at svn.open-ils.org svn at svn.open-ils.org
Wed Apr 20 10:49:14 EDT 2011


Author: miker
Date: 2011-04-20 10:49:12 -0400 (Wed, 20 Apr 2011)
New Revision: 20238

Modified:
   trunk/Open-ILS/src/sql/Pg/000.functions.general.sql
   trunk/Open-ILS/src/sql/Pg/002.functions.aggregate.sql
   trunk/Open-ILS/src/sql/Pg/040.schema.asset.sql
Log:
Reorder some functions to avoid creation failure on an empty db; remove unused (and installation-killing) tsvector aggregate

Modified: trunk/Open-ILS/src/sql/Pg/000.functions.general.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/000.functions.general.sql	2011-04-20 13:47:09 UTC (rev 20237)
+++ trunk/Open-ILS/src/sql/Pg/000.functions.general.sql	2011-04-20 14:49:12 UTC (rev 20238)
@@ -7,6 +7,14 @@
 
 CREATE SCHEMA evergreen;
 
+CREATE OR REPLACE FUNCTION evergreen.change_db_setting(setting_name TEXT, settings TEXT[]) RETURNS VOID AS $$
+BEGIN
+    EXECUTE 'ALTER DATABASE ' || quote_ident(current_database()) || ' SET ' || quote_ident(setting_name) || ' = ' || array_to_string(settings, ',');
+END;
+$$ LANGUAGE plpgsql;
+
+SELECT evergreen.change_db_setting('search_path', ARRAY['evergreen','public','pg_catalog']);
+
 CREATE OR REPLACE FUNCTION evergreen.lowercase( TEXT ) RETURNS TEXT AS $$
     return lc(shift);
 $$ LANGUAGE PLPERLU STRICT IMMUTABLE;
@@ -18,25 +26,4 @@
        '>', '>');
 $$ LANGUAGE SQL IMMUTABLE;
 
-CREATE OR REPLACE FUNCTION evergreen.change_db_setting(setting_name TEXT, settings TEXT[]) RETURNS VOID AS $$
-BEGIN
-EXECUTE 'ALTER DATABASE ' || quote_ident(current_database()) || ' SET ' || quote_ident(setting_name) || ' = ' || array_to_string(settings, ',');
-END;
-$$ LANGUAGE plpgsql;
-
-CREATE OR REPLACE FUNCTION evergreen.fake_fkey_tgr () RETURNS TRIGGER AS $F$
-DECLARE
-    copy_id BIGINT;
-BEGIN
-    EXECUTE 'SELECT ($1).' || quote_ident(TG_ARGV[0]) INTO copy_id USING NEW;
-    PERFORM * FROM asset.copy WHERE id = copy_id;
-    IF NOT FOUND THEN
-        RAISE EXCEPTION 'Key (%.%=%) does not exist in asset.copy', TG_TABLE_SCHEMA, TG_TABLE_NAME, copy_id;
-    END IF;
-    RETURN NULL;
-END;
-$F$ LANGUAGE PLPGSQL;
-
-SELECT evergreen.change_db_setting('search_path', ARRAY['evergreen','public','pg_catalog']);
-
 COMMIT;

Modified: trunk/Open-ILS/src/sql/Pg/002.functions.aggregate.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/002.functions.aggregate.sql	2011-04-20 13:47:09 UTC (rev 20237)
+++ trunk/Open-ILS/src/sql/Pg/002.functions.aggregate.sql	2011-04-20 14:49:12 UTC (rev 20238)
@@ -21,7 +21,6 @@
 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;
-DROP AGGREGATE IF EXISTS public.agg_tsvector(pg_catalog.tsvector) CASCADE;
 
 CREATE AGGREGATE array_accum (
 	sfunc = array_append,
@@ -66,22 +65,6 @@
 	stype	 = text
 );
 
-CREATE OR REPLACE FUNCTION tsvector_concat ( tsvector, tsvector ) RETURNS pg_catalog.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	 = tsvector_concat,
-	basetype = pg_catalog.tsvector,
-	stype	 = pg_catalog.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$

Modified: trunk/Open-ILS/src/sql/Pg/040.schema.asset.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/040.schema.asset.sql	2011-04-20 13:47:09 UTC (rev 20237)
+++ trunk/Open-ILS/src/sql/Pg/040.schema.asset.sql	2011-04-20 14:49:12 UTC (rev 20238)
@@ -720,5 +720,18 @@
 	BEFORE INSERT OR UPDATE ON asset.copy
 	FOR EACH ROW EXECUTE PROCEDURE asset.autogenerate_placeholder_barcode();
 
+CREATE OR REPLACE FUNCTION evergreen.fake_fkey_tgr () RETURNS TRIGGER AS $F$
+DECLARE
+    copy_id BIGINT;
+BEGIN
+    EXECUTE 'SELECT ($1).' || quote_ident(TG_ARGV[0]) INTO copy_id USING NEW;
+    PERFORM * FROM asset.copy WHERE id = copy_id;
+    IF NOT FOUND THEN
+        RAISE EXCEPTION 'Key (%.%=%) does not exist in asset.copy', TG_TABLE_SCHEMA, TG_TABLE_NAME, copy_id;
+    END IF;
+    RETURN NULL;
+END;
+$F$ LANGUAGE PLPGSQL;
+
 COMMIT;
 



More information about the open-ils-commits mailing list