org.h2.result

## Class DefaultRow

- java.lang.Object
- - org.h2.value.VersionedValue<Value>
  - - org.h2.value.Value
    - - org.h2.result.SearchRow
      - - org.h2.result.Row
        - - org.h2.result.DefaultRow

All Implemented Interfaces:
  HasSQL, Typed

Direct Known Subclasses:
  Sparse

    public class DefaultRow
    extends Row

The default implementation of a row in a table.

### Field Summary

Fields
`protected Value[]` `data` The values of the row (one entry per column).
`static int` `MEMORY_CALCULATE` The constant that means "memory usage is unknown and needs to be calculated first".

### Fields inherited from class org.h2.result.SearchRow

`key, MATCH_ALL_ROW_KEY, ROWID_INDEX`

### Fields inherited from class org.h2.value.Value

`ARRAY, BIGINT, BINARY, BLOB, BOOLEAN, CHAR, CLOB, DATE, DECFLOAT, DOUBLE, EMPTY_VALUES, ENUM, GEOMETRY, INTEGER, INTERVAL_DAY, INTERVAL_DAY_TO_HOUR, INTERVAL_DAY_TO_MINUTE, INTERVAL_DAY_TO_SECOND, INTERVAL_HOUR, INTERVAL_HOUR_TO_MINUTE, INTERVAL_HOUR_TO_SECOND, INTERVAL_MINUTE, INTERVAL_MINUTE_TO_SECOND, INTERVAL_MONTH, INTERVAL_SECOND, INTERVAL_YEAR, INTERVAL_YEAR_TO_MONTH, JAVA_OBJECT, JSON, MIN_LONG_DECIMAL, NULL, NUMERIC, REAL, ROW, SMALLINT, TIME, TIME_TZ, TIMESTAMP, TIMESTAMP_TZ, TINYINT, TYPE_COUNT, UNKNOWN, UUID, VARBINARY, VARCHAR, VARCHAR_IGNORECASE`

### Fields inherited from interface org.h2.util.HasSQL

`ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS`

### Constructor Summary

Constructors
Constructor and Description
`DefaultRow(Value[] data)`
`DefaultRow(Value[] data, int memory)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected int` `calculateMemory()` Calculate the estimated memory used for this row, in bytes.
`void` `copyFrom(SearchRow source)` Copy all relevant values from the source to this row.
`int` `getColumnCount()` Get the column count.
`int` `getMemory()` Get the estimated memory used for this row, in bytes.
`Value` `getValue(int i)` Get the value for the column
`Value[]` `getValueList()` Get values.
`boolean` `hasSharedData(Row other)` Check whether this row and the specified row share the same underlying data with values.
`void` `setValue(int i, Value v)` Set the value for given column
`java.lang.String` `toString()`

### Methods inherited from class org.h2.result.Row

`get, get, hasSameValues`

### Methods inherited from class org.h2.result.SearchRow

`compareTypeSafe, equals, getKey, getSQL, getString, getType, getValueType, hashCode, isNull, setKey`

### Methods inherited from class org.h2.value.Value

`add, castTo, charLength, clearCache, compareTo, compareWithNull, containsNull, convertForAssignTo, convertTo, convertTo, convertTo, convertTo, convertTo, convertToAnyArray, convertToAnyJson, convertToAnyRow, convertToBigint, convertToBoolean, convertToChar, convertToDate, convertToDouble, convertToEnum, convertToGeometry, convertToInt, convertToInt, convertToJavaObject, convertToReal, convertToSmallint, convertToTinyint, convertToUuid, divide, getBigDecimal, getBoolean, getByte, getBytes, getBytesNoCopy, getDouble, getFloat, getHigherOrder, getInputStream, getInputStream, getInt, getLong, getReader, getReader, getShort, getSignum, getTypeName, getUnsupportedExceptionForOperation, getValueWithFirstNull, isFalse, isTrue, modulus, multiply, negate, octetLength, subtract`

### Methods inherited from class org.h2.value.VersionedValue

`getCommittedValue, getCurrentValue, getOperationId, isCommitted`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.h2.util.HasSQL

`getSQL, getTraceSQL`

### Field Detail

#### MEMORY_CALCULATE

    public static final int MEMORY_CALCULATE

The constant that means "memory usage is unknown and needs to be calculated first".

See Also:
  Constant Field Values

#### data

    protected final Value[] data

The values of the row (one entry per column).

### Constructor Detail

#### DefaultRow

    public DefaultRow(Value[] data)

#### DefaultRow

    public DefaultRow(Value[] data,
                      int memory)

### Method Detail

#### getValue

    public Value getValue(int i)

Description copied from class: `SearchRow`
Get the value for the column

Specified by:
  `getValue` in class `SearchRow`
Parameters:
  `i` - the column number (starting with 0)
Returns:
  the value

#### setValue

    public void setValue(int i,
                         Value v)

Description copied from class: `SearchRow`
Set the value for given column

Specified by:
  `setValue` in class `SearchRow`
Parameters:
  `i` - the column number (starting with 0)
  `v` - the new value

#### getColumnCount

    public int getColumnCount()

Description copied from class: `SearchRow`
Get the column count.

Specified by:
  `getColumnCount` in class `SearchRow`
Returns:
  the column count

#### getMemory

    public int getMemory()

Description copied from class: `SearchRow`
Get the estimated memory used for this row, in bytes.

Specified by:
  `getMemory` in class `SearchRow`
Returns:
  the memory

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `Value`

#### calculateMemory

    protected int calculateMemory()

Calculate the estimated memory used for this row, in bytes.

Returns:
  the memory

#### getValueList

    public Value[] getValueList()

Description copied from class: `Row`
Get values.

Specified by:
  `getValueList` in class `Row`
Returns:
  values

#### hasSharedData

    public boolean hasSharedData(Row other)

Description copied from class: `Row`
Check whether this row and the specified row share the same underlying data with values. This method must return `false` when values are not equal and may return either `true` or `false` when they are equal. This method may be used only for optimizations and should not perform any slow checks, such as equality checks for all pairs of values.

Overrides:
  `hasSharedData` in class `Row`
Parameters:
  `other` - the other row
Returns:
  `true` if rows share the same underlying data, `false` otherwise or when unknown

#### copyFrom

    public void copyFrom(SearchRow source)

Description copied from class: `SearchRow`
Copy all relevant values from the source to this row.

Specified by:
  `copyFrom` in class `SearchRow`
Parameters:
  `source` - source of column values