Make pg_regress use CREATE OR REPLACE LANGUAGE, so that --load-language
authorTom Lane
Wed, 24 Feb 2010 01:35:14 +0000 (01:35 +0000)
committerTom Lane
Wed, 24 Feb 2010 01:35:14 +0000 (01:35 +0000)
will work whether or not the specified language is preinstalled.  This
responds to some complaints about having to change test scripts because
plpgsql is preinstalled as of 9.0.

src/test/regress/pg_regress.c

index 551b626d3c6b0ab33ad5570768cc37db14afb08b..c91a09f960a9ad89d779aff66cd74459e166f465 100644 (file)
@@ -11,7 +11,7 @@
  * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.69 2010/01/02 16:58:15 momjian Exp $
+ * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.70 2010/02/24 01:35:14 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1791,12 +1791,13 @@ create_database(const char *dbname)
                 dbname, dbname, dbname, dbname, dbname);
 
    /*
-    * Install any requested procedural languages
+    * Install any requested procedural languages.  We use CREATE OR REPLACE
+    * so that this will work whether or not the language is preinstalled.
     */
    for (sl = loadlanguage; sl != NULL; sl = sl->next)
    {
        header(_("installing %s"), sl->str);
-       psql_command(dbname, "CREATE LANGUAGE \"%s\"", sl->str);
+       psql_command(dbname, "CREATE OR REPLACE LANGUAGE \"%s\"", sl->str);
    }
 }