DoubleColumnVector (Hive Storage API 2.1.1-pre-orc API)
Date: 2016-10-19

org.apache.hadoop.hive.ql.exec.vector

## Class DoubleColumnVector

- java.lang.Object
- - org.apache.hadoop.hive.ql.exec.vector.ColumnVector
  - - org.apache.hadoop.hive.ql.exec.vector.DoubleColumnVector

-     public class DoubleColumnVector
      extends ColumnVector

  This class represents a nullable double precision floating point column vector. This class will be used for operations on all floating point types (float, double) and as such will use a 64-bit double value to hold the biggest possible value. During copy-in/copy-out, smaller types (i.e. float) will be converted as needed. This will reduce the amount of code that needs to be generated and also will run fast since the machine operates with 64-bit words. The vector[] field is public by design for high-performance access in the inner loop of query execution.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.hadoop.hive.ql.exec.vector.ColumnVector

      `ColumnVector.Type`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static double` | `NULL_VALUE`
    `double[]` | `vector`

    - ### Fields inherited from class org.apache.hadoop.hive.ql.exec.vector.ColumnVector

      `isNull, isRepeating, noNulls`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DoubleColumnVector()` Use this constructor by default.
    `DoubleColumnVector(int len)` Don't use this except for testing purposes.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `copySelected(boolean selectedInUse, int[] sel, int size, DoubleColumnVector output)`
    `void` | `ensureSize(int size, boolean preserveData)` Ensure the ColumnVector can hold at least size values.
    `void` | `fill(double value)`
    `void` | `fillWithNulls()`
    `void` | `flatten(boolean selectedInUse, int[] sel, int size)`
    `void` | `setElement(int outElementNum, int inputElementNum, ColumnVector inputVector)` Set the element in this column vector from the given input vector.
    `void` | `stringifyValue(StringBuilder buffer, int row)` Print the value for this column into the given string builder.

    - ### Methods inherited from class org.apache.hadoop.hive.ql.exec.vector.ColumnVector

      `flattenNoNulls, flattenPush, flattenRepeatingNulls, init, reset, setRepeating, unFlatten`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### vector

          public double[] vector

    - #### NULL_VALUE

          public static final double NULL_VALUE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### DoubleColumnVector

          public DoubleColumnVector()

      Use this constructor by default. All column vectors should normally be the default size.

    - #### DoubleColumnVector

          public DoubleColumnVector(int len)

      Don't use this except for testing purposes.
      Parameters:
        `len` -

  - ### Method Detail

    - #### copySelected

          public void copySelected(boolean selectedInUse,
                                   int[] sel,
                                   int size,
                                   DoubleColumnVector output)

    - #### fill

          public void fill(double value)

    - #### fillWithNulls

          public void fillWithNulls()

    - #### flatten

          public void flatten(boolean selectedInUse,
                              int[] sel,
                              int size)

      Specified by:
        `flatten` in class `ColumnVector`

    - #### setElement

          public void setElement(int outElementNum,
                                 int inputElementNum,
                                 ColumnVector inputVector)

      Description copied from class: `ColumnVector`
      Set the element in this column vector from the given input vector. This method can assume that the output does not have isRepeating set.
      Specified by:
        `setElement` in class `ColumnVector`

    - #### stringifyValue

          public void stringifyValue(StringBuilder buffer,
                                     int row)

      Description copied from class: `ColumnVector`
      Print the value for this column into the given string builder.
      Specified by:
        `stringifyValue` in class `ColumnVector`
      Parameters:
        `buffer` - the buffer to print into
        `row` - the id of the row to print

    - #### ensureSize

          public void ensureSize(int size,
                                 boolean preserveData)

      Description copied from class: `ColumnVector`
      Ensure the ColumnVector can hold at least size values. This method is deliberately *not* recursive because the complex types can easily have more (or less) children than the upper levels.
      Overrides:
        `ensureSize` in class `ColumnVector`
      Parameters:
        `size` - the new minimum size
        `preserveData` - should the old data be preserved?

Copyright © 2016 The Apache Software Foundation. All rights reserved.