public class ColumnImpl extends java.lang.Object implements Column, java.lang.Comparable<ColumnImpl>
| Modifier and Type | Class and Description |
|---|---|
class |
ColumnImpl.AutoNumberGenerator
Base class for the supported autonumber types.
|
private class |
ColumnImpl.ComplexTypeAutoNumberGenerator |
private static class |
ColumnImpl.DateExt
Date subclass which stashes the original date bits, in case we attempt to
re-write the value (will not lose precision).
|
private class |
ColumnImpl.GuidAutoNumberGenerator |
(package private) static class |
ColumnImpl.InitArgs
Utility struct for passing params through ColumnImpl constructors.
|
private class |
ColumnImpl.LongAutoNumberGenerator |
private static class |
ColumnImpl.RawData
Wrapper for raw column data which can be re-written.
|
static class |
ColumnImpl.SortOrder
Information about the sort order (collation) for a textual column.
|
private class |
ColumnImpl.UnsupportedAutoNumberGenerator |
| Modifier and Type | Field and Description |
|---|---|
private boolean |
_autoNumber
Whether or not the column is an autonumber column
|
private ColumnImpl.AutoNumberGenerator |
_autoNumberGenerator
the auto number generator for this column (if autonumber column)
|
private boolean |
_calculated
Whether or not the column is a calculated column
|
private int |
_columnIndex
index of the data for this column within a list of row data
|
private short |
_columnLength
Maximum column length
|
private short |
_columnNumber
0-based column number
|
private int |
_displayIndex
display index of the data for this column
|
private int |
_fixedDataOffset
the offset of the fixed data in the row
|
private java.lang.String |
_name
Column name
|
private PropertyMap |
_props
properties for this column, if any
|
private TableImpl |
_table
owning table
|
private DataType |
_type
Data type
|
private ColumnValidator |
_validator
Validator for writing new values
|
private boolean |
_variableLength
Whether or not the column is of variable length
|
private int |
_varLenTableIndex
the index of the variable length data in the var len offset table
|
static byte |
AUTO_NUMBER_FLAG_MASK
mask for the auto number bit
|
static byte |
AUTO_NUMBER_GUID_FLAG_MASK
mask for the auto number guid bit
|
private static byte |
CALCULATED_EXT_FLAG_MASK |
protected static byte |
COMPRESSED_UNICODE_EXT_FLAG_MASK |
static byte |
FIXED_LEN_FLAG_MASK
mask for the fixed len bit
|
static ColumnImpl.SortOrder |
GENERAL_LEGACY_SORT_ORDER
the "general" text sort order, legacy version (access 2000-2007)
|
static ColumnImpl.SortOrder |
GENERAL_SORT_ORDER
the "general" text sort order, latest version (access 2010+)
|
private static short |
GENERAL_SORT_ORDER_VALUE
the value for the "general" sort order
|
private static java.util.regex.Pattern |
GUID_PATTERN
pattern matching textual guid strings (allows for optional surrounding
'{' and '}')
|
static byte |
HYPERLINK_FLAG_MASK
mask for the hyperlink bit (on memo types)
|
(package private) static int |
INVALID_AUTO_NUMBER
auto numbers must be > 0
|
protected static org.apache.commons.logging.Log |
LOG |
private static char |
MAX_COMPRESS_CHAR |
(package private) static long |
MILLIS_BETWEEN_EPOCH_AND_1900
Access starts counting dates at Dec 30, 1899 (note, this strange date
seems to be caused by MS compatibility with Lotus-1-2-3 and incorrect
leap years).
|
private static long |
MILLISECONDS_PER_DAY
Access stores numeric dates in days.
|
private static char |
MIN_COMPRESS_CHAR |
(package private) static byte |
NUMERIC_NEGATIVE_BYTE |
static java.lang.Object |
RETURN_ROW_ID
Placeholder object for adding rows which indicates that the caller wants
the RowId of the new row.
|
private static byte[] |
TEXT_COMPRESSION_HEADER
header used to indicate unicode text compression
|
static byte |
UNKNOWN_FLAG_MASK
mask for the unknown bit (possible "can be null"?)
|
AUTO_NUMBER, KEEP_VALUE| Modifier | Constructor and Description |
|---|---|
(package private) |
ColumnImpl(ColumnImpl.InitArgs args)
Read a column definition in from a buffer
|
protected |
ColumnImpl(TableImpl table,
java.lang.String name,
DataType type,
int colNumber,
int fixedOffset,
int varLenIndex) |
| Modifier and Type | Method and Description |
|---|---|
protected static java.lang.Object |
booleanToInteger(java.lang.Object obj)
Treat booleans as integers (C-style).
|
int |
compareTo(ColumnImpl other)
Orders Columns by column number.
|
private static short |
countNonLongVariableLength(java.util.List<ColumnBuilder> columns) |
static short |
countVariableLength(java.util.List<ColumnBuilder> columns) |
static ColumnImpl |
create(TableImpl table,
java.nio.ByteBuffer buffer,
int offset,
java.lang.String name,
int displayIndex)
Creates the appropriate ColumnImpl class and reads a column definition in
from a buffer
|
private ColumnImpl.AutoNumberGenerator |
createAutoNumberGenerator() |
private void |
decodeTextSegment(byte[] data,
int dataStart,
int dataEnd,
boolean inCompressedMode,
java.lang.StringBuilder textBuf)
Decodes a segnment of a text value into the given buffer according to the
given status of the segment (compressed/uncompressed).
|
(package private) java.lang.String |
decodeTextValue(byte[] data)
Decodes a compressed or uncompressed text value.
|
static java.lang.String |
decodeUncompressedText(byte[] textBytes,
java.nio.charset.Charset charset) |
private static java.nio.CharBuffer |
decodeUncompressedText(byte[] textBytes,
int startPos,
int length,
java.nio.charset.Charset charset) |
(package private) java.nio.ByteBuffer |
encodeTextValue(java.lang.Object obj,
int minChars,
int maxChars,
boolean forceUncompressed)
Encodes a text value, possibly compressing.
|
static java.nio.ByteBuffer |
encodeUncompressedText(java.lang.CharSequence text,
java.nio.charset.Charset charset) |
private static void |
fixNumericByteOrder(byte[] bytes)
Swaps the bytes of the given numeric in place.
|
long |
fromDateDouble(double value)
Returns a java long time value converted from an access date double.
|
(package private) static long |
fromLocalDateDouble(double value) |
ColumnImpl.AutoNumberGenerator |
getAutoNumberGenerator()
Returns the AutoNumberGenerator for this column if this is an autonumber
column,
null otherwise. |
protected java.util.Calendar |
getCalendar() |
protected java.nio.charset.Charset |
getCharset() |
private static byte |
getColumnBitFlags(ColumnBuilder col)
Constructs a byte containing the flags for this column.
|
int |
getColumnIndex() |
short |
getColumnNumber() |
ColumnValidator |
getColumnValidator()
Gets currently configured ColumnValidator (always non-
null). |
ComplexColumnInfo<? extends ComplexValue> |
getComplexInfo()
Returns extended functionality for "complex" columns.
|
DatabaseImpl |
getDatabase() |
int |
getDisplayIndex() |
int |
getFixedDataOffset() |
JetFormat |
getFormat() |
private long |
getFromLocalTimeZoneOffset(long time)
Gets the timezone offset from local time to UTC for the given time
(including DST).
|
short |
getLength() |
short |
getLengthInUnits() |
java.lang.String |
getName() |
(package private) byte |
getOriginalDataType() |
int |
getOwnedPageCount()
Returns the number of database pages owned by this column.
|
PageChannel |
getPageChannel() |
byte |
getPrecision() |
PropertyMap |
getProperties() |
java.lang.Object |
getRowValue(java.util.Map<java.lang.String,?> rowMap) |
java.lang.Object |
getRowValue(java.lang.Object[] rowArray) |
byte |
getScale() |
int |
getSQLType() |
TableImpl |
getTable() |
short |
getTextCodePage() |
ColumnImpl.SortOrder |
getTextSortOrder() |
private long |
getToLocalTimeZoneOffset(long time)
Gets the timezone offset from UTC to local time for the given time
(including DST).
|
DataType |
getType() |
int |
getVarLenTableIndex() |
ColumnImpl |
getVersionHistoryColumn()
Returns the column which tracks the version history for an "append only"
column.
|
boolean |
isAppendOnly()
Whether or not this column is "append only" (its history is tracked by a
separate version history column).
|
boolean |
isAutoNumber() |
boolean |
isCalculated()
Returns whether or not this is a calculated column.
|
boolean |
isCompressedUnicode() |
(package private) static boolean |
isGUIDValue(java.lang.Object value)
Returns
true if the given value is a "guid" value. |
boolean |
isHyperlink()
Returns whether or not this is a hyperlink column (only possible for
columns of type MEMO).
|
(package private) static boolean |
isImmutableValue(java.lang.Object value)
Returns
true if the value is immutable, false otherwise. |
static boolean |
isRawData(java.lang.Object value)
Returns
true if the given value is "raw" column data,
false otherwise. |
private static boolean |
isUnicodeCompressible(java.lang.CharSequence text)
Returns
true if the given text can be compressed using compressed
unicode, false otherwise. |
boolean |
isVariableLength() |
(package private) void |
postTableLoadInit()
Secondary column initialization after the table is fully loaded.
|
static ColumnImpl.RawData |
rawDataWrapper(byte[] bytes)
Returns a wrapper for raw column data that can be written without
understanding the data.
|
java.lang.Object |
read(byte[] data)
Deserialize a raw byte value for this column into an Object
|
java.lang.Object |
read(byte[] data,
java.nio.ByteOrder order)
Deserialize a raw byte value for this column into an Object
|
(package private) static short |
readCodePage(java.nio.ByteBuffer buffer,
int offset,
JetFormat format)
Reads the column cade page info from the given buffer, if supported for
this db.
|
private java.math.BigDecimal |
readCurrencyValue(java.nio.ByteBuffer buffer)
Decodes "Currency" values.
|
private java.util.Date |
readDateValue(java.nio.ByteBuffer buffer)
Decodes a date value.
|
(package private) static byte |
readExtraFlags(java.nio.ByteBuffer buffer,
int offset,
JetFormat format)
Read the extra flags field for a column definition.
|
java.lang.Object |
readFromNullMask(boolean isNull) |
private static java.lang.String |
readGUIDValue(java.nio.ByteBuffer buffer,
java.nio.ByteOrder order)
Decodes a GUID value.
|
private java.math.BigDecimal |
readNumericValue(java.nio.ByteBuffer buffer)
Decodes a NUMERIC field.
|
(package private) static ColumnImpl.SortOrder |
readSortOrder(java.nio.ByteBuffer buffer,
int position,
JetFormat format)
Reads the sort order info from the given buffer from the given position.
|
void |
setColumnIndex(int newColumnIndex) |
void |
setColumnValidator(ColumnValidator newValidator)
Sets a new ColumnValidator.
|
java.lang.Object |
setRowValue(java.util.Map<java.lang.String,java.lang.Object> rowMap,
java.lang.Object value) |
java.lang.Object |
setRowValue(java.lang.Object[] rowArray,
java.lang.Object value) |
(package private) void |
setUsageMaps(UsageMap ownedPages,
UsageMap freeSpacePages)
Sets the usage maps for this column.
|
void |
setVersionHistoryColumn(ColumnImpl versionHistoryCol) |
boolean |
storeInNullMask() |
(package private) static java.math.BigDecimal |
toBigDecimal(byte[] bytes,
boolean negate,
int scale) |
(package private) static java.math.BigDecimal |
toBigDecimal(java.lang.Object value) |
static boolean |
toBooleanValue(java.lang.Object obj)
Interpret a boolean value (null == false)
|
static byte[] |
toByteArray(java.lang.Object value) |
static java.lang.CharSequence |
toCharSequence(java.lang.Object value) |
double |
toDateDouble(java.lang.Object value)
Returns an access date double converted from a java Date/Calendar/Number
time value.
|
private static long |
toDateLong(java.lang.Object value) |
static java.lang.Object |
toInternalValue(DataType dataType,
java.lang.Object value)
Converts the given value to the "internal" representation for the given
data type.
|
(package private) static double |
toLocalDateDouble(long time) |
private static java.lang.Number |
toNumber(java.lang.Object value) |
java.lang.String |
toString() |
(package private) byte[] |
toUnscaledByteArray(java.math.BigDecimal decVal,
int maxByteLen) |
java.lang.Object |
validate(java.lang.Object obj)
Passes the given obj through the currently configured validator for this
column and returns the result.
|
(package private) java.lang.String |
withErrorContext(java.lang.String msg) |
private static java.lang.String |
withErrorContext(java.lang.String msg,
DatabaseImpl db,
java.lang.String tableName,
java.lang.String colName) |
java.nio.ByteBuffer |
write(java.lang.Object obj,
int remainingRowLength)
Serialize an Object into a raw byte value for this column in little
endian order
|
java.nio.ByteBuffer |
write(java.lang.Object obj,
int remainingRowLength,
java.nio.ByteOrder order)
Serialize an Object into a raw byte value for this column
|
private void |
writeCurrencyValue(java.nio.ByteBuffer buffer,
java.lang.Object value)
Writes "Currency" values.
|
private void |
writeDateValue(java.nio.ByteBuffer buffer,
java.lang.Object value)
Writes a date value.
|
protected static void |
writeDefinitions(TableCreator creator,
java.nio.ByteBuffer buffer)
Writes the column definitions into a table definition buffer.
|
protected java.nio.ByteBuffer |
writeFixedLengthField(java.lang.Object obj,
java.nio.ByteBuffer buffer) |
protected java.nio.ByteBuffer |
writeFixedLengthField(java.lang.Object obj,
java.nio.ByteOrder order)
Serialize an Object into a raw byte value for this column
|
private void |
writeGUIDValue(java.nio.ByteBuffer buffer,
java.lang.Object value)
Writes a GUID value.
|
private void |
writeNumericValue(java.nio.ByteBuffer buffer,
java.lang.Object value)
Writes a numeric value.
|
protected java.nio.ByteBuffer |
writeRealData(java.lang.Object obj,
int remainingRowLength,
java.nio.ByteOrder order) |
private static void |
writeSortOrder(java.nio.ByteBuffer buffer,
ColumnImpl.SortOrder sortOrder,
JetFormat format)
Writes the sort order info to the given buffer at the current position.
|
boolean |
writeToNullMask(java.lang.Object value) |
protected static final org.apache.commons.logging.Log LOG
public static final java.lang.Object RETURN_ROW_ID
private static final long MILLISECONDS_PER_DAY
static final long MILLIS_BETWEEN_EPOCH_AND_1900
public static final byte FIXED_LEN_FLAG_MASK
public static final byte AUTO_NUMBER_FLAG_MASK
public static final byte AUTO_NUMBER_GUID_FLAG_MASK
public static final byte HYPERLINK_FLAG_MASK
public static final byte UNKNOWN_FLAG_MASK
protected static final byte COMPRESSED_UNICODE_EXT_FLAG_MASK
private static final byte CALCULATED_EXT_FLAG_MASK
static final byte NUMERIC_NEGATIVE_BYTE
private static final short GENERAL_SORT_ORDER_VALUE
public static final ColumnImpl.SortOrder GENERAL_LEGACY_SORT_ORDER
public static final ColumnImpl.SortOrder GENERAL_SORT_ORDER
private static final java.util.regex.Pattern GUID_PATTERN
private static final byte[] TEXT_COMPRESSION_HEADER
private static final char MIN_COMPRESS_CHAR
private static final char MAX_COMPRESS_CHAR
static final int INVALID_AUTO_NUMBER
private final TableImpl _table
private final boolean _variableLength
private final boolean _autoNumber
private final boolean _calculated
private final DataType _type
private final short _columnLength
private final short _columnNumber
private int _columnIndex
private final int _displayIndex
private final java.lang.String _name
private final int _fixedDataOffset
private final int _varLenTableIndex
private final ColumnImpl.AutoNumberGenerator _autoNumberGenerator
private PropertyMap _props
private ColumnValidator _validator
protected ColumnImpl(TableImpl table, java.lang.String name, DataType type, int colNumber, int fixedOffset, int varLenIndex)
ColumnImpl(ColumnImpl.InitArgs args) throws java.io.IOException
java.io.IOExceptionpublic static ColumnImpl create(TableImpl table, java.nio.ByteBuffer buffer, int offset, java.lang.String name, int displayIndex) throws java.io.IOException
table - owning tablebuffer - Buffer containing column definitionoffset - Offset in the buffer at which the column definition startsjava.io.IOExceptionvoid setUsageMaps(UsageMap ownedPages, UsageMap freeSpacePages)
void postTableLoadInit()
throws java.io.IOException
java.io.IOExceptionpublic DatabaseImpl getDatabase()
getDatabase in interface Columnpublic JetFormat getFormat()
public PageChannel getPageChannel()
public boolean isVariableLength()
isVariableLength in interface Columnpublic boolean isAutoNumber()
isAutoNumber in interface Columnpublic short getColumnNumber()
public int getColumnIndex()
getColumnIndex in interface Columnpublic void setColumnIndex(int newColumnIndex)
public int getDisplayIndex()
public int getSQLType()
throws java.sql.SQLException
getSQLType in interface Columnjava.sql.SQLExceptionpublic boolean isCompressedUnicode()
isCompressedUnicode in interface Columnpublic byte getPrecision()
getPrecision in interface Columnpublic ColumnImpl.SortOrder getTextSortOrder()
public short getTextCodePage()
public short getLengthInUnits()
getLengthInUnits in interface Columnpublic boolean isCalculated()
ColumnisCalculated in interface Columnpublic int getVarLenTableIndex()
public int getFixedDataOffset()
protected java.nio.charset.Charset getCharset()
protected java.util.Calendar getCalendar()
public boolean isAppendOnly()
ColumnisAppendOnly in interface Columnpublic ColumnImpl getVersionHistoryColumn()
ColumngetVersionHistoryColumn in interface Columnpublic int getOwnedPageCount()
public void setVersionHistoryColumn(ColumnImpl versionHistoryCol)
public boolean isHyperlink()
ColumnisHyperlink in interface Columnpublic ComplexColumnInfo<? extends ComplexValue> getComplexInfo()
ColumngetComplexInfo in interface Columnpublic ColumnValidator getColumnValidator()
Columnnull).getColumnValidator in interface Columnpublic void setColumnValidator(ColumnValidator newValidator)
Columnnull, resets to the value
returned from the Database's ColumnValidatorFactory (if the factory
returns null, then the default is used). Autonumber columns
cannot have a validator instance other than the default.setColumnValidator in interface Columnbyte getOriginalDataType()
private ColumnImpl.AutoNumberGenerator createAutoNumberGenerator()
public ColumnImpl.AutoNumberGenerator getAutoNumberGenerator()
null otherwise.public PropertyMap getProperties() throws java.io.IOException
getProperties in interface Columnjava.io.IOExceptionpublic java.lang.Object setRowValue(java.lang.Object[] rowArray,
java.lang.Object value)
setRowValue in interface Columnpublic java.lang.Object setRowValue(java.util.Map<java.lang.String,java.lang.Object> rowMap,
java.lang.Object value)
setRowValue in interface Columnpublic java.lang.Object getRowValue(java.lang.Object[] rowArray)
getRowValue in interface Columnpublic java.lang.Object getRowValue(java.util.Map<java.lang.String,?> rowMap)
getRowValue in interface Columnpublic boolean storeInNullMask()
public boolean writeToNullMask(java.lang.Object value)
public java.lang.Object readFromNullMask(boolean isNull)
public java.lang.Object read(byte[] data)
throws java.io.IOException
data - The raw byte valuejava.io.IOExceptionpublic java.lang.Object read(byte[] data,
java.nio.ByteOrder order)
throws java.io.IOException
data - The raw byte valueorder - Byte order in which the raw value is storedjava.io.IOExceptionprivate java.math.BigDecimal readCurrencyValue(java.nio.ByteBuffer buffer)
throws java.io.IOException
buffer - Column value that points to currency datajava.io.IOException - if the value cannot be parsedprivate void writeCurrencyValue(java.nio.ByteBuffer buffer,
java.lang.Object value)
throws java.io.IOException
java.io.IOExceptionprivate java.math.BigDecimal readNumericValue(java.nio.ByteBuffer buffer)
static java.math.BigDecimal toBigDecimal(byte[] bytes,
boolean negate,
int scale)
private void writeNumericValue(java.nio.ByteBuffer buffer,
java.lang.Object value)
throws java.io.IOException
java.io.IOExceptionbyte[] toUnscaledByteArray(java.math.BigDecimal decVal,
int maxByteLen)
throws java.io.IOException
java.io.IOExceptionprivate java.util.Date readDateValue(java.nio.ByteBuffer buffer)
public long fromDateDouble(double value)
static long fromLocalDateDouble(double value)
private void writeDateValue(java.nio.ByteBuffer buffer,
java.lang.Object value)
public double toDateDouble(java.lang.Object value)
static double toLocalDateDouble(long time)
private static long toDateLong(java.lang.Object value)
private long getToLocalTimeZoneOffset(long time)
private long getFromLocalTimeZoneOffset(long time)
private static java.lang.String readGUIDValue(java.nio.ByteBuffer buffer,
java.nio.ByteOrder order)
private void writeGUIDValue(java.nio.ByteBuffer buffer,
java.lang.Object value)
throws java.io.IOException
java.io.IOExceptionstatic boolean isGUIDValue(java.lang.Object value)
throws java.io.IOException
true if the given value is a "guid" value.java.io.IOExceptionpublic java.lang.Object validate(java.lang.Object obj)
throws java.io.IOException
java.io.IOExceptionpublic java.nio.ByteBuffer write(java.lang.Object obj,
int remainingRowLength)
throws java.io.IOException
obj - Object to serializejava.io.IOExceptionpublic java.nio.ByteBuffer write(java.lang.Object obj,
int remainingRowLength,
java.nio.ByteOrder order)
throws java.io.IOException
obj - Object to serializeorder - Order in which to serializejava.io.IOExceptionprotected java.nio.ByteBuffer writeRealData(java.lang.Object obj,
int remainingRowLength,
java.nio.ByteOrder order)
throws java.io.IOException
java.io.IOExceptionprotected java.nio.ByteBuffer writeFixedLengthField(java.lang.Object obj,
java.nio.ByteOrder order)
throws java.io.IOException
obj - Object to serializeorder - Order in which to serializejava.io.IOExceptionprotected java.nio.ByteBuffer writeFixedLengthField(java.lang.Object obj,
java.nio.ByteBuffer buffer)
throws java.io.IOException
java.io.IOExceptionjava.lang.String decodeTextValue(byte[] data)
throws java.io.IOException
java.io.IOExceptionprivate void decodeTextSegment(byte[] data,
int dataStart,
int dataEnd,
boolean inCompressedMode,
java.lang.StringBuilder textBuf)
private static java.nio.CharBuffer decodeUncompressedText(byte[] textBytes,
int startPos,
int length,
java.nio.charset.Charset charset)
textBytes - bytes of text to decodejava.nio.ByteBuffer encodeTextValue(java.lang.Object obj,
int minChars,
int maxChars,
boolean forceUncompressed)
throws java.io.IOException
java.io.IOExceptionprivate static boolean isUnicodeCompressible(java.lang.CharSequence text)
true if the given text can be compressed using compressed
unicode, false otherwise.private static byte getColumnBitFlags(ColumnBuilder col)
public java.lang.String toString()
toString in class java.lang.Objectpublic static java.lang.String decodeUncompressedText(byte[] textBytes,
java.nio.charset.Charset charset)
textBytes - bytes of text to decodecharset - relevant charsetpublic static java.nio.ByteBuffer encodeUncompressedText(java.lang.CharSequence text,
java.nio.charset.Charset charset)
text - Text to encodecharset - database charsetpublic int compareTo(ColumnImpl other)
compareTo in interface java.lang.Comparable<ColumnImpl>public static short countVariableLength(java.util.List<ColumnBuilder> columns)
columns - A list of columns in a table definitionprivate static short countNonLongVariableLength(java.util.List<ColumnBuilder> columns)
columns - A list of columns in a table definitionstatic java.math.BigDecimal toBigDecimal(java.lang.Object value)
null is returned as 0 and Numbers are converted
using their double representation.private static java.lang.Number toNumber(java.lang.Object value)
null is returned as 0 and Strings are parsed as
Doubles.public static java.lang.CharSequence toCharSequence(java.lang.Object value)
throws java.io.IOException
java.io.IOExceptionpublic static byte[] toByteArray(java.lang.Object value)
throws java.io.IOException
java.io.IOExceptionpublic static boolean toBooleanValue(java.lang.Object obj)
private static void fixNumericByteOrder(byte[] bytes)
protected static java.lang.Object booleanToInteger(java.lang.Object obj)
public static ColumnImpl.RawData rawDataWrapper(byte[] bytes)
public static boolean isRawData(java.lang.Object value)
true if the given value is "raw" column data,
false otherwise.protected static void writeDefinitions(TableCreator creator, java.nio.ByteBuffer buffer) throws java.io.IOException
buffer - Buffer to write tojava.io.IOExceptionstatic ColumnImpl.SortOrder readSortOrder(java.nio.ByteBuffer buffer, int position, JetFormat format)
static short readCodePage(java.nio.ByteBuffer buffer,
int offset,
JetFormat format)
static byte readExtraFlags(java.nio.ByteBuffer buffer,
int offset,
JetFormat format)
private static void writeSortOrder(java.nio.ByteBuffer buffer,
ColumnImpl.SortOrder sortOrder,
JetFormat format)
static boolean isImmutableValue(java.lang.Object value)
true if the value is immutable, false otherwise.
This only handles values that are returned from the read(byte[]) method.public static java.lang.Object toInternalValue(DataType dataType, java.lang.Object value) throws java.io.IOException
java.io.IOExceptionjava.lang.String withErrorContext(java.lang.String msg)
private static java.lang.String withErrorContext(java.lang.String msg,
DatabaseImpl db,
java.lang.String tableName,
java.lang.String colName)