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