BEGIN; CREATE OR REPLACE FUNCTION is_sane_text(value TEXT) RETURNS BOOLEAN IMMUTABLE PARALLEL SAFE LANGUAGE plpgsql AS $$BEGIN IF value IS NULL THEN RETURN TRUE; ELSE RETURN value = btrim(value) AND length(value) > 0; END IF; END$$; CREATE OR REPLACE FUNCTION is_language_code(value VARCHAR) RETURNS BOOLEAN IMMUTABLE PARALLEL SAFE LANGUAGE plpgsql AS $$BEGIN IF value IS NULL THEN RETURN TRUE; ELSE RETURN value ~ '^[a-z]{2}$'; END IF; END$$; COMMIT;