Add tests for more INTERVAL syntax.

Add more tests for JOIN syntax.
All tests pass on my Linux box (except for the usual couple of lines
 for geometry).
This commit is contained in:
Thomas G. Lockhart 2000-11-06 16:03:47 +00:00
parent 8e8fc32bec
commit 07272c6f8b
5 changed files with 1909 additions and 482 deletions

View File

@ -109,8 +109,8 @@ SELECT '' AS "150", d.f1 AS timestamp, t.f1 AS interval, d.f1 + t.f1 AS plus
| epoch | @ 1 day 2 hours 3 mins 4 secs | Thu Jan 01 18:03:04 1970 PST
| epoch | @ 10 days | Sat Jan 10 16:00:00 1970 PST
| epoch | @ 3 mons | Tue Mar 31 16:00:00 1970 PST
| epoch | @ 5 mons | Sun May 31 17:00:00 1970 PDT
| epoch | @ 5 mons 12 hours | Mon Jun 01 05:00:00 1970 PDT
| epoch | @ 5 mons | Sun May 31 16:00:00 1970 PDT
| epoch | @ 5 mons 12 hours | Mon Jun 01 04:00:00 1970 PDT
| epoch | @ 6 years | Wed Dec 31 16:00:00 1975 PST
| Wed Feb 28 17:32:01 1996 PST | @ 14 secs ago | Wed Feb 28 17:31:47 1996 PST
| Wed Feb 28 17:32:01 1996 PST | @ 1 min | Wed Feb 28 17:33:01 1996 PST
@ -127,15 +127,15 @@ SELECT '' AS "150", d.f1 AS timestamp, t.f1 AS interval, d.f1 + t.f1 AS plus
| Wed Feb 28 17:32:01 1996 PST | @ 10 days | Sat Mar 09 17:32:01 1996 PST
| Thu Feb 29 17:32:01 1996 PST | @ 10 days | Sun Mar 10 17:32:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST | @ 10 days | Mon Mar 11 17:32:01 1996 PST
| Wed Feb 28 17:32:01 1996 PST | @ 3 mons | Tue May 28 18:32:01 1996 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 3 mons | Wed May 29 18:32:01 1996 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 3 mons | Sat Jun 01 18:32:01 1996 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 5 mons | Sun Jul 28 18:32:01 1996 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 5 mons 12 hours | Mon Jul 29 06:32:01 1996 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 5 mons | Mon Jul 29 18:32:01 1996 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 5 mons 12 hours | Tue Jul 30 06:32:01 1996 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 5 mons | Thu Aug 01 18:32:01 1996 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 5 mons 12 hours | Fri Aug 02 06:32:01 1996 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 3 mons | Tue May 28 17:32:01 1996 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 3 mons | Wed May 29 17:32:01 1996 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 3 mons | Sat Jun 01 17:32:01 1996 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 5 mons | Sun Jul 28 17:32:01 1996 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 5 mons 12 hours | Mon Jul 29 05:32:01 1996 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 5 mons | Mon Jul 29 17:32:01 1996 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 5 mons 12 hours | Tue Jul 30 05:32:01 1996 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 5 mons | Thu Aug 01 17:32:01 1996 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 5 mons 12 hours | Fri Aug 02 05:32:01 1996 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 14 secs ago | Mon Dec 30 17:31:47 1996 PST
| Mon Dec 30 17:32:01 1996 PST | @ 1 min | Mon Dec 30 17:33:01 1996 PST
| Mon Dec 30 17:32:01 1996 PST | @ 5 hours | Mon Dec 30 22:32:01 1996 PST
@ -148,10 +148,10 @@ SELECT '' AS "150", d.f1 AS timestamp, t.f1 AS interval, d.f1 + t.f1 AS plus
| Tue Dec 31 17:32:01 1996 PST | @ 10 days | Fri Jan 10 17:32:01 1997 PST
| Mon Dec 30 17:32:01 1996 PST | @ 3 mons | Sun Mar 30 17:32:01 1997 PST
| Tue Dec 31 17:32:01 1996 PST | @ 3 mons | Mon Mar 31 17:32:01 1997 PST
| Mon Dec 30 17:32:01 1996 PST | @ 5 mons | Fri May 30 18:32:01 1997 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 5 mons 12 hours | Sat May 31 06:32:01 1997 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 5 mons | Sat May 31 18:32:01 1997 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 5 mons 12 hours | Sun Jun 01 06:32:01 1997 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 5 mons | Fri May 30 17:32:01 1997 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 5 mons 12 hours | Sat May 31 05:32:01 1997 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 5 mons | Sat May 31 17:32:01 1997 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 5 mons 12 hours | Sun Jun 01 05:32:01 1997 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 14 secs ago | Fri Dec 31 17:31:47 1999 PST
| Fri Dec 31 17:32:01 1999 PST | @ 1 min | Fri Dec 31 17:33:01 1999 PST
| Fri Dec 31 17:32:01 1999 PST | @ 5 hours | Fri Dec 31 22:32:01 1999 PST
@ -189,25 +189,25 @@ SELECT '' AS "150", d.f1 AS timestamp, t.f1 AS interval, d.f1 + t.f1 AS plus
| Wed Mar 15 08:14:01 2000 PST | @ 10 days | Sat Mar 25 08:14:01 2000 PST
| Fri Dec 31 17:32:01 1999 PST | @ 3 mons | Fri Mar 31 17:32:01 2000 PST
| Sat Jan 01 17:32:01 2000 PST | @ 3 mons | Sat Apr 01 17:32:01 2000 PST
| Fri Dec 31 17:32:01 1999 PST | @ 5 mons | Wed May 31 18:32:01 2000 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 5 mons 12 hours | Thu Jun 01 06:32:01 2000 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 5 mons | Thu Jun 01 18:32:01 2000 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 5 mons 12 hours | Fri Jun 02 06:32:01 2000 PDT
| Wed Mar 15 01:14:05 2000 PST | @ 3 mons | Thu Jun 15 02:14:05 2000 PDT
| Wed Mar 15 02:14:03 2000 PST | @ 3 mons | Thu Jun 15 03:14:03 2000 PDT
| Wed Mar 15 03:14:04 2000 PST | @ 3 mons | Thu Jun 15 04:14:04 2000 PDT
| Wed Mar 15 04:14:02 2000 PST | @ 3 mons | Thu Jun 15 05:14:02 2000 PDT
| Wed Mar 15 08:14:01 2000 PST | @ 3 mons | Thu Jun 15 09:14:01 2000 PDT
| Wed Mar 15 01:14:05 2000 PST | @ 5 mons | Tue Aug 15 02:14:05 2000 PDT
| Wed Mar 15 02:14:03 2000 PST | @ 5 mons | Tue Aug 15 03:14:03 2000 PDT
| Wed Mar 15 03:14:04 2000 PST | @ 5 mons | Tue Aug 15 04:14:04 2000 PDT
| Wed Mar 15 04:14:02 2000 PST | @ 5 mons | Tue Aug 15 05:14:02 2000 PDT
| Wed Mar 15 08:14:01 2000 PST | @ 5 mons | Tue Aug 15 09:14:01 2000 PDT
| Wed Mar 15 01:14:05 2000 PST | @ 5 mons 12 hours | Tue Aug 15 14:14:05 2000 PDT
| Wed Mar 15 02:14:03 2000 PST | @ 5 mons 12 hours | Tue Aug 15 15:14:03 2000 PDT
| Wed Mar 15 03:14:04 2000 PST | @ 5 mons 12 hours | Tue Aug 15 16:14:04 2000 PDT
| Wed Mar 15 04:14:02 2000 PST | @ 5 mons 12 hours | Tue Aug 15 17:14:02 2000 PDT
| Wed Mar 15 08:14:01 2000 PST | @ 5 mons 12 hours | Tue Aug 15 21:14:01 2000 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 5 mons | Wed May 31 17:32:01 2000 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 5 mons 12 hours | Thu Jun 01 05:32:01 2000 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 5 mons | Thu Jun 01 17:32:01 2000 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 5 mons 12 hours | Fri Jun 02 05:32:01 2000 PDT
| Wed Mar 15 01:14:05 2000 PST | @ 3 mons | Thu Jun 15 01:14:05 2000 PDT
| Wed Mar 15 02:14:03 2000 PST | @ 3 mons | Thu Jun 15 02:14:03 2000 PDT
| Wed Mar 15 03:14:04 2000 PST | @ 3 mons | Thu Jun 15 03:14:04 2000 PDT
| Wed Mar 15 04:14:02 2000 PST | @ 3 mons | Thu Jun 15 04:14:02 2000 PDT
| Wed Mar 15 08:14:01 2000 PST | @ 3 mons | Thu Jun 15 08:14:01 2000 PDT
| Wed Mar 15 01:14:05 2000 PST | @ 5 mons | Tue Aug 15 01:14:05 2000 PDT
| Wed Mar 15 02:14:03 2000 PST | @ 5 mons | Tue Aug 15 02:14:03 2000 PDT
| Wed Mar 15 03:14:04 2000 PST | @ 5 mons | Tue Aug 15 03:14:04 2000 PDT
| Wed Mar 15 04:14:02 2000 PST | @ 5 mons | Tue Aug 15 04:14:02 2000 PDT
| Wed Mar 15 08:14:01 2000 PST | @ 5 mons | Tue Aug 15 08:14:01 2000 PDT
| Wed Mar 15 01:14:05 2000 PST | @ 5 mons 12 hours | Tue Aug 15 13:14:05 2000 PDT
| Wed Mar 15 02:14:03 2000 PST | @ 5 mons 12 hours | Tue Aug 15 14:14:03 2000 PDT
| Wed Mar 15 03:14:04 2000 PST | @ 5 mons 12 hours | Tue Aug 15 15:14:04 2000 PDT
| Wed Mar 15 04:14:02 2000 PST | @ 5 mons 12 hours | Tue Aug 15 16:14:02 2000 PDT
| Wed Mar 15 08:14:01 2000 PST | @ 5 mons 12 hours | Tue Aug 15 20:14:01 2000 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 14 secs ago | Sun Dec 31 17:31:47 2000 PST
| Sun Dec 31 17:32:01 2000 PST | @ 1 min | Sun Dec 31 17:33:01 2000 PST
| Sun Dec 31 17:32:01 2000 PST | @ 5 hours | Sun Dec 31 22:32:01 2000 PST
@ -219,11 +219,11 @@ SELECT '' AS "150", d.f1 AS timestamp, t.f1 AS interval, d.f1 + t.f1 AS plus
| Sun Dec 31 17:32:01 2000 PST | @ 10 days | Wed Jan 10 17:32:01 2001 PST
| Mon Jan 01 17:32:01 2001 PST | @ 10 days | Thu Jan 11 17:32:01 2001 PST
| Sun Dec 31 17:32:01 2000 PST | @ 3 mons | Sat Mar 31 17:32:01 2001 PST
| Mon Jan 01 17:32:01 2001 PST | @ 3 mons | Sun Apr 01 18:32:01 2001 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 5 mons | Thu May 31 18:32:01 2001 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 5 mons 12 hours | Fri Jun 01 06:32:01 2001 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 5 mons | Fri Jun 01 18:32:01 2001 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 5 mons 12 hours | Sat Jun 02 06:32:01 2001 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 3 mons | Sun Apr 01 17:32:01 2001 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 5 mons | Thu May 31 17:32:01 2001 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 5 mons 12 hours | Fri Jun 01 05:32:01 2001 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 5 mons | Fri Jun 01 17:32:01 2001 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 5 mons 12 hours | Sat Jun 02 05:32:01 2001 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 6 years | Thu Feb 28 17:32:01 2002 PST
| Thu Feb 29 17:32:01 1996 PST | @ 6 years | Thu Feb 28 17:32:01 2002 PST
| Fri Mar 01 17:32:01 1996 PST | @ 6 years | Fri Mar 01 17:32:01 2002 PST
@ -277,9 +277,9 @@ SELECT '' AS "150", d.f1 AS timestamp, t.f1 AS interval, d.f1 - t.f1 AS minus
| Wed Mar 15 08:14:01 2000 PST | @ 34 years | Tue Mar 15 08:14:01 1966 PST
| Sun Dec 31 17:32:01 2000 PST | @ 34 years | Sat Dec 31 17:32:01 1966 PST
| Mon Jan 01 17:32:01 2001 PST | @ 34 years | Sun Jan 01 17:32:01 1967 PST
| epoch | @ 5 mons 12 hours | Thu Jul 31 05:00:00 1969 PDT
| epoch | @ 5 mons | Thu Jul 31 17:00:00 1969 PDT
| epoch | @ 3 mons | Tue Sep 30 17:00:00 1969 PDT
| epoch | @ 5 mons 12 hours | Thu Jul 31 04:00:00 1969 PDT
| epoch | @ 5 mons | Thu Jul 31 16:00:00 1969 PDT
| epoch | @ 3 mons | Tue Sep 30 16:00:00 1969 PDT
| epoch | @ 10 days | Sun Dec 21 16:00:00 1969 PST
| epoch | @ 1 day 2 hours 3 mins 4 secs | Tue Dec 30 13:56:56 1969 PST
| epoch | @ 5 hours | Wed Dec 31 11:00:00 1969 PST
@ -299,12 +299,12 @@ SELECT '' AS "150", d.f1 AS timestamp, t.f1 AS interval, d.f1 - t.f1 AS minus
| Wed Mar 15 08:14:01 2000 PST | @ 6 years | Tue Mar 15 08:14:01 1994 PST
| Sun Dec 31 17:32:01 2000 PST | @ 6 years | Sat Dec 31 17:32:01 1994 PST
| Mon Jan 01 17:32:01 2001 PST | @ 6 years | Sun Jan 01 17:32:01 1995 PST
| Wed Feb 28 17:32:01 1996 PST | @ 5 mons 12 hours | Thu Sep 28 06:32:01 1995 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 5 mons | Thu Sep 28 18:32:01 1995 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 5 mons 12 hours | Fri Sep 29 06:32:01 1995 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 5 mons | Fri Sep 29 18:32:01 1995 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 5 mons 12 hours | Sun Oct 01 06:32:01 1995 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 5 mons | Sun Oct 01 18:32:01 1995 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 5 mons 12 hours | Thu Sep 28 05:32:01 1995 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 5 mons | Thu Sep 28 17:32:01 1995 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 5 mons 12 hours | Fri Sep 29 05:32:01 1995 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 5 mons | Fri Sep 29 17:32:01 1995 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 5 mons 12 hours | Sun Oct 01 05:32:01 1995 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 5 mons | Sun Oct 01 17:32:01 1995 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 3 mons | Tue Nov 28 17:32:01 1995 PST
| Thu Feb 29 17:32:01 1996 PST | @ 3 mons | Wed Nov 29 17:32:01 1995 PST
| Fri Mar 01 17:32:01 1996 PST | @ 3 mons | Fri Dec 01 17:32:01 1995 PST
@ -323,12 +323,12 @@ SELECT '' AS "150", d.f1 AS timestamp, t.f1 AS interval, d.f1 - t.f1 AS minus
| Fri Mar 01 17:32:01 1996 PST | @ 5 hours | Fri Mar 01 12:32:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST | @ 1 min | Fri Mar 01 17:31:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST | @ 14 secs ago | Fri Mar 01 17:32:15 1996 PST
| Mon Dec 30 17:32:01 1996 PST | @ 5 mons 12 hours | Tue Jul 30 06:32:01 1996 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 5 mons | Tue Jul 30 18:32:01 1996 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 5 mons 12 hours | Wed Jul 31 06:32:01 1996 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 5 mons | Wed Jul 31 18:32:01 1996 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 3 mons | Mon Sep 30 18:32:01 1996 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 3 mons | Mon Sep 30 18:32:01 1996 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 5 mons 12 hours | Tue Jul 30 05:32:01 1996 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 5 mons | Tue Jul 30 17:32:01 1996 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 5 mons 12 hours | Wed Jul 31 05:32:01 1996 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 5 mons | Wed Jul 31 17:32:01 1996 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 3 mons | Mon Sep 30 17:32:01 1996 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 3 mons | Mon Sep 30 17:32:01 1996 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 10 days | Fri Dec 20 17:32:01 1996 PST
| Tue Dec 31 17:32:01 1996 PST | @ 10 days | Sat Dec 21 17:32:01 1996 PST
| Mon Dec 30 17:32:01 1996 PST | @ 1 day 2 hours 3 mins 4 secs | Sun Dec 29 15:28:57 1996 PST
@ -339,22 +339,22 @@ SELECT '' AS "150", d.f1 AS timestamp, t.f1 AS interval, d.f1 - t.f1 AS minus
| Tue Dec 31 17:32:01 1996 PST | @ 5 hours | Tue Dec 31 12:32:01 1996 PST
| Tue Dec 31 17:32:01 1996 PST | @ 1 min | Tue Dec 31 17:31:01 1996 PST
| Tue Dec 31 17:32:01 1996 PST | @ 14 secs ago | Tue Dec 31 17:32:15 1996 PST
| Fri Dec 31 17:32:01 1999 PST | @ 5 mons 12 hours | Sat Jul 31 06:32:01 1999 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 5 mons | Sat Jul 31 18:32:01 1999 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 5 mons 12 hours | Sun Aug 01 06:32:01 1999 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 5 mons | Sun Aug 01 18:32:01 1999 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 3 mons | Thu Sep 30 18:32:01 1999 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 3 mons | Fri Oct 01 18:32:01 1999 PDT
| Wed Mar 15 01:14:05 2000 PST | @ 5 mons 12 hours | Thu Oct 14 14:14:05 1999 PDT
| Wed Mar 15 02:14:03 2000 PST | @ 5 mons 12 hours | Thu Oct 14 15:14:03 1999 PDT
| Wed Mar 15 03:14:04 2000 PST | @ 5 mons 12 hours | Thu Oct 14 16:14:04 1999 PDT
| Wed Mar 15 04:14:02 2000 PST | @ 5 mons 12 hours | Thu Oct 14 17:14:02 1999 PDT
| Wed Mar 15 08:14:01 2000 PST | @ 5 mons 12 hours | Thu Oct 14 21:14:01 1999 PDT
| Wed Mar 15 01:14:05 2000 PST | @ 5 mons | Fri Oct 15 02:14:05 1999 PDT
| Wed Mar 15 02:14:03 2000 PST | @ 5 mons | Fri Oct 15 03:14:03 1999 PDT
| Wed Mar 15 03:14:04 2000 PST | @ 5 mons | Fri Oct 15 04:14:04 1999 PDT
| Wed Mar 15 04:14:02 2000 PST | @ 5 mons | Fri Oct 15 05:14:02 1999 PDT
| Wed Mar 15 08:14:01 2000 PST | @ 5 mons | Fri Oct 15 09:14:01 1999 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 5 mons 12 hours | Sat Jul 31 05:32:01 1999 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 5 mons | Sat Jul 31 17:32:01 1999 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 5 mons 12 hours | Sun Aug 01 05:32:01 1999 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 5 mons | Sun Aug 01 17:32:01 1999 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 3 mons | Thu Sep 30 17:32:01 1999 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 3 mons | Fri Oct 01 17:32:01 1999 PDT
| Wed Mar 15 01:14:05 2000 PST | @ 5 mons 12 hours | Thu Oct 14 13:14:05 1999 PDT
| Wed Mar 15 02:14:03 2000 PST | @ 5 mons 12 hours | Thu Oct 14 14:14:03 1999 PDT
| Wed Mar 15 03:14:04 2000 PST | @ 5 mons 12 hours | Thu Oct 14 15:14:04 1999 PDT
| Wed Mar 15 04:14:02 2000 PST | @ 5 mons 12 hours | Thu Oct 14 16:14:02 1999 PDT
| Wed Mar 15 08:14:01 2000 PST | @ 5 mons 12 hours | Thu Oct 14 20:14:01 1999 PDT
| Wed Mar 15 01:14:05 2000 PST | @ 5 mons | Fri Oct 15 01:14:05 1999 PDT
| Wed Mar 15 02:14:03 2000 PST | @ 5 mons | Fri Oct 15 02:14:03 1999 PDT
| Wed Mar 15 03:14:04 2000 PST | @ 5 mons | Fri Oct 15 03:14:04 1999 PDT
| Wed Mar 15 04:14:02 2000 PST | @ 5 mons | Fri Oct 15 04:14:02 1999 PDT
| Wed Mar 15 08:14:01 2000 PST | @ 5 mons | Fri Oct 15 08:14:01 1999 PDT
| Wed Mar 15 01:14:05 2000 PST | @ 3 mons | Wed Dec 15 01:14:05 1999 PST
| Wed Mar 15 02:14:03 2000 PST | @ 3 mons | Wed Dec 15 02:14:03 1999 PST
| Wed Mar 15 03:14:04 2000 PST | @ 3 mons | Wed Dec 15 03:14:04 1999 PST
@ -395,12 +395,12 @@ SELECT '' AS "150", d.f1 AS timestamp, t.f1 AS interval, d.f1 - t.f1 AS minus
| Wed Mar 15 04:14:02 2000 PST | @ 14 secs ago | Wed Mar 15 04:14:16 2000 PST
| Wed Mar 15 08:14:01 2000 PST | @ 1 min | Wed Mar 15 08:13:01 2000 PST
| Wed Mar 15 08:14:01 2000 PST | @ 14 secs ago | Wed Mar 15 08:14:15 2000 PST
| Sun Dec 31 17:32:01 2000 PST | @ 5 mons 12 hours | Mon Jul 31 06:32:01 2000 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 5 mons | Mon Jul 31 18:32:01 2000 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 5 mons 12 hours | Tue Aug 01 06:32:01 2000 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 5 mons | Tue Aug 01 18:32:01 2000 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 3 mons | Sat Sep 30 18:32:01 2000 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 3 mons | Sun Oct 01 18:32:01 2000 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 5 mons 12 hours | Mon Jul 31 05:32:01 2000 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 5 mons | Mon Jul 31 17:32:01 2000 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 5 mons 12 hours | Tue Aug 01 05:32:01 2000 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 5 mons | Tue Aug 01 17:32:01 2000 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 3 mons | Sat Sep 30 17:32:01 2000 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 3 mons | Sun Oct 01 17:32:01 2000 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 10 days | Thu Dec 21 17:32:01 2000 PST
| Mon Jan 01 17:32:01 2001 PST | @ 10 days | Fri Dec 22 17:32:01 2000 PST
| Sun Dec 31 17:32:01 2000 PST | @ 1 day 2 hours 3 mins 4 secs | Sat Dec 30 15:28:57 2000 PST

View File

@ -1,6 +1,50 @@
--
-- INTERVAL
--
SET DATESTYLE = DEFAULT;
-- check acceptance of "time zone style"
SELECT INTERVAL '01:00';
?column?
----------
+01:00
(1 row)
SELECT INTERVAL '+02:00';
?column?
----------
+02:00
(1 row)
SELECT INTERVAL '-08:00';
?column?
----------
-08:00
(1 row)
SELECT INTERVAL '-05';
?column?
-----------
-00:00:05
(1 row)
SELECT INTERVAL '-1 +02:03';
?column?
----------
-21:57
(1 row)
SELECT INTERVAL '-1 days +02:03';
?column?
----------
-21:57
(1 row)
SELECT INTERVAL '10 years -11 month -12 days +13:14';
?column?
--------------------------
9 years 1 mon -11 -10:46
(1 row)
CREATE TABLE INTERVAL_TBL (f1 interval);
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute');
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour');
@ -18,6 +62,141 @@ ERROR: Bad interval external representation 'badly formatted interval'
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago');
ERROR: Bad interval external representation '@ 30 eons ago'
-- test interval operators
SELECT '' AS ten, INTERVAL_TBL.*;
ten | f1
-----+-----------------
| +00:01
| +05:00
| 10 +00:00
| 34 years +00:00
| 3 mons +00:00
| -00:00:14
| 1 +02:03:04
| 6 years +00:00
| 5 mons +00:00
| 5 mons +12:00
(10 rows)
SELECT '' AS nine, INTERVAL_TBL.*
WHERE INTERVAL_TBL.f1 <> interval '@ 10 days';
nine | f1
------+-----------------
| +00:01
| +05:00
| 34 years +00:00
| 3 mons +00:00
| -00:00:14
| 1 +02:03:04
| 6 years +00:00
| 5 mons +00:00
| 5 mons +12:00
(9 rows)
SELECT '' AS three, INTERVAL_TBL.*
WHERE INTERVAL_TBL.f1 <= interval '@ 5 hours';
three | f1
-------+-----------
| +00:01
| +05:00
| -00:00:14
(3 rows)
SELECT '' AS three, INTERVAL_TBL.*
WHERE INTERVAL_TBL.f1 < interval '@ 1 day';
three | f1
-------+-----------
| +00:01
| +05:00
| -00:00:14
(3 rows)
SELECT '' AS one, INTERVAL_TBL.*
WHERE INTERVAL_TBL.f1 = interval '@ 34 years';
one | f1
-----+-----------------
| 34 years +00:00
(1 row)
SELECT '' AS five, INTERVAL_TBL.*
WHERE INTERVAL_TBL.f1 >= interval '@ 1 month';
five | f1
------+-----------------
| 34 years +00:00
| 3 mons +00:00
| 6 years +00:00
| 5 mons +00:00
| 5 mons +12:00
(5 rows)
SELECT '' AS nine, INTERVAL_TBL.*
WHERE INTERVAL_TBL.f1 > interval '@ 3 seconds ago';
nine | f1
------+-----------------
| +00:01
| +05:00
| 10 +00:00
| 34 years +00:00
| 3 mons +00:00
| 1 +02:03:04
| 6 years +00:00
| 5 mons +00:00
| 5 mons +12:00
(9 rows)
SELECT '' AS fortyfive, r1.*, r2.*
FROM INTERVAL_TBL r1, INTERVAL_TBL r2
WHERE r1.f1 > r2.f1
ORDER BY r1.f1, r2.f1;
fortyfive | f1 | f1
-----------+-----------------+----------------
| +00:01 | -00:00:14
| +05:00 | -00:00:14
| +05:00 | +00:01
| 1 +02:03:04 | -00:00:14
| 1 +02:03:04 | +00:01
| 1 +02:03:04 | +05:00
| 10 +00:00 | -00:00:14
| 10 +00:00 | +00:01
| 10 +00:00 | +05:00
| 10 +00:00 | 1 +02:03:04
| 3 mons +00:00 | -00:00:14
| 3 mons +00:00 | +00:01
| 3 mons +00:00 | +05:00
| 3 mons +00:00 | 1 +02:03:04
| 3 mons +00:00 | 10 +00:00
| 5 mons +00:00 | -00:00:14
| 5 mons +00:00 | +00:01
| 5 mons +00:00 | +05:00
| 5 mons +00:00 | 1 +02:03:04
| 5 mons +00:00 | 10 +00:00
| 5 mons +00:00 | 3 mons +00:00
| 5 mons +12:00 | -00:00:14
| 5 mons +12:00 | +00:01
| 5 mons +12:00 | +05:00
| 5 mons +12:00 | 1 +02:03:04
| 5 mons +12:00 | 10 +00:00
| 5 mons +12:00 | 3 mons +00:00
| 5 mons +12:00 | 5 mons +00:00
| 6 years +00:00 | -00:00:14
| 6 years +00:00 | +00:01
| 6 years +00:00 | +05:00
| 6 years +00:00 | 1 +02:03:04
| 6 years +00:00 | 10 +00:00
| 6 years +00:00 | 3 mons +00:00
| 6 years +00:00 | 5 mons +00:00
| 6 years +00:00 | 5 mons +12:00
| 34 years +00:00 | -00:00:14
| 34 years +00:00 | +00:01
| 34 years +00:00 | +05:00
| 34 years +00:00 | 1 +02:03:04
| 34 years +00:00 | 10 +00:00
| 34 years +00:00 | 3 mons +00:00
| 34 years +00:00 | 5 mons +00:00
| 34 years +00:00 | 5 mons +12:00
| 34 years +00:00 | 6 years +00:00
(45 rows)
SET DATESTYLE = 'postgres';
SELECT '' AS ten, INTERVAL_TBL.*;
ten | f1
-----+-------------------------------
@ -33,122 +212,3 @@ SELECT '' AS ten, INTERVAL_TBL.*;
| @ 5 mons 12 hours
(10 rows)
SELECT '' AS nine, INTERVAL_TBL.*
WHERE INTERVAL_TBL.f1 <> interval '@ 10 days';
nine | f1
------+-------------------------------
| @ 1 min
| @ 5 hours
| @ 34 years
| @ 3 mons
| @ 14 secs ago
| @ 1 day 2 hours 3 mins 4 secs
| @ 6 years
| @ 5 mons
| @ 5 mons 12 hours
(9 rows)
SELECT '' AS three, INTERVAL_TBL.*
WHERE INTERVAL_TBL.f1 <= interval '@ 5 hours';
three | f1
-------+---------------
| @ 1 min
| @ 5 hours
| @ 14 secs ago
(3 rows)
SELECT '' AS three, INTERVAL_TBL.*
WHERE INTERVAL_TBL.f1 < interval '@ 1 day';
three | f1
-------+---------------
| @ 1 min
| @ 5 hours
| @ 14 secs ago
(3 rows)
SELECT '' AS one, INTERVAL_TBL.*
WHERE INTERVAL_TBL.f1 = interval '@ 34 years';
one | f1
-----+------------
| @ 34 years
(1 row)
SELECT '' AS five, INTERVAL_TBL.*
WHERE INTERVAL_TBL.f1 >= interval '@ 1 month';
five | f1
------+-------------------
| @ 34 years
| @ 3 mons
| @ 6 years
| @ 5 mons
| @ 5 mons 12 hours
(5 rows)
SELECT '' AS nine, INTERVAL_TBL.*
WHERE INTERVAL_TBL.f1 > interval '@ 3 seconds ago';
nine | f1
------+-------------------------------
| @ 1 min
| @ 5 hours
| @ 10 days
| @ 34 years
| @ 3 mons
| @ 1 day 2 hours 3 mins 4 secs
| @ 6 years
| @ 5 mons
| @ 5 mons 12 hours
(9 rows)
SELECT '' AS fortyfive, r1.*, r2.*
FROM INTERVAL_TBL r1, INTERVAL_TBL r2
WHERE r1.f1 > r2.f1
ORDER BY r1.f1, r2.f1;
fortyfive | f1 | f1
-----------+-------------------------------+-------------------------------
| @ 1 min | @ 14 secs ago
| @ 5 hours | @ 14 secs ago
| @ 5 hours | @ 1 min
| @ 1 day 2 hours 3 mins 4 secs | @ 14 secs ago
| @ 1 day 2 hours 3 mins 4 secs | @ 1 min
| @ 1 day 2 hours 3 mins 4 secs | @ 5 hours
| @ 10 days | @ 14 secs ago
| @ 10 days | @ 1 min
| @ 10 days | @ 5 hours
| @ 10 days | @ 1 day 2 hours 3 mins 4 secs
| @ 3 mons | @ 14 secs ago
| @ 3 mons | @ 1 min
| @ 3 mons | @ 5 hours
| @ 3 mons | @ 1 day 2 hours 3 mins 4 secs
| @ 3 mons | @ 10 days
| @ 5 mons | @ 14 secs ago
| @ 5 mons | @ 1 min
| @ 5 mons | @ 5 hours
| @ 5 mons | @ 1 day 2 hours 3 mins 4 secs
| @ 5 mons | @ 10 days
| @ 5 mons | @ 3 mons
| @ 5 mons 12 hours | @ 14 secs ago
| @ 5 mons 12 hours | @ 1 min
| @ 5 mons 12 hours | @ 5 hours
| @ 5 mons 12 hours | @ 1 day 2 hours 3 mins 4 secs
| @ 5 mons 12 hours | @ 10 days
| @ 5 mons 12 hours | @ 3 mons
| @ 5 mons 12 hours | @ 5 mons
| @ 6 years | @ 14 secs ago
| @ 6 years | @ 1 min
| @ 6 years | @ 5 hours
| @ 6 years | @ 1 day 2 hours 3 mins 4 secs
| @ 6 years | @ 10 days
| @ 6 years | @ 3 mons
| @ 6 years | @ 5 mons
| @ 6 years | @ 5 mons 12 hours
| @ 34 years | @ 14 secs ago
| @ 34 years | @ 1 min
| @ 34 years | @ 5 hours
| @ 34 years | @ 1 day 2 hours 3 mins 4 secs
| @ 34 years | @ 10 days
| @ 34 years | @ 3 mons
| @ 34 years | @ 5 mons
| @ 34 years | @ 5 mons 12 hours
| @ 34 years | @ 6 years
(45 rows)

