是Cassandra Update IF语句,其中条件是支持的不等式表达式



UPDATE IF [condition]中[条件]是不等式,由Cassandra CQL支持吗?

我看了一下语言参考,似乎CQL不应该通过语法来支持不平等。我使用了这里的语言参考:https://cassandra.apache.org/doc/cql3/CQL.html#updateStmt

令人困惑的是,使用C#驱动程序或CQLSH可以成功执行查询,但当从Dataax-DevCenter执行同样的操作时,我会出错。

我使用的查询类似于下面的查询:

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

结果如下:

  • Dataax-DevCenter在尝试执行脚本片段时抛出错误。我得到的错误是抱怨脚本的UPDATE IF部分中的不平等。

    当前脚本中有一个语法错误(请参阅下面的详细信息)。请修复它,然后重试。第29行:在输入'<'处没有可行的替代方案

  • 如果我将CLINQ与Datamax C#驱动程序一起使用,则如上所述生成查询,并且在执行时,如果新的edit_date在现有的edit_data之后(这是预期行为),则更新将持久化。

  • 使用CQLSH,查询成功运行,更新持久化

问题很可能是DevCenter尚未更新以支持最新语法。

增加了不平等条件:CASSANDRA-6839

添加文档时,他们似乎错过了更新文档。我打开CASSANDRA-10752来修复它。

此问题已在DevCenter 1.6.0版本中修复。

相关内容

  • 没有找到相关文章

最新更新