0

si quelqu'un a une certaine expérience dans l'utilisation UDT (Types définis par l'utilisateur), je voudrais comprendre comment la rétrocompatibilité fonctionnerait.comportement de type défini par l'utilisateur (UDT) dans Cassandra

Dire que j'ai l'UDT suivant

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

Si je modifie "adr" UDT avoir deux ou trois autres attributs (disons par exemple zip_code2 int, et le texte du nom):

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

comment fonctionnent les anciennes lignes qui ont ces attributs? Est-il même compatible?

Merci

Répondre

3

La nouvelle définition de UDT serait compatible avec l'ancienne définition. Les types définis par l'utilisateur peuvent avoir des valeurs nulles pour les champs, donc si vous modifiez la définition de type, toutes les valeurs existantes pour ce type auront simplement des valeurs nulles pour les champs ajoutés.

+0

C'est ce que j'ai supposé. Qu'en est-il des types int et booléen? Est-ce que int est par défaut à 0 ou autre chose? – im2kul

+0

Voulez-vous dire ints et booléens dans un UDT? Ce sont également null. Cassandra ne par défaut aucun type à une valeur non nulle (n'importe où). –