diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2021-12-20 14:06:15 -0500 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2021-12-20 14:06:15 -0500 |
| commit | d1029bb5a26cb84b116b0dee4dde312291359f2a (patch) | |
| tree | 4601ec2967c69dc6031d63034129b4a242d30267 /src/test/regress/output/create_function_1.source | |
| parent | 33d3eeadb21d2268104840cfef6bc2226ddfc680 (diff) | |
| download | postgresql-d1029bb5a26cb84b116b0dee4dde312291359f2a.tar.gz | |
Remove dynamic translation of regression test scripts, step 1.
pg_regress has long had provisions for dynamically substituting path
names into regression test scripts and result files, but use of that
feature has always been a serious pain in the neck, mainly because
updating the result files requires tedious manual editing. Let's
get rid of that in favor of passing down the paths in environment
variables.
In addition to being easier to maintain, this way is capable of
dealing with path names that require escaping at runtime, for example
paths containing single-quote marks. (There are other stumbling
blocks in the way of actually building in a path that looks like
that, but removing this one seems like a good thing to do.) The key
coding rule that makes that possible is to concatenate pieces of a
dynamically-variable string using psql's \set command, and then use
the :'variable' notation to quote and escape the string for the next
level of interpretation.
In hopes of making this change more transparent to "git blame",
I've split it into two steps. This commit adds the necessary
pg_regress.c support and changes all the *.source files in-place
so that they no longer require any dynamic translation. The next
commit will just "git mv" them into the regular sql/ and expected/
directories.
Discussion: https://postgr.es/m/1655733.1639871614@sss.pgh.pa.us
Diffstat (limited to 'src/test/regress/output/create_function_1.source')
| -rw-r--r-- | src/test/regress/output/create_function_1.source | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/test/regress/output/create_function_1.source b/src/test/regress/output/create_function_1.source index 616b610e86..5345ed0840 100644 --- a/src/test/regress/output/create_function_1.source +++ b/src/test/regress/output/create_function_1.source @@ -1,26 +1,30 @@ -- -- CREATE_FUNCTION_1 -- +-- directory path and dlsuffix are passed to us in environment variables +\getenv libdir PG_LIBDIR +\getenv dlsuffix PG_DLSUFFIX +\set regresslib :libdir '/regress' :dlsuffix -- Create C functions needed by create_type.sql CREATE FUNCTION widget_in(cstring) RETURNS widget - AS '@libdir@/regress@DLSUFFIX@' + AS :'regresslib' LANGUAGE C STRICT IMMUTABLE; NOTICE: type "widget" is not yet defined DETAIL: Creating a shell type definition. CREATE FUNCTION widget_out(widget) RETURNS cstring - AS '@libdir@/regress@DLSUFFIX@' + AS :'regresslib' LANGUAGE C STRICT IMMUTABLE; NOTICE: argument type widget is only a shell CREATE FUNCTION int44in(cstring) RETURNS city_budget - AS '@libdir@/regress@DLSUFFIX@' + AS :'regresslib' LANGUAGE C STRICT IMMUTABLE; NOTICE: type "city_budget" is not yet defined DETAIL: Creating a shell type definition. CREATE FUNCTION int44out(city_budget) RETURNS cstring - AS '@libdir@/regress@DLSUFFIX@' + AS :'regresslib' LANGUAGE C STRICT IMMUTABLE; NOTICE: argument type city_budget is only a shell |
