[ https://issues.apache.org/jira/browse/CASSANDRA-2474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13087705#comment-13087705 ]
Jonathan Ellis commented on CASSANDRA-2474: ------------------------------------------- bq. SELECT transposed(column) FROM foo WHERE key=X Can we just write transposed() then instead of implying that there's actually a single column we're doing this to? bq. You could then also do supercol slices like transposed(column, start, end) This isn't much of an improvement over the old slice syntax, from a CQL perspective. Here's why. If we have "real" WHERE clauses we get all the benefits of regularity that implies: we can get "traditional" slices {code} SELECT transposed() FROM foo WHERE key=X AND column >= X AND column <= Y {code} Or "paging" style (start-exclusive), possibly the single most-requested slicing feature: {code} SELECT transposed() FROM foo WHERE key=X AND column > X AND column <= Y {code} No special syntax needed for count(), other than I'm not sure we want to go full-on subquery here. The HQL options don't look great. Maybe we just add a transposed_count() function too): {code} SELECT count(*) FROM (SELECT transposed() FROM foo WHERE key=X AND column > X AND column <= Y) {code} More natural support for just once slice "endpoint": {code} SELECT transposed() FROM foo WHERE key=X AND column >= X {code} Multi-row slicing: {code} SELECT transposed() FROM foo WHERE key IN (X, Y) AND column >= X AND column <= Y {code} Multi-slice from single row (CASSANDRA-2710): {code} SELECT transposed() FROM foo WHERE key=X AND ((column >= X AND column <= Y) OR (column >= A AND column <= B)) {code} Composite column support (i.e., first-part-of-column-name is exactly X): {code} SELECT transposed() FROM foo WHERE key=X AND column=X {code} Future proof against hypothetical future CQL support for functions: {code} SELECT transposed() FROM foo WHERE key=X AND sqrt(column) < X {code} ... and of course combinations of the above. Adding functions for even just the examples here would be ugly, let alone further mix-and-matching. > CQL support for compound columns > -------------------------------- > > Key: CASSANDRA-2474 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2474 > Project: Cassandra > Issue Type: Sub-task > Components: API, Core > Reporter: Eric Evans > Labels: cql > Fix For: 1.0 > > > For the most part, this boils down to supporting the specification of > compound column names (the CQL syntax is colon-delimted terms), and then > teaching the decoders (drivers) to create structures from the results. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira