Reputation: 1475
I am trying to have a data that will output class and teachers as below:
CLASS A: John
CLASS B: Jane
CLASS C: Stan
This is my CQLSH:
CREATE TABLE subjects(
name TEXT,
class_and_teachers SET<FROZEN MAP<TEXT, TEXT>>,
);
However, I got the error
no viable alternative at input 'MAP' (... name TEXT, class_and_teachers SET<[FROZEN] MAP...)
Is there something wrong?
Upvotes: 1
Views: 191
Reputation: 930
Try this example - put map
into <>
of the frozen
keyword - SET<FROZEN <MAP<TEXT, TEXT>>>
instead of SET<FROZEN MAP<TEXT, TEXT>>
. This is required as frozen
expects arguments:
CREATE TABLE subjects(
name TEXT PRIMARY KEY,
class_and_teachers SET<FROZEN <MAP<TEXT, TEXT>>>);
insert into subjects (name,class_and_teachers) values ('A', {{ 'CLASS A': 'John' }});
insert into subjects (name,class_and_teachers) values ('B', {{ 'CLASS B': 'Jane' }});
insert into subjects (name,class_and_teachers) values ('C', {{ 'CLASS C': 'Stan' }});
select * from subjects;
name | class_and_teachers
------+-----------------------
C | {{'CLASS C': 'Stan'}}
B | {{'CLASS B': 'Jane'}}
A | {{'CLASS A': 'John'}}
Upvotes: 3