/*
 *  call-seq:
 *     query_parser.fields -> Array of Symbols
 *
 *  Returns the list of all fields that the QueryParser knows about.
 */
static VALUE
frb_qp_get_fields(VALUE self)
{
    GET_QP;
    HashSet *fields = qp->all_fields;
    HashSetEntry *hse;
    VALUE rfields = rb_ary_new();

    for (hse = fields->first; hse; hse = hse->next) {
        rb_ary_push(rfields, ID2SYM(rb_intern((char *)hse->elem)));
    } 

    return rfields;
}