Skip to main content
Package com.gpudb

Class ColumnProperty

java.lang.Object
com.gpudb.ColumnProperty

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

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Valid only for ‘string’ columns.
    static final String
    This property provides optimized memory and query performance for int columns.
    static final String
    This property provides optimized memory, disk and query performance for string columns.
    static final String
    This property provides optimized memory, disk and query performance for string columns.
    static final String
    This property provides optimized memory, disk and query performance for string columns.
    static final String
    This property provides optimized memory, disk and query performance for string columns.
    static final String
    This property provides optimized memory, disk and query performance for string columns.
    static final String
    This property provides optimized memory, disk and query performance for string columns.
    static final String
    This property provides optimized memory, disk and query performance for string columns.
    static final String
    This property provides optimized memory, disk and query performance for string columns.
    static final String
    This property provides optimized memory, disk and query performance for string columns.
    static final String
    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 final String
    Default property for all numeric and string type columns; makes the column available for GPU queries.
    static final String
    Valid only for ‘string’ columns.
    static final String
    Valid only for ‘string’ columns.
    static final String
    Valid only for ‘string’ columns.
    static final String
    Sets a default value expression for this column, e.g. ‘default(0)’, ‘default(”pending”)’, or ‘default(NOW())‘.
    static final String
    Sets a default value expression for this column with SQL syntax, e.g. ‘default(0)’, ‘default(”pending”)’, or ‘default(NOW())‘.
    static final String
    This property indicates that this column should be dictionary encoded.
    static final String
    For ‘date’, ‘time’, ‘datetime’, or ‘timestamp’ column types, replace empty strings and invalid timestamps with ‘NOW()’ upon insert.
    static final String
    For ‘uuid’ type, replace empty strings and invalid UUID values with randomly-generated UUIDs upon insert.
    static final String
    This property provides optimized memory and query performance for int columns.
    static final String
    This property provides optimized memory and query performance for int columns.
    static final String
    This property provides optimized memory, disk and query performance for string columns representing IPv4 addresses (i.e. 192.168.1.1).
    static final String
    Valid only for ‘string’ columns.
    static final String
    This property indicates that this column is nullable.
    static final String
    This property indicates that this column will be part of (or the entire) primary key.
    static final String
    This property indicates that this column will be part of (or the entire) shard key.
    static final String
    This property indicates that this column will be part of (or the entire) soft primary key.
    static final String
    Valid only for select ‘string’ columns.
    static final String
    Valid only for ‘string’ columns.
    static final String
    Valid only for ‘long’ columns.
    static final String
    Valid only for ‘string’ columns.
    static final String
    For ‘date’, ‘time’, ‘datetime’, or ‘timestamp’ column types, update the field with ‘NOW()’ upon any update.
    static final String
    For ‘charN’ or ‘string’ column types, update the field with the current user’s name upon any update.
    static final String
    Valid only for ‘string’ columns.
    static final String
    Valid only for ‘bytes’ columns.
    static final String
    Valid only for ‘string’ and ‘bytes’ columns.
  • Method Summary

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DATA

      public static final String DATA
      Default property for all numeric and string type columns; makes the column available for GPU queries.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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)
    • 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)
    • 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)
    • 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.
    • 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.
    • JSON

      public static final String JSON
      Valid only for ‘string’ columns. Indicates that this field contains values in JSON format.
    • 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)’.
    • 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.
    • PRIMARY_KEY

      public static final String PRIMARY_KEY
      This property indicates that this column will be part of (or the entire) primary key.
    • SOFT_PRIMARY_KEY

      public static final String SOFT_PRIMARY_KEY
      This property indicates that this column will be part of (or the entire) soft primary key.
    • SHARD_KEY

      public static final String SHARD_KEY
      This property indicates that this column will be part of (or the entire) shard key.
    • 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.

    • 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.
    • 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.
    • 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.
    • 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.
    • UPDATE_WITH_NOW

      public static final String UPDATE_WITH_NOW
      For ‘date’, ‘time’, ‘datetime’, or ‘timestamp’ column types, update the field with ‘NOW()’ upon any update.
    • UPDATE_WITH_USER

      public static final String UPDATE_WITH_USER
      For ‘charN’ or ‘string’ column types, update the field with the current user’s name upon any update.
    • DEFAULT

      public static final String DEFAULT
      Sets a default value expression for this column, e.g. ‘default(0)’, ‘default(”pending”)’, or ‘default(NOW())’. When the column is omitted from an insert via request_schema_str, the expression is evaluated and the result is used as the column value.
    • DEFAULT_SQL

      public static final String DEFAULT_SQL
      Sets a default value expression for this column with SQL syntax, e.g. ‘default(0)’, ‘default(”pending”)’, or ‘default(NOW())’. Only used for showing the expression when generating SQL DDL.