我试图使用Devcenter创建用户定义函数。
http://docs.datastax.com/en/cql/3.3/cql/cql_using/useCreateUDF.html
以下示例摘自上述链接。
CREATE OR REPLACE FUNCTION fLog (input double) CALLED ON NULL INPUT RETURNS double LANGUAGE java AS 'return Double.valueOf(Math.log(input.doubleValue()));';
它在
cqlsh
中有效,但在DevCenter中失败,并出现以下错误。根据获得响应的速度,我认为DevCenter会执行本地语法检查,并因为认为查询错误而中止执行。我正在使用Cassandra 2.2.3和DevCenter 1.4.1
最佳答案
DevCenter会执行自己的语法语法检查以及语义验证。
这是一个DevCenter错误-在这种情况下,语法不允许列名“输入”,因为它也是一个CQL关键字,此处不正确地不允许使用。
在修复可用之前,建议的解决方法是更改列的名称,例如“输入值”。
关于cassandra - DevCenter报告语法错误,但相同的CQL在cqlsh上运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33244348/