[jira] [Commented] (CASSANDRA-4987) Support more queries when ALLOW FILTERING is used.
[ https://issues.apache.org/jira/browse/CASSANDRA-4987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14237697#comment-14237697 ] Sylvain Lebresne commented on CASSANDRA-4987: - No, the changes are not trivial and the complexity of doing it on top of the current engine doesn't clearly balance the benefit. Which is why I think the proper way to fix this is just to wait for CASSANDRA-8099 that should handle that cleanly right off the bat. So I'm going to close this as duplicate of CASSANDRA-8099 for now. If the latter doesn't pan out of any reason, we can reconsider this separatly but let's hope we won't need to. Support more queries when ALLOW FILTERING is used. -- Key: CASSANDRA-4987 URL: https://issues.apache.org/jira/browse/CASSANDRA-4987 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Assignee: Rajanarayanan Thottuvaikkatumana Labels: cql Fix For: 3.0 Even after CASSANDRA-4915, there is still a bunch of queries that we don't support even if {{ALLOW FILTERING}} is used. Typically, pretty much any queries with restriction on a non-primary-key column unless we have one of those restriction that is an EQ on an indexed column. If {{ALLOW FILTERING}} is used, we could allow those queries out of convenience. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-4987) Support more queries when ALLOW FILTERING is used.
[ https://issues.apache.org/jira/browse/CASSANDRA-4987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14237000#comment-14237000 ] Rajanarayanan Thottuvaikkatumana commented on CASSANDRA-4987: - [~slebresne], The changes are not as trivial as I explained above. Upon further testing of the changes, I have found that if the table has data, and if I have done only the above changes, it throws some exceptions. I need to look further into the places to make the appropriate changes. If you know it off of your head, please let me know. Otherwise I will find it out. Thanks Support more queries when ALLOW FILTERING is used. -- Key: CASSANDRA-4987 URL: https://issues.apache.org/jira/browse/CASSANDRA-4987 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Assignee: Rajanarayanan Thottuvaikkatumana Labels: cql Fix For: 3.0 Even after CASSANDRA-4915, there is still a bunch of queries that we don't support even if {{ALLOW FILTERING}} is used. Typically, pretty much any queries with restriction on a non-primary-key column unless we have one of those restriction that is an EQ on an indexed column. If {{ALLOW FILTERING}} is used, we could allow those queries out of convenience. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-4987) Support more queries when ALLOW FILTERING is used.
[ https://issues.apache.org/jira/browse/CASSANDRA-4987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14235370#comment-14235370 ] Rajanarayanan Thottuvaikkatumana commented on CASSANDRA-4987: - [~slebresne], I had a look at the code and the here is one place where a change can be made. In the org/apache/cassandra/cql3/statements/SelectStatement.java file, this conditional check to be introduced {code} if(!parameters.allowFiltering) { secondaryIndexManager.validateIndexSearchersForQuery(expressions); } {code} In the org/apache/cassandra/db/index/SecondaryIndexManager.java file, change the exception message to give hint about the ALLOW FILTERING CLAUSE {code} StringBuilder sb = new StringBuilder(No secondary indexes on the restricted columns support the provided operators. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING: ); {code} If we make the above changes, the behaviour will be something like given below. {code} cqlsh use test; cqlsh:test select * from Videos; videoid | videoname | description | tags | upload_date | username -+---+-+--+-+-- (0 rows) cqlsh:test select * from videos where tags = 'Cass'; code=2200 [Invalid query] message=No secondary indexes on the restricted columns support the provided operators. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING: cqlsh:test select * from videos where tags = 'Cass' ALLOW FILTERING; videoid | videoname | description | tags | upload_date | username -+---+-+--+-+-- (0 rows) cqlsh:test {code} I will have a look at other places where there is a change required. Please let me know if this is right and a patch needs to be generated. Thanks Support more queries when ALLOW FILTERING is used. -- Key: CASSANDRA-4987 URL: https://issues.apache.org/jira/browse/CASSANDRA-4987 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Labels: cql Fix For: 3.0 Even after CASSANDRA-4915, there is still a bunch of queries that we don't support even if {{ALLOW FILTERING}} is used. Typically, pretty much any queries with restriction on a non-primary-key column unless we have one of those restriction that is an EQ on an indexed column. If {{ALLOW FILTERING}} is used, we could allow those queries out of convenience. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-4987) Support more queries when ALLOW FILTERING is used.
[ https://issues.apache.org/jira/browse/CASSANDRA-4987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14235375#comment-14235375 ] Rajanarayanan Thottuvaikkatumana commented on CASSANDRA-4987: - Apart from the above changes, for sure the following tests also have to be changed for sure. {code} FrozenCollectionsTest.java ContainsRelationTest.java {code} Support more queries when ALLOW FILTERING is used. -- Key: CASSANDRA-4987 URL: https://issues.apache.org/jira/browse/CASSANDRA-4987 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Labels: cql Fix For: 3.0 Even after CASSANDRA-4915, there is still a bunch of queries that we don't support even if {{ALLOW FILTERING}} is used. Typically, pretty much any queries with restriction on a non-primary-key column unless we have one of those restriction that is an EQ on an indexed column. If {{ALLOW FILTERING}} is used, we could allow those queries out of convenience. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-4987) Support more queries when ALLOW FILTERING is used.
[ https://issues.apache.org/jira/browse/CASSANDRA-4987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234781#comment-14234781 ] Sylvain Lebresne commented on CASSANDRA-4987: - Yes, that's the goal. Support more queries when ALLOW FILTERING is used. -- Key: CASSANDRA-4987 URL: https://issues.apache.org/jira/browse/CASSANDRA-4987 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Labels: cql Fix For: 3.0 Even after CASSANDRA-4915, there is still a bunch of queries that we don't support even if {{ALLOW FILTERING}} is used. Typically, pretty much any queries with restriction on a non-primary-key column unless we have one of those restriction that is an EQ on an indexed column. If {{ALLOW FILTERING}} is used, we could allow those queries out of convenience. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-4987) Support more queries when ALLOW FILTERING is used.
[ https://issues.apache.org/jira/browse/CASSANDRA-4987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14229918#comment-14229918 ] Rajanarayanan Thottuvaikkatumana commented on CASSANDRA-4987: - [~ slebresne] In the Video table example of CASSANDRA-4915, if we issue a command {{SELECT * FROM videos WHERE tags = 'Cassandra';}}, then it will give error {{code=2200 [Invalid query] message=No secondary indexes on the restricted columns support the provided operators: }}. Is the idea to have {{ALLOW FILTERING}} option in the SELECT statements to support these kinds of WHERE clauses and the like otherwise NOT supported by Cassandra now? Thanks Support more queries when ALLOW FILTERING is used. -- Key: CASSANDRA-4987 URL: https://issues.apache.org/jira/browse/CASSANDRA-4987 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Labels: cql Fix For: 3.0 Even after CASSANDRA-4915, there is still a bunch of queries that we don't support even if {{ALLOW FILTERING}} is used. Typically, pretty much any queries with restriction on a non-primary-key column unless we have one of those restriction that is an EQ on an indexed column. If {{ALLOW FILTERING}} is used, we could allow those queries out of convenience. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-4987) Support more queries when ALLOW FILTERING is used.
[ https://issues.apache.org/jira/browse/CASSANDRA-4987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14225975#comment-14225975 ] Sylvain Lebresne commented on CASSANDRA-4987: - bq. is this ticket for implementing the same for other types of queries such as UPDATE, DELETE etc with row selection predicate? No it's not. The implementation of {{ALLOW FILTERING}} for {{SELECT}} is incomplete and this ticket was created to somewhat complete it. Support more queries when ALLOW FILTERING is used. -- Key: CASSANDRA-4987 URL: https://issues.apache.org/jira/browse/CASSANDRA-4987 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Labels: cql Fix For: 3.0 Even after CASSANDRA-4915, there is still a bunch of queries that we don't support even if {{ALLOW FILTERING}} is used. Typically, pretty much any queries with restriction on a non-primary-key column unless we have one of those restriction that is an EQ on an indexed column. If {{ALLOW FILTERING}} is used, we could allow those queries out of convenience. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-4987) Support more queries when ALLOW FILTERING is used.
[ https://issues.apache.org/jira/browse/CASSANDRA-4987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14225243#comment-14225243 ] Rajanarayanan Thottuvaikkatumana commented on CASSANDRA-4987: - In CASSANDRA-4915, I have seen implementation of {{ALLOW FILTERING}} for {{SELECT}} statement. Now is this ticket for implementing the same for other types of queries such as UPDATE, DELETE etc with row selection predicate? Thanks Support more queries when ALLOW FILTERING is used. -- Key: CASSANDRA-4987 URL: https://issues.apache.org/jira/browse/CASSANDRA-4987 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Labels: cql Fix For: 3.0 Even after CASSANDRA-4915, there is still a bunch of queries that we don't support even if {{ALLOW FILTERING}} is used. Typically, pretty much any queries with restriction on a non-primary-key column unless we have one of those restriction that is an EQ on an indexed column. If {{ALLOW FILTERING}} is used, we could allow those queries out of convenience. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-4987) Support more queries when ALLOW FILTERING is used.
[ https://issues.apache.org/jira/browse/CASSANDRA-4987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13503127#comment-13503127 ] Sylvain Lebresne commented on CASSANDRA-4987: - CASSANDRA-4915 has a patch that does part of this. Said patch is not efficient in that it load full internal rows in memory, but is should at least demonstrate what's involved here. Support more queries when ALLOW FILTERING is used. -- Key: CASSANDRA-4987 URL: https://issues.apache.org/jira/browse/CASSANDRA-4987 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Fix For: 1.3 Even after CASSANDRA-4915, there is still a bunch of queries that we don't support even if {{ALLOW FILTERING}} is used. Typically, pretty much any queries with restriction on a non-primary-key column unless we have one of those restriction that is an EQ on an indexed column. If {{ALLOW FILTERING}} is used, we could allow those queries out of convenience. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira