Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
f3e98844
Commit
f3e98844
authored
Dec 03, 2000
by
Tom Lane
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update for new tests.
parent
68ed2963
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
706 additions
and
0 deletions
+706
-0
src/test/regress/expected/horology-no-DST-before-1970.out
src/test/regress/expected/horology-no-DST-before-1970.out
+706
-0
No files found.
src/test/regress/expected/horology-no-DST-before-1970.out
View file @
f3e98844
...
@@ -70,6 +70,712 @@ SELECT timestamp '1999-12-01' + interval '1 month - 1 second' AS "Dec 31";
...
@@ -70,6 +70,712 @@ SELECT timestamp '1999-12-01' + interval '1 month - 1 second' AS "Dec 31";
Fri Dec 31 23:59:59 1999 PST
Fri Dec 31 23:59:59 1999 PST
(1 row)
(1 row)
--
-- time, interval arithmetic
--
SELECT CAST(time '01:02' AS interval) AS "+01:02";
+01:02
-----------------
@ 1 hour 2 mins
(1 row)
SELECT CAST(interval '02:03' AS time) AS "02:03:00";
02:03:00
----------
02:03:00
(1 row)
SELECT time '01:30' + interval '02:01' AS "03:31:00";
03:31:00
----------
03:31:00
(1 row)
SELECT time '01:30' - interval '02:01' AS "23:29:00";
23:29:00
----------
23:29:00
(1 row)
SELECT time '02:30' + interval '36:01' AS "14:31:00";
14:31:00
----------
14:31:00
(1 row)
SELECT time '03:30' + interval '1 month 04:01' AS "07:31:00";
07:31:00
----------
07:31:00
(1 row)
SELECT interval '04:30' - time '01:02' AS "+03:28";
+03:28
-------------------
@ 3 hours 28 mins
(1 row)
SELECT CAST(time with time zone '01:02-08' AS interval) AS "+00:01";
ERROR: Cannot cast type 'timetz' to 'interval'
SELECT CAST(interval '02:03' AS time with time zone) AS "02:03:00-08";
ERROR: Cannot cast type 'interval' to 'timetz'
SELECT time with time zone '01:30' + interval '02:01' AS "03:31:00-08";
03:31:00-08
-------------
03:31:00-08
(1 row)
SELECT time with time zone '01:30-08' - interval '02:01' AS "23:29:00-08";
23:29:00-08
-------------
23:29:00-08
(1 row)
SELECT time with time zone '02:30-08' + interval '36:01' AS "14:31:00-08";
14:31:00-08
-------------
14:31:00-08
(1 row)
SELECT time with time zone '03:30' + interval '1 month 04:01' AS "07:31:00-08";
07:31:00-08
-------------
07:31:00-08
(1 row)
SELECT interval '04:30' - time with time zone '01:02' AS "+03:28";
ERROR: Unable to identify an operator '-' for types 'interval' and 'timetz'
You will have to retype this query using an explicit cast
-- We get 100 rows when run in GMT...
SELECT t.d1 + i.f1 AS "102" FROM TIMESTAMP_TBL t, INTERVAL_TBL i
WHERE t.d1 BETWEEN '1990-01-01' AND '2001-01-01'
AND i.f1 BETWEEN '00:00' AND '23:00';
102
---------------------------------
Mon Feb 10 17:33:01 1997 PST
Mon Feb 10 22:32:01 1997 PST
Mon Feb 10 17:33:01.00 1997 PST
Mon Feb 10 22:32:01.00 1997 PST
Mon Feb 10 17:33:02.00 1997 PST
Mon Feb 10 22:32:02.00 1997 PST
Mon Feb 10 17:33:01.40 1997 PST
Mon Feb 10 22:32:01.40 1997 PST
Mon Feb 10 17:33:01.50 1997 PST
Mon Feb 10 22:32:01.50 1997 PST
Mon Feb 10 17:33:01.60 1997 PST
Mon Feb 10 22:32:01.60 1997 PST
Thu Jan 02 00:01:00 1997 PST
Thu Jan 02 05:00:00 1997 PST
Thu Jan 02 03:05:05 1997 PST
Thu Jan 02 08:04:05 1997 PST
Mon Feb 10 17:33:01 1997 PST
Mon Feb 10 22:32:01 1997 PST
Mon Feb 10 17:33:01 1997 PST
Mon Feb 10 22:32:01 1997 PST
Mon Feb 10 17:33:01 1997 PST
Mon Feb 10 22:32:01 1997 PST
Mon Feb 10 17:33:01 1997 PST
Mon Feb 10 22:32:01 1997 PST
Tue Jun 10 17:33:01 1997 PDT
Tue Jun 10 22:32:01 1997 PDT
Wed Mar 15 08:15:01 2000 PST
Wed Mar 15 13:14:01 2000 PST
Wed Mar 15 04:15:02 2000 PST
Wed Mar 15 09:14:02 2000 PST
Wed Mar 15 02:15:03 2000 PST
Wed Mar 15 07:14:03 2000 PST
Wed Mar 15 03:15:04 2000 PST
Wed Mar 15 08:14:04 2000 PST
Wed Mar 15 01:15:05 2000 PST
Wed Mar 15 06:14:05 2000 PST
Mon Feb 10 17:33:01 1997 PST
Mon Feb 10 22:32:01 1997 PST
Mon Feb 10 17:33:01 1997 PST
Mon Feb 10 22:32:01 1997 PST
Mon Feb 10 17:33:00 1997 PST
Mon Feb 10 22:32:00 1997 PST
Mon Feb 10 17:33:01 1997 PST
Mon Feb 10 22:32:01 1997 PST
Mon Feb 10 17:33:01 1997 PST
Mon Feb 10 22:32:01 1997 PST
Mon Feb 10 17:33:01 1997 PST
Mon Feb 10 22:32:01 1997 PST
Mon Feb 10 17:33:01 1997 PST
Mon Feb 10 22:32:01 1997 PST
Mon Feb 10 17:33:01 1997 PST
Mon Feb 10 22:32:01 1997 PST
Mon Feb 10 09:33:01 1997 PST
Mon Feb 10 14:32:01 1997 PST
Mon Feb 10 09:33:01 1997 PST
Mon Feb 10 14:32:01 1997 PST
Mon Feb 10 09:33:01 1997 PST
Mon Feb 10 14:32:01 1997 PST
Tue Jun 10 18:33:01 1997 PDT
Tue Jun 10 23:32:01 1997 PDT
Mon Feb 10 17:33:01 1997 PST
Mon Feb 10 22:32:01 1997 PST
Tue Feb 11 17:33:01 1997 PST
Tue Feb 11 22:32:01 1997 PST
Wed Feb 12 17:33:01 1997 PST
Wed Feb 12 22:32:01 1997 PST
Thu Feb 13 17:33:01 1997 PST
Thu Feb 13 22:32:01 1997 PST
Fri Feb 14 17:33:01 1997 PST
Fri Feb 14 22:32:01 1997 PST
Sat Feb 15 17:33:01 1997 PST
Sat Feb 15 22:32:01 1997 PST
Sun Feb 16 17:33:01 1997 PST
Sun Feb 16 22:32:01 1997 PST
Sun Feb 16 17:33:01 1997 PST
Sun Feb 16 22:32:01 1997 PST
Wed Feb 28 17:33:01 1996 PST
Wed Feb 28 22:32:01 1996 PST
Thu Feb 29 17:33:01 1996 PST
Thu Feb 29 22:32:01 1996 PST
Fri Mar 01 17:33:01 1996 PST
Fri Mar 01 22:32:01 1996 PST
Mon Dec 30 17:33:01 1996 PST
Mon Dec 30 22:32:01 1996 PST
Tue Dec 31 17:33:01 1996 PST
Tue Dec 31 22:32:01 1996 PST
Wed Jan 01 17:33:01 1997 PST
Wed Jan 01 22:32:01 1997 PST
Fri Feb 28 17:33:01 1997 PST
Fri Feb 28 22:32:01 1997 PST
Sat Mar 01 17:33:01 1997 PST
Sat Mar 01 22:32:01 1997 PST
Tue Dec 30 17:33:01 1997 PST
Tue Dec 30 22:32:01 1997 PST
Wed Dec 31 17:33:01 1997 PST
Wed Dec 31 22:32:01 1997 PST
Fri Dec 31 17:33:01 1999 PST
Fri Dec 31 22:32:01 1999 PST
Sat Jan 01 17:33:01 2000 PST
Sat Jan 01 22:32:01 2000 PST
Sun Dec 31 17:33:01 2000 PST
Sun Dec 31 22:32:01 2000 PST
(102 rows)
SELECT t.d1 - i.f1 AS "102" FROM TIMESTAMP_TBL t, INTERVAL_TBL i
WHERE t.d1 BETWEEN '1990-01-01' AND '2001-01-01'
AND i.f1 BETWEEN '00:00' AND '23:00';
102
---------------------------------
Mon Feb 10 17:31:01 1997 PST
Mon Feb 10 12:32:01 1997 PST
Mon Feb 10 17:31:01.00 1997 PST
Mon Feb 10 12:32:01.00 1997 PST
Mon Feb 10 17:31:02.00 1997 PST
Mon Feb 10 12:32:02.00 1997 PST
Mon Feb 10 17:31:01.40 1997 PST
Mon Feb 10 12:32:01.40 1997 PST
Mon Feb 10 17:31:01.50 1997 PST
Mon Feb 10 12:32:01.50 1997 PST
Mon Feb 10 17:31:01.60 1997 PST
Mon Feb 10 12:32:01.60 1997 PST
Wed Jan 01 23:59:00 1997 PST
Wed Jan 01 19:00:00 1997 PST
Thu Jan 02 03:03:05 1997 PST
Wed Jan 01 22:04:05 1997 PST
Mon Feb 10 17:31:01 1997 PST
Mon Feb 10 12:32:01 1997 PST
Mon Feb 10 17:31:01 1997 PST
Mon Feb 10 12:32:01 1997 PST
Mon Feb 10 17:31:01 1997 PST
Mon Feb 10 12:32:01 1997 PST
Mon Feb 10 17:31:01 1997 PST
Mon Feb 10 12:32:01 1997 PST
Tue Jun 10 17:31:01 1997 PDT
Tue Jun 10 12:32:01 1997 PDT
Wed Mar 15 08:13:01 2000 PST
Wed Mar 15 03:14:01 2000 PST
Wed Mar 15 04:13:02 2000 PST
Tue Mar 14 23:14:02 2000 PST
Wed Mar 15 02:13:03 2000 PST
Tue Mar 14 21:14:03 2000 PST
Wed Mar 15 03:13:04 2000 PST
Tue Mar 14 22:14:04 2000 PST
Wed Mar 15 01:13:05 2000 PST
Tue Mar 14 20:14:05 2000 PST
Mon Feb 10 17:31:01 1997 PST
Mon Feb 10 12:32:01 1997 PST
Mon Feb 10 17:31:01 1997 PST
Mon Feb 10 12:32:01 1997 PST
Mon Feb 10 17:31:00 1997 PST
Mon Feb 10 12:32:00 1997 PST
Mon Feb 10 17:31:01 1997 PST
Mon Feb 10 12:32:01 1997 PST
Mon Feb 10 17:31:01 1997 PST
Mon Feb 10 12:32:01 1997 PST
Mon Feb 10 17:31:01 1997 PST
Mon Feb 10 12:32:01 1997 PST
Mon Feb 10 17:31:01 1997 PST
Mon Feb 10 12:32:01 1997 PST
Mon Feb 10 17:31:01 1997 PST
Mon Feb 10 12:32:01 1997 PST
Mon Feb 10 09:31:01 1997 PST
Mon Feb 10 04:32:01 1997 PST
Mon Feb 10 09:31:01 1997 PST
Mon Feb 10 04:32:01 1997 PST
Mon Feb 10 09:31:01 1997 PST
Mon Feb 10 04:32:01 1997 PST
Tue Jun 10 18:31:01 1997 PDT
Tue Jun 10 13:32:01 1997 PDT
Mon Feb 10 17:31:01 1997 PST
Mon Feb 10 12:32:01 1997 PST
Tue Feb 11 17:31:01 1997 PST
Tue Feb 11 12:32:01 1997 PST
Wed Feb 12 17:31:01 1997 PST
Wed Feb 12 12:32:01 1997 PST
Thu Feb 13 17:31:01 1997 PST
Thu Feb 13 12:32:01 1997 PST
Fri Feb 14 17:31:01 1997 PST
Fri Feb 14 12:32:01 1997 PST
Sat Feb 15 17:31:01 1997 PST
Sat Feb 15 12:32:01 1997 PST
Sun Feb 16 17:31:01 1997 PST
Sun Feb 16 12:32:01 1997 PST
Sun Feb 16 17:31:01 1997 PST
Sun Feb 16 12:32:01 1997 PST
Wed Feb 28 17:31:01 1996 PST
Wed Feb 28 12:32:01 1996 PST
Thu Feb 29 17:31:01 1996 PST
Thu Feb 29 12:32:01 1996 PST
Fri Mar 01 17:31:01 1996 PST
Fri Mar 01 12:32:01 1996 PST
Mon Dec 30 17:31:01 1996 PST
Mon Dec 30 12:32:01 1996 PST
Tue Dec 31 17:31:01 1996 PST
Tue Dec 31 12:32:01 1996 PST
Wed Jan 01 17:31:01 1997 PST
Wed Jan 01 12:32:01 1997 PST
Fri Feb 28 17:31:01 1997 PST
Fri Feb 28 12:32:01 1997 PST
Sat Mar 01 17:31:01 1997 PST
Sat Mar 01 12:32:01 1997 PST
Tue Dec 30 17:31:01 1997 PST
Tue Dec 30 12:32:01 1997 PST
Wed Dec 31 17:31:01 1997 PST
Wed Dec 31 12:32:01 1997 PST
Fri Dec 31 17:31:01 1999 PST
Fri Dec 31 12:32:01 1999 PST
Sat Jan 01 17:31:01 2000 PST
Sat Jan 01 12:32:01 2000 PST
Sun Dec 31 17:31:01 2000 PST
Sun Dec 31 12:32:01 2000 PST
(102 rows)
SELECT t.f1 + i.f1 AS "80" FROM TIME_TBL t, INTERVAL_TBL i;
80
----------
00:01:00
05:00:00
00:00:00
00:00:00
00:00:00
23:59:46
02:03:04
00:00:00
00:00:00
12:00:00
01:01:00
06:00:00
01:00:00
01:00:00
01:00:00
00:59:46
03:03:04
01:00:00
01:00:00
13:00:00
02:04:00
07:03:00
02:03:00
02:03:00
02:03:00
02:02:46
04:06:04
02:03:00
02:03:00
14:03:00
12:00:00
16:59:00
11:59:00
11:59:00
11:59:00
11:58:46
14:02:04
11:59:00
11:59:00
23:59:00
12:01:00
17:00:00
12:00:00
12:00:00
12:00:00
11:59:46
14:03:04
12:00:00
12:00:00
00:00:00
12:02:00
17:01:00
12:01:00
12:01:00
12:01:00
12:00:46
14:04:04
12:01:00
12:01:00
00:01:00
00:00:00
04:59:00
23:59:00
23:59:00
23:59:00
23:58:46
02:02:04
23:59:00
23:59:00
11:59:00
00:00:59
04:59:59
23:59:59
23:59:59
23:59:59
23:59:45
02:03:03
23:59:59
23:59:59
11:59:59
(80 rows)
SELECT t.f1 - i.f1 AS "80" FROM TIME_TBL t, INTERVAL_TBL i;
80
----------
23:59:00
19:00:00
00:00:00
00:00:00
00:00:00
00:00:14
21:56:56
00:00:00
00:00:00
12:00:00
00:59:00
20:00:00
01:00:00
01:00:00
01:00:00
01:00:14
22:56:56
01:00:00
01:00:00
13:00:00
02:02:00
21:03:00
02:03:00
02:03:00
02:03:00
02:03:14
23:59:56
02:03:00
02:03:00
14:03:00
11:58:00
06:59:00
11:59:00
11:59:00
11:59:00
11:59:14
09:55:56
11:59:00
11:59:00
23:59:00
11:59:00
07:00:00
12:00:00
12:00:00
12:00:00
12:00:14
09:56:56
12:00:00
12:00:00
00:00:00
12:00:00
07:01:00
12:01:00
12:01:00
12:01:00
12:01:14
09:57:56
12:01:00
12:01:00
00:01:00
23:58:00
18:59:00
23:59:00
23:59:00
23:59:00
23:59:14
21:55:56
23:59:00
23:59:00
11:59:00
23:58:59
18:59:59
23:59:59
23:59:59
23:59:59
00:00:13
21:56:55
23:59:59
23:59:59
11:59:59
(80 rows)
SELECT t.f2 + i.f1 AS "80" FROM TIME_TBL t, INTERVAL_TBL i;
80
-------------
00:01:00-07
05:00:00-07
00:00:00-07
00:00:00-07
00:00:00-07
23:59:46-07
02:03:04-07
00:00:00-07
00:00:00-07
12:00:00-07
01:01:00-07
06:00:00-07
01:00:00-07
01:00:00-07
01:00:00-07
00:59:46-07
03:03:04-07
01:00:00-07
01:00:00-07
13:00:00-07
02:04:00-07
07:03:00-07
02:03:00-07
02:03:00-07
02:03:00-07
02:02:46-07
04:06:04-07
02:03:00-07
02:03:00-07
14:03:00-07
12:00:00-07
16:59:00-07
11:59:00-07
11:59:00-07
11:59:00-07
11:58:46-07
14:02:04-07
11:59:00-07
11:59:00-07
23:59:00-07
12:01:00-07
17:00:00-07
12:00:00-07
12:00:00-07
12:00:00-07
11:59:46-07
14:03:04-07
12:00:00-07
12:00:00-07
00:00:00-07
12:02:00-07
17:01:00-07
12:01:00-07
12:01:00-07
12:01:00-07
12:00:46-07
14:04:04-07
12:01:00-07
12:01:00-07
00:01:00-07
00:00:00-07
04:59:00-07
23:59:00-07
23:59:00-07
23:59:00-07
23:58:46-07
02:02:04-07
23:59:00-07
23:59:00-07
11:59:00-07
00:00:59-07
04:59:59-07
23:59:59-07
23:59:59-07
23:59:59-07
23:59:45-07
02:03:03-07
23:59:59-07
23:59:59-07
11:59:59-07
(80 rows)
SELECT t.f2 - i.f1 AS "80" FROM TIME_TBL t, INTERVAL_TBL i;
80
-------------
23:59:00-07
19:00:00-07
00:00:00-07
00:00:00-07
00:00:00-07
00:00:14-07
21:56:56-07
00:00:00-07
00:00:00-07
12:00:00-07
00:59:00-07
20:00:00-07
01:00:00-07
01:00:00-07
01:00:00-07
01:00:14-07
22:56:56-07
01:00:00-07
01:00:00-07
13:00:00-07
02:02:00-07
21:03:00-07
02:03:00-07
02:03:00-07
02:03:00-07
02:03:14-07
23:59:56-07
02:03:00-07
02:03:00-07
14:03:00-07
11:58:00-07
06:59:00-07
11:59:00-07
11:59:00-07
11:59:00-07
11:59:14-07
09:55:56-07
11:59:00-07
11:59:00-07
23:59:00-07
11:59:00-07
07:00:00-07
12:00:00-07
12:00:00-07
12:00:00-07
12:00:14-07
09:56:56-07
12:00:00-07
12:00:00-07
00:00:00-07
12:00:00-07
07:01:00-07
12:01:00-07
12:01:00-07
12:01:00-07
12:01:14-07
09:57:56-07
12:01:00-07
12:01:00-07
00:01:00-07
23:58:00-07
18:59:00-07
23:59:00-07
23:59:00-07
23:59:00-07
23:59:14-07
21:55:56-07
23:59:00-07
23:59:00-07
11:59:00-07
23:58:59-07
18:59:59-07
23:59:59-07
23:59:59-07
23:59:59-07
00:00:13-07
21:56:55-07
23:59:59-07
23:59:59-07
11:59:59-07
(80 rows)
-- SQL9x OVERLAPS operator
SELECT (timestamp '2000-11-27', timestamp '2000-11-28')
OVERLAPS (timestamp '2000-11-27 12:00', timestamp '2000-11-30') AS "True";
True
------
t
(1 row)
SELECT (timestamp '2000-11-26', timestamp '2000-11-27')
OVERLAPS (timestamp '2000-11-27 12:00', timestamp '2000-11-30') AS "False";
False
-------
f
(1 row)
SELECT (timestamp '2000-11-27', timestamp '2000-11-28')
OVERLAPS (timestamp '2000-11-27 12:00', interval '1 day') AS "True";
True
------
t
(1 row)
SELECT (timestamp '2000-11-27', interval '12 hours')
OVERLAPS (timestamp '2000-11-27 12:00', timestamp '2000-11-30') AS "False";
False
-------
f
(1 row)
SELECT (timestamp '2000-11-27', interval '12 hours')
OVERLAPS (timestamp '2000-11-27', interval '12 hours') AS "True";
True
------
t
(1 row)
SELECT (timestamp '2000-11-27', interval '12 hours')
OVERLAPS (timestamp '2000-11-27 12:00', interval '12 hours') AS "False";
False
-------
f
(1 row)
SELECT (time '00:00', time '01:00')
OVERLAPS (time '00:30', time '01:30') AS "True";
True
------
t
(1 row)
SELECT (time '00:00', interval '1 hour')
OVERLAPS (time '00:30', interval '1 hour') AS "True";
True
------
t
(1 row)
SELECT (time '00:00', interval '1 hour')
OVERLAPS (time '01:30', interval '1 hour') AS "False";
False
-------
f
(1 row)
SELECT (time '00:00', interval '1 hour')
OVERLAPS (time '01:30', interval '1 day') AS "True";
True
------
f
(1 row)
CREATE TABLE TEMP_TIMESTAMP (f1 timestamp);
CREATE TABLE TEMP_TIMESTAMP (f1 timestamp);
-- get some candidate input values
-- get some candidate input values
INSERT INTO TEMP_TIMESTAMP (f1)
INSERT INTO TEMP_TIMESTAMP (f1)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment