[
https://issues.apache.org/jira/browse/CASSANDRA-1704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12928263#action_12928263
]
Jonathan Ellis commented on CASSANDRA-1704:
-------------------------------------------
My suggestion to add full support for column predicates and make it more of a
disjoint set with SQL:
{code}SELECT <COLUMNS> FROM <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
[LIMIT <X>] [ASC|DESC{code}
Where the main change is the COLUMNS clause which looks like
{code}REVERSED? <CDL>|<SLICE> [MARSHAL AS <TYPE>] [COUNT <Y>]{code}
Where
*<CDL> is a SQL-style comma-delimited list of names
*<TYPE> is a hint saying how to convert the text column names into byte[]
(usually only necessary if the comparator is BytesType)
*<SLICE> is a <START>..<END> pair
*COUNT replaces COLLIMIT
Note that a bare "AS" is a SQL keyword legal in column-specification clauses to
change the name in the resultset, so I used MARSHAL AS to disambiguate. I
think this is the weakest part of this proposal and improvement can probably be
made there. (WITH is another possibility -- also a SQL keyword, but a more
obscure one, and not AFAIK legal in the column-specification clause so would be
unambiguous. NAMES AS might also work.)
> CQL reads (aka SELECT)
> ----------------------
>
> Key: CASSANDRA-1704
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1704
> Project: Cassandra
> Issue Type: Sub-task
> Components: API
> Affects Versions: 0.8
> Reporter: Eric Evans
> Priority: Minor
> Fix For: 0.8
>
> Original Estimate: 0h
> Remaining Estimate: 0h
>
> Data access specification and implementation for CQL.
> This corresponds to the following RPC methods:
> * get()
> * get_slice()
> * get_count()
> * multiget_slice()
> * multiget_count()
> * get_range_slices()
> * get_indexed_slices()
> The initial check-in to trunk/ uses a syntax that looks like:
> {code:SQL}
> SELECT (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION> [ROWLIMIT X]
> [COLLIMIT Y] [ASC|DESC]
> {code}
> Where:
> * <CF> is the column family name.
> * <EXPRESSION> consists of relations chained by the AND keyword.
> * <LVL> corresponds to one of the enum values in the RPC interface(s).
> What is still undone:
> * Support for indexes
> * Counts
> * Complete test coverage
> And of course, all of this is still very much open to further discussion.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.