JOGO
JOGO

Reputation: 315

Cassandra: Inserting column in cassandra table

I am trying to insert new column in Cassandra table. Column Name- feedback_map Column type- map of text, feedback_map

And trying to execute this statement.

      ALTER TABLE my_table ADD feedback_map map<text, frozen<feedback_details>>;

but getting unknown type error on feedback_details Am pretty new to cassandra.

I am having custom feedback_details user type with two field-

       @Field(name = "field_mappings")
       private Map<String, String> fieldMappings;


       @Field(name = "field_defaults")
       private Map<String, String> fieldDefaults;

No i have not defined it yet? do i need to add this user type to my table first??

Upvotes: 1

Views: 669

Answers (1)

Aaron
Aaron

Reputation: 57748

First, make sure that your User Defined Type (UDT) exists. If not, you'll need to create it:

CREATE TYPE feedback_details (
    field_mappings MAP<TEXT, TEXT>,
    field_defaults MAP<TEXT, TEXT>);

Then you'll be able to add it as a column on your table (as you have above):

ALTER TABLE my_table ADD feedback_map map<text, frozen<feedback_details>>;

Upvotes: 3

Related Questions