URL: http://<db.host>:<db.port>/create/table
Creates a new table with the given type (definition of columns). The type is specified in input parameter type_id as either a numerical type ID (as returned by /create/type) or as a list of columns, each specified as a list of the column name, data type, and any column attributes.
Example of a type definition with some parameters:
[ ["id", "int8", "primary_key"], ["dept_id", "int8", "primary_key", "shard_key"], ["manager_id", "int8", "nullable"], ["first_name", "char32"], ["last_name", "char64"], ["salary", "decimal"], ["hire_date", "date"] ]
Each column definition consists of the column name (which should meet the standard column naming criteria), the column's specific type (int, long, float, double, string, bytes, or any of the properties map values from /create/type), and any data handling, data key, or data replacement properties.
A table may optionally be designated to use a replicated distribution scheme, or be assigned: foreign keys to other tables, a partitioning scheme, and/or a tier strategy.
Input Parameter Description
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
table_name | string | Name of the table to be created, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria. Error for requests with existing table of the same name and type ID may be suppressed by using the no_error_if_exists option. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
type_id | string | The type for the table, specified as either an existing table's numerical type ID (as returned by /create/type) or a type definition (as described above). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options | map of string to strings | Optional parameters. The default value is an empty map ( {} ).
|
Output Parameter Description
The GPUdb server embeds the endpoint response inside a standard response structure which contains status information and the actual response to the query. Here is a description of the various fields of the wrapper:
Name | Type | Description | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
status | String | 'OK' or 'ERROR' | |||||||||||||||||||
message | String | Empty if success or an error message | |||||||||||||||||||
data_type | String | 'create_table_response' or 'none' in case of an error | |||||||||||||||||||
data | String | Empty string | |||||||||||||||||||
data_str | JSON or String | This embedded JSON represents the result of the /create/table endpoint:
Empty string in case of an error. |