Class: RDO::Postgres::TupleList
- Inherits:
-
Object
- Object
- RDO::Postgres::TupleList
- Includes:
- Enumerable
- Defined in:
- ext/rdo_postgres/tuples.c
Instance Method Summary collapse
-
#each ⇒ Object
Allow iteration over all tuples, yielding Hashes into a block.
Instance Method Details
#each ⇒ Object
Allow iteration over all tuples, yielding Hashes into a block
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'ext/rdo_postgres/tuples.c', line 42
static VALUE rdo_postgres_tuple_list_each(VALUE self) {
if (!rb_block_given_p()) {
return self;
}
RDOPostgresTupleList * list;
Data_Get_Struct(self, RDOPostgresTupleList, list);
int i = 0;
int ntups = PQntuples(list->res);
for (; i < ntups; ++i) {
VALUE hash = rb_hash_new();
int j = 0;
int nfields = PQnfields(list->res);
for (; j < nfields; ++j) {
rb_hash_aset(hash,
ID2SYM(rb_intern(PQfname(list->res, j))),
rdo_postgres_cast_value(list->res, i, j, list->encoding));
}
rb_yield(hash);
}
return self;
}
|