Interface AppendableColumnSink<DATA_TYPE,TARRAY>
- All Superinterfaces:
- AppendableSink<DATA_TYPE,TARRAY>,- PartitionUpdatesObserver,- io.deephaven.csv.sinks.Sink<TARRAY>
- All Known Implementing Classes:
- BaseAppendableColumnSink
public interface AppendableColumnSink<DATA_TYPE,TARRAY> extends AppendableSink<DATA_TYPE,TARRAY>
The interface encapsulates the table column properties and provides wrapper methods to invoke persist calls on underlying 
LocalAppendableColumn- 
Method SummaryModifier and Type Method Description default voidadd(DATA_TYPE[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theBaseAppendableColumn.add(Object[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions.voidaddAppendableColumn(String partition, LocalAppendableColumn<DATA_TYPE> appendableColumn)The method provides the partition and its associatedLocalAppendableColumnThis information should be cached in the column sink implementation and should be used when updating the column values based onPartitionParserUpdatethat will be pushed to the column when the table has a partitioning column and the values of the column should be persisted in the appropriate partition.default voidaddBooleans(Boolean[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theBaseAppendableColumn.addBooleans(Boolean[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions.default voidaddBytes(byte[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addBytes(byte[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions.default voidaddChars(char[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addChars(char[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions.default voidaddDoubles(double[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addDouble(double, long)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions.default voidaddFloats(float[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addFloats(float[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions.default voidaddInts(int[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addInts(int[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions.default voidaddLongs(long[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addLongs(long[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions.default voidaddShorts(short[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addShorts(short[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions.voidevict(String partition)The provided partition should be evicted from the current partition column cache.ImportColumnDataTransformergetColumnDataTransformer()Getter for ColumnDataTransformerStringgetColumnName()Getter for column namebooleanisColumnInSchema()Returns true if the column is present in schema associated with the csv importbooleanisColumnInSource()Returns true if the column is present in the source csv file.default booleanisColumnOnlyInSchema()If the column is defined in the schema but not in the source csv file (Constant columns are an example for such columns)booleanisConstantColumn()Returns true if the ColumnDataTransformer has the hasConstant attribute return truebooleanisPartitionCol()Returns true if the column is defined as a partition column in the schemavoidpublishRowUpdate(int size, long end)Publish row updates toRowUpdateObserver.booleansupportsTransformations()Returns true if the ColumnDataTransformer supports transformationMethods inherited from interface com.illumon.iris.importers.csv.sink.AppendableSinkgetConstantValue, getUnderlying, nullFlagsToValues, updateRowChunk, write, writeToLocalMethods inherited from interface com.illumon.iris.importers.csv.PartitionUpdatesObserveronPartitionParserUpdate
- 
Method Details- 
getColumnNameString getColumnName()Getter for column name
- 
getColumnDataTransformerImportColumnDataTransformer getColumnDataTransformer()Getter for ColumnDataTransformer
- 
supportsTransformationsboolean supportsTransformations()Returns true if the ColumnDataTransformer supports transformation
- 
isPartitionColboolean isPartitionCol()Returns true if the column is defined as a partition column in the schema
- 
isColumnInSourceboolean isColumnInSource()Returns true if the column is present in the source csv file. This is determined by whether the column name exists in the columnNamesInFile attribute of CsvImportHelper
- 
isColumnInSchemaboolean isColumnInSchema()Returns true if the column is present in schema associated with the csv import
- 
isConstantColumnboolean isConstantColumn()Returns true if the ColumnDataTransformer has the hasConstant attribute return true
- 
publishRowUpdatevoid publishRowUpdate(int size, long end)Publish row updates toRowUpdateObserver.
- 
isColumnOnlyInSchemadefault boolean isColumnOnlyInSchema()If the column is defined in the schema but not in the source csv file (Constant columns are an example for such columns)
- 
addAppendableColumnThe method provides the partition and its associatedLocalAppendableColumnThis information should be cached in the column sink implementation and should be used when updating the column values based onPartitionParserUpdatethat will be pushed to the column when the table has a partitioning column and the values of the column should be persisted in the appropriate partition.- Parameters:
- partition- Partition value as a string
- appendableColumn- The LocalAppendableColumn of the column associated for this partition
 
- 
evictThe provided partition should be evicted from the current partition column cache. This should be registered as one of the evicted partitions.- Parameters:
- partition- Partition value as a string, that should be evicted from the local column cache of partitions
 
- 
addBytesdefault void addBytes(@NotNull byte[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addBytes(byte[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions. To allow for this, the persisting of values may be blocked until the partition column is processed for the same chunk. In addition, if other columns have registered an interest in receiving current chunk details then that information should be published as the first operation.- Parameters:
- values- The values to be persisted in the chunk
- startIndex- The start index at which to persist
- length- The length of the values that should be persisted as part of this chunk
- destEnd- The total no of rows processed up to the end of this chunk
- isSingleValue- If all the values for the update are the same constant value
 
- 
addBooleansdefault void addBooleans(@NotNull Boolean[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theBaseAppendableColumn.addBooleans(Boolean[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions. To allow for this, the persisting of values may be blocked until the partition column is processed for the same chunk. In addition, if other columns have registered an interest in receiving current chunk details then that information should be published as the first operation.- Parameters:
- values- The values to be persisted in the chunk
- startIndex- The start index at which to persist
- length- The length of the values that should be persisted as part of this chunk
- destEnd- The total no of rows processed up to the end of this chunk
- isSingleValue- If all the values for the update are the same constant value
 
- 
addCharsdefault void addChars(@NotNull char[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addChars(char[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions. To allow for this, the persisting of values may be blocked until the partition column is processed for the same chunk. In addition, if other columns have registered an interest in receiving current chunk details then that information should be published as the first operation.- Parameters:
- values- The values to be persisted in the chunk
- startIndex- The start index at which to persist
- length- The length of the values that should be persisted as part of this chunk
- destEnd- The total no of rows processed up to the end of this chunk
- isSingleValue- If all the values for the update are the same constant value
 
- 
addDoublesdefault void addDoubles(@NotNull double[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addDouble(double, long)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions. To allow for this, the persisting of values may be blocked until the partition column is processed for the same chunk. In addition, if other columns have registered an interest in receiving current chunk details then that information should be published as the first operation.- Parameters:
- values- The values to be persisted in the chunk
- startIndex- The start index at which to persist
- length- The length of the values that should be persisted as part of this chunk
- destEnd- The total no of rows processed up to the end of this chunk
- isSingleValue- If all the values for the update are the same constant value
 
- 
addFloatsdefault void addFloats(@NotNull float[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addFloats(float[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions. To allow for this, the persisting of values may be blocked until the partition column is processed for the same chunk. In addition, if other columns have registered an interest in receiving current chunk details then that information should be published as the first operation.- Parameters:
- values- The values to be persisted in the chunk
- startIndex- The start index at which to persist
- length- The length of the values that should be persisted as part of this chunk
- destEnd- The total no of rows processed up to the end of this chunk
- isSingleValue- If all the values for the update are the same constant value
 
- 
addIntsdefault void addInts(@NotNull int[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addInts(int[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions. To allow for this, the persisting of values may be blocked until the partition column is processed for the same chunk. In addition, if other columns have registered an interest in receiving current chunk details then that information should be published as the first operation.- Parameters:
- values- The values to be persisted in the chunk
- startIndex- The start index at which to persist
- length- The length of the values that should be persisted as part of this chunk
- destEnd- The total no of rows processed up to the end of this chunk
- isSingleValue- If all the values for the update are the same constant value
 
- 
addLongsdefault void addLongs(@NotNull long[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addLongs(long[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions. To allow for this, the persisting of values may be blocked until the partition column is processed for the same chunk. In addition, if other columns have registered an interest in receiving current chunk details then that information should be published as the first operation.- Parameters:
- values- The values to be persisted in the chunk
- startIndex- The start index at which to persist
- length- The length of the values that should be persisted as part of this chunk
- destEnd- The total no of rows processed up to the end of this chunk
- isSingleValue- If all the values for the update are the same constant value
 
- 
addShortsdefault void addShorts(@NotNull short[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theLocalAppendableColumn.addShorts(short[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions. To allow for this, the persisting of values may be blocked until the partition column is processed for the same chunk. In addition, if other columns have registered an interest in receiving current chunk details then that information should be published as the first operation.- Parameters:
- values- The values to be persisted in the chunk
- startIndex- The start index at which to persist
- length- The length of the values that should be persisted as part of this chunk
- destEnd- The total no of rows processed up to the end of this chunk
- isSingleValue- If all the values for the update are the same constant value
 
- 
adddefault void add(@NotNull DATA_TYPE[] values, int startIndex, int length, long destEnd, boolean isSingleValue)The wrapper method around theBaseAppendableColumn.add(Object[], int, int)The method should make sure the received values are persisted to the right partitions when the table schema supports partitions. To allow for this, the persisting of values may be blocked until the partition column is processed for the same chunk. In addition, if other columns have registered an interest in receiving current chunk details then that information should be published as the first operation.- Parameters:
- values- The values to be persisted in the chunk
- startIndex- The start index at which to persist
- length- The length of the values that should be persisted as part of this chunk
- destEnd- The total no of rows processed up to the end of this chunk
- isSingleValue- If all the values for the update are the same constant value
 
 
-