[ 
https://issues.apache.org/jira/browse/CASSANDRA-19889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Capwell updated CASSANDRA-19889:
--------------------------------------
    Reviewers: David Capwell, David Capwell
               David Capwell, David Capwell  (was: David Capwell)
       Status: Review In Progress  (was: Patch Available)

> Indexing a frozen collection that is the clustering key and reversed is 
> rejected
> --------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-19889
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19889
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL/Interpreter
>            Reporter: David Capwell
>            Assignee: Sunil Ramchandra Pawar
>            Priority: Normal
>             Fix For: 5.x
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> {code}
> CREATE TABLE tbl (
>   pk int,
>   ck frozen<list<int>>,
>   value int,
>   PRIMARY KEY(pk, ck)
> )
> WITH CLUSTERING ORDER BY (ck DESC)
> {code}
> If you index “ck” it will fail
> {code}
> CREATE INDEX ON tbl(FULL(ck));
> {code}
> The failure error is
> {code}
> Caused by: org.apache.cassandra.exceptions.InvalidRequestException: full() 
> indexes can only be created on frozen collections
>       at 
> org.apache.cassandra.cql3.statements.schema.AlterSchemaStatement.ire(AlterSchemaStatement.java:222)
>       at 
> org.apache.cassandra.cql3.statements.schema.CreateIndexStatement.validateIndexTarget(CreateIndexStatement.java:250)
>       at 
> org.apache.cassandra.cql3.statements.schema.CreateIndexStatement.lambda$apply$1(CreateIndexStatement.java:177)
> {code}
> The reason?  We have a ReverseType column!  We must “unwrap” the type before 
> this check...
> Basic test
> {code}
> schemaChange(format("CREATE TABLE %s.tbl (\n" +
>                             "  pk int,\n" +
>                             "  ck frozen<list<int>>,\n" +
>                             "  value int,\n" +
>                             "  PRIMARY KEY(pk, ck)\n" +
>                             ")\n" +
>                             "WITH CLUSTERING ORDER BY (ck DESC)", KEYSPACE));
> schemaChange(format("CREATE INDEX ON %s.tbl(FULL(ck));", KEYSPACE));
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to