def add (colname, operator, val, affirmative=true, no_index=false)

      colname = colname.to_s
      val = val.to_s

      op = operator.is_a?(Fixnum) ? operator : OPERATORS[operator]
      op = op | TDBQCNEGATE unless affirmative
      op = op | TDBQCNOIDX if no_index

      @query.addcond(colname, op, val)
    end
def add (colname, operator, val, affirmative=true, no_index=false)

      colname = colname.to_s
      val = val.to_s

      op = operator.is_a?(Fixnum) ? operator : OPERATORS[operator]
      op = op | TDBQCNEGATE unless affirmative
      op = op | TDBQCNOIDX if no_index

      @query.addcond(colname, op, val)
    end
Adds a condition

   table.query { |q|
     q.add 'name', :equals, 'Oppenheimer'
     q.add 'age', :numgt, 35
   }

 Understood 'operators' :

   :streq # string equality
   :eq
   :eql
   :equals

   :strinc # string include
   :inc # string include
   :includes # string include

   :strbw # string begins with
   :bw
   :starts_with
   :strew # string ends with
   :ew
   :ends_with

   :strand # string which include all the tokens in the given exp
   :and

   :stror # string which include at least one of the tokens
   :or

   :stroreq # string which is equal to at least one token

   :strorrx # string which matches the given regex
   :regex
   :matches

   # numbers...

   :numeq # equal
   :numequals
   :numgt # greater than
   :gt
   :numge # greater or equal
   :ge
   :gte
   :numlt # greater or equal
   :lt
   :numle # greater or equal
   :le
   :lte
   :numbt # a number between two tokens in the given exp
   :bt
   :between

   :numoreq # number which is equal to at least one token

   :ftsph # full-text phrase search
   :ftsphrase
   :phrase
   :ftsand # full-text AND
   :ftsor # full-text OR
   :ftsex # full-text with 'compound' expression