From: Thomas G. Lockhart Date: Thu, 4 Dec 1997 23:04:08 +0000 (+0000) Subject: Backend code redefinitions to allow read/write X-Git-Tag: REL6_3~552 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7b06d99571bfbd7a6fa5b3cd56a5980936bb25c0;p=postgresql Backend code redefinitions to allow read/write of integer Unix system times. --- diff --git a/contrib/unixdate/unixdate.sql b/contrib/unixdate/unixdate.sql new file mode 100644 index 0000000000..6ee0bd83cb --- /dev/null +++ b/contrib/unixdate/unixdate.sql @@ -0,0 +1,54 @@ +-- unixdate +-- Routines to convert int4 (Unix system time) to datetime +-- and int4 (delta time) to timespan +-- +-- Thomas Lockhart (lockhart@alumni.caltech.edu) +-- 1997-11-25 +-- +-- This cheats and reuses existing code in the standard package. +-- Can not include this directly because built-in functions are optimized +-- into a cache and the duplicate function names abstime_datetime() and +-- reltime_timespan() result in duplicate constants. +-- +-- This works with Postgres v6.2 and higher. + +-- +-- Conversions from integer to datetime +-- + +CREATE FUNCTION abstime_datetime(int4) + RETURNS datetime + AS '-' LANGUAGE 'internal'; + +CREATE FUNCTION datetime(int4) + RETURNS datetime + AS 'select abstime_datetime($1)' LANGUAGE 'SQL'; + +CREATE FUNCTION reltime_timespan(int4) + RETURNS timespan + AS '-' LANGUAGE 'internal'; + +CREATE FUNCTION timespan(int4) + RETURNS timespan + AS 'select reltime_timespan($1)' LANGUAGE 'SQL'; + +-- +-- Conversions back to integer +-- + +CREATE FUNCTION datetime_abstime(datetime) + RETURNS int4 + AS '-' LANGUAGE 'internal'; + +CREATE FUNCTION utime(datetime) + RETURNS int4 + AS 'select datetime_abstime($1)' LANGUAGE 'SQL'; + +CREATE FUNCTION timespan_reltime(timespan) + RETURNS int4 + AS '-' LANGUAGE 'internal'; + +CREATE FUNCTION uspan(timespan) + RETURNS int4 + AS 'select timespan_reltime($1)' LANGUAGE 'SQL'; +