From: dbs Date: Sat, 12 Mar 2011 23:37:45 +0000 (+0000) Subject: Clean up build errors when creating/recreating database schema X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=f48a41b861100e2d5e1d4669b7c4d540530fe284;p=evergreen%2Fbjwebb.git Clean up build errors when creating/recreating database schema Dropping the evergreen schema cascaded and wiped out some previously defined functions, so move it ahead of the other functions. (And maybe we can start moving those public functions into the evergreen schema?) DROP AGGREGATE IF EXISTS exists on any version of PostgreSQL that we care about for Evergreen 2.0, so we can use it to avoid false errors during schema creation. FTS config was complaining about public.english_nostop in the ALTER statement, so remove the schema qualification. This seems to have been there for a long time? Use IF EXISTS when dropping the unapi schema to avoid an error. git-svn-id: svn://svn.open-ils.org/ILS/trunk@19723 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/sql/Pg/000.english.pg84.fts-config.sql b/Open-ILS/src/sql/Pg/000.english.pg84.fts-config.sql index b0b115751..e4e50e4a3 100644 --- a/Open-ILS/src/sql/Pg/000.english.pg84.fts-config.sql +++ b/Open-ILS/src/sql/Pg/000.english.pg84.fts-config.sql @@ -32,7 +32,7 @@ COMMENT ON TEXT SEARCH DICTIONARY english_nostop IS 'English snowball stemmer wi CREATE TEXT SEARCH CONFIGURATION title ( COPY = pg_catalog.english ); ALTER TEXT SEARCH CONFIGURATION title ALTER MAPPING FOR word, hword, hword_part WITH pg_catalog.simple; -ALTER TEXT SEARCH CONFIGURATION title ALTER MAPPING FOR asciiword, asciihword, hword_asciipart WITH public.english_nostop; +ALTER TEXT SEARCH CONFIGURATION title ALTER MAPPING FOR asciiword, asciihword, hword_asciipart WITH english_nostop; CREATE TEXT SEARCH CONFIGURATION author ( COPY = title ); CREATE TEXT SEARCH CONFIGURATION subject ( COPY = title ); CREATE TEXT SEARCH CONFIGURATION keyword ( COPY = title ); diff --git a/Open-ILS/src/sql/Pg/000.english.pg90.fts-config.sql b/Open-ILS/src/sql/Pg/000.english.pg90.fts-config.sql index b0b115751..e4e50e4a3 100644 --- a/Open-ILS/src/sql/Pg/000.english.pg90.fts-config.sql +++ b/Open-ILS/src/sql/Pg/000.english.pg90.fts-config.sql @@ -32,7 +32,7 @@ COMMENT ON TEXT SEARCH DICTIONARY english_nostop IS 'English snowball stemmer wi CREATE TEXT SEARCH CONFIGURATION title ( COPY = pg_catalog.english ); ALTER TEXT SEARCH CONFIGURATION title ALTER MAPPING FOR word, hword, hword_part WITH pg_catalog.simple; -ALTER TEXT SEARCH CONFIGURATION title ALTER MAPPING FOR asciiword, asciihword, hword_asciipart WITH public.english_nostop; +ALTER TEXT SEARCH CONFIGURATION title ALTER MAPPING FOR asciiword, asciihword, hword_asciipart WITH english_nostop; CREATE TEXT SEARCH CONFIGURATION author ( COPY = title ); CREATE TEXT SEARCH CONFIGURATION subject ( COPY = title ); CREATE TEXT SEARCH CONFIGURATION keyword ( COPY = title ); diff --git a/Open-ILS/src/sql/Pg/002.functions.aggregate.sql b/Open-ILS/src/sql/Pg/002.functions.aggregate.sql index 70dc588b1..fb0c31129 100644 --- a/Open-ILS/src/sql/Pg/002.functions.aggregate.sql +++ b/Open-ILS/src/sql/Pg/002.functions.aggregate.sql @@ -15,16 +15,14 @@ * */ --- 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; +DROP AGGREGATE IF EXISTS public.agg_tsvector(tsvector) CASCADE; + CREATE AGGREGATE array_accum ( sfunc = array_append, basetype = anyelement, diff --git a/Open-ILS/src/sql/Pg/002.functions.general.sql b/Open-ILS/src/sql/Pg/002.functions.general.sql index 659adcc54..f9407a596 100644 --- a/Open-ILS/src/sql/Pg/002.functions.general.sql +++ b/Open-ILS/src/sql/Pg/002.functions.general.sql @@ -1,7 +1,14 @@ -- Rather than polluting the public schema with general Evergreen -- functions, carve out a dedicated schema + +DROP SCHEMA IF EXISTS evergreen CASCADE; + +BEGIN; + CREATE SCHEMA evergreen; CREATE OR REPLACE FUNCTION evergreen.lowercase( TEXT ) RETURNS TEXT AS $$ return lc(shift); $$ LANGUAGE PLPERLU STRICT IMMUTABLE; + +COMMIT; diff --git a/Open-ILS/src/sql/Pg/990.schema.unapi.sql b/Open-ILS/src/sql/Pg/990.schema.unapi.sql index a189c57c7..e7abed50b 100644 --- a/Open-ILS/src/sql/Pg/990.schema.unapi.sql +++ b/Open-ILS/src/sql/Pg/990.schema.unapi.sql @@ -1,4 +1,4 @@ -DROP SCHEMA unapi CASCADE; +DROP SCHEMA IF EXISTS unapi CASCADE; BEGIN; CREATE SCHEMA unapi; diff --git a/Open-ILS/src/sql/Pg/build-db.sh b/Open-ILS/src/sql/Pg/build-db.sh index bc988d709..0e8f6f874 100755 --- a/Open-ILS/src/sql/Pg/build-db.sh +++ b/Open-ILS/src/sql/Pg/build-db.sh @@ -83,10 +83,10 @@ ordered_file_list=" 001.schema.offline.sql + 002.functions.general.sql 002.schema.config.sql 002.functions.aggregate.sql 002.functions.config.sql - 002.functions.general.sql 005.schema.actors.sql 006.schema.permissions.sql