OSDN Git Service

Async dblink functions require a named connection, and therefore should
authorJoe Conway <mail@joeconway.com>
Sat, 25 Jun 2011 22:58:07 +0000 (15:58 -0700)
committerJoe Conway <mail@joeconway.com>
Sat, 25 Jun 2011 22:58:07 +0000 (15:58 -0700)
use DBLINK_GET_NAMED_CONN rather than DBLINK_GET_CONN.
Problem found by Peter Eisentraut and patch by Fujii Masao.

contrib/dblink/dblink.c

index 19b98fb..b8d0342 100644 (file)
@@ -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 */