@@ -687,23 +687,25 @@ dblink_record_internal(FunctionCallInfo fcinfo, bool is_async)
687687if (PG_NARGS ()== 3 )
688688{
689689/* text,text,bool */
690- dblink_get_conn ( text_to_cstring (PG_GETARG_TEXT_PP (0 )), & conn , & conname , & freeconn );
690+ conname = text_to_cstring (PG_GETARG_TEXT_PP (0 ));
691691sql = text_to_cstring (PG_GETARG_TEXT_PP (1 ));
692692fail = PG_GETARG_BOOL (2 );
693+ dblink_get_conn (conname ,& conn ,& conname ,& freeconn );
693694}
694695else if (PG_NARGS ()== 2 )
695696{
696697/* text,text or text,bool */
697698if (get_fn_expr_argtype (fcinfo -> flinfo ,1 )== BOOLOID )
698699{
699- conn = pconn -> conn ;
700700sql = text_to_cstring (PG_GETARG_TEXT_PP (0 ));
701701fail = PG_GETARG_BOOL (1 );
702+ conn = pconn -> conn ;
702703}
703704else
704705{
705- dblink_get_conn ( text_to_cstring (PG_GETARG_TEXT_PP (0 )), & conn , & conname , & freeconn );
706+ conname = text_to_cstring (PG_GETARG_TEXT_PP (0 ));
706707sql = text_to_cstring (PG_GETARG_TEXT_PP (1 ));
708+ dblink_get_conn (conname ,& conn ,& conname ,& freeconn );
707709}
708710}
709711else if (PG_NARGS ()== 1 )
@@ -719,16 +721,18 @@ dblink_record_internal(FunctionCallInfo fcinfo, bool is_async)
719721else /* is_async */
720722{
721723/* get async result */
724+ conname = text_to_cstring (PG_GETARG_TEXT_PP (0 ));
725+
722726if (PG_NARGS ()== 2 )
723727{
724728/* text,bool */
725- conn = dblink_get_named_conn (text_to_cstring (PG_GETARG_TEXT_PP (0 )));
726729fail = PG_GETARG_BOOL (1 );
730+ conn = dblink_get_named_conn (conname );
727731}
728732else if (PG_NARGS ()== 1 )
729733{
730734/* text */
731- conn = dblink_get_named_conn (text_to_cstring ( PG_GETARG_TEXT_PP ( 0 )) );
735+ conn = dblink_get_named_conn (conname );
732736}
733737else
734738/* shouldn't happen */
@@ -1390,23 +1394,25 @@ dblink_exec(PG_FUNCTION_ARGS)
13901394if (PG_NARGS ()== 3 )
13911395{
13921396/* must be text,text,bool */
1393- dblink_get_conn ( text_to_cstring (PG_GETARG_TEXT_PP (0 )), & conn , & conname , & freeconn );
1397+ conname = text_to_cstring (PG_GETARG_TEXT_PP (0 ));
13941398sql = text_to_cstring (PG_GETARG_TEXT_PP (1 ));
13951399fail = PG_GETARG_BOOL (2 );
1400+ dblink_get_conn (conname ,& conn ,& conname ,& freeconn );
13961401}
13971402else if (PG_NARGS ()== 2 )
13981403{
13991404/* might be text,text or text,bool */
14001405if (get_fn_expr_argtype (fcinfo -> flinfo ,1 )== BOOLOID )
14011406{
1402- conn = pconn -> conn ;
14031407sql = text_to_cstring (PG_GETARG_TEXT_PP (0 ));
14041408fail = PG_GETARG_BOOL (1 );
1409+ conn = pconn -> conn ;
14051410}
14061411else
14071412{
1408- dblink_get_conn ( text_to_cstring (PG_GETARG_TEXT_PP (0 )), & conn , & conname , & freeconn );
1413+ conname = text_to_cstring (PG_GETARG_TEXT_PP (0 ));
14091414sql = text_to_cstring (PG_GETARG_TEXT_PP (1 ));
1415+ dblink_get_conn (conname ,& conn ,& conname ,& freeconn );
14101416}
14111417}
14121418else if (PG_NARGS ()== 1 )