[ 
https://issues.apache.org/jira/browse/CASSANDRA-12044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15341710#comment-15341710
 ] 

Michael Mior commented on CASSANDRA-12044:
------------------------------------------

The patch below seems to fix things. Just waiting for the test suite to run and 
need to add a test for this particular case.

{code}
commit 0bd763efb0a31d05cbb61427b8828df73b957164
Author: Michael Mior <mm...@uwaterloo.ca>
Date:   Tue Jun 21 08:47:25 2016 -0400

    Fix check for valid MV PKs

diff --git 
a/src/java/org/apache/cassandra/cql3/statements/CreateViewStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/Cr
index 6446602..951dedd 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CreateViewStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CreateViewStatement.java
@@ -315,7 +315,8 @@ public class CreateViewStatement extends 
SchemaAlteringStatement
         ColumnDefinition def = cfm.getColumnDefinition(identifier);
 
         boolean isPk = basePK.contains(identifier);
-        if (!isPk && hasNonPKColumn)
+        if (!isPk && hasNonPKColumn
+            && cfm.getColumnDefinition(identifier).isPartitionKey())
             throw new InvalidRequestException(String.format("Cannot include 
more than one non-primary key column '%s' in materialized
 
         // We don't need to include the "IS NOT NULL" filter on a 
non-composite partition key
{code}

> Materialized view definition regression in clustering key
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-12044
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12044
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Michael Mior
>
> This bug was reported on the 
> [users|https://mail-archives.apache.org/mod_mbox/cassandra-user/201606.mbox/%3CCAG0vsSJRtRjLJqKsd3M8X-8nXpPwRj7Q80mNkuy8sy%2B%2B%3D%2BocHA%40mail.gmail.com%3E]
>  mailing list. The following definitions work in 3.0.3 but fail in 3.0.7.
> {code}
> CREATE TABLE ks.pa (
>     id bigint,
>     sub_id text,
>     name text,
>     class text,
>     r_id bigint,
>     k_id bigint,
>     created timestamp,
>     priority int,
>     updated timestamp,
>     value text,
>     PRIMARY KEY (id, sub_id, name)
> );
> CREATE ks.mv_pa AS
>     SELECT k_id, name, value, sub_id, id, class, r_id
>     FROM ks.pa
>     WHERE k_id IS NOT NULL AND name IS NOT NULL AND value IS NOT NULL AND 
> sub_id IS NOT NULL AND id IS NOT NULL
>     PRIMARY KEY ((k_id, name), value, sub_id, id);
> {code}
> After running bisect, I've narrowed it down to commit 
> [86ba227|https://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=commit;h=86ba227477b9f8595eb610ecaf950cfbc29dd36b]
>  from [CASSANDRA-11475|https://issues.apache.org/jira/browse/CASSANDRA-11475].



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to