Version:

Create TableΒΆ

Creates a new table or collection. If a new table is being created, the type of the table is given by input parameter type_id, which must the be the 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, it will be created.

To create a new collection, specify the name of the collection in input parameter table_name and set the is_collection option to true; input parameter type_id will be ignored.

Input Parameter Description

Name Type Description
table_name string 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.
type_id string 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 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 which is to contain the newly created table. If empty, then the newly created table will be a top-level table. If the collection does not allow duplicate types and it contains a table of the same type as the given one, then this table creation request will fail.
is_collection

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

  • true
  • false
disallow_homogeneous_tables

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

  • true
  • false
is_replicated

For a table, indicates whether the table is to be replicated to all the database ranks. This may be necessary when the table is to be joined with other tables in a query. Default value is 'false'. The allowed values are:

  • true
  • false
foreign_keys Semicolon-separated list of foreign keys, of the format 'source_column references target_table(primary_key_column)'. Default value is ''.
foreign_shard_key Foreign shard key of the format 'source_column references shard_by_column from target_table(primary_key_column)' Default value is ''.
ttl Sets the TTL of the table or collection specified in input parameter table_name. The value must be the desired TTL in minutes.
is_result_table

For a table, indicates whether the table is a non-persistent, memory-only table that will store the output of a proc executed with Execute Proc. A result table cannot contain store_only, text_search, or string columns (char columns are acceptable), records cannot be inserted into it directly, and it will not be retained if the server is restarted. Default value is 'false'. The allowed values are:

  • true
  • false

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.