Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oEX4W-0001vA-3w for pgsql-hackers@arkaria.postgresql.org; Thu, 21 Jul 2022 14:22:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oEX4U-0003kp-Tp for pgsql-hackers@arkaria.postgresql.org; Thu, 21 Jul 2022 14:22:34 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oEX4U-0003kg-Kh for pgsql-hackers@lists.postgresql.org; Thu, 21 Jul 2022 14:22:34 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oEX4R-0001Am-KX for pgsql-hackers@postgresql.org; Thu, 21 Jul 2022 14:22:33 +0000 Received: from [192.168.11.5] (p2292104-ipngn10401funabasi.chiba.ocn.ne.jp [180.11.136.104]) by oss.nttdata.com (Postfix) with ESMTPSA id 7180F605CE for ; Thu, 21 Jul 2022 23:22:27 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.6 at oss.nttdata.com Content-Type: multipart/mixed; boundary="------------4cSLkyHaNSlGawBinNXrlomZ" Message-ID: Date: Thu, 21 Jul 2022 23:22:26 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Content-Language: en-US To: pgsql-hackers@postgresql.org From: Fujii Masao Subject: postgres_fdw: Fix bug in checking of return value of PQsendQuery(). List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------4cSLkyHaNSlGawBinNXrlomZ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, I found that fetch_more_data_begin() in postgres_fdw reports an error when PQsendQuery() returns the value less than 0 as follows though PQsendQuery() can return only 1 or 0. I think this is a bug. Attached is the patch that fixes this bug. This needs to be back-ported to v14 where async execution was supported in postgres_fdw. if (PQsendQuery(fsstate->conn, sql) < 0) pgfdw_report_error(ERROR, NULL, fsstate->conn, false, fsstate->query); Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION --------------4cSLkyHaNSlGawBinNXrlomZ Content-Type: text/plain; charset=UTF-8; name="0001-postgres_fdw-Fix-bug-in-checking-of-return-value-of-.patch" Content-Disposition: attachment; filename*0="0001-postgres_fdw-Fix-bug-in-checking-of-return-value-of-.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA1MzhmMzNhMTdmMzYyM2NlYzU0NzY4YTczMjVkNjRmOGU5N2FiZTA2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBGdWppaSBNYXNhbyA8ZnVqaWlAcG9zdGdyZXNxbC5v cmc+CkRhdGU6IFRodSwgMjEgSnVsIDIwMjIgMjI6NTI6NTAgKzA5MDAKU3ViamVjdDogW1BB VENIXSBwb3N0Z3Jlc19mZHc6IEZpeCBidWcgaW4gY2hlY2tpbmcgb2YgcmV0dXJuIHZhbHVl IG9mCiBQUXNlbmRRdWVyeSgpLgoKV2hlbiBwb3N0Z3Jlc19mZHcgYmVnaW5zIGFuIGFzeW5j aHJvbm91cyBkYXRhIGZldGNoLCBpdCBzdWJtaXRzIEZFVENIIHF1ZXJ5CmJ5IHVzaW5nIFBR c2VuZFF1ZXJ5KCkuIElmIFBRc2VuZFF1ZXJ5KCkgZmFpbHMgYW5kIHJldHVybnMgMCwgcG9z dGdyZXNfZmR3CnNob3VsZCByZXBvcnQgYW4gZXJyb3IuIEJ1dCwgcHJldmlvdXNseSwgcG9z dGdyZXNfZmR3IHJlcG9ydGVkIGFuIGVycm9yCm9ubHkgd2hlbiB0aGUgcmV0dXJuIHZhbHVl IGlzIGxlc3MgdGhhbiAwLCB0aG91Z2ggUFFzZW5kUXVlcnkoKSBuZXZlciByZXR1cm4KdGhl IHZhbHVlcyBvdGhlciB0aGFuIDAgYW5kIDEuIFRoZXJlZm9yZSBwb3N0Z3Jlc19mZHcgY291 bGQgbm90IGhhbmRsZQp0aGUgZmFpbHVyZSB0byBzZW5kIEZFVENIIHF1ZXJ5IGluIGFuIGFz eW5jaHJvbm91cyBkYXRhIGZldGNoLgoKVGhpcyBjb21taXQgZml4ZXMgcG9zdGdyZXNfZmR3 IHNvIHRoYXQgaXQgcmVwb3J0cyBhbiBlcnJvcgp3aGVuIFBRc2VuZFF1ZXJ5KCkgcmV0dXJu cyAwLgoKQmFjay1wYXRjaCB0byB2MTQgd2hlcmUgYXN5bmNocm9ub3VzIGV4ZWN1dGlvbiB3 YXMgc3VwcG9ydGVkIGluIHBvc3RncmVzX2Zkdy4KCkF1dGhvcjogRnVqaWkgTWFzYW8KUmV2 aWV3ZWQtYnk6CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vCi0tLQogY29udHJp Yi9wb3N0Z3Jlc19mZHcvcG9zdGdyZXNfZmR3LmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9jb250cmliL3Bv c3RncmVzX2Zkdy9wb3N0Z3Jlc19mZHcuYyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3Rn cmVzX2Zkdy5jCmluZGV4IGYzYjkzOTU0ZWUuLjA0OGRiNTQyZDMgMTAwNjQ0Ci0tLSBhL2Nv bnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5jCisrKyBiL2NvbnRyaWIvcG9zdGdy ZXNfZmR3L3Bvc3RncmVzX2Zkdy5jCkBAIC03MDcwLDcgKzcwNzAsNyBAQCBmZXRjaF9tb3Jl X2RhdGFfYmVnaW4oQXN5bmNSZXF1ZXN0ICphcmVxKQogCXNucHJpbnRmKHNxbCwgc2l6ZW9m KHNxbCksICJGRVRDSCAlZCBGUk9NIGMldSIsCiAJCQkgZnNzdGF0ZS0+ZmV0Y2hfc2l6ZSwg ZnNzdGF0ZS0+Y3Vyc29yX251bWJlcik7CiAKLQlpZiAoUFFzZW5kUXVlcnkoZnNzdGF0ZS0+ Y29ubiwgc3FsKSA8IDApCisJaWYgKCFQUXNlbmRRdWVyeShmc3N0YXRlLT5jb25uLCBzcWwp KQogCQlwZ2Zkd19yZXBvcnRfZXJyb3IoRVJST1IsIE5VTEwsIGZzc3RhdGUtPmNvbm4sIGZh bHNlLCBmc3N0YXRlLT5xdWVyeSk7CiAKIAkvKiBSZW1lbWJlciB0aGF0IHRoZSByZXF1ZXN0 IGlzIGluIHByb2Nlc3MgKi8KLS0gCjIuMzYuMAoK --------------4cSLkyHaNSlGawBinNXrlomZ--