]> granicus.if.org Git - postgresql/commitdiff
Make pg_regress.c unset PGDATABASE during make installcheck.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 27 Sep 2019 22:19:37 +0000 (18:19 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 27 Sep 2019 22:19:37 +0000 (18:19 -0400)
For the most part, we leave libpq-controlling environment variables
alone during "make installcheck", reasoning that connecting to the
server the user expects us to connect to may depend on those variables.
But that argument doesn't apply to PGDATABASE, since we always want
to connect to a specific database name within the server.  And failing
to unset it causes certain ECPG tests to fail, as various people have
complained of in the past.  So let's unset it.

Possibly this should be back-patched, but I'm disinclined to do that
right before 12.0 release.  Maybe later.

Discussion: https://postgr.es/m/20180318205548.2akxjqvo7hrk5wbc@alap3.anarazel.de
Discussion: https://postgr.es/m/E1bOum4-0002EA-2y@gemulon.postgresql.org

src/test/regress/pg_regress.c

index b4045abf219c82a646c635ab3ca3fae9289a759c..3a3947210886157c5c21df6a0e247cf5ae3e4cc6 100644 (file)
@@ -861,6 +861,14 @@ initialize_environment(void)
                if (user != NULL)
                        doputenv("PGUSER", user);
 
+               /*
+                * However, we *don't* honor PGDATABASE, since we certainly don't wish
+                * to connect to whatever database the user might like as default.
+                * (Most tests override PGDATABASE anyway, but there are some ECPG
+                * test cases that don't.)
+                */
+               unsetenv("PGDATABASE");
+
                /*
                 * Report what we're connecting to
                 */