【发布时间】:2016-01-19 13:36:23
【问题描述】:
我正在尝试使用 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 的查询窗口不是 CQLSH 的复制品 - 并非所有适用于 CQLSH 的命令都适用于 DevCenter。 (
COPY是另一个不起作用的命令) -
COPY 是可以理解的,因为它可能必须与本地文件系统一起使用,但 UDF 创建将被视为 DML 并且在 DevCenter 中允许 DML,所以我倾向于认为这是一个错误。
标签: cassandra datastax-enterprise