dblink: Fix variable confusion introduced in e4602483e9

Thanks to Robins to find the issue and Nathan for promptly writing a test case
to prevent future problems like this.

Reported-by: Nathan Bossart <nathandbossart@gmail.com>
Reported-by: Robins Tharakan <tharakan@gmail.com>
Author: Nathan Bossart <nathandbossart@gmail.com>
Discussion: https://postgr.es/m/20230130193008.GA2740781@nathanxps13
pull/128/head
Andres Freund 3 years ago
parent c289117505
commit fbed4bc59e
  1. 2
      contrib/dblink/dblink.c
  2. 19
      contrib/dblink/expected/dblink.out
  3. 5
      contrib/dblink/sql/dblink.sql

@ -321,7 +321,7 @@ dblink_connect(PG_FUNCTION_ARGS)
else
{
if (pconn->conn)
libpqsrv_disconnect(conn);
libpqsrv_disconnect(pconn->conn);
pconn->conn = conn;
}

@ -938,6 +938,25 @@ DROP SERVER fdtest;
ALTER FOREIGN DATA WRAPPER dblink_fdw OPTIONS (nonexistent 'fdw');
ERROR: invalid option "nonexistent"
HINT: There are no valid options in this context.
-- test repeated calls to dblink_connect
SELECT dblink_connect(connection_parameters());
dblink_connect
----------------
OK
(1 row)
SELECT dblink_connect(connection_parameters());
dblink_connect
----------------
OK
(1 row)
SELECT dblink_disconnect();
dblink_disconnect
-------------------
OK
(1 row)
-- test asynchronous notifications
SELECT dblink_connect(connection_parameters());
dblink_connect

@ -489,6 +489,11 @@ DROP SERVER fdtest;
-- should fail
ALTER FOREIGN DATA WRAPPER dblink_fdw OPTIONS (nonexistent 'fdw');
-- test repeated calls to dblink_connect
SELECT dblink_connect(connection_parameters());
SELECT dblink_connect(connection_parameters());
SELECT dblink_disconnect();
-- test asynchronous notifications
SELECT dblink_connect(connection_parameters());

Loading…
Cancel
Save