X-Git-Url: http://git.equinoxoli.org/?p=migration-tools.git;a=blobdiff_plain;f=sql%2Fbase%2Fbase.sql;h=86833621a84aaded4d1c2d7ff29c5d6fcd1f759e;hp=a333a1b3e4bd31b8bd2bae4956e9d88a7ba57dd3;hb=d25847fe178bf9fabbd1846cafb6d90abe63f971;hpb=1d73eeeaf22698a991480b65c2f9373ddfba7fcf diff --git a/sql/base/base.sql b/sql/base/base.sql index a333a1b..8683362 100644 --- a/sql/base/base.sql +++ b/sql/base/base.sql @@ -4075,6 +4075,26 @@ BEGIN END $function$; +DROP FUNCTION IF EXISTS migration_tools.btrim_columns(TEXT,TEXT); +CREATE OR REPLACE FUNCTION migration_tools.btrim_columns(s_name TEXT, t_name TEXT) RETURNS BOOLEAN + LANGUAGE plpgsql +AS $function$ +DECLARE + c_name TEXT; +BEGIN + + FOR c_name IN SELECT column_name FROM information_schema.columns WHERE + table_name = t_name + AND table_schema = s_name + AND (data_type='text' OR data_type='character varying') + LOOP + EXECUTE FORMAT('UPDATE ' || s_name || '.' || t_name || ' SET ' || c_name || ' = BTRIM(' || c_name || ')'); + END LOOP; + + RETURN TRUE; +END +$function$; + DROP FUNCTION IF EXISTS migration_tools.null_empty_lcolumns(TEXT,TEXT); CREATE OR REPLACE FUNCTION migration_tools.null_empty_lcolumns(s_name TEXT, t_name TEXT) RETURNS BOOLEAN LANGUAGE plpgsql @@ -4096,3 +4116,22 @@ BEGIN END $function$; +DROP FUNCTION IF EXISTS migration_tools.null_empty_columns(TEXT,TEXT); +CREATE OR REPLACE FUNCTION migration_tools.null_empty_columns(s_name TEXT, t_name TEXT) RETURNS BOOLEAN + LANGUAGE plpgsql +AS $function$ +DECLARE + c_name TEXT; +BEGIN + + FOR c_name IN SELECT column_name FROM information_schema.columns WHERE + table_name = t_name + AND table_schema = s_name + AND (data_type='text' OR data_type='character varying') + LOOP + EXECUTE FORMAT('UPDATE ' || s_name || '.' || t_name || ' SET ' || c_name || ' = NULL WHERE ' || c_name || ' = '''' '); + END LOOP; + + RETURN TRUE; +END +$function$;