Class/Object

org.apache.spark.sql.execution.columnar.impl

ColumnDelta

Related Docs: object ColumnDelta | package impl

Permalink

final class ColumnDelta extends ColumnFormatValue with Delta

Encapsulates a delta for update to be applied to column table and also is stored in the region. The key for a delta is a negative columnIndex evaluated as (ColumnFormatEntry.DELTA_STATROW_COL_INDEX - 1 + MAX_DEPTH * -columnIndex) where columnIndex is the 0-based index of the underlying table column.

Note that this delta is for carrying the delta update and applying on existing delta, if any, while the actual value that is stored in the region is a ColumnFormatValue. This is to ensure clean working of the delta mechanism where store-layer code checks the type of object for Delta and makes assumptions about it (like it being a temporary value that should not go into region etc).

For a description of column delta format see the class comments in org.apache.spark.sql.execution.columnar.encoding.ColumnDeltaEncoder.

Linear Supertypes
Delta, ColumnFormatValue, Sizeable, GfxdSerializable, GfxdDSFID, DataSerializableFixedID, SerializationVersions, SerializedDiskBuffer, ByteBufferReference, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ColumnDelta
  2. Delta
  3. ColumnFormatValue
  4. Sizeable
  5. GfxdSerializable
  6. GfxdDSFID
  7. DataSerializableFixedID
  8. SerializationVersions
  9. SerializedDiskBuffer
  10. ByteBufferReference
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ColumnDelta(buffer: ByteBuffer, codecId: Int, isCompressed: Boolean, changeOwnerToStorage: Boolean = true)

    Permalink
  2. new ColumnDelta()

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def allowCreate(): Boolean

    Permalink

    first delta update for a column will be put as is into the region

    first delta update for a column will be put as is into the region

    Definition Classes
    ColumnDelta → Delta
  5. def apply(region: Region[_, _], key: AnyRef, oldValue: AnyRef, prepareForOffHeap: Boolean): AnyRef

    Permalink
    Definition Classes
    ColumnDelta → Delta
  6. def apply(putEvent: EntryEvent[_, _]): AnyRef

    Permalink
    Definition Classes
    ColumnDelta → Delta
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. final def channelSize(): Int

    Permalink
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer
  9. def className: String

    Permalink
    Attributes
    protected
    Definition Classes
    ColumnDeltaColumnFormatValue
  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def cloneDelta(): Delta

    Permalink
    Definition Classes
    ColumnDelta → Delta
  12. var columnBuffer: ByteBuffer

    Permalink
    Attributes
    protected
    Definition Classes
    ColumnFormatValue
  13. var compressionCodecId: Byte

    Permalink
    Attributes
    protected[org.apache.spark.sql.execution.columnar]
    Definition Classes
    ColumnFormatValue
  14. def copy(buffer: ByteBuffer, isCompressed: Boolean, changeOwnerToStorage: Boolean): ColumnDelta

    Permalink
    Attributes
    protected
    Definition Classes
    ColumnDeltaColumnFormatValue
  15. final def copyToHeap(owner: String): Unit

    Permalink

    <invalid inheritdoc annotation>

    <invalid inheritdoc annotation>

    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer
  16. var decompressionState: Byte

    Permalink

    This keeps track of whether the buffer is compressed or not.

    This keeps track of whether the buffer is compressed or not. In addition it keeps a count of how many times compression was done on the buffer without intervening decompression, and if it exceeds ColumnFormatEntry.MAX_CONSECUTIVE_COMPRESSIONS and no one is using the decompressed buffer, then replace columnBuffer with compressed version.

    A negative value indicates that the buffer is not compressible (too small or not enough compression can be achieved), a zero indicates a compressed buffer while a positive count indicates a decompressed buffer and number of times compression was done.

    Attributes
    protected
    Definition Classes
    ColumnFormatValue
  17. final def decrementReference(): Boolean

    Permalink
    Attributes
    protected[com.gemstone.gemfire.internal.cache.store]
    Definition Classes
    SerializedDiskBuffer
  18. final def duplicateBuffer(buffer: ByteBuffer): ByteBuffer

    Permalink
    Attributes
    protected
    Definition Classes
    ColumnFormatValue
    Annotations
    @inline()
  19. var entry: AbstractOplogDiskRegionEntry

    Permalink
    Attributes
    protected
    Definition Classes
    ColumnFormatValue
  20. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  21. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  22. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. def fromData(in: DataInput): Unit

    Permalink
    Definition Classes
    ColumnFormatValue → DataSerializableFixedID
  24. var fromDisk: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    ColumnFormatValue
  25. final def getBuffer(): ByteBuffer

    Permalink

    Return the data as a ByteBuffer.

    Return the data as a ByteBuffer. Should be invoked only after a retain or getValueRetain call.

    Definition Classes
    ColumnFormatValue → ByteBufferReference
  26. final def getBufferRetain(): ByteBuffer

    Permalink

    Callers of this method should have a corresponding release method for eager release to work else off-heap object may keep around occupying system RAM until the next GC cycle.

    Callers of this method should have a corresponding release method for eager release to work else off-heap object may keep around occupying system RAM until the next GC cycle. Callers may decide whether to keep the release method in a finally block to ensure its invocation, or do it only in normal paths because JVM reference collector will eventually clean it in any case.

    Calls to this specific class are guaranteed to always return buffers which have position as zero so callers can make simplifying assumptions about the same.

    Definition Classes
    ColumnFormatValue → ByteBufferReference
  27. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  28. final def getDSFID(): Int

    Permalink
    Definition Classes
    ColumnFormatValue → DataSerializableFixedID
  29. def getGfxdID(): Byte

    Permalink
    Definition Classes
    ColumnDeltaColumnFormatValue → GfxdDSFID
  30. def getOffHeapSizeInBytes(): Int

    Permalink
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer
  31. def getSerializationVersions(): Array[Version]

    Permalink
    Definition Classes
    ColumnFormatValue → SerializationVersions
  32. def getSizeInBytes(): Int

    Permalink
    Definition Classes
    ColumnFormatValue → Sizeable
  33. def getValueRetain(fetchRequest: FetchRequest): ColumnFormatValue

    Permalink
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer → ByteBufferReference
  34. def getVersionTag(): VersionTag[_ <: VersionSource[_]]

    Permalink
    Definition Classes
    ColumnDelta → Delta
  35. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  36. final def incrementReference(): Boolean

    Permalink
    Attributes
    protected[com.gemstone.gemfire.internal.cache.store]
    Definition Classes
    SerializedDiskBuffer
  37. final def isCompressed: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    ColumnFormatValue
    Annotations
    @GuardedBy()
  38. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  39. def merge(region: Region[_, _], toMerge: Delta): Delta

    Permalink
    Definition Classes
    ColumnDelta → Delta
  40. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  41. final def needsRelease(): Boolean

    Permalink
    Definition Classes
    ColumnFormatValue → ByteBufferReference
  42. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  43. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  44. def referenceCount(): Int

    Permalink
    Definition Classes
    SerializedDiskBuffer → ByteBufferReference
  45. var regionContext: RegionEntryContext

    Permalink
    Attributes
    protected
    Definition Classes
    ColumnFormatValue
  46. def release(): Unit

    Permalink
    Definition Classes
    SerializedDiskBuffer → ByteBufferReference
  47. def releaseBuffer(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer
  48. def retain(): Boolean

    Permalink
    Definition Classes
    SerializedDiskBuffer → ByteBufferReference
  49. def setBuffer(buffer: ByteBuffer, codecId: Int, isCompressed: Boolean, changeOwnerToStorage: Boolean = true): Unit

    Permalink
    Definition Classes
    ColumnFormatValue
  50. final def setDiskEntry(entry: AbstractOplogDiskRegionEntry, context: RegionEntryContext): Unit

    Permalink
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer
  51. def setVersionTag(versionTag: VersionTag[_ <: VersionSource[_]]): Unit

    Permalink
    Definition Classes
    ColumnDelta → Delta
  52. final def size(): Int

    Permalink
    Definition Classes
    ColumnFormatValue → ByteBufferReference
  53. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  54. def toData(out: DataOutput): Unit

    Permalink
    Definition Classes
    ColumnFormatValue → DataSerializableFixedID
  55. def toString(): String

    Permalink
    Definition Classes
    ColumnFormatValue → AnyRef → Any
  56. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  57. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  58. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  59. final def write(channel: OutputStreamChannel): Unit

    Permalink
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer
  60. final def write(arg0: OutputStreamChannel, arg1: ByteBuffer): Unit

    Permalink
    Attributes
    protected[com.gemstone.gemfire.internal.cache.store]
    Definition Classes
    SerializedDiskBuffer
    Annotations
    @throws( classOf[java.io.IOException] )
  61. final def writeSerializationHeader(src: ByteBuffer, writeBuf: ByteBuffer): Boolean

    Permalink
    Definition Classes
    ColumnFormatValue → SerializedDiskBuffer

Inherited from Delta

Inherited from ColumnFormatValue

Inherited from Sizeable

Inherited from GfxdSerializable

Inherited from GfxdDSFID

Inherited from DataSerializableFixedID

Inherited from SerializationVersions

Inherited from SerializedDiskBuffer

Inherited from ByteBufferReference

Inherited from AnyRef

Inherited from Any

Ungrouped