Even if native protocole from 2.0 offers nice paging feature, the tuple notation is mandatory when paging is handled from client-side.
On Fri, Jul 18, 2014 at 3:15 PM, Mike Heffner <m...@librato.com> wrote: > Tyler, > > Cool, yes I was actually trying to solve that exact problem of paginating > with LIMIT when it ends up slicing in the middle of a set of composite > columns. (though sounds like automatic ResultSet paging in 2.0.x alleviates > that need). > > So to do composite column slicing in 1.2.x the answer is to stick with > Thrift? > > Mike > > > On Thu, Jul 17, 2014 at 8:27 PM, Tyler Hobbs <ty...@datastax.com> wrote: > >> For this type of query, you really want the tuple notation introduced in >> 2.0.6 (https://issues.apache.org/jira/browse/CASSANDRA-4851): >> >> SELECT * FROM CF WHERE key='X' AND (column1, column2, column3) > (1, 3, >> 4) AND (column1) < (2) >> >> >> On Thu, Jul 17, 2014 at 6:01 PM, Mike Heffner <m...@librato.com> wrote: >> >>> Michael, >>> >>> So if I switch to: >>> >>> SELECT * FROM CF WHERE key='X' AND column1=1 AND column2=3 AND column3>4 >>> >>> That doesn't include rows where column1=2, which breaks the original >>> slice query. >>> >>> Maybe a better way to put it, I would like: >>> >>> SELECT * FROM CF WHERE key='X' AND column1>=1 AND column2>=3 AND >>> column3>4 AND column1<=2; >>> >>> but that is rejected with: >>> >>> Bad Request: PRIMARY KEY part column2 cannot be restricted (preceding >>> part column1 is either not restricted or by a non-EQ relation) >>> >>> >>> Mike >>> >>> >>> >>> On Thu, Jul 17, 2014 at 6:37 PM, Michael Dykman <mdyk...@gmail.com> >>> wrote: >>> >>>> The last term in this query is redundant. Any time column1 = 1, we >>>> may reasonably expect that it is also <= 2 as that's where 1 is found. >>>> If you remove the last term, you elimiate the error and non of the >>>> selection logic. >>>> >>>> SELECT * FROM CF WHERE key='X' AND column1=1 AND column2=3 AND >>>> column3>4 AND column1<=2; >>>> >>>> On Thu, Jul 17, 2014 at 6:23 PM, Mike Heffner <m...@librato.com> wrote: >>>> > What is the proper way to perform a column slice using CQL with 1.2? >>>> > >>>> > I have a CF with a primary key X and 3 composite columns (A, B, C). >>>> I'd like >>>> > to find records at: >>>> > >>>> > key=X >>>> > columns > (A=1, B=3, C=4) AND >>>> > columns <= (A=2) >>>> > >>>> > The Query: >>>> > >>>> > SELECT * FROM CF WHERE key='X' AND column1=1 AND column2=3 AND >>>> column3>4 AND >>>> > column1<=2; >>>> > >>>> > fails with: >>>> > >>>> > DoGetMeasures: column1 cannot be restricted by both an equal and an >>>> inequal >>>> > relation >>>> > >>>> > This is against Cassandra 1.2.16. >>>> > >>>> > What is the proper way to perform this query? >>>> > >>>> > >>>> > Cheers, >>>> > >>>> > Mike >>>> > >>>> > -- >>>> > >>>> > Mike Heffner <m...@librato.com> >>>> > Librato, Inc. >>>> > >>>> >>>> >>>> >>>> -- >>>> - michael dykman >>>> - mdyk...@gmail.com >>>> >>>> May the Source be with you. >>>> >>> >>> >>> >>> -- >>> >>> Mike Heffner <m...@librato.com> >>> Librato, Inc. >>> >>> >> >> >> -- >> Tyler Hobbs >> DataStax <http://datastax.com/> >> > > > > -- > > Mike Heffner <m...@librato.com> > Librato, Inc. > >