/alter/table
URL: http://GPUDB_IP_ADDRESS:GPUDB_PORT/alter/table
Apply various modifications to a table, view, or collection. The available
modifications include the following:
Create or delete an index on a
particular column. This can speed up certain operations when using expressions
containing equality or relational operators on indexed columns. This only
applies to tables.
Set the time-to-live (TTL). This can be applied
to tables, views, or collections. When applied to collections, every contained
table & view that is not protected will have its TTL set to the given value.
Set the global access mode (i.e. locking) for a table. The mode can be set to
'no_access', 'read_only', 'write_only' or 'read_write'.
Change the protection mode to prevent or
allow automatic expiration. This can be applied to tables, views, and
collections.
Allow homogeneous tables within a collection.
Manage a table's columns--a column can be added, removed, or have its
type and properties modified.
Set or unset compression for a column.
Name |
Type |
Description |
table_name |
string |
Table on which the operation will be performed. Must be an existing table, view, or collection. |
action |
string |
Modification operation to be applied
Supported Values |
Description |
allow_homogeneous_tables |
Sets whether homogeneous tables are allowed in the given collection. This action is only valid if input parameter table_name is a collection. The input parameter value must be either 'true' or 'false'. |
create_index |
Creates an index on the column name specified in input parameter value. If this column is already indexed, an error will be returned. |
delete_index |
Deletes an existing index on the column name specified in input parameter value. If this column does not have indexing turned on, an error will be returned. |
move_to_collection |
Moves a table into a collection input parameter value. |
protected |
Sets whether the given input parameter table_name should be protected or not. The input parameter value must be either 'true' or 'false'. |
rename_table |
Renames a table, view or collection to input parameter value. Has the same naming restrictions as tables. |
ttl |
Sets the TTL of the table, view, or collection specified in input parameter table_name. |
add_column |
Adds the column specified in input parameter value to the table specified in input parameter table_name. Use column_type and column_properties in input parameter options to set the column's type and properties, respectively. |
change_column |
Changes type and properties of the column specified in input parameter value. Use column_type and column_properties in input parameter options to set the column's type and properties, respectively. |
set_column_compression |
Modifies the compression setting on the column specified in input parameter value. |
delete_column |
Deletes the column specified in input parameter value from the table specified in input parameter table_name. |
create_foreign_key |
Creates a foreign key using the format 'source_column references target_table(primary_key_column) [ as <foreign_key_name> ]'. |
delete_foreign_key |
Deletes a foreign key. The input parameter value should be the <foreign_key_name> specified when creating the key or the complete string used to define it. |
set_global_access_mode |
Sets the global access mode (i.e. locking) for the table specified in input parameter table_name. Specify the access mode in input parameter value. Valid modes are 'no_access', 'read_only', 'write_only' and 'read_write'. |
|
value |
string |
The value of the modification. May be a column name, 'true' or 'false', a TTL, or the global access mode depending on input parameter action. |
options |
map of
string
to
strings |
Optional parameters. Default value is an empty map ( {} ).
Supported Parameters
(keys) |
Parameter Description |
column_default_value |
When adding a column, set a default value for existing records. |
column_properties |
When adding or changing a column, set the column properties (strings, separated by a comma: data, store_only, text_search, char8, int8 etc). |
column_type |
When adding or changing a column, set the column type (strings, separated by a comma: int, double, string, null etc). |
compression_type |
When setting column compression (set_column_compression for input parameter action), compression type to use: none (to use no compression) or a valid compression type. Default value is 'snappy'. The allowed values are:
|
copy_values_from_column |
When adding or changing a column, enter a column name from the same table being altered to use as a source for the column being added/changed; values will be copied from this source column into the new/modified column. |
rename_column |
When changing a column, specify new column name. |
validate_change_column |
When changing a column, validate the change before applying it. If true, then validate all values. A value too large (or too long) for the new type will prevent any change. If false, then when a value is too large or long, it will be truncated. Default value is 'true'.
Supported
Values |
Description |
true |
true |
false |
false |
|
|
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 |
'alter_table_request' or 'none' in case of an
error |
data |
String |
Empty string |
data_str |
JSON
or
String |
This embedded JSON represents the result of the
/alter/table endpoint:
Name |
Type |
Description |
table_name |
string |
Table on which the
operation was
performed. |
action |
string |
Modification
operation that was
performed. |
value |
string |
The value of the
modification that was
performed. |
type_id |
string |
return the type_id
(when changing a
table, a new type may
be created) |
type_definition |
string |
return the
type_definition
(when changing a
table, a new type may
be created) |
properties |
map of
string
to
arrays
of
strings |
return the type
properties (when
changing a table, a
new type may be
created) |
label |
string |
return the type label
(when changing a
table, a new type may
be created) |
Empty string in case of an error.
|