Thread

  1. Make PQgetResult() not return NULL on out-of-memory error

    Yugo Nagata <nagata@sraoss.co.jp> — 2025-11-10T17:07:01Z

    Hi,
    
    Currently, PQgetResult() returns NULL not only when no results remain for
    a sent query, but also when an out-of-memory error occurs, except when
    PGconn itself is NULL. As a result, users cannot distinguish between query
    completion and an out-of-memory error when PQgetResult() returns NULL.
    
    The result returned by PQgetResult() is generated by either pqPipelineProcessQueue()
    or getCopyResult(). While pqPipelineProcessQueue() never returns NULL, even in the
    case of an out-of-memory error, getCopyResult() may return NULL.
    Therefore, I propose modifying getCopyResult() so that it never returns NULL, but
    instead returns OOM_result, as pqPipelineProcessQueue() does.
    
    I’ve attached a patch for this.
    
    Regards,
    Yugo Nagata
    
    -- 
    Yugo Nagata <nagata@sraoss.co.jp>