flush (PGconn)

    /*
     * call-seq:
     *    conn.flush() -> Boolean
     *
     * Attempts to flush any queued output data to the server.
     * Returns +true+ if data is successfully flushed, +false+
     * if not (can only return +false+ if connection is
     * nonblocking.
     * Raises PGError exception if some other failure occurred.
     */
    static VALUE
    pgconn_flush(self)
            VALUE self;
    {
            PGconn *conn = get_pgconn(self);
            int ret;
            VALUE error;
            ret = PQflush(conn);
            if(ret == -1) {
                    error = rb_exc_new2(rb_ePGError, PQerrorMessage(conn));
                    rb_iv_set(error, "@connection", self);
                    rb_exc_raise(error);
            }
            return (ret) ? Qfalse : Qtrue;
    }