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 <[email protected]> wrote:
> On Tue, Jan 1, 2013 at 11:42 AM, Edward Capriolo <[email protected]>
> 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
>