public class CreateTableRequest extends Object implements org.apache.avro.generic.IndexedRecord
GPUdb.createTable(CreateTableRequest)
.
Creates a new table or collection. If a new table is being created,
the type of the table is given by typeId
, which must be the ID of
a currently registered type (i.e. one created via GPUdb.createType(CreateTypeRequest)
). The
table will be created inside a collection if the option
collection_name
is specified. If that collection does
not already exist, it will be created.
To create a new collection, specify the name of the collection in
tableName
and set the is_collection
option to
true
; typeId
will be
ignored.
A table may optionally be designated to use a replicated distribution scheme, have foreign keys to other tables assigned, be assigned a partitioning scheme, or have a tier strategy assigned.
Modifier and Type | Class and Description |
---|---|
static class |
CreateTableRequest.Options
Optional parameters.
|
Constructor and Description |
---|
CreateTableRequest()
Constructs a CreateTableRequest object with default parameters.
|
CreateTableRequest(String tableName,
String typeId,
Map<String,String> options)
Constructs a CreateTableRequest object with the specified parameters.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
Object |
get(int index)
This method supports the Avro framework and is not intended to be called
directly by the user.
|
static org.apache.avro.Schema |
getClassSchema()
This method supports the Avro framework and is not intended to be called
directly by the user.
|
Map<String,String> |
getOptions() |
org.apache.avro.Schema |
getSchema()
This method supports the Avro framework and is not intended to be called
directly by the user.
|
String |
getTableName() |
String |
getTypeId() |
int |
hashCode() |
void |
put(int index,
Object value)
This method supports the Avro framework and is not intended to be called
directly by the user.
|
CreateTableRequest |
setOptions(Map<String,String> options) |
CreateTableRequest |
setTableName(String tableName) |
CreateTableRequest |
setTypeId(String typeId) |
String |
toString() |
public CreateTableRequest()
public CreateTableRequest(String tableName, String typeId, Map<String,String> options)
tableName
- Name of the table to be created. Error for requests
with existing table of the same name and type ID may
be suppressed by using the no_error_if_exists
option. See Tables for naming restrictions.typeId
- ID of a currently registered type. All objects added to
the newly created table will be of this type. Ignored if
is_collection
is true
.options
- Optional parameters.
NO_ERROR_IF_EXISTS
: If true
, prevents an error
from occurring if the table already exists and is of the
given type. If a table with the same ID but a different
type exists, it is still an error.
Supported values:
The default value is FALSE
.
COLLECTION_NAME
: Name of a collection which is to
contain the newly created table. If the collection
provided is non-existent, the collection will be
automatically created. If empty, then the newly created
table will be a top-level table.
IS_COLLECTION
: Indicates whether the new table to be
created will be a collection.
Supported values:
The default value is FALSE
.
DISALLOW_HOMOGENEOUS_TABLES
: No longer supported; value
will be ignored.
Supported values:
The default value is FALSE
.
IS_REPLICATED
: For a table, affects the distribution scheme for the table's
data. If true and the given type has no explicit shard key defined, the table will be
replicated. If false, the table will
be sharded according to the shard key
specified in the given typeId
, or randomly sharded, if no shard key is
specified. Note that a type containing a shard key
cannot be used to create a replicated table.
Supported values:
The default value is FALSE
.
FOREIGN_KEYS
: Semicolon-separated list of foreign keys, of the format
'(source_column_name [, ...]) references
target_table_name(primary_key_column_name [, ...]) [as
foreign_key_name]'.
FOREIGN_SHARD_KEY
: Foreign shard key of the format
'source_column references shard_by_column from
target_table(primary_key_column)'.
PARTITION_TYPE
: Partitioning scheme to use.
Supported values:
RANGE
: Use range partitioning.
INTERVAL
: Use interval partitioning.
LIST
: Use list partitioning.
HASH
: Use hash partitioning.
PARTITION_KEYS
: Comma-separated list of partition keys,
which are the columns or column expressions by which
records will be assigned to partitions defined by partition_definitions
.
PARTITION_DEFINITIONS
: Comma-separated list of
partition definitions, whose format depends on the
choice of partition_type
. See range partitioning, interval partitioning, list partitioning, or hash partitioning for example formats.
IS_AUTOMATIC_PARTITION
: If true, a new partition will
be created for values which don't fall into an existing
partition. Currently only supported for list partitions.
Supported values:
The default value is FALSE
.
TTL
:
For a table, sets the TTL of the table specified in tableName
.
CHUNK_SIZE
: Indicates the number of records per chunk
to be used for this table.
IS_RESULT_TABLE
: For a table, indicates whether the
table is an in-memory table. A result table cannot
contain store_only, text_search, or string columns
(charN columns are acceptable), and it will not be
retained if the server is restarted.
Supported values:
The default value is FALSE
.
STRATEGY_DEFINITION
: The tier strategy for the table and its
columns. See tier strategy usage for format and tier strategy examples for examples.
Map
.public static org.apache.avro.Schema getClassSchema()
public String getTableName()
no_error_if_exists
option. See Tables for naming restrictions.public CreateTableRequest setTableName(String tableName)
tableName
- Name of the table to be created. Error for requests
with existing table of the same name and type ID may
be suppressed by using the no_error_if_exists
option. See Tables for naming restrictions.this
to mimic the builder pattern.public String getTypeId()
is_collection
is true
.public CreateTableRequest setTypeId(String typeId)
typeId
- ID of a currently registered type. All objects added to
the newly created table will be of this type. Ignored if
is_collection
is true
.this
to mimic the builder pattern.public Map<String,String> getOptions()
NO_ERROR_IF_EXISTS
: If true
, prevents an error from
occurring if the table already exists and is of the given type.
If a table with the same ID but a different type exists, it is
still an error.
Supported values:
The default value is FALSE
.
COLLECTION_NAME
: Name of a collection which is to contain the
newly created table. If the collection provided is non-existent,
the collection will be automatically created. If empty, then the
newly created table will be a top-level table.
IS_COLLECTION
: Indicates whether the new table to be created
will be a collection.
Supported values:
The default value is FALSE
.
DISALLOW_HOMOGENEOUS_TABLES
: No longer supported; value will be
ignored.
Supported values:
The default value is FALSE
.
IS_REPLICATED
: For a table, affects the distribution scheme for the table's data. If
true and the given type has no explicit shard key defined, the table will be replicated. If false, the table will be sharded according to the shard key specified
in the given typeId
, or randomly sharded, if no shard key is
specified. Note that a type containing a shard key cannot be
used to create a replicated table.
Supported values:
The default value is FALSE
.
FOREIGN_KEYS
: Semicolon-separated list of foreign keys, of the format
'(source_column_name [, ...]) references
target_table_name(primary_key_column_name [, ...]) [as
foreign_key_name]'.
FOREIGN_SHARD_KEY
: Foreign shard key of the format
'source_column references shard_by_column from
target_table(primary_key_column)'.
PARTITION_TYPE
: Partitioning scheme to use.
Supported values:
RANGE
: Use
range partitioning.
INTERVAL
: Use interval partitioning.
LIST
: Use list partitioning.
HASH
: Use hash partitioning.
PARTITION_KEYS
: Comma-separated list of partition keys, which
are the columns or column expressions by which records will be
assigned to partitions defined by partition_definitions
.
PARTITION_DEFINITIONS
: Comma-separated list of partition
definitions, whose format depends on the choice of partition_type
. See range partitioning, interval partitioning, list partitioning, or hash partitioning for example formats.
IS_AUTOMATIC_PARTITION
: If true, a new partition will be
created for values which don't fall into an existing partition.
Currently only supported for list partitions.
Supported values:
The default value is FALSE
.
TTL
: For a
table, sets the TTL of the table specified in tableName
.
CHUNK_SIZE
: Indicates the number of records per chunk to be
used for this table.
IS_RESULT_TABLE
: For a table, indicates whether the table is an
in-memory table. A result table cannot contain store_only,
text_search, or string columns (charN columns are acceptable),
and it will not be retained if the server is restarted.
Supported values:
The default value is FALSE
.
STRATEGY_DEFINITION
: The tier strategy for the table and its columns.
See tier strategy usage for format and tier strategy examples for examples.
Map
.public CreateTableRequest setOptions(Map<String,String> options)
options
- Optional parameters.
NO_ERROR_IF_EXISTS
: If true
, prevents an error
from occurring if the table already exists and is of the
given type. If a table with the same ID but a different
type exists, it is still an error.
Supported values:
The default value is FALSE
.
COLLECTION_NAME
: Name of a collection which is to
contain the newly created table. If the collection
provided is non-existent, the collection will be
automatically created. If empty, then the newly created
table will be a top-level table.
IS_COLLECTION
: Indicates whether the new table to be
created will be a collection.
Supported values:
The default value is FALSE
.
DISALLOW_HOMOGENEOUS_TABLES
: No longer supported; value
will be ignored.
Supported values:
The default value is FALSE
.
IS_REPLICATED
: For a table, affects the distribution scheme for the table's
data. If true and the given type has no explicit shard key defined, the table will be
replicated. If false, the table will
be sharded according to the shard key
specified in the given typeId
, or randomly sharded, if no shard key is
specified. Note that a type containing a shard key
cannot be used to create a replicated table.
Supported values:
The default value is FALSE
.
FOREIGN_KEYS
: Semicolon-separated list of foreign keys, of the format
'(source_column_name [, ...]) references
target_table_name(primary_key_column_name [, ...]) [as
foreign_key_name]'.
FOREIGN_SHARD_KEY
: Foreign shard key of the format
'source_column references shard_by_column from
target_table(primary_key_column)'.
PARTITION_TYPE
: Partitioning scheme to use.
Supported values:
RANGE
: Use range partitioning.
INTERVAL
: Use interval partitioning.
LIST
: Use list partitioning.
HASH
: Use hash partitioning.
PARTITION_KEYS
: Comma-separated list of partition keys,
which are the columns or column expressions by which
records will be assigned to partitions defined by partition_definitions
.
PARTITION_DEFINITIONS
: Comma-separated list of
partition definitions, whose format depends on the
choice of partition_type
. See range partitioning, interval partitioning, list partitioning, or hash partitioning for example formats.
IS_AUTOMATIC_PARTITION
: If true, a new partition will
be created for values which don't fall into an existing
partition. Currently only supported for list partitions.
Supported values:
The default value is FALSE
.
TTL
:
For a table, sets the TTL of the table specified in tableName
.
CHUNK_SIZE
: Indicates the number of records per chunk
to be used for this table.
IS_RESULT_TABLE
: For a table, indicates whether the
table is an in-memory table. A result table cannot
contain store_only, text_search, or string columns
(charN columns are acceptable), and it will not be
retained if the server is restarted.
Supported values:
The default value is FALSE
.
STRATEGY_DEFINITION
: The tier strategy for the table and its
columns. See tier strategy usage for format and tier strategy examples for examples.
Map
.this
to mimic the builder pattern.public org.apache.avro.Schema getSchema()
getSchema
in interface org.apache.avro.generic.GenericContainer
public Object get(int index)
get
in interface org.apache.avro.generic.IndexedRecord
index
- the position of the field to getIndexOutOfBoundsException
public void put(int index, Object value)
put
in interface org.apache.avro.generic.IndexedRecord
index
- the position of the field to setvalue
- the value to setIndexOutOfBoundsException
Copyright © 2020. All rights reserved.