Interface IWritableMemChunk

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      long count()  
      org.apache.iotdb.tsfile.write.chunk.IChunkWriter createIChunkWriter()  
      int delete​(long lowerBound, long upperBound)  
      void encode​(org.apache.iotdb.tsfile.write.chunk.IChunkWriter chunkWriter)  
      long getFirstPoint()  
      long getLastPoint()  
      default long getMinTime()  
      org.apache.iotdb.tsfile.write.schema.IMeasurementSchema getSchema()  
      TVList getSortedTvListForQuery()
      served for query requests.
      TVList getSortedTvListForQuery​(java.util.List<org.apache.iotdb.tsfile.write.schema.IMeasurementSchema> schemaList)
      served for vector query requests.
      default TVList getTVList()  
      void putAlignedValue​(long t, java.lang.Object[] v, int[] columnIndexArray)  
      void putAlignedValues​(long[] t, java.lang.Object[] v, org.apache.iotdb.tsfile.utils.BitMap[] bitMaps, int[] columnIndexArray, int start, int end)  
      void putBinaries​(long[] t, org.apache.iotdb.tsfile.utils.Binary[] v, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)  
      void putBinary​(long t, org.apache.iotdb.tsfile.utils.Binary v)  
      void putBoolean​(long t, boolean v)  
      void putBooleans​(long[] t, boolean[] v, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)  
      void putDouble​(long t, double v)  
      void putDoubles​(long[] t, double[] v, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)  
      void putFloat​(long t, float v)  
      void putFloats​(long[] t, float[] v, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)  
      void putInt​(long t, int v)  
      void putInts​(long[] t, int[] v, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)  
      void putLong​(long t, long v)  
      void putLongs​(long[] t, long[] v, org.apache.iotdb.tsfile.utils.BitMap bitMap, int start, int end)  
      void release()  
      void sortTvListForFlush()
      served for flush requests.
      void write​(long[] times, java.lang.Object valueList, org.apache.iotdb.tsfile.utils.BitMap bitMap, org.apache.iotdb.tsfile.file.metadata.enums.TSDataType dataType, int start, int end)
      write data in the range [start, end).
      void write​(long insertTime, java.lang.Object objectValue)  
      void writeAlignedValue​(long insertTime, java.lang.Object[] objectValue, java.util.List<org.apache.iotdb.tsfile.write.schema.IMeasurementSchema> schemaList)  
      void writeAlignedValues​(long[] times, java.lang.Object[] valueList, org.apache.iotdb.tsfile.utils.BitMap[] bitMaps, java.util.List<org.apache.iotdb.tsfile.write.schema.IMeasurementSchema> schemaList, int start, int end)  
    • Method Detail

      • putLong

        void putLong​(long t,
                     long v)
      • putInt

        void putInt​(long t,
                    int v)
      • putFloat

        void putFloat​(long t,
                      float v)
      • putDouble

        void putDouble​(long t,
                       double v)
      • putBinary

        void putBinary​(long t,
                       org.apache.iotdb.tsfile.utils.Binary v)
      • putBoolean

        void putBoolean​(long t,
                        boolean v)
      • putAlignedValue

        void putAlignedValue​(long t,
                             java.lang.Object[] v,
                             int[] columnIndexArray)
      • putLongs

        void putLongs​(long[] t,
                      long[] v,
                      org.apache.iotdb.tsfile.utils.BitMap bitMap,
                      int start,
                      int end)
      • putInts

        void putInts​(long[] t,
                     int[] v,
                     org.apache.iotdb.tsfile.utils.BitMap bitMap,
                     int start,
                     int end)
      • putFloats

        void putFloats​(long[] t,
                       float[] v,
                       org.apache.iotdb.tsfile.utils.BitMap bitMap,
                       int start,
                       int end)
      • putDoubles

        void putDoubles​(long[] t,
                        double[] v,
                        org.apache.iotdb.tsfile.utils.BitMap bitMap,
                        int start,
                        int end)
      • putBinaries

        void putBinaries​(long[] t,
                         org.apache.iotdb.tsfile.utils.Binary[] v,
                         org.apache.iotdb.tsfile.utils.BitMap bitMap,
                         int start,
                         int end)
      • putBooleans

        void putBooleans​(long[] t,
                         boolean[] v,
                         org.apache.iotdb.tsfile.utils.BitMap bitMap,
                         int start,
                         int end)
      • putAlignedValues

        void putAlignedValues​(long[] t,
                              java.lang.Object[] v,
                              org.apache.iotdb.tsfile.utils.BitMap[] bitMaps,
                              int[] columnIndexArray,
                              int start,
                              int end)
      • write

        void write​(long insertTime,
                   java.lang.Object objectValue)
      • writeAlignedValue

        void writeAlignedValue​(long insertTime,
                               java.lang.Object[] objectValue,
                               java.util.List<org.apache.iotdb.tsfile.write.schema.IMeasurementSchema> schemaList)
      • write

        void write​(long[] times,
                   java.lang.Object valueList,
                   org.apache.iotdb.tsfile.utils.BitMap bitMap,
                   org.apache.iotdb.tsfile.file.metadata.enums.TSDataType dataType,
                   int start,
                   int end)
        write data in the range [start, end). Null value in the valueList will be replaced by the subsequent non-null value, e.g., {1, null, 3, null, 5} will be {1, 3, 5, null, 5}
      • writeAlignedValues

        void writeAlignedValues​(long[] times,
                                java.lang.Object[] valueList,
                                org.apache.iotdb.tsfile.utils.BitMap[] bitMaps,
                                java.util.List<org.apache.iotdb.tsfile.write.schema.IMeasurementSchema> schemaList,
                                int start,
                                int end)
      • count

        long count()
      • getSchema

        org.apache.iotdb.tsfile.write.schema.IMeasurementSchema getSchema()
      • getSortedTvListForQuery

        TVList getSortedTvListForQuery()
        served for query requests.

        if tv list has been sorted, just return reference of it

        if tv list hasn't been sorted and has no reference, sort and return reference of it

        if tv list hasn't been sorted and has reference we should copy and sort it, then return ths list

        the mechanism is just like copy on write

        This interface should be synchronized for concurrent with sortTvListForFlush

        Returns:
        sorted tv list
      • getSortedTvListForQuery

        TVList getSortedTvListForQuery​(java.util.List<org.apache.iotdb.tsfile.write.schema.IMeasurementSchema> schemaList)
        served for vector query requests.

        the mechanism is just like copy on write

        This interface should be synchronized for concurrent with sortTvListForFlush

        Returns:
        sorted tv list
      • sortTvListForFlush

        void sortTvListForFlush()
        served for flush requests. The logic is just same as getSortedTVListForQuery, but without add reference count

        This interface should be synchronized for concurrent with getSortedTvListForQuery

      • getTVList

        default TVList getTVList()
      • getMinTime

        default long getMinTime()
      • delete

        int delete​(long lowerBound,
                   long upperBound)
        Returns:
        how many points are deleted
      • createIChunkWriter

        org.apache.iotdb.tsfile.write.chunk.IChunkWriter createIChunkWriter()
      • encode

        void encode​(org.apache.iotdb.tsfile.write.chunk.IChunkWriter chunkWriter)
      • release

        void release()
      • getFirstPoint

        long getFirstPoint()
      • getLastPoint

        long getLastPoint()