【问题标题】:User Defined Type (UDT) behavior in CassandraCassandra 中的用户定义类型 (UDT) 行为
【发布时间】:2016-03-21 21:18:47
【问题描述】:

如果有人在使用 UDT(用户定义类型)方面有一些经验,我想了解向后兼容性如何工作。

假设我有以下 UDT

CREATE TYPE addr (
  street1 text,
  zip text,
  state text
);

如果我将“addr”UDT 修改为具有更多属性(例如 zip_code2 int 和名称文本):

CREATE TYPE addr (
  street1 text,
  zip text,
  state text,
  zip_code2 int,
  name text
);

具有这些属性的旧行如何工作?它甚至兼容吗?

谢谢

【问题讨论】:

    标签: cassandra datastax datastax-enterprise cql3 datastax-java-driver


    【解决方案1】:

    新的 UDT 定义将与旧定义兼容。用户定义类型的字段可以具有空值,因此如果您更改类型定义,该类型的所有现有值将仅具有添加的字段的空值。

    【讨论】:

    • 这就是我的假设。 int 和 boolean 类型呢? int 默认为 0 还是别的什么?
    • 您是指 UDT 中的整数和布尔值吗?那些也是空的。 Cassandra 不会将任何类型默认为非空值(任何地方)。
    猜你喜欢
    • 2018-08-18
    • 2019-04-04
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 2020-02-29
    • 2014-12-31
    • 1970-01-01
    • 2016-04-15
    相关资源
    最近更新 更多