/*
 * Copyright 2004-2019 H2 Group. Multiple-Licensed under the MPL 2.0,
 * and the EPL 1.0 (http://h2database.com/html/license.html).
 * Initial Developer: H2 Group
 */
package org.h2.result;

import org.h2.value.Value;

The interface for rows stored in a table, and for partial rows stored in the index.
/** * The interface for rows stored in a table, and for partial rows stored in the * index. */
public interface SearchRow {
Index of a virtual "_ROWID_" column within a row or a table
/** * Index of a virtual "_ROWID_" column within a row or a table */
int ROWID_INDEX = -1;
An empty array of SearchRow objects.
/** * An empty array of SearchRow objects. */
SearchRow[] EMPTY_ARRAY = {};
Get the column count.
Returns:the column count
/** * Get the column count. * * @return the column count */
int getColumnCount();
Get the value for the column
Params:
  • index – the column number (starting with 0)
Returns:the value
/** * Get the value for the column * * @param index the column number (starting with 0) * @return the value */
Value getValue(int index);
Set the value for given column
Params:
  • index – the column number (starting with 0)
  • v – the new value
/** * Set the value for given column * * @param index the column number (starting with 0) * @param v the new value */
void setValue(int index, Value v);
Set the position to match another row.
Params:
  • old – the other row.
/** * Set the position to match another row. * * @param old the other row. */
void setKey(SearchRow old);
Set the unique key of the row.
Params:
  • key – the key
/** * Set the unique key of the row. * * @param key the key */
void setKey(long key);
Get the unique key of the row.
Returns:the key
/** * Get the unique key of the row. * * @return the key */
long getKey();
Get the estimated memory used for this row, in bytes.
Returns:the memory
/** * Get the estimated memory used for this row, in bytes. * * @return the memory */
int getMemory(); }