Package org.h2.result
Class SearchRow
- java.lang.Object
-
- org.h2.value.VersionedValue<Value>
-
- org.h2.value.Value
-
- org.h2.result.SearchRow
-
- Direct Known Subclasses:
Row
,SimpleRowValue
public abstract class SearchRow extends Value
The base class for rows stored in a table, and for partial rows stored in the index.
-
-
Field Summary
Fields Modifier and Type Field Description protected long
key
The row key.static long
MATCH_ALL_ROW_KEY
If the key is this value, then the key is considered equal to all other keys, when comparing.static int
MEMORY_CALCULATE
The constant that means "memory usage is unknown and needs to be calculated first".static int
ROWID_INDEX
Index of a virtual "_ROWID_" column within a row or a table-
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 Description SearchRow()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
compareTypeSafe(Value v, CompareMode mode, CastDataProvider provider)
Compare this value against another value given that the values are of the same data type.abstract void
copyFrom(SearchRow source)
Copy all relevant values from the source to this row.boolean
equals(java.lang.Object other)
Check if the two values have the same hash code.abstract int
getColumnCount()
Get the column count.long
getKey()
Get the unique key of the row.abstract int
getMemory()
Get the estimated memory used for this row, in bytes.java.lang.StringBuilder
getSQL(java.lang.StringBuilder builder, int sqlFlags)
Appends the SQL statement of this object to the specified builder.java.lang.String
getString()
Get the value as a string.TypeInfo
getType()
Returns the data type.abstract Value
getValue(int index)
Get the value for the columnint
getValueType()
Get the value type.int
hashCode()
boolean
isNull(int index)
Determine if specified column contains NULLvoid
setKey(long key)
Set the unique key of the row.abstract void
setValue(int index, Value v)
Set the value for given column-
Methods inherited from class org.h2.value.Value
add, castTo, charLength, clearCache, compareTo, compareWithNull, containsNull, convertForAssignTo, convertTo, convertTo, convertTo, convertTo, convertTo, convertToAnyArray, 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, isFalse, isTrue, modulus, multiply, negate, octetLength, subtract, toString
-
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
-
ROWID_INDEX
public static final int ROWID_INDEX
Index of a virtual "_ROWID_" column within a row or a table- See Also:
- Constant Field Values
-
MATCH_ALL_ROW_KEY
public static long MATCH_ALL_ROW_KEY
If the key is this value, then the key is considered equal to all other keys, when comparing.
-
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
-
key
protected long key
The row key.
-
-
Method Detail
-
getColumnCount
public abstract int getColumnCount()
Get the column count.- Returns:
- the column count
-
isNull
public boolean isNull(int index)
Determine if specified column contains NULL- Parameters:
index
- column index- Returns:
- true if NULL
-
getValue
public abstract Value getValue(int index)
Get the value for the column- Parameters:
index
- the column number (starting with 0)- Returns:
- the value
-
setValue
public abstract void setValue(int index, Value v)
Set the value for given column- Parameters:
index
- the column number (starting with 0)v
- the new value
-
setKey
public void setKey(long key)
Set the unique key of the row.- Parameters:
key
- the key
-
getKey
public long getKey()
Get the unique key of the row.- Returns:
- the key
-
getMemory
public abstract int getMemory()
Get the estimated memory used for this row, in bytes.
-
copyFrom
public abstract void copyFrom(SearchRow source)
Copy all relevant values from the source to this row.- Parameters:
source
- source of column values
-
getValueType
public int getValueType()
Description copied from class:Value
Get the value type.- Specified by:
getValueType
in classValue
- Returns:
- the value type
-
getSQL
public java.lang.StringBuilder getSQL(java.lang.StringBuilder builder, int sqlFlags)
Description copied from interface:HasSQL
Appends the SQL statement of this object to the specified builder.- Parameters:
builder
- string buildersqlFlags
- formatting flags- Returns:
- the specified string builder
-
getString
public java.lang.String getString()
Description copied from class:Value
Get the value as a string.
-
equals
public boolean equals(java.lang.Object other)
Description copied from class:Value
Check if the two values have the same hash code. No data conversion is made; this method returns false if the other object is not of the same class. For some values, compareTo may return 0 even if equals return false. Example: ValueDecimal 0.0 and 0.00.
-
compareTypeSafe
public int compareTypeSafe(Value v, CompareMode mode, CastDataProvider provider)
Description copied from class:Value
Compare this value against another value given that the values are of the same data type.- Specified by:
compareTypeSafe
in classValue
- Parameters:
v
- the other valuemode
- the compare modeprovider
- the cast information provider- Returns:
- 0 if both values are equal, -1 if the other value is smaller, and 1 otherwise
-
-