db/047a51b_to_49bed63.sql

34 lines
1.0 KiB
MySQL
Raw Normal View History

2023-07-19 02:32:10 +00:00
alter type "public"."usr_username" rename attribute "username" to "str" cascade;
2023-07-17 18:13:48 +00:00
set check_function_bodies = off;
CREATE OR REPLACE FUNCTION public.create_newtype_text(qualified_name text)
RETURNS void
LANGUAGE plpgsql
AS $function$
begin
execute concat('create type ', qualified_name, ' as (str text);');
execute concat( 'create function '
, qualified_name || '_to_string(val ' || qualified_name || ')'
, E' returns text language sql as \'select (val.str);\';'
);
execute concat( 'create function '
, qualified_name || '_of_string(val text)'
, ' returns ' || qualified_name || E' language sql as \'select row(val);\';'
);
end;
$function$
;
CREATE OR REPLACE FUNCTION public.usr_username_of_string(val text)
RETURNS usr_username
LANGUAGE sql
AS $function$select row(val);$function$
;
CREATE OR REPLACE FUNCTION public.usr_username_to_string(val usr_username)
RETURNS text
LANGUAGE sql
AS $function$select (val.str);$function$
;