#[derive(Debug, Clone, PartialEq)]
pub enum AlterCollectionOp {
AddColumn {
column_name: String,
column_type: String,
not_null: bool,
default_expr: Option<String>,
},
DropColumn { column_name: String },
RenameColumn { old_name: String, new_name: String },
AlterColumnType {
column_name: String,
new_type: String,
},
OwnerTo { new_owner: String },
SetRetention { value: String },
SetAppendOnly,
SetLastValueCache { enabled: bool },
SetLegalHold { enabled: bool, tag: String },
AddMaterializedSum {
target_collection: String,
target_column: String,
source_collection: String,
join_column: String,
value_expr: String,
},
SetOnConflict {
policy: ConflictPolicyKind,
constraint_kind: ConstraintKindKeyword,
},
}
#[derive(Debug, Clone, PartialEq)]
pub enum ConflictPolicyKind {
LastWriterWins,
RenameSuffix,
CascadeDefer,
EscalateToDlq,
}
#[derive(Debug, Clone, PartialEq)]
pub enum ConstraintKindKeyword {
Unique,
ForeignKey,
NotNull,
Check,
}
#[derive(Debug, Clone, PartialEq)]
pub enum AlterUserOp {
SetPassword { password: String },
SetRole { role: String },
MustChangePassword,
PasswordNeverExpires,
PasswordExpiresAt { iso8601: String },
PasswordExpiresInDays { days: u32 },
SetDefaultDatabase { db_name: String },
}
#[derive(Debug, Clone, PartialEq)]
pub enum AlterRoleOp {
Grant {
permission: String,
target_type: String,
target_name: String,
},
Revoke {
permission: String,
target_type: String,
target_name: String,
},
SetInherit {
parent: String,
},
}