Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gvR2r-0000Kh-UE for pgsql-docs@arkaria.postgresql.org; Sun, 17 Feb 2019 18:20:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gvR2q-0002IG-Km for pgsql-docs@arkaria.postgresql.org; Sun, 17 Feb 2019 18:20:04 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gvR2q-0002I9-EV for pgsql-docs@lists.postgresql.org; Sun, 17 Feb 2019 18:20:04 +0000 Received: from mail-yw1-xc41.google.com ([2607:f8b0:4864:20::c41]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gvR2n-0000JD-F6 for pgsql-docs@lists.postgresql.org; Sun, 17 Feb 2019 18:20:03 +0000 Received: by mail-yw1-xc41.google.com with SMTP id c67so5625698ywa.7 for ; Sun, 17 Feb 2019 10:20:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joeconway.com; s=google; h=subject:from:to:cc:references:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to; bh=AdKjeQytLz+GCJ3S/4VAJ9ebfNp/pXKQXr1rkFBPTEo=; b=ksI9ybGBUzwwr+qiCmYf5856iUwEyKqXXsUmFG1VcGwfUEle22J2vPgjfF3fqK1Inx BFMjpuEofQqTHTLbSZyQFkXYcYmuLai4vMcVZTEc54gVrXyJdG5yCRiO0HCPQbKcvVgH dSv3+GpG+ARA/5jMsT0jh1hkWKYOoNnaOyA1THEmHJF4gcIi9fTzknFzXZ3f2/LTYEZu yTaz/I0UvaHckfqbxzi+wb81H3hm3eF+pVh+/8V/CK8yINShtl8IGdLd5lnbFPMMc6En LOXZ8moxI0bUIUCjQ+zTT87ptSeJSli/oOGK+DKMaeUv4bT58I988N8ks5P8JRY2NUhW SKKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to; bh=AdKjeQytLz+GCJ3S/4VAJ9ebfNp/pXKQXr1rkFBPTEo=; b=ed/8r417mOtaD4rfJU5ge7O2uhThYY6II1k2O39lOt9+cpr+Uw5wH8b7R7q/UHCeBF J0SyCzAgGLUSjo+RxCeA1XzpdmPLPjLC6Tg/pGlYOqG1Ag+UYT31+1wPMbWRff3oP/9A uNMSMc0tP9fbuaqliS4XmHYayXsmafF+YorL35j8ftX2S0I4jeu3DfUgExOZ63umG9rt FtoTcIM9MML93dcMAuer6vorTcb+GFrjq//Q+sKUuGA+6hKWsoMHWXEQzO2Bu4n5n034 +XDBG/UJfCTq3xwtlbBl+vekTHOfJyiprFCdnemCiz8qMxzKHlQtcx7JvKDPySTjWS3a eHgg== X-Gm-Message-State: AHQUAuYa9e9//LHzv9jO69+I7s6qKMW+JdjNcqTAa+6zExbA6KWQROcH J9KqEomSjjEO7V+1PJ6wtKN4SNRFnBU= X-Google-Smtp-Source: AHgI3IY5kAc14dakwTeUfbSKvuSRkJdnbed3lc9wdJDR66q/lfNo/wu7cd06Y9l2xmLb+r5bRAHuGg== X-Received: by 2002:a81:2ed6:: with SMTP id u205mr16265623ywu.176.1550427598237; Sun, 17 Feb 2019 10:19:58 -0800 (PST) Received: from [192.168.4.41] ([72.17.18.98]) by smtp.gmail.com with ESMTPSA id b65sm4499178ywb.29.2019.02.17.10.19.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 17 Feb 2019 10:19:57 -0800 (PST) Subject: Re: dblink_error_message return value From: Joe Conway To: Tom Lane , realyota@gmail.com Cc: pgsql-docs@lists.postgresql.org References: <153371978486.1298.2091761143788088262@wrigleys.postgresql.org> <28231.1533743837@sss.pgh.pa.us> <1f9d1514-f087-1b11-9b45-aac91e57bdc2@joeconway.com> <354b3a34-29b8-842d-bf00-42612464342e@joeconway.com> Openpgp: preference=signencrypt Autocrypt: addr=mail@joeconway.com; keydata= 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 Message-ID: <85d0abce-1a35-c4d9-3936-11fa96f56511@joeconway.com> Date: Sun, 17 Feb 2019 13:19:56 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="QZvUX88WJIXVmUf9laNIYVJ2QHnkozNuz" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --QZvUX88WJIXVmUf9laNIYVJ2QHnkozNuz Content-Type: multipart/mixed; boundary="gv39EQDtgd2mR6PB3zY77QOeVjqCqZKJW"; protected-headers="v1" From: Joe Conway To: Tom Lane , realyota@gmail.com Cc: pgsql-docs@lists.postgresql.org Message-ID: <85d0abce-1a35-c4d9-3936-11fa96f56511@joeconway.com> Subject: Re: dblink_error_message return value References: <153371978486.1298.2091761143788088262@wrigleys.postgresql.org> <28231.1533743837@sss.pgh.pa.us> <1f9d1514-f087-1b11-9b45-aac91e57bdc2@joeconway.com> <354b3a34-29b8-842d-bf00-42612464342e@joeconway.com> In-Reply-To: --gv39EQDtgd2mR6PB3zY77QOeVjqCqZKJW Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 10/2/18 8:45 AM, Joe Conway wrote: > On 09/25/2018 03:58 PM, Joe Conway wrote: >> On 09/25/2018 01:50 PM, Joe Conway wrote: >>> On 08/08/2018 11:57 AM, Tom Lane wrote: >>>> =3D?utf-8?q?PG_Doc_comments_form?=3D writes= : >>>>> The following documentation comment has been logged on the website:= >>>>> Documentation says: >>>>=20 >>>>> Return Value >>>>> Returns last error message, or an empty string if there has been no= error in >>>>> this connection. >>>>> Which is invalid. >>>>> Actually it returns 'OK' string if no error was raised. >>>>=20 >>>> Good catch! The code's quite clear about it, but the SGML docs need= >>>> fixed. >>>=20 >>>=20 >>> As mentioned on the nearby thread, will fix. I suppose this ought to = be >>> back-patched. >>>=20 >>>=20 >>>>> Secondly >>>>> dblink_is_busy must be first called to make dblink_error_message re= turns an >>>>> error message. (Tested on 9.6.9) >>>>=20 >>>> Meh. I see what you're getting at here, I think, but that seems lik= e a >>>> completely wrong/misleading statement of the issue. Joe, can you th= ink of >>>> better phraseology? >>>=20 >>> Maybe a note, something like this? >>> ------------ >>> When asynchronous queries are initiated by dblink_send_query(), the >>> error message associated with the connection might not get updated un= til >>> the server's response message is consumed. This typically means that >>> dblink_is_busy() or dblink_get_result() should be called prior to >>> dblink_error_message(), so that any error generated by the asynchrono= us >>> query() will be visible. >>> ------------ >>=20 >> And now with the corresponding patch attached. >>=20 >> Thoughts/comments? >=20 >=20 > Going once, going twice, ... > (if no complaints will commit soon) Well, maybe not so soon, but now done. Joe --=20 Crunchy Data - http://crunchydata.com PostgreSQL Support for Secure Enterprises Consulting, Training, & Open Source Development --gv39EQDtgd2mR6PB3zY77QOeVjqCqZKJW-- --QZvUX88WJIXVmUf9laNIYVJ2QHnkozNuz Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJcaaXMAAoJEDfy90M199hl/WQP/0CkpqducvODhiQSr2ENKNqv aSX79ws1bAmVe7vWZuEhjn5XiMBNto9OBdayWUuKrfvgDGOz5w0J52yGyhyC0HEa +qZCwF2o/XA8dJOfefhuxpebqTd5MZFya6oGEqKuUvHqWNWb2l5Xhz3xczOXC2l0 OamZqyt768SG+gwOwgah36X3RLMzD+VceTeL/x6g1Bwdni1XD7o0x2hcy23asX3o zY5+LDsxEhIhtW/KZib5rbwZWEB2q1Aj5BBx49asXzGGqOjOh65ugSpY0/x8BmSc YtRw15mOW+GdKQCVRoJYfgnFtqipIMj4SlxOlAmU1s0eCoCsoUucVbyIMql7Dpmo mSDk0r+J2pTX8TYYUkGs5mBoR6P9h7wWFJ9pTHGHRBTT18JmcPnU3yWjje9USY/M z1YCsndI3rteC7xYo3K0qSA4vL/jAQEOHE7VTJKeKofjeIaufjzQ07XcKrCXUbqz SPaDvHIwk2IaLcmGkFoN45mq7lh/f5Io9IWiT8evqr5pUL8pVjJHxk1hHCUkt5c0 JmGKca83h4tpmqfEaO93M3twRETeIg24TzlaicyrMtRxH9b/dDc5KobpwFjOSurD 5iH6US1K0DIx5XBiEhGaZwr5i5cJeZuiXBX//5mIgU0wlj8uWAT1hjwZv+Wfqb54 /9sMOJfR88K0pDJRsoQz =jN2d -----END PGP SIGNATURE----- --QZvUX88WJIXVmUf9laNIYVJ2QHnkozNuz--