是否支持条件为不等式表达式的 Cassandra Update IF 语句?
Is Cassandra Update IF statement where the condition is an inequality expression supported?
Cassandra CQL 支持 UPDATE IF [condition]
其中 [condition] 是不等式吗?
我查看了语言参考,似乎 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 来修复它。
此问题已在 DevCenter 1.6.0 版中修复。
Cassandra CQL 支持 UPDATE IF [condition]
其中 [condition] 是不等式吗?
我查看了语言参考,似乎 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 来修复它。
此问题已在 DevCenter 1.6.0 版中修复。