365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
|
# File 'ext/mysql2/result.c', line 365
static VALUE rb_mysql_result_fetch_fields(VALUE self) {
mysql2_result_wrapper * wrapper;
unsigned int i = 0;
short int symbolizeKeys = 0;
VALUE defaults;
GetMysql2Result(self, wrapper);
defaults = rb_iv_get(self, "@query_options");
if (rb_hash_aref(defaults, sym_symbolize_keys) == Qtrue) {
symbolizeKeys = 1;
}
if (wrapper->fields == Qnil) {
wrapper->numberOfFields = mysql_num_fields(wrapper->result);
wrapper->fields = rb_ary_new2(wrapper->numberOfFields);
}
if (RARRAY_LEN(wrapper->fields) != wrapper->numberOfFields) {
for (i=0; i<wrapper->numberOfFields; i++) {
rb_mysql_result_fetch_field(self, i, symbolizeKeys);
}
}
return wrapper->fields;
}
|