Class TVList
- java.lang.Object
-
- org.apache.iotdb.db.utils.datastructure.TVList
-
- All Implemented Interfaces:
SerializedSize,WALEntryValue
- Direct Known Subclasses:
AlignedTVList,BinaryTVList,BooleanTVList,DoubleTVList,FloatTVList,IntTVList,LongTVList
public abstract class TVList extends java.lang.Object implements WALEntryValue
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringERR_DATATYPE_NOT_CONSISTENTprotected longminTimeprotected longpivotTimeprotected java.util.concurrent.atomic.AtomicIntegerreferenceCountprotected introwCountprotected static intSMALL_ARRAY_LENGTHprotected booleansortedprotected long[][]sortedTimestampsprotected java.util.List<long[]>timestamps
-
Constructor Summary
Constructors Constructor Description TVList()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidbinarySort(int lo, int hi, int start)From TimSort.javaorg.apache.iotdb.tsfile.read.common.block.TsBlockbuildTsBlock()org.apache.iotdb.tsfile.read.common.block.TsBlockbuildTsBlock(int floatPrecision, org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding encoding, java.util.List<org.apache.iotdb.tsfile.read.common.TimeRange> deletionList)protected voidcheckExpansion()voidclear()protected voidclearSortedTime()protected voidclearTime()abstract TVListclone()TVListclone(long version)protected voidcloneAs(TVList cloneList)protected long[]cloneTime(long[] array)protected intcompare(int idx1, int idx2)protected intcountRunAndMakeAscending(int lo, int hi)intdelete(long lowerBound, long upperBound)static TVListdeserialize(java.io.DataInputStream stream)protected abstract voidexpandValues()java.lang.ObjectgetAlignedValue(int index)org.apache.iotdb.tsfile.utils.BinarygetBinary(int index)booleangetBoolean(int index)abstract org.apache.iotdb.tsfile.file.metadata.enums.TSDataTypegetDataType()doublegetDouble(int index)floatgetFloat(int index)intgetInt(int index)longgetLong(int index)longgetMinTime()protected java.lang.ObjectgetPrimitiveArraysByType(org.apache.iotdb.tsfile.file.metadata.enums.TSDataType dataType)intgetReferenceCount()longgetTime(int index)abstract org.apache.iotdb.tsfile.read.TimeValuePairgetTimeValuePair(int index)for logprotected abstract org.apache.iotdb.tsfile.read.TimeValuePairgetTimeValuePair(int index, long time, java.lang.Integer floatPrecision, org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding encoding)TVListgetTvListByColumnIndex(java.util.List<java.lang.Integer> columnIndexList, java.util.List<org.apache.iotdb.tsfile.file.metadata.enums.TSDataType> dataTypeList)intgetValueIndex(int index)longgetVersion()voidincreaseReferenceCount()protected booleanisPointDeleted(long timestamp, java.util.List<org.apache.iotdb.tsfile.read.common.TimeRange> deletionList, java.lang.Integer deleteCursor)booleanisSorted()protected voidmerge(int lo, int mid, int hi)static TVListnewList(org.apache.iotdb.tsfile.file.metadata.enums.TSDataType dataType)voidputAlignedValue(long time, java.lang.Object[] value, int[] columnIndexArray)voidputAlignedValues(long[] time, java.lang.Object[] value, org.apache.iotdb.tsfile.utils.BitMap[] bitMaps, int[] columnIndexArray, int start, int end)voidputBinaries(long[] time, org.apache.iotdb.tsfile.utils.Binary[] value, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)voidputBinary(long time, org.apache.iotdb.tsfile.utils.Binary value)voidputBoolean(long time, boolean value)voidputBooleans(long[] time, boolean[] value, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)voidputDouble(long time, double value)voidputDoubles(long[] time, double[] value, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)voidputFloat(long time, float value)voidputFloats(long[] time, float[] value, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)voidputInt(long time, int value)voidputInts(long[] time, int[] value, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)voidputLong(long time, long value)voidputLongs(long[] time, long[] value, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)protected voidreleaseLastTimeArray()protected abstract voidreleaseLastValueArray()protected abstract voidreverseRange(int lo, int hi)protected doubleroundValueWithGivenPrecision(double value, int floatPrecision, org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding encoding)protected floatroundValueWithGivenPrecision(float value, int floatPrecision, org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding encoding)introwCount()protected abstract voidsaveAsPivot(int pos)protected abstract voidset(int src, int dest)protected abstract voidsetFromSorted(int src, int dest)protected abstract voidsetPivotTo(int pos)protected abstract voidsetToSorted(int src, int dest)abstract voidsort()protected voidsort(int lo, int hi)static longtvListArrayMemCost(org.apache.iotdb.tsfile.file.metadata.enums.TSDataType type)protected abstract voidwriteValidValuesIntoTsBlock(org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder builder, int floatPrecision, org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding encoding, java.util.List<org.apache.iotdb.tsfile.read.common.TimeRange> deletionList)-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.iotdb.db.utils.SerializedSize
serializedSize
-
Methods inherited from interface org.apache.iotdb.db.wal.buffer.WALEntryValue
serializeToWAL
-
-
-
-
Field Detail
-
SMALL_ARRAY_LENGTH
protected static final int SMALL_ARRAY_LENGTH
- See Also:
- Constant Field Values
-
ERR_DATATYPE_NOT_CONSISTENT
protected static final java.lang.String ERR_DATATYPE_NOT_CONSISTENT
- See Also:
- Constant Field Values
-
timestamps
protected java.util.List<long[]> timestamps
-
rowCount
protected int rowCount
-
sortedTimestamps
protected long[][] sortedTimestamps
-
sorted
protected boolean sorted
-
referenceCount
protected java.util.concurrent.atomic.AtomicInteger referenceCount
-
pivotTime
protected long pivotTime
-
minTime
protected long minTime
-
-
Method Detail
-
newList
public static TVList newList(org.apache.iotdb.tsfile.file.metadata.enums.TSDataType dataType)
-
tvListArrayMemCost
public static long tvListArrayMemCost(org.apache.iotdb.tsfile.file.metadata.enums.TSDataType type)
-
isSorted
public boolean isSorted()
-
increaseReferenceCount
public void increaseReferenceCount()
-
getReferenceCount
public int getReferenceCount()
-
rowCount
public int rowCount()
-
getTime
public long getTime(int index)
-
putLong
public void putLong(long time, long value)
-
putInt
public void putInt(long time, int value)
-
putFloat
public void putFloat(long time, float value)
-
putDouble
public void putDouble(long time, double value)
-
putBinary
public void putBinary(long time, org.apache.iotdb.tsfile.utils.Binary value)
-
putBoolean
public void putBoolean(long time, boolean value)
-
putAlignedValue
public void putAlignedValue(long time, java.lang.Object[] value, int[] columnIndexArray)
-
putLongs
public void putLongs(long[] time, long[] value, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)
-
putInts
public void putInts(long[] time, int[] value, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)
-
putFloats
public void putFloats(long[] time, float[] value, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)
-
putDoubles
public void putDoubles(long[] time, double[] value, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)
-
putBinaries
public void putBinaries(long[] time, org.apache.iotdb.tsfile.utils.Binary[] value, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)
-
putBooleans
public void putBooleans(long[] time, boolean[] value, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)
-
putAlignedValues
public void putAlignedValues(long[] time, java.lang.Object[] value, org.apache.iotdb.tsfile.utils.BitMap[] bitMaps, int[] columnIndexArray, int start, int end)
-
getLong
public long getLong(int index)
-
getInt
public int getInt(int index)
-
getFloat
public float getFloat(int index)
-
getDouble
public double getDouble(int index)
-
getBinary
public org.apache.iotdb.tsfile.utils.Binary getBinary(int index)
-
getBoolean
public boolean getBoolean(int index)
-
getAlignedValue
public java.lang.Object getAlignedValue(int index)
-
getTvListByColumnIndex
public TVList getTvListByColumnIndex(java.util.List<java.lang.Integer> columnIndexList, java.util.List<org.apache.iotdb.tsfile.file.metadata.enums.TSDataType> dataTypeList)
-
getValueIndex
public int getValueIndex(int index)
-
sort
public abstract void sort()
-
getMinTime
public long getMinTime()
-
getVersion
public long getVersion()
-
set
protected abstract void set(int src, int dest)
-
setFromSorted
protected abstract void setFromSorted(int src, int dest)
-
setToSorted
protected abstract void setToSorted(int src, int dest)
-
reverseRange
protected abstract void reverseRange(int lo, int hi)
-
expandValues
protected abstract void expandValues()
-
clone
public abstract TVList clone()
- Overrides:
clonein classjava.lang.Object
-
clone
public TVList clone(long version)
-
releaseLastValueArray
protected abstract void releaseLastValueArray()
-
releaseLastTimeArray
protected void releaseLastTimeArray()
-
delete
public int delete(long lowerBound, long upperBound)
-
cloneAs
protected void cloneAs(TVList cloneList)
-
clear
public void clear()
-
clearTime
protected void clearTime()
-
clearSortedTime
protected void clearSortedTime()
-
checkExpansion
protected void checkExpansion()
-
getPrimitiveArraysByType
protected java.lang.Object getPrimitiveArraysByType(org.apache.iotdb.tsfile.file.metadata.enums.TSDataType dataType)
-
cloneTime
protected long[] cloneTime(long[] array)
-
sort
protected void sort(int lo, int hi)
-
countRunAndMakeAscending
protected int countRunAndMakeAscending(int lo, int hi)
-
compare
protected int compare(int idx1, int idx2)
-
saveAsPivot
protected abstract void saveAsPivot(int pos)
-
setPivotTo
protected abstract void setPivotTo(int pos)
-
binarySort
protected void binarySort(int lo, int hi, int start)From TimSort.java
-
merge
protected void merge(int lo, int mid, int hi)
-
getTimeValuePair
public abstract org.apache.iotdb.tsfile.read.TimeValuePair getTimeValuePair(int index)
for log
-
getTimeValuePair
protected abstract org.apache.iotdb.tsfile.read.TimeValuePair getTimeValuePair(int index, long time, java.lang.Integer floatPrecision, org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding encoding)
-
buildTsBlock
public org.apache.iotdb.tsfile.read.common.block.TsBlock buildTsBlock()
-
buildTsBlock
public org.apache.iotdb.tsfile.read.common.block.TsBlock buildTsBlock(int floatPrecision, org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding encoding, java.util.List<org.apache.iotdb.tsfile.read.common.TimeRange> deletionList)
-
writeValidValuesIntoTsBlock
protected abstract void writeValidValuesIntoTsBlock(org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder builder, int floatPrecision, org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding encoding, java.util.List<org.apache.iotdb.tsfile.read.common.TimeRange> deletionList)
-
isPointDeleted
protected boolean isPointDeleted(long timestamp, java.util.List<org.apache.iotdb.tsfile.read.common.TimeRange> deletionList, java.lang.Integer deleteCursor)
-
roundValueWithGivenPrecision
protected float roundValueWithGivenPrecision(float value, int floatPrecision, org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding encoding)
-
roundValueWithGivenPrecision
protected double roundValueWithGivenPrecision(double value, int floatPrecision, org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding encoding)
-
getDataType
public abstract org.apache.iotdb.tsfile.file.metadata.enums.TSDataType getDataType()
-
deserialize
public static TVList deserialize(java.io.DataInputStream stream) throws java.io.IOException
- Throws:
java.io.IOException
-
-