ALTER TYPE
Modify a user-defined type. Cassandra 2.1 and later.
Modify an existing user-defined type (UDT). Cassandra 2.1 and later.
Synopsis
ALTER TYPE field_name
[ALTER field_name TYPE new_cql_datatype
| ADD (field_name cql_datatype[,...])
| RENAME field_name TO new_field_name[AND ...]]
Syntax conventions | Description |
---|---|
UPPERCASE | Literal keyword. |
Lowercase | Not literal. |
Italics |
Variable value. Replace with a user-defined value. |
[] |
Optional. Square brackets ( [] ) surround optional command
arguments. Do not type the square brackets. |
( ) |
Group. Parentheses ( ( ) ) identify a group to choose from. Do
not type the parentheses. |
| |
Or. A vertical bar ( | ) separates alternative elements. Type
any one of the elements. Do not type the vertical bar. |
... |
Repeatable. An ellipsis ( ... ) indicates that you can repeat
the syntax element as often as required. |
'Literal string' |
Single quotation ( ' ) marks must surround literal strings in
CQL statements. Use single quotation marks to preserve upper case. |
{ key : value } |
Map collection. Braces ( { } ) enclose map collections or key
value pairs. A colon separates the key and the value. |
<datatype1,datatype2> |
Set, list, map, or tuple. Angle brackets ( < > ) enclose
data types in a set, list, map, or tuple. Separate the data types with a comma.
|
cql_statement; |
End CQL statement. A semicolon ( ; ) terminates all CQL
statements. |
[--] |
Separate the command line options from the command arguments with two hyphens (
-- ). This syntax is useful when arguments might be mistaken for
command line options. |
' <schema> ... </schema> ' |
Search CQL only: Single quotation marks ( ' ) surround an
entire XML schema declaration. |
@xml_entity='xml_entity_type' |
Search CQL only: Identify the entity and literal value to overwrite the XML element in the schema and solrConfig files. |
To make multiple changes to the UDT, use AND between the clauses.
- ALTER field_name TYPE new_cql_datatype
- Change the data type of a field. Specify the field name and the new cql datatype.
- ADD (field_name cql_datatype[,...])
- Add fields by entering a field name followed by the data type in a comma separated list; the values for existing rows is set to null.
- RENAME field_name TO new_field_name
- Enter the old name and new name of the field.
Examples
Changing the data type
To change the type of a field, the field must already exist and be compatible with the new typeCQL type compatibility.
ALTER TABLE cycling.cyclist_alt_stats ALTER birthday TYPE blob;
Adding a field
To add a new field to a user defined type, use ALTER TYPE and the ADD keyword. For existing UDTs, the field value is null.
ALTER TYPE fullname ADD middlename text ;
Changing a field name
To change the name of a field in a user-defined type, use the RENAME old_name TO new_name syntax. Rename multiple fields by separating the directives with AND.
ALTER TYPE cycling.fullname RENAME middlename TO middle AND lastname to last AND firstname to first;
desc type cycling.fullname
CREATE TYPE cycling.fullname (
first text,
last text,
middle text
);