aboutsummaryrefslogtreecommitdiff
path: root/contrib/dblink/input/paths.source
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/dblink/input/paths.source')
-rw-r--r--contrib/dblink/input/paths.source15
1 files changed, 12 insertions, 3 deletions
diff --git a/contrib/dblink/input/paths.source b/contrib/dblink/input/paths.source
index 881a65314f3..30403d9d5f7 100644
--- a/contrib/dblink/input/paths.source
+++ b/contrib/dblink/input/paths.source
@@ -1,14 +1,23 @@
-- Initialization that requires path substitution.
+-- directory paths and dlsuffix are passed to us in environment variables
+\getenv abs_srcdir PG_ABS_SRCDIR
+\getenv libdir PG_LIBDIR
+\getenv dlsuffix PG_DLSUFFIX
+
+\set regresslib :libdir '/regress' :dlsuffix
+
CREATE FUNCTION setenv(text, text)
RETURNS void
- AS '@libdir@/regress@DLSUFFIX@', 'regress_setenv'
+ AS :'regresslib', 'regress_setenv'
LANGUAGE C STRICT;
CREATE FUNCTION wait_pid(int)
RETURNS void
- AS '@libdir@/regress@DLSUFFIX@'
+ AS :'regresslib'
LANGUAGE C STRICT;
+\set path :abs_srcdir '/'
+\set fnbody 'SELECT setenv(''PGSERVICEFILE'', ' :'path' ' || $1)'
CREATE FUNCTION set_pgservicefile(text) RETURNS void LANGUAGE SQL
- AS $$SELECT setenv('PGSERVICEFILE', '@abs_srcdir@/' || $1)$$;
+ AS :'fnbody';