code: function () {
              var tOpts = this.__opts;
              var clause = (tOpts.having ? "having" : "where"), clauseObj = tOpts[clause];
              if (clauseObj) {
                  var args = argsToArray(arguments);
                  args = args.length === 1 ? args[0] : args;
                  var opts = {};
                  opts[clause] = new BooleanExpression("OR", clauseObj, this._filterExpr(args));
                  return this.mergeOptions(opts);
              } else {
                  throw new QueryError("No existing filter found");
              }
          }
docs: Adds an alternate filter to an existing WHERE/HAVING using OR.
  
  <p>
  <b>For parameter types see {@link patio.Dataset#filter}.</b>
  </p>
  
  @example
  
  DB.from("items").filter("a").or("b")
  //=> SELECT * FROM items WHERE a OR b
  
  @throws {patio.QueryError} If no WHERE?HAVING clause exists.
  @return {patio.Dataset} a cloned dataset with the condition added to the WHERE/HAVING clause added.