30 lines
543 B
MySQL
30 lines
543 B
MySQL
|
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;
|