mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-05-01 16:11:20 +00:00
Add a function to convert iCalendar interval syntax into SQL.
This commit is contained in:
parent
cee251d700
commit
bf2d2c3870
@ -702,3 +702,8 @@ BEGIN
|
|||||||
|
|
||||||
END;
|
END;
|
||||||
$$ LANGUAGE 'plpgsql' IMMUTABLE;
|
$$ LANGUAGE 'plpgsql' IMMUTABLE;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE or REPLACE FUNCTION icalendar_interval_to_SQL( TEXT ) RETURNS interval AS $function$
|
||||||
|
SELECT CASE WHEN substring($1,1,1) = '-' THEN -1 ELSE 1 END * regexp_replace( regexp_replace($1, '[PT-]', '', 'g'), '([A-Z])', E'\\1 ', 'g')::interval;
|
||||||
|
$function$ LANGUAGE 'SQL' IMMUTABLE STRICT;
|
||||||
|
|||||||
@ -708,3 +708,9 @@ BEGIN
|
|||||||
|
|
||||||
END;
|
END;
|
||||||
$$ LANGUAGE 'plpgsql' IMMUTABLE STRICT;
|
$$ LANGUAGE 'plpgsql' IMMUTABLE STRICT;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE or REPLACE FUNCTION icalendar_interval_to_SQL( TEXT ) RETURNS interval AS $function$
|
||||||
|
SELECT CASE WHEN substring($1,1,1) = '-' THEN -1 ELSE 1 END * regexp_replace( regexp_replace($1, '[PT-]', '', 'g'), '([A-Z])', E'\\1 ', 'g')::interval;
|
||||||
|
$function$ LANGUAGE 'SQL' IMMUTABLE STRICT;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user