From 7b06d99571bfbd7a6fa5b3cd56a5980936bb25c0 Mon Sep 17 00:00:00 2001 From: "Thomas G. Lockhart" <lockhart@fourpalms.org> Date: Thu, 4 Dec 1997 23:04:08 +0000 Subject: [PATCH] Backend code redefinitions to allow read/write of integer Unix system times. --- contrib/unixdate/unixdate.sql | 54 +++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 contrib/unixdate/unixdate.sql diff --git a/contrib/unixdate/unixdate.sql b/contrib/unixdate/unixdate.sql new file mode 100644 index 00000000000..6ee0bd83cbb --- /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'; + -- GitLab