Giter VIP home page Giter VIP logo

Comments (5)

nberardi avatar nberardi commented on June 28, 2024

Currently you set the CQL version in the connection builder to differentiate the type of CQL you want to call.

var conn = new ConnectionBuilder(keyspace: "your keyspace", host: "your host", cqlVersion: FluentCassandra.Connections.CqlVersion.Cql3);
var session = new CassandraSession(conn);
var context = new CassandraContext(session);

var results = context.ExecquteQuery("your cql 3 query here;");

The problem with LINQ is that it is agnostic and there really isn't a good way of differentiating between the two different versions in LINQ. Because in something less than CQL3 you would want that token parameter to have an error thrown, while in CQL 3 you would want it to be included into the CQL query.

It is something I have been wrestling with lately.

from fluentcassandra.

nberardi avatar nberardi commented on June 28, 2024

Sorry closed by accident.

from fluentcassandra.

nberardi avatar nberardi commented on June 28, 2024

I was looking at your example, and what if the syntax looked like this.

var x = from u in _db.GetColumnFamily("example_table")
           where CqlHelper.Token(u["idx"]) > 10001
           select u;

That way you wouldn't have to implement every token equality sign. You would just need to implement the part that warps the property in token(idx). Do you think that would work better, I haven't had too much time to look at the new spec.

from fluentcassandra.

 avatar commented on June 28, 2024

I belive that the intention of token(x) is to force the user to understand that Cassandra partitionKey is "token-ordered" - that have nothing in common with e.g. natural numbers ordering or string ordering. Therefore I belive that the situation would be better if we can use:
var x = from u in _db.GetColumnFamily("example_table")
where CqlHelper.Token(u["idx"]) > CqlHelper.Token(10001)
select u;

from fluentcassandra.

nberardi avatar nberardi commented on June 28, 2024

I see both sides of the comparison need to have token on them. In that case
your original idea might be better.

I am not as familiar with this as you, is there ever a case where token
will only be on one side?

Nick Berardi
(484) 302-0125
Sent on the go from my phone.

On Sep 4, 2012, at 4:46 AM, Pawel Kaplanski [email protected]
wrote:

I belive that the intention of token(x) is to force the user to understand
that Cassandra partitionKey is "token-ordered" - that have nothing in
common with e.g. natural numbers ordering or string ordering. Therefore I
belive that the situation would be better if we can use:
var x = from u in _db.GetColumnFamily("example_table")
where CqlHelper.Token(u["idx"]) > CqlHelper.Token(10001)
select u;


Reply to this email directly or view it on
GitHubhttps://github.com//issues/58#issuecomment-8256377.

from fluentcassandra.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.