Make name column immutable for kms workers. (#2190)

errcode 23601 is the error code used by the immutable_column() function.
pull/2195/head
Todd 4 years ago committed by GitHub
parent e6f6665bea
commit 577d8418cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -107,6 +107,25 @@ create trigger worker_update_time_column before update on server_worker
create trigger update_version_column after update of version, description, name on server_worker
for each row execute procedure update_version_column();
create function immutable_kms_name()
returns trigger
as $$
begin
if old.type = 'kms' and new.name is distinct from old.name then
raise exception 'immutable column for kms worker: server_worker.name' using
errcode = '23601',
schema = tg_table_schema,
table = tg_table_name,
column = 'name';
end if;
end;
$$ language plpgsql;
comment on function immutable_kms_name is
'function used in before update triggers to make name column immutable for kms workers';
create trigger immutable_kms_name before update on server_worker
for each row execute procedure immutable_kms_name();
create function update_kms_server_worker_update_last_status_time_column()
returns trigger
as $$

Loading…
Cancel
Save