29 lines
543 B
PL/PgSQL
29 lines
543 B
PL/PgSQL
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;
|