28 lines
717 B
PL/PgSQL
28 lines
717 B
PL/PgSQL
-- get_title()
|
|
create function tj.get_title() returns text as
|
|
$$
|
|
declare
|
|
title text;
|
|
begin
|
|
select value into title from tj.title;
|
|
return title;
|
|
end;
|
|
$$ language plpgsql;
|
|
|
|
-- update_title()
|
|
create function tj.set_title(new_title text) returns void as
|
|
$$
|
|
declare
|
|
old_title text;
|
|
redo text;
|
|
undo text;
|
|
begin
|
|
select tj.get_title() into old_title;
|
|
update tj.title set value = new_title where value = old_title;
|
|
|
|
redo := concat('update tj.title set value = ''', new_title, ''' where value = ''', old_title, '''');
|
|
undo := concat('update tj.title set value = ''', old_title, ''' where value = ''', new_title, '''');
|
|
perform tj.add_operation(redo, undo);
|
|
end;
|
|
$$ language plpgsql;
|