docs: function (opts) {
              opts = isUndefined(opts) ? {} : opts;
              var ds = new this._static(this.db, {});
              ds.rowCb = this.rowCb;
              this._static.FEATURES.forEach(function (f) {
                  ds[f] = this[f];
              }, this);
              var dsOpts = ds.__opts = merge({}, this.__opts, opts);
              ds.identifierInputMethod = this.identifierInputMethod;
              ds.identifierOutputMethod = this.identifierOutputMethod;
              var columnChangeOpts = this._static.COLUMN_CHANGE_OPTS;
              if (Object.keys(opts).some(function (o) {
                      return columnChangeOpts.indexOf(o) !== -1;
                  })) {
                  dsOpts.columns = null;
              }
              return ds;
          }