有没有办法在 INSERT 中的 JSON 文字中使用 CQL 函数?
Is there a way to use CQL functions inside JSON literals in INSERT?
有没有办法在 INSERT 中的 JSON 文字中使用 CQL 函数?例如:
CREATE TABLE oranges (
id uuid,
color text,
PRIMARY KEY (id)
);
这些工作:
INSERT INTO oranges JSON '{
"id": "f8f54a3c-b91c-4ff5-8f31-5784beafe1dc",
"color": "red"
}';
INSERT INTO oranges (id, color) VALUES (
uuid(),
'red'
);
但事实并非如此:
INSERT INTO oranges JSON '{
"id": "uuid()",
"color": "red"
}';
我意识到 CQL 无法猜测 JSON 字符串何时是 CQL 函数调用,但我很好奇是否以某种方式支持这一点。
如您所述,一旦检测到 JSON 格式,Cassandra 将假定它是一个 JSON 文档,仅此而已。
从好的方面来看,这是一件好事,在同一个方法上组合不同的语言会使应用程序更难维护。
有没有办法在 INSERT 中的 JSON 文字中使用 CQL 函数?例如:
CREATE TABLE oranges (
id uuid,
color text,
PRIMARY KEY (id)
);
这些工作:
INSERT INTO oranges JSON '{
"id": "f8f54a3c-b91c-4ff5-8f31-5784beafe1dc",
"color": "red"
}';
INSERT INTO oranges (id, color) VALUES (
uuid(),
'red'
);
但事实并非如此:
INSERT INTO oranges JSON '{
"id": "uuid()",
"color": "red"
}';
我意识到 CQL 无法猜测 JSON 字符串何时是 CQL 函数调用,但我很好奇是否以某种方式支持这一点。
如您所述,一旦检测到 JSON 格式,Cassandra 将假定它是一个 JSON 文档,仅此而已。
从好的方面来看,这是一件好事,在同一个方法上组合不同的语言会使应用程序更难维护。