@Override public BasicNodeIter iter(final QueryContext qc) { final boolean text = index.type() == IndexType.TEXT; final byte kind = text ? Data.TEXT : Data.ATTR; final Data data = ictx.data; final int ml = data.meta.maxlen; final IndexIterator ii = index.min.length <= ml && index.max.length <= ml && (text ? data.meta.textindex : data.meta.attrindex) ? data.iter(index) : scan(); return new BasicNodeIter() { @Override public ANode next() { return ii.more() ? new DBNode(data, ii.pre(), kind) : null; } }; }