File diff suppressed because it is too large Load Diff

View File

@ -2,6 +2,17 @@
-- INTERVAL
--
SET DATESTYLE = DEFAULT;
-- check acceptance of "time zone style"
SELECT INTERVAL '01:00';
SELECT INTERVAL '+02:00';
SELECT INTERVAL '-08:00';
SELECT INTERVAL '-05';
SELECT INTERVAL '-1 +02:03';
SELECT INTERVAL '-1 days +02:03';
SELECT INTERVAL '10 years -11 month -12 days +13:14';
CREATE TABLE INTERVAL_TBL (f1 interval);
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute');
@ -46,3 +57,6 @@ SELECT '' AS fortyfive, r1.*, r2.*
WHERE r1.f1 > r2.f1
ORDER BY r1.f1, r2.f1;
SET DATESTYLE = 'postgres';
SELECT '' AS ten, INTERVAL_TBL.*;

View File

@ -14,27 +14,28 @@ CREATE TABLE J2_TBL (
k integer
);
CREATE TABLE JOIN3_TBL (
i integer,
j integer,
y integer
);
CREATE TABLE JOIN4_TBL (
k integer,
z integer
);
INSERT INTO J1_TBL VALUES (1, 3, 'one');
INSERT INTO J1_TBL VALUES (2, 2, 'two');
INSERT INTO J1_TBL VALUES (3, 1, 'three');
INSERT INTO J1_TBL VALUES (4, 0, 'four');
INSERT INTO J1_TBL VALUES (1, 4, 'one');
INSERT INTO J1_TBL VALUES (2, 3, 'two');
INSERT INTO J1_TBL VALUES (3, 2, 'three');
INSERT INTO J1_TBL VALUES (4, 1, 'four');
INSERT INTO J1_TBL VALUES (5, 0, 'five');
INSERT INTO J1_TBL VALUES (6, 6, 'six');
INSERT INTO J1_TBL VALUES (7, 7, 'seven');
INSERT INTO J1_TBL VALUES (8, 8, 'eight');
INSERT INTO J1_TBL VALUES (0, NULL, 'zero');
INSERT INTO J1_TBL VALUES (NULL, NULL, 'null');
INSERT INTO J1_TBL VALUES (NULL, 0, 'zero');
INSERT INTO J2_TBL VALUES (1, -1);
INSERT INTO J2_TBL VALUES (2, 2);
INSERT INTO J2_TBL VALUES (3, -3);
INSERT INTO J2_TBL VALUES (2, 4);
INSERT INTO J2_TBL VALUES (5, -5);
INSERT INTO J2_TBL VALUES (5, -5);
INSERT INTO J2_TBL VALUES (0, NULL);
INSERT INTO J2_TBL VALUES (NULL, NULL);
INSERT INTO J2_TBL VALUES (NULL, 0);
--
-- CORRELATION NAMES
@ -159,18 +160,33 @@ SELECT '' AS "xxx", *
--
-- Outer joins
-- Note that OUTER is a noise word
--
SELECT '' AS "xxx", *
FROM J1_TBL LEFT OUTER JOIN J2_TBL USING (i);
SELECT '' AS "xxx", *
FROM J1_TBL LEFT JOIN J2_TBL USING (i);
SELECT '' AS "xxx", *
FROM J1_TBL RIGHT OUTER JOIN J2_TBL USING (i);
-- Note that OUTER is a noise word
SELECT '' AS "xxx", *
FROM J1_TBL RIGHT JOIN J2_TBL USING (i);
SELECT '' AS "xxx", *
FROM J1_TBL FULL OUTER JOIN J2_TBL USING (i);
SELECT '' AS "xxx", *
FROM J1_TBL FULL JOIN J2_TBL USING (i);
SELECT '' AS "xxx", *
FROM J1_TBL LEFT JOIN J2_TBL USING (i) WHERE (k = 1);
SELECT '' AS "xxx", *
FROM J1_TBL LEFT JOIN J2_TBL USING (i) WHERE (i = 1);
--
-- More complicated constructs