With thrift methods can not be over-loaded but objects can have optional
parameters.

In the future should we avoid:

CqlResult execute_cql3_query(1:required binary query, 2:required
Compression compression, 3:required ConsistencyLevel consistency)
    throws (1:InvalidRequestException ire,
            2:UnavailableException ue,
            3:TimedOutException te,
            4:SchemaDisagreementException sde)

Instead

CqlResult execute_cql3_query(1:required CqlRequestObject object)

and the CqlRequestObject can contain all optional parameters. I can not
find the exact reference, but I remember reading this is the way google has
suggested using protobufs, mark all fields optional always for maximum
compatibility.

On Tue, Jan 1, 2013 at 2:25 PM, Jonathan Ellis <jbel...@gmail.com> wrote:

> On Tue, Jan 1, 2013 at 11:42 AM, Edward Capriolo <edlinuxg...@gmail.com>
> wrote:
> > Question. 1.2.0-beta2
> >
> > Why does the thrift interface have 2 CQL methods?
>
> To preserve cql2 compatibility.  cql3 pulls consistencylevel into the
> method call instead of the query language.
>
> > Is this something we are going to continue?
>
> When necessary for compatibility, yes.
>
> > I wish we could have done the cassandra 0.6.X -> 0.7.X
> > migration this way:)
>
> In retrospect, I agree.
>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder, http://www.datastax.com
> @spyced
>

Reply via email to