• Fujii Masao's avatar
    postgres_fdw: Fix bug in checking of return value of PQsendQuery(). · 169d50ba
    Fujii Masao authored
    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/b187a7cf-d4e3-5a32-4d01-8383677797f3@oss.nttdata.com
    169d50ba
postgres_fdw.c 228 KB