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 StringARRAYValid only for 'string' columns.static StringBOOLEANThis property provides optimized memory and query performance for int columns.static StringCHAR1This property provides optimized memory, disk and query performance for string columns.static StringCHAR128This property provides optimized memory, disk and query performance for string columns.static StringCHAR16This property provides optimized memory, disk and query performance for string columns.static StringCHAR2This property provides optimized memory, disk and query performance for string columns.static StringCHAR256This property provides optimized memory, disk and query performance for string columns.static StringCHAR32This property provides optimized memory, disk and query performance for string columns.static StringCHAR4This property provides optimized memory, disk and query performance for string columns.static StringCHAR64This property provides optimized memory, disk and query performance for string columns.static StringCHAR8This property provides optimized memory, disk and query performance for string columns.static StringCOMPRESSThis 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 StringDATADefault property for all numeric and string type columns; makes the column available for GPU queries.static StringDATEValid only for 'string' columns.static StringDATETIMEValid only for 'string' columns.static StringDECIMALValid only for 'string' columns.static StringDICTThis property indicates that this column should be dictionary encoded.static StringINIT_WITH_NOWFor 'date', 'time', 'datetime', or 'timestamp' column types, replace empty strings and invalid timestamps with 'NOW()' upon insert.static StringINIT_WITH_UUIDFor 'uuid' type, replace empty strings and invalid UUID values with randomly-generated UUIDs upon insert.static StringINT16This property provides optimized memory and query performance for int columns.static StringINT8This property provides optimized memory and query performance for int columns.static StringIPV4This property provides optimized memory, disk and query performance for string columns representing IPv4 addresses (i.e. 192.168.1.1).static StringJSONValid only for 'string' columns.static StringNULLABLEThis property indicates that this column is nullable.static StringPRIMARY_KEYThis property indicates that this column will be part of (or the entire) primary key.static StringSHARD_KEYThis property indicates that this column will be part of (or the entire) shard key.static StringSOFT_PRIMARY_KEYThis property indicates that this column will be part of (or the entire) soft primary key.static StringTEXT_SEARCHValid only for select 'string' columns.static StringTIMEValid only for 'string' columns.static StringTIMESTAMPValid only for 'long' columns.static StringULONGValid only for 'string' columns.static StringUPDATE_WITH_NOWFor 'date', 'time', 'datetime', or 'timestamp' column types, always update the field with 'NOW()' upon any update.static StringUUIDValid only for 'string' columns.static StringVECTORValid only for 'bytes' columns.static StringWKTValid 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 theTEXT_SEARCHproperty.- 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 theTEXT_SEARCHproperty.- 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 theTEXT_SEARCHproperty.- 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 theTEXT_SEARCHproperty.- 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
-
PRIMARY_KEY
public static final String PRIMARY_KEY
This property indicates that this column will be part of (or the entire) primary key.- See Also:
- Constant Field Values
-
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.- See Also:
- Constant Field Values
-
SHARD_KEY
public static final String SHARD_KEY
This property indicates that this column will be part of (or the entire) shard key.- 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 intypeDefinition. 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
-
-