Cassandra更新IF语句,条件是否支持不等式表达式?

更新IF [条件]哪里[条件]是不等式,由Cassandra CQL支持?

我查看了语言参考,似乎CQL不能通过语法支持不等式.我使用了这里的语言参考:https://cassandra.apache.org/doc/cql3/CQL.html#updateStmt

令人困惑的是,使用C#驱动程序或CQLSH成功执行查询,但是当从Datasax DevCenter执行相同操作时,我收到错误.

我正在使用类似下面的查询:

UPDATE product
SET edit_date = [new_value]
WHERE customer_id = '4' AND code = 'AMZ-ISMDB' 
IF edit_date < [new_value]

结果如下:

>尝试执行脚本片段时,Datasax DevCenter会引发错误.我得到的错误是抱怨脚本的UPDATE IF部分的不平等.

当前脚本中存在一个语法错误(请参阅下面的详细信息).
请修复它,然后重试.
  第29行:在输入’<‘时没有可行的替代方案
>如果我将CLINQ与Datasax C#驱动程序一起使用,则会按上述方式生成查询,并且在执行时,如果新的edit_date位于现有edit_date(预期行为)之后,则会保持更新.
>使用CQLSH,查询成功运行,并且持久化更新

最佳答案 问题很可能是DevCenter尚未更新以支持最新语法.

不平等条件被添加到:
CASSANDRA-6839

看起来他们在添加文档时错过了更新文档.我打开CASSANDRA-10752以解决问题.

点赞