This is an automated email from the ASF dual-hosted git repository.

reshke pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudberry.git

commit b11e94066234f638e29ce4a6b1c2cec0f3475aa9
Author: Fujii Masao <[email protected]>
AuthorDate: Thu Jul 21 22:52:50 2022 +0900

    postgres_fdw: Fix bug in checking of return value of PQsendQuery().
    
    When postgres_fdw begins an asynchronous data fetch, it submits FETCH query
    by using PQsendQuery(). If PQsendQuery() fails and returns 0, postgres_fdw
    should report an error. But, previously, postgres_fdw reported an error
    only when the return value is less than 0, though PQsendQuery() never return
    the values other than 0 and 1. Therefore postgres_fdw could not handle
    the failure to send FETCH query in an asynchronous data fetch.
    
    This commit fixes postgres_fdw so that it reports an error
    when PQsendQuery() returns 0.
    
    Back-patch to v14 where asynchronous execution was supported in 
postgres_fdw.
    
    Author: Fujii Masao
    Reviewed-by: Japin Li, Tom Lane
    Discussion: 
https://postgr.es/m/[email protected]
---
 contrib/postgres_fdw/postgres_fdw.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/postgres_fdw/postgres_fdw.c 
b/contrib/postgres_fdw/postgres_fdw.c
index fbbd867c239..58599c7aeaa 100644
--- a/contrib/postgres_fdw/postgres_fdw.c
+++ b/contrib/postgres_fdw/postgres_fdw.c
@@ -7167,7 +7167,7 @@ fetch_more_data_begin(AsyncRequest *areq)
        snprintf(sql, sizeof(sql), "FETCH %d FROM c%u",
                         fsstate->fetch_size, fsstate->cursor_number);
 
-       if (PQsendQuery(fsstate->conn, sql) < 0)
+       if (!PQsendQuery(fsstate->conn, sql))
                pgfdw_report_error(ERROR, NULL, fsstate->conn, false, 
fsstate->query);
 
        /* Remember that the request is in process */


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to