Thread: dblink_get_result returns NULL if remote query throws error

dblink_get_result returns NULL if remote query throws error

From
PG Doc comments form
Date:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/9.3/static/contrib-dblink-get-result.html
Description:

Please consider clarifying this page:
https://www.postgresql.org/docs/current/static/contrib-dblink-get-result.html
to state that if you call 
select dblink_get_result ('mylink',false), you will receive back a NULL if
the remote query threw an error. It is not clear on the page. At least an
example would be nice.

Thanks!

Re: dblink_get_result returns NULL if remote query throws error

From
Joe Conway
Date:
On 09/25/2018 11:41 AM, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
>
> Page: https://www.postgresql.org/docs/9.3/static/contrib-dblink-get-result.html
> Description:
>
> Please consider clarifying this page:
> https://www.postgresql.org/docs/current/static/contrib-dblink-get-result.html
> to state that if you call
> select dblink_get_result ('mylink',false), you will receive back a NULL if
> the remote query threw an error. It is not clear on the page. At least an
> example would be nice.

I will look at this as well as the similar one from a month+ ago that
has been languishing in my inbox.

Joe

--
Crunchy Data - http://crunchydata.com
PostgreSQL Support for Secure Enterprises
Consulting, Training, & Open Source Development


Attachment

Re: dblink_get_result returns NULL if remote query throws error

From
Joe Conway
Date:
On 09/25/2018 01:06 PM, Joe Conway wrote:
> On 09/25/2018 11:41 AM, PG Doc comments form wrote:
>> The following documentation comment has been logged on the website:
>>
>> Page: https://www.postgresql.org/docs/9.3/static/contrib-dblink-get-result.html
>> Description:
>>
>> Please consider clarifying this page:
>> https://www.postgresql.org/docs/current/static/contrib-dblink-get-result.html
>> to state that if you call
>> select dblink_get_result ('mylink',false), you will receive back a NULL if
>> the remote query threw an error. It is not clear on the page. At least an
>> example would be nice.
>
> I will look at this as well as the similar one from a month+ ago that
> has been languishing in my inbox.

Actually, the doc page says this:

8<--------------
fail_on_error

    If true (the default when omitted) then an error thrown on the
remote side of the connection causes an error to also be thrown locally.
If false, the remote error is locally reported as a NOTICE, and the
function returns no rows.
8<--------------

The case you describe does *not* return NULL, it returns no rows, which
is exactly what the above says. I don't see anything needing fixing. If
you have evidence otherwise, please provide an example.

Joe

--
Crunchy Data - http://crunchydata.com
PostgreSQL Support for Secure Enterprises
Consulting, Training, & Open Source Development


Attachment