Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitddc2504

Browse files
committed
Don't hardcode contrib_regression dbname in postgres_fdw and dblink tests.
That allows parallel installcheck to succeed inside contrib/. Theoutput is not particularly pretty unless make's -O option tosynchronize the output is used.There's other tests, outside contrib, that use a hardcoded,non-unique, database name. Those prohibit paralell installcheck to beused across more directories; but that's something for a separatepatch.
1 parent2bde297 commitddc2504

File tree

6 files changed

+64
-46
lines changed

6 files changed

+64
-46
lines changed

‎contrib/dblink/Makefile

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ REGRESS = paths dblink
1414
REGRESS_OPTS = --dlpath=$(top_builddir)/src/test/regress
1515
EXTRA_CLEAN = sql/paths.sql expected/paths.out
1616

17-
# the db name is hard-coded in the tests
18-
overrideUSE_MODULE_DB =
19-
2017
ifdefUSE_PGXS
2118
PG_CONFIG = pg_config
2219
PGXS :=$(shell$(PG_CONFIG) --pgxs)

‎contrib/dblink/expected/dblink.out

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,12 @@ SELECT dblink_build_sql_delete('"MySchema"."Foo"','1 2',2,'{"0", "a"}');
8888
DELETE FROM "MySchema"."Foo" WHERE f1 = '0' AND f2 = 'a'
8989
(1 row)
9090

