Async dblink functions require a named connection, and therefore should

use DBLINK_GET_NAMED_CONN rather than DBLINK_GET_CONN.
Problem found by Peter Eisentraut and patch by Fujii Masao.
pull/1/head
Joe Conway 15 years ago
parent eb03cff820
commit 8af3596d6b
  1. 9
      contrib/dblink/dblink.c

@ -613,16 +613,13 @@ Datum
dblink_send_query(PG_FUNCTION_ARGS)
{
PGconn *conn = NULL;
char *connstr = NULL;
char *sql = NULL;
remoteConn *rconn = NULL;
char *msg;
bool freeconn = false;
int retval;
if (PG_NARGS() == 2)
{
DBLINK_GET_CONN;
DBLINK_GET_NAMED_CONN;
sql = text_to_cstring(PG_GETARG_TEXT_PP(1));
}
else
@ -711,13 +708,13 @@ dblink_record_internal(FunctionCallInfo fcinfo, bool is_async)
if (PG_NARGS() == 2)
{
/* text,bool */
DBLINK_GET_CONN;
DBLINK_GET_NAMED_CONN;
fail = PG_GETARG_BOOL(1);
}
else if (PG_NARGS() == 1)
{
/* text */
DBLINK_GET_CONN;
DBLINK_GET_NAMED_CONN;
}
else
/* shouldn't happen */

Loading…
Cancel
Save