/*
 * call-seq:
 *    res.each{ |tuple| ... }
 *
 * Invokes block for each tuple in the result set.
 */
static VALUE
pgresult_each(VALUE self)
{
    PGresult *result = get_pgresult(self);
    int tuple_num;

    for(tuple_num = 0; tuple_num < PQntuples(result); tuple_num++) {
        rb_yield(pgresult_aref(self, INT2NUM(tuple_num)));
    }
    return self;
}