91+
CREATE FUNCTION connection_parameters() RETURNS text LANGUAGE SQL AS $f$
92+
SELECT $$dbname='$$||current_database()||$$'$$;
93+
$f$;
9194
-- regular old dblink
9295
SELECT *
93-
FROM dblink('dbname=contrib_regression','SELECT * FROM foo') AS t(a int, b text, c text[])
96+
FROM dblink(connection_parameters(),'SELECT * FROM foo') AS t(a int, b text, c text[])
9497
WHERE t.a > 7;
9598
a | b | c
9699
---+---+------------
@@ -116,9 +119,9 @@ DECLARE
116119
detail text;
117120
BEGIN
118121
PERFORM wait_pid(crash_pid)
119-
FROM dblink('dbname=contrib_regression', $$
122+
FROM dblink(connection_parameters(), $$
120123
SELECT pg_backend_pid() FROM dblink(
121-
'service=test_ldapdbname=contrib_regression',
124+
'service=test_ldap'||connection_parameters(),
122125
-- This string concatenation is a hack to shoehorn a
123126
-- set_pgservicefile call into the SQL statement.
124127
'SELECT 1' || set_pgservicefile('pg_service.conf')
@@ -131,7 +134,7 @@ EXCEPTION WHEN OTHERS THEN
131134
END
132135
$pl$;
133136
-- create a persistent connection
134-
SELECT dblink_connect('dbname=contrib_regression');
137+
SELECT dblink_connect(connection_parameters());
135138
dblink_connect
136139
----------------
137140
OK
@@ -267,14 +270,14 @@ WHERE t.a > 7;
267270
ERROR: connection not available
268271
-- put more data into our slave table, first using arbitrary connection syntax
269272
-- but truncate the actual return value so we can use diff to check for success
270-
SELECT substr(dblink_exec('dbname=contrib_regression','INSERT INTO foo VALUES(10,''k'',''{"a10","b10","c10"}'')'),1,6);
273+
SELECT substr(dblink_exec(connection_parameters(),'INSERT INTO foo VALUES(10,''k'',''{"a10","b10","c10"}'')'),1,6);
271274
substr
272275
--------
273276
INSERT
274277
(1 row)
275278

276279
-- create a persistent connection
277-
SELECT dblink_connect('dbname=contrib_regression');
280+
SELECT dblink_connect(connection_parameters());
278281
dblink_connect
279282
----------------
280283
OK
@@ -374,7 +377,7 @@ ERROR: could not establish connection
374377
DETAIL: missing "=" after "myconn" in connection info string
375378

376379
-- create a named persistent connection
377-
SELECT dblink_connect('myconn','dbname=contrib_regression');
380+
SELECT dblink_connect('myconn',connection_parameters());
378381
dblink_connect
379382
----------------
380383
OK
@@ -403,10 +406,10 @@ CONTEXT: Error occurred on dblink connection named "myconn": could not execute
403406

404407
-- create a second named persistent connection
405408
-- should error with "duplicate connection name"
406-
SELECT dblink_connect('myconn','dbname=contrib_regression');
409+
SELECT dblink_connect('myconn',connection_parameters());
407410
ERROR: duplicate connection name
408411
-- create a second named persistent connection with a new name
409-
SELECT dblink_connect('myconn2','dbname=contrib_regression');
412+
SELECT dblink_connect('myconn2',connection_parameters());
410413
dblink_connect
411414
----------------
412415
OK
@@ -601,7 +604,7 @@ ERROR: could not establish connection
601604
DETAIL: missing "=" after "myconn" in connection info string
602605

603606
-- create a named persistent connection
604-
SELECT dblink_connect('myconn','dbname=contrib_regression');
607+
SELECT dblink_connect('myconn',connection_parameters());
605608
dblink_connect
606609
----------------
607610
OK
@@ -677,7 +680,7 @@ SELECT dblink_disconnect('myconn');
677680
SELECT dblink_disconnect('myconn');
678681
ERROR: connection "myconn" not available
679682
-- test asynchronous queries
680-
SELECT dblink_connect('dtest1','dbname=contrib_regression');
683+
SELECT dblink_connect('dtest1',connection_parameters());
681684
dblink_connect
682685
----------------
683686
OK
@@ -690,7 +693,7 @@ SELECT * from
690693
1
691694
(1 row)
692695

693-
SELECT dblink_connect('dtest2','dbname=contrib_regression');
696+
SELECT dblink_connect('dtest2',connection_parameters());
694697
dblink_connect
695698
----------------
696699
OK
@@ -703,7 +706,7 @@ SELECT * from
703706
1
704707
(1 row)
705708

706-
SELECT dblink_connect('dtest3','dbname=contrib_regression');
709+
SELECT dblink_connect('dtest3',connection_parameters());
707710
dblink_connect
708711
----------------
709712
OK
@@ -777,7 +780,7 @@ SELECT * from result;
777780
10 | k | {a10,b10,c10}
778781
(11 rows)
779782

780-
SELECT dblink_connect('dtest1','dbname=contrib_regression');
783+
SELECT dblink_connect('dtest1',connection_parameters());
781784
dblink_connect
782785
----------------
783786
OK
@@ -810,8 +813,12 @@ SELECT dblink_disconnect('dtest1');
810813

811814
-- test foreign data wrapper functionality
812815
CREATE ROLE dblink_regression_test;
813-
CREATE SERVER fdtest FOREIGN DATA WRAPPER dblink_fdw
814-
OPTIONS (dbname 'contrib_regression');
816+
DO $d$
817+
BEGIN
818+
EXECUTE $$CREATE SERVER fdtest FOREIGN DATA WRAPPER dblink_fdw
819+
OPTIONS (dbname '$$||current_database()||$$')$$;
820+
END;
821+
$d$;
815822
CREATE USER MAPPING FOR public SERVER fdtest
816823
OPTIONS (server 'localhost'); -- fail, can't specify server here
817824
ERROR: invalid option "server"
@@ -854,7 +861,7 @@ DROP USER dblink_regression_test;
854861
DROP USER MAPPING FOR public SERVER fdtest;
855862
DROP SERVER fdtest;
856863
-- test asynchronous notifications
857-
SELECT dblink_connect('dbname=contrib_regression');
864+
SELECT dblink_connect(connection_parameters());
858865
dblink_connect
859866
----------------
860867
OK
@@ -943,7 +950,7 @@ SELECT dblink_build_sql_delete('test_dropped', '1', 1,
943950
SET datestyle = ISO, MDY;
944951
SET intervalstyle = postgres;
945952
SET timezone = UTC;
946-
SELECT dblink_connect('myconn','dbname=contrib_regression');
953+
SELECT dblink_connect('myconn',connection_parameters());
947954
dblink_connect
948955
----------------
949956
OK

‎contrib/dblink/sql/dblink.sql

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,13 @@ SELECT dblink_build_sql_update('"MySchema"."Foo"','1 2',2,'{"0", "a"}','{"99", "
5555
-- build a delete statement based on a local tuple,
5656
SELECT dblink_build_sql_delete('"MySchema"."Foo"','1 2',2,'{"0", "a"}');
5757

58+
CREATEFUNCTIONconnection_parameters() RETURNStext LANGUAGE SQLAS $f$
59+
SELECT $$dbname='$$||current_database()||$$'$$;
60+
$f$;
61+
5862
-- regular old dblink
5963
SELECT*
60-
FROM dblink('dbname=contrib_regression','SELECT * FROM foo')AS t(aint, btext, ctext[])
64+
FROM dblink(connection_parameters(),'SELECT * FROM foo')AS t(aint, btext, ctext[])
6165
WHEREt.a>7;
6266

6367
-- should generate "connection not available" error
@@ -78,9 +82,9 @@ DECLARE
7882
detailtext;
7983
BEGIN
8084
PERFORM wait_pid(crash_pid)
81-
FROM dblink('dbname=contrib_regression', $$
85+
FROM dblink(connection_parameters(), $$
8286
SELECT pg_backend_pid()FROM dblink(
83-
'service=test_ldapdbname=contrib_regression',
87+
'service=test_ldap'||connection_parameters(),
8488
-- This string concatenation is a hack to shoehorn a
8589
-- set_pgservicefile call into the SQL statement.
8690
'SELECT 1'|| set_pgservicefile('pg_service.conf')
@@ -94,7 +98,7 @@ END
9498
$pl$;
9599

96100
-- create a persistent connection
97-
SELECT dblink_connect('dbname=contrib_regression');
101+
SELECT dblink_connect(connection_parameters());
98102

99103
-- use the persistent connection
100104
SELECT*
@@ -155,10 +159,10 @@ WHERE t.a > 7;
155159

156160
-- put more data into our slave table, first using arbitrary connection syntax
157161
-- but truncate the actual return value so we can use diff to check for success
158-
SELECT substr(dblink_exec('dbname=contrib_regression','INSERT INTO foo VALUES(10,''k'',''{"a10","b10","c10"}'')'),1,6);
162+
SELECT substr(dblink_exec(connection_parameters(),'INSERT INTO foo VALUES(10,''k'',''{"a10","b10","c10"}'')'),1,6);
159163

160164
-- create a persistent connection
161-
SELECT dblink_connect('dbname=contrib_regression');
165+
SELECT dblink_connect(connection_parameters());
162166

163167
-- put more data into our slave table, using persistent connection syntax
164168
-- but truncate the actual return value so we can use diff to check for success
@@ -204,7 +208,7 @@ FROM dblink('myconn','SELECT * FROM foo') AS t(a int, b text, c text[])
204208
WHEREt.a>7;
205209

206210
-- create a named persistent connection
207-
SELECT dblink_connect('myconn','dbname=contrib_regression');
211+
SELECT dblink_connect('myconn',connection_parameters());
208212

209213
-- use the named persistent connection
210214
SELECT*
@@ -218,10 +222,10 @@ WHERE t.a > 7;
218222

219223
-- create a second named persistent connection
220224
-- should error with "duplicate connection name"
221-
SELECT dblink_connect('myconn','dbname=contrib_regression');
225+
SELECT dblink_connect('myconn',connection_parameters());
222226

223227
-- create a second named persistent connection with a new name
224-
SELECT dblink_connect('myconn2','dbname=contrib_regression');
228+
SELECT dblink_connect('myconn2',connection_parameters());
225229

226230
-- use the second named persistent connection
227231
SELECT*
@@ -307,7 +311,7 @@ FROM dblink('myconn','SELECT * FROM foo') AS t(a int, b text, c text[])
307311
WHEREt.a>7;
308312

309313
-- create a named persistent connection
310-
SELECT dblink_connect('myconn','dbname=contrib_regression');
314+
SELECT dblink_connect('myconn',connection_parameters());
311315

312316
-- put more data into our slave table, using named persistent connection syntax
313317
-- but truncate the actual return value so we can use diff to check for success
@@ -341,15 +345,15 @@ SELECT dblink_disconnect('myconn');
341345
SELECT dblink_disconnect('myconn');
342346

343347
-- test asynchronous queries
344-
SELECT dblink_connect('dtest1','dbname=contrib_regression');
348+
SELECT dblink_connect('dtest1',connection_parameters());
345349
SELECT*from
346350
dblink_send_query('dtest1','select * from foo where f1 < 3')as t1;
347351

348-
SELECT dblink_connect('dtest2','dbname=contrib_regression');
352+
SELECT dblink_connect('dtest2',connection_parameters());
349353
SELECT*from
350354
dblink_send_query('dtest2','select * from foo where f1 > 2 and f1 < 7')as t1;
351355

352-
SELECT dblink_connect('dtest3','dbname=contrib_regression');
356+
SELECT dblink_connect('dtest3',connection_parameters());
353357
SELECT*from
354358
dblink_send_query('dtest3','select * from foo where f1 > 6')as t1;
355359

@@ -378,7 +382,7 @@ SELECT dblink_disconnect('dtest3');
378382

379383
SELECT*from result;
380384

381-
SELECT dblink_connect('dtest1','dbname=contrib_regression');
385+
SELECT dblink_connect('dtest1',connection_parameters());
382386
SELECT*from
383387
dblink_send_query('dtest1','select * from foo where f1 < 3')as t1;
384388

@@ -388,8 +392,13 @@ SELECT dblink_disconnect('dtest1');
388392

389393
-- test foreign data wrapper functionality
390394
CREATE ROLE dblink_regression_test;
391-
CREATE SERVER fdtest FOREIGN DATA WRAPPER dblink_fdw
392-
OPTIONS (dbname'contrib_regression');
395+
DO $d$
396+
BEGIN
397+
EXECUTE $$CREATE SERVER fdtest FOREIGN DATA WRAPPER dblink_fdw
398+
OPTIONS (dbname'$$||current_database()||$$')$$;
399+
END;
400+
$d$;
401+
393402
CREATEUSERMAPPING FOR public SERVER fdtest
394403
OPTIONS (server'localhost');-- fail, can't specify server here
395404
CREATEUSERMAPPING FOR public SERVER fdtest OPTIONS (user :'USER');
@@ -412,7 +421,7 @@ DROP USER MAPPING FOR public SERVER fdtest;
412421
DROP SERVER fdtest;
413422

414423
-- test asynchronous notifications
415-
SELECT dblink_connect('dbname=contrib_regression');
424+
SELECT dblink_connect(connection_parameters());
416425

417426
--should return listen
418427
SELECT dblink_exec('LISTEN regression');
@@ -458,7 +467,7 @@ SELECT dblink_build_sql_delete('test_dropped', '1', 1,
458467
SET datestyle= ISO, MDY;
459468
SET intervalstyle= postgres;
460469
SET timezone= UTC;
461-
SELECT dblink_connect('myconn','dbname=contrib_regression');
470+
SELECT dblink_connect('myconn',connection_parameters());
462471
SELECT dblink_exec('myconn','SET datestyle = GERMAN, DMY;');
463472

464473
-- single row synchronous case

‎contrib/postgres_fdw/Makefile

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ DATA = postgres_fdw--1.0.sql
1313

1414
REGRESS = postgres_fdw
1515

16-
# the db name is hard-coded in the tests
17-
overrideUSE_MODULE_DB =
18-
1916
ifdefUSE_PGXS
2017
PG_CONFIG = pg_config
2118
PGXS :=$(shell$(PG_CONFIG) --pgxs)

‎contrib/postgres_fdw/expected/postgres_fdw.out

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33
-- ===================================================================
44
CREATE EXTENSION postgres_fdw;
55
CREATE SERVER testserver1 FOREIGN DATA WRAPPER postgres_fdw;
6-
CREATE SERVER loopback FOREIGN DATA WRAPPER postgres_fdw
7-
OPTIONS (dbname 'contrib_regression');
6+
DO $d$
7+
BEGIN
8+
EXECUTE $$CREATE SERVER loopback FOREIGN DATA WRAPPER postgres_fdw
9+
OPTIONS (dbname '$$||current_database()||$$');$$;
10+
END;
11+
$d$;
812
CREATE USER MAPPING FOR public SERVER testserver1
913
OPTIONS (user 'value', password 'value');
1014
CREATE USER MAPPING FOR CURRENT_USER SERVER loopback;

‎contrib/postgres_fdw/sql/postgres_fdw.sql

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,12 @@
55
CREATE EXTENSION postgres_fdw;
66

77
CREATE SERVER testserver1 FOREIGN DATA WRAPPER postgres_fdw;
8-
CREATE SERVER loopback FOREIGN DATA WRAPPER postgres_fdw
9-
OPTIONS (dbname'contrib_regression');
8+
DO $d$
9+
BEGIN
10+
EXECUTE $$CREATE SERVER loopback FOREIGN DATA WRAPPER postgres_fdw
11+
OPTIONS (dbname'$$||current_database()||$$');$$;
12+
END;
13+
$d$;
1014

1115
CREATEUSERMAPPING FOR public SERVER testserver1
1216
OPTIONS (user'value', password'value');

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp