Package com.gpudb

Class ColumnProperty


  • public final class ColumnProperty
    extends Object
    Column properties used for GPUdb types.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String ARRAY
      Valid only for 'string' columns.
      static String BOOLEAN
      This property provides optimized memory and query performance for int columns.
      static String CHAR1
      This property provides optimized memory, disk and query performance for string columns.
      static String CHAR128
      This property provides optimized memory, disk and query performance for string columns.
      static String CHAR16
      This property provides optimized memory, disk and query performance for string columns.
      static String CHAR2
      This property provides optimized memory, disk and query performance for string columns.
      static String CHAR256
      This property provides optimized memory, disk and query performance for string columns.
      static String CHAR32
      This property provides optimized memory, disk and query performance for string columns.
      static String CHAR4
      This property provides optimized memory, disk and query performance for string columns.
      static String CHAR64
      This property provides optimized memory, disk and query performance for string columns.
      static String CHAR8
      This property provides optimized memory, disk and query performance for string columns.
      static String COMPRESS
      This property indicates that this column should be compressed with the given codec and optional level; e.g., 'compress(snappy)' for Snappy compression and 'compress(zstd(7))' for zstd level 7 compression.
      static String DATA
      Default property for all numeric and string type columns; makes the column available for GPU queries.
      static String DATE
      Valid only for 'string' columns.
      static String DATETIME
      Valid only for 'string' columns.
      static String DECIMAL
      Valid only for 'string' columns.
      static String DICT
      This property indicates that this column should be dictionary encoded.
      static String INIT_WITH_NOW
      For 'date', 'time', 'datetime', or 'timestamp' column types, replace empty strings and invalid timestamps with 'NOW()' upon insert.
      static String INIT_WITH_UUID
      For 'uuid' type, replace empty strings and invalid UUID values with randomly-generated UUIDs upon insert.
      static String INT16
      This property provides optimized memory and query performance for int columns.
      static String INT8
      This property provides optimized memory and query performance for int columns.
      static String IPV4
      This property provides optimized memory, disk and query performance for string columns representing IPv4 addresses (i.e. 192.168.1.1).
      static String JSON
      Valid only for 'string' columns.
      static String NULLABLE
      This property indicates that this column is nullable.
      static String PRIMARY_KEY
      This property indicates that this column will be part of (or the entire) primary key.
      static String SHARD_KEY
      This property indicates that this column will be part of (or the entire) shard key.
      static String SOFT_PRIMARY_KEY
      This property indicates that this column will be part of (or the entire) soft primary key.
      static String TEXT_SEARCH
      Valid only for select 'string' columns.
      static String TIME
      Valid only for 'string' columns.
      static String TIMESTAMP
      Valid only for 'long' columns.
      static String ULONG
      Valid only for 'string' columns.
      static String UPDATE_WITH_NOW
      For 'date', 'time', 'datetime', or 'timestamp' column types, always update the field with 'NOW()' upon any update.
      static String UUID
      Valid only for 'string' columns.
      static String VECTOR
      Valid only for 'bytes' columns.
      static String WKT
      Valid only for 'string' and 'bytes' columns.
    • Field Detail

      • DATA

        public static final String DATA
        Default property for all numeric and string type columns; makes the column available for GPU queries.
        See Also:
        Constant Field Values
      • TEXT_SEARCH

        public static final String TEXT_SEARCH
        Valid only for select 'string' columns. Enables full text search--see Full Text Search for details and applicable string column types.
        See Also:
        Constant Field Values
      • TIMESTAMP

        public static final String TIMESTAMP
        Valid only for 'long' columns. Indicates that this field represents a timestamp and will be provided in milliseconds since the Unix epoch: 00:00:00 Jan 1 1970. Dates represented by a timestamp must fall between the year 1000 and the year 2900.
        See Also:
        Constant Field Values
      • ULONG

        public static final String ULONG
        Valid only for 'string' columns. It represents an unsigned long integer data type. The string can only be interpreted as an unsigned long data type with minimum value of zero, and maximum value of 18446744073709551615.
        See Also:
        Constant Field Values
      • UUID

        public static final String UUID
        Valid only for 'string' columns. It represents an uuid data type. Internally, it is stored as a 128-bit integer.
        See Also:
        Constant Field Values
      • DECIMAL

        public static final String DECIMAL
        Valid only for 'string' columns. It represents a SQL type NUMERIC(19, 4) data type. There can be up to 15 digits before the decimal point and up to four digits in the fractional part. The value can be positive or negative (indicated by a minus sign at the beginning). This property is mutually exclusive with the TEXT_SEARCH property.
        See Also:
        Constant Field Values
      • DATE

        public static final String DATE
        Valid only for 'string' columns. Indicates that this field represents a date and will be provided in the format 'YYYY-MM-DD'. The allowable range is 1000-01-01 through 2900-01-01. This property is mutually exclusive with the TEXT_SEARCH property.
        See Also:
        Constant Field Values
      • TIME

        public static final String TIME
        Valid only for 'string' columns. Indicates that this field represents a time-of-day and will be provided in the format 'HH:MM:SS.mmm'. The allowable range is 00:00:00.000 through 23:59:59.999. This property is mutually exclusive with the TEXT_SEARCH property.
        See Also:
        Constant Field Values
      • DATETIME

        public static final String DATETIME
        Valid only for 'string' columns. Indicates that this field represents a datetime and will be provided in the format 'YYYY-MM-DD HH:MM:SS.mmm'. The allowable range is 1000-01-01 00:00:00.000 through 2900-01-01 23:59:59.999. This property is mutually exclusive with the TEXT_SEARCH property.
        See Also:
        Constant Field Values
      • CHAR1

        public static final String CHAR1
        This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 1 character.
        See Also:
        Constant Field Values
      • CHAR2

        public static final String CHAR2
        This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 2 characters.
        See Also:
        Constant Field Values
      • CHAR4

        public static final String CHAR4
        This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 4 characters.
        See Also:
        Constant Field Values
      • CHAR8

        public static final String CHAR8
        This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 8 characters.
        See Also:
        Constant Field Values
      • CHAR16

        public static final String CHAR16
        This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 16 characters.
        See Also:
        Constant Field Values
      • CHAR32

        public static final String CHAR32
        This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 32 characters.
        See Also:
        Constant Field Values
      • CHAR64

        public static final String CHAR64
        This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 64 characters.
        See Also:
        Constant Field Values
      • CHAR128

        public static final String CHAR128
        This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 128 characters.
        See Also:
        Constant Field Values
      • CHAR256

        public static final String CHAR256
        This property provides optimized memory, disk and query performance for string columns. Strings with this property must be no longer than 256 characters.
        See Also:
        Constant Field Values
      • BOOLEAN

        public static final String BOOLEAN
        This property provides optimized memory and query performance for int columns. Ints with this property must be between 0 and 1(inclusive)
        See Also:
        Constant Field Values
      • INT8

        public static final String INT8
        This property provides optimized memory and query performance for int columns. Ints with this property must be between -128 and +127 (inclusive)
        See Also:
        Constant Field Values
      • INT16

        public static final String INT16
        This property provides optimized memory and query performance for int columns. Ints with this property must be between -32768 and +32767 (inclusive)
        See Also:
        Constant Field Values
      • IPV4

        public static final String IPV4
        This property provides optimized memory, disk and query performance for string columns representing IPv4 addresses (i.e. 192.168.1.1). Strings with this property must be of the form: A.B.C.D where A, B, C and D are in the range of 0-255.
        See Also:
        Constant Field Values
      • ARRAY

        public static final String ARRAY
        Valid only for 'string' columns. Indicates that this field contains an array. The value type and (optionally) the item count should be specified in parenthesis; e.g., 'array(int, 10)' for a 10-integer array. Both 'array(int)' and 'array(int, -1)' will designate an unlimited-length integer array, though no bounds checking is performed on arrays of any length.
        See Also:
        Constant Field Values
      • JSON

        public static final String JSON
        Valid only for 'string' columns. Indicates that this field contains values in JSON format.
        See Also:
        Constant Field Values
      • VECTOR

        public static final String VECTOR
        Valid only for 'bytes' columns. Indicates that this field contains a vector of floats. The length should be specified in parenthesis, e.g., 'vector(1000)'.
        See Also:
        Constant Field Values
      • WKT

        public static final String WKT
        Valid only for 'string' and 'bytes' columns. Indicates that this field contains geospatial geometry objects in Well-Known Text (WKT) or Well-Known Binary (WKB) format.
        See Also:
        Constant Field Values
      • NULLABLE

        public static final String NULLABLE
        This property indicates that this column is nullable. However, setting this property is insufficient for making the column nullable. The user must declare the type of the column as a union between its regular type and 'null' in the Avro schema for the record type in typeDefinition. For example, if a column is of type integer and is nullable, then the entry for the column in the Avro schema must be: ['int', 'null'].

        The C++, C#, Java, and Python APIs have built-in convenience for bypassing setting the Avro schema by hand. For those languages, one can use this property as usual and not have to worry about the Avro schema for the record.

        See Also:
        Constant Field Values
      • COMPRESS

        public static final String COMPRESS
        This property indicates that this column should be compressed with the given codec and optional level; e.g., 'compress(snappy)' for Snappy compression and 'compress(zstd(7))' for zstd level 7 compression. This property is primarily used in order to save disk space.
        See Also:
        Constant Field Values
      • DICT

        public static final String DICT
        This property indicates that this column should be dictionary encoded. It can only be used in conjunction with restricted string (charN), int, long or date columns. Dictionary encoding is best for columns where the cardinality (the number of unique values) is expected to be low. This property can save a large amount of memory.
        See Also:
        Constant Field Values
      • INIT_WITH_NOW

        public static final String INIT_WITH_NOW
        For 'date', 'time', 'datetime', or 'timestamp' column types, replace empty strings and invalid timestamps with 'NOW()' upon insert.
        See Also:
        Constant Field Values
      • INIT_WITH_UUID

        public static final String INIT_WITH_UUID
        For 'uuid' type, replace empty strings and invalid UUID values with randomly-generated UUIDs upon insert.
        See Also:
        Constant Field Values
      • UPDATE_WITH_NOW

        public static final String UPDATE_WITH_NOW
        For 'date', 'time', 'datetime', or 'timestamp' column types, always update the field with 'NOW()' upon any update.
        See Also:
        Constant Field Values