修改cassandraudt类型以添加多个属性的查询是什么

a5g8bdjr  于 2021-06-13  发布在  Cassandra
关注(0)|答案(1)|浏览(309)

我有一个cassandraudt列,它有大约10个属性,现在我们计划再向它添加3个属性。要添加这三个属性的查询是什么。我可以通过执行3个不同的查询来逐个添加它们,如 alter TYPE commentmetadata ADD columnname1 <type>; , alter TYPE commentmetadata ADD columnname2 <type>; , alter TYPE commentmetadata ADD columnname3 <type>; .
这可以在单个查询中完成吗?datastax文档提到可以通过这样的方法来实现 ALTER TYPE commentmetadata ADD (field_name cql_datatype[,...]) 通过在逗号分隔的列表中输入字段名,后跟数据类型来添加字段。我尝试了以下3个查询,但我得到的所有查询错误。

ALTER TYPE commentmetadata ADD columnname1 int, columnname2 int, columnname3 int;
ALTER TYPE commentmetadata ADD [columnname1 int, columnname2 int, columnname3 int]; 
ALTER TYPE commentmetadata ADD (columnname1 int, columnname2 int, columnname3 int);
tzcvj98z

tzcvj98z1#

根据cql语法,这是不可能的:

/**
 * ALTER TYPE <name> ALTER <field> TYPE <newtype>;
 * ALTER TYPE <name> ADD <field> <newtype>;
 * ALTER TYPE <name> RENAME <field> TO <newtype> AND ...;
 */
alterTypeStatement returns [AlterTypeStatement.Raw stmt]
    : K_ALTER K_TYPE name=userTypeName { $stmt = new AlterTypeStatement.Raw(name); }
      (
        K_ALTER   f=fident K_TYPE v=comparatorType { $stmt.alter(f, v); }

      | K_ADD     f=fident v=comparatorType        { $stmt.add(f, v); }

      | K_RENAME f1=fident K_TO toF1=fident        { $stmt.rename(f1, toF1); }
         ( K_AND fn=fident K_TO toFn=fident        { $stmt.rename(fn, toFn); } )*
      )
    ;

您可以为cassandra提交jira以添加此类功能。
p、 你能指出它写在税务文件里的那一页吗?

相关问题