/*
 * 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;
}