Version:

Create TableΒΆ

Creates a new table or collection in GPUdb. If a new table is being created then type of the table is given by input parameter type_id which must the be the type id of a currently registered type (i.e. one created via Create Type). The table will be created inside a collection if the option collection_name is specified. If that collection does not already exist then it will be created. To create a new, empty collection specify the collection name in input parameter table_name, leave input parameter type_id blank, and set the is_collection option to 'true'.

Input Parameter Description

Name Type Description
table_name string Name of the table to be created. Must not be the name of a currently existing GPUdb table of a different type. Error for requests with existing table of the same name and type id may be suppressed by using the no_error_if_exists option. Cannot be an empty string. Valid characters are 'A-Za-z0-9_-(){}[] .:' (excluding the single quote), with the first character being one of 'A-Za-z0-9_'. The maximum length is 256 characters.
type_id string ID of a currently registered type in GPUdb. All objects added to the newly created table will be of this type. Must be an empty string if the is_collection is 'true'.
options map of strings

Optional parameters. Default value is an empty map ( {} ).

Supported Parameters (keys) Parameter Description
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. Default value is 'false'. The allowed values are:

  • true
  • false
collection_name Name of a collection in GPUdb to which the newly created table is to be assigned as a child table. If empty, then the newly created table will be a top level table. If the collection does not allow duplicate children, then this table creation request will fail if there is an existing child table with the same type id specified in this request. Default value is ''.
is_collection

Indicates whether the new table to be created will be a collection. If false, the created table will be a top level table. Default value is 'false'. The allowed values are:

  • true
  • false
disallow_homogeneous_tables

For a collection, indicates whether multiple children of exactly the same data type will be allowed. Default value is 'false'. The allowed values are:

  • true
  • false
is_replicated

For a Table, this is an indication to GPUdb to replicate the table to all the ranks. This is only required when the table will be used to join with other tables in a query. Default value is 'false'. The allowed values are:

  • true
  • false
foreign_keys Semicolon-separated list of foreign key constraints, of the format 'my_field references primary_table(primary_key_field)'. Default value is ''.

Output Parameter Description

Name Type Description
table_name string Value of input parameter table_name.
type_id string Value of input parameter type_id.
is_collection boolean Indicates if the created entity is a collection.