org.h2.index.MetaCursor Maven / Gradle / Ivy
/*
* Copyright 2004-2019 H2 Group. Multiple-Licensed under the MPL 2.0,
* and the EPL 1.0 (https://h2database.com/html/license.html).
* Initial Developer: H2 Group
*/
package org.h2.index;
import java.util.ArrayList;
import org.h2.message.DbException;
import org.h2.result.Row;
import org.h2.result.SearchRow;
/**
* An index for a meta data table.
* This index can only scan through all rows, search is not supported.
*/
public class MetaCursor implements Cursor {
private Row current;
private final ArrayList rows;
private int index;
MetaCursor(ArrayList rows) {
this.rows = rows;
}
@Override
public Row get() {
return current;
}
@Override
public SearchRow getSearchRow() {
return current;
}
@Override
public boolean next() {
current = index >= rows.size() ? null : rows.get(index++);
return current != null;
}
@Override
public boolean previous() {
throw DbException.throwInternalError(toString());
}
}