/*
* call-seq:
* query_parser.fields = fields -> self
*
* Set the list of fields. These fields are expanded for searches on "*".
*/
static VALUE
frt_qp_set_fields(VALUE self, VALUE rfields)
{
GET_QP;
HashSet *fields = frt_get_fields(rfields);
if (qp->def_fields == qp->all_fields) {
qp->def_fields = NULL;
}
if (fields == NULL) {
fields = hs_new_str(&free);
}
hs_destroy(qp->all_fields);
qp->all_fields = fields;
if (qp->def_fields == NULL) {
qp->def_fields = fields;
}
return self;
}