/*
* call-seq;
* query.eql?(other_query) -> bool
* query == other_query -> bool
*
* Return true if +query+ equals +other_query+. Theoretically, two queries are
* equal if the always return the same results, no matter what the contents
* of the index. Practically, however, this is difficult to implement
* efficiently for queries like BooleanQuery since the ordering of clauses
* unspecified. "Ruby AND Rails" will not match "Rails AND Ruby" for example,
* although their result sets will be identical. Most queries should match as
* expected however.
*/
static VALUE
frt_q_eql(VALUE self, VALUE other)
{
GET_Q();
Query *oq;
Data_Get_Struct(other, Query, oq);
return q->eq(q, oq) ? Qtrue : Qfalse;
}