~vcs-imports/mammoth-replicator/trunk

« back to all changes in this revision

Viewing changes to src/test/regress/expected/tinterval.out

  • Committer: alvherre
  • Date: 2005-12-16 21:24:52 UTC
  • Revision ID: svn-v4:db760fc0-0f08-0410-9d63-cc6633f64896:trunk:1
Initial import of the REL8_0_3 sources from the Pgsql CVS repository.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--
 
2
-- TINTERVAL
 
3
--
 
4
CREATE TABLE TINTERVAL_TBL (f1  tinterval);
 
5
-- Should accept any abstime,
 
6
-- so do not bother with extensive testing of values
 
7
INSERT INTO TINTERVAL_TBL (f1)
 
8
   VALUES ('["-infinity" "infinity"]');
 
9
INSERT INTO TINTERVAL_TBL (f1)
 
10
   VALUES ('["May 10, 1947 23:59:12" "Jan 14, 1973 03:14:21"]');
 
11
INSERT INTO TINTERVAL_TBL (f1)
 
12
   VALUES ('["Sep 4, 1983 23:59:12" "Oct 4, 1983 23:59:12"]');
 
13
INSERT INTO TINTERVAL_TBL (f1)
 
14
   VALUES ('["epoch" "Mon May  1 00:30:30 1995"]');
 
15
INSERT INTO TINTERVAL_TBL (f1)
 
16
   VALUES ('["Feb 15 1990 12:15:03" "2001-09-23 11:12:13"]');
 
17
-- badly formatted tintervals 
 
18
INSERT INTO TINTERVAL_TBL (f1)
 
19
   VALUES ('["bad time specifications" ""]');
 
20
ERROR:  invalid input syntax for type abstime: "bad time specifications"
 
21
INSERT INTO TINTERVAL_TBL (f1)
 
22
   VALUES ('["" "infinity"]');
 
23
ERROR:  invalid input syntax for type abstime: ""
 
24
-- test tinterval operators
 
25
SELECT '' AS five, TINTERVAL_TBL.*;
 
26
 five |                               f1                                
 
27
------+-----------------------------------------------------------------
 
28
      | ["-infinity" "infinity"]
 
29
      | ["Sat May 10 23:59:12 1947 PST" "Sun Jan 14 03:14:21 1973 PST"]
 
30
      | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
 
31
      | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"]
 
32
      | ["Thu Feb 15 12:15:03 1990 PST" "Sun Sep 23 11:12:13 2001 PDT"]
 
33
(5 rows)
 
34
 
 
35
-- length ==
 
36
SELECT '' AS one, t.*
 
37
   FROM TINTERVAL_TBL t
 
38
   WHERE t.f1 #= '@ 1 months';
 
39
 one |                               f1                                
 
40
-----+-----------------------------------------------------------------
 
41
     | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
 
42
(1 row)
 
43
 
 
44
-- length <>
 
45
SELECT '' AS three, t.*
 
46
   FROM TINTERVAL_TBL t
 
47
   WHERE t.f1 #<> '@ 1 months';
 
48
 three |                               f1                                
 
49
-------+-----------------------------------------------------------------
 
50
       | ["Sat May 10 23:59:12 1947 PST" "Sun Jan 14 03:14:21 1973 PST"]
 
51
       | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"]
 
52
       | ["Thu Feb 15 12:15:03 1990 PST" "Sun Sep 23 11:12:13 2001 PDT"]
 
53
(3 rows)
 
54
 
 
55
-- length <
 
56
SELECT '' AS zero, t.*
 
57
   FROM TINTERVAL_TBL t
 
58
   WHERE t.f1 #< '@ 1 month';
 
59
 zero | f1 
 
60
------+----
 
61
(0 rows)
 
62
 
 
63
-- length <=
 
64
SELECT '' AS one, t.*
 
65
   FROM TINTERVAL_TBL t
 
66
   WHERE t.f1 #<= '@ 1 month';
 
67
 one |                               f1                                
 
68
-----+-----------------------------------------------------------------
 
69
     | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
 
70
(1 row)
 
71
 
 
72
-- length >
 
73
SELECT '' AS three, t.*
 
74
   FROM TINTERVAL_TBL t
 
75
   WHERE t.f1 #> '@ 1 year';
 
76
 three |                               f1                                
 
77
-------+-----------------------------------------------------------------
 
78
       | ["Sat May 10 23:59:12 1947 PST" "Sun Jan 14 03:14:21 1973 PST"]
 
79
       | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"]
 
80
       | ["Thu Feb 15 12:15:03 1990 PST" "Sun Sep 23 11:12:13 2001 PDT"]
 
81
(3 rows)
 
82
 
 
83
-- length >=
 
84
SELECT '' AS three, t.*
 
85
   FROM TINTERVAL_TBL t
 
86
   WHERE t.f1 #>= '@ 3 years';
 
87
 three |                               f1                                
 
88
-------+-----------------------------------------------------------------
 
89
       | ["Sat May 10 23:59:12 1947 PST" "Sun Jan 14 03:14:21 1973 PST"]
 
90
       | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"]
 
91
       | ["Thu Feb 15 12:15:03 1990 PST" "Sun Sep 23 11:12:13 2001 PDT"]
 
92
(3 rows)
 
93
 
 
94
-- overlaps
 
95
SELECT '' AS three, t1.*
 
96
   FROM TINTERVAL_TBL t1
 
97
   WHERE t1.f1 &&
 
98
        tinterval '["Aug 15 14:23:19 1983" "Sep 16 14:23:19 1983"]';
 
99
 three |                               f1                                
 
100
-------+-----------------------------------------------------------------
 
101
       | ["-infinity" "infinity"]
 
102
       | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
 
103
       | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"]
 
104
(3 rows)
 
105
 
 
106
SET geqo TO 'off';
 
107
SELECT '' AS five, t1.f1, t2.f1
 
108
   FROM TINTERVAL_TBL t1, TINTERVAL_TBL t2
 
109
   WHERE t1.f1 && t2.f1 and
 
110
         t1.f1 = t2.f1
 
111
   ORDER BY t1.f1, t2.f1;
 
112
 five |                               f1                                |                               f1                                
 
113
------+-----------------------------------------------------------------+-----------------------------------------------------------------
 
114
      | ["-infinity" "infinity"]                                        | ["-infinity" "infinity"]
 
115
      | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"] | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
 
116
      | ["Thu Feb 15 12:15:03 1990 PST" "Sun Sep 23 11:12:13 2001 PDT"] | ["Thu Feb 15 12:15:03 1990 PST" "Sun Sep 23 11:12:13 2001 PDT"]
 
117
      | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"] | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"]
 
118
      | ["Sat May 10 23:59:12 1947 PST" "Sun Jan 14 03:14:21 1973 PST"] | ["Sat May 10 23:59:12 1947 PST" "Sun Jan 14 03:14:21 1973 PST"]
 
119
(5 rows)
 
120
 
 
121
SELECT '' AS fourteen, t1.f1 AS interval1, t2.f1 AS interval2
 
122
   FROM TINTERVAL_TBL t1, TINTERVAL_TBL t2
 
123
   WHERE t1.f1 && t2.f1 and not t1.f1 = t2.f1
 
124
   ORDER BY interval1, interval2;
 
125
 fourteen |                            interval1                            |                            interval2                            
 
126
----------+-----------------------------------------------------------------+-----------------------------------------------------------------
 
127
          | ["-infinity" "infinity"]                                        | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
 
128
          | ["-infinity" "infinity"]                                        | ["Thu Feb 15 12:15:03 1990 PST" "Sun Sep 23 11:12:13 2001 PDT"]
 
129
          | ["-infinity" "infinity"]                                        | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"]
 
130
          | ["-infinity" "infinity"]                                        | ["Sat May 10 23:59:12 1947 PST" "Sun Jan 14 03:14:21 1973 PST"]
 
131
          | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"] | ["-infinity" "infinity"]
 
132
          | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"] | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"]
 
133
          | ["Thu Feb 15 12:15:03 1990 PST" "Sun Sep 23 11:12:13 2001 PDT"] | ["-infinity" "infinity"]
 
134
          | ["Thu Feb 15 12:15:03 1990 PST" "Sun Sep 23 11:12:13 2001 PDT"] | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"]
 
135
          | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"] | ["-infinity" "infinity"]
 
136
          | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"] | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
 
137
          | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"] | ["Thu Feb 15 12:15:03 1990 PST" "Sun Sep 23 11:12:13 2001 PDT"]
 
138
          | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"] | ["Sat May 10 23:59:12 1947 PST" "Sun Jan 14 03:14:21 1973 PST"]
 
139
          | ["Sat May 10 23:59:12 1947 PST" "Sun Jan 14 03:14:21 1973 PST"] | ["-infinity" "infinity"]
 
140
          | ["Sat May 10 23:59:12 1947 PST" "Sun Jan 14 03:14:21 1973 PST"] | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"]
 
141
(14 rows)
 
142
 
 
143
-- contains
 
144
SELECT '' AS five, t1.f1
 
145
   FROM TINTERVAL_TBL t1
 
146
   WHERE not t1.f1 << 
 
147
        tinterval '["Aug 15 14:23:19 1980" "Sep 16 14:23:19 1990"]'
 
148
   ORDER BY t1.f1;
 
149
 five |                               f1                                
 
150
------+-----------------------------------------------------------------
 
151
      | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
 
152
      | ["Thu Feb 15 12:15:03 1990 PST" "Sun Sep 23 11:12:13 2001 PDT"]
 
153
      | ["Sat May 10 23:59:12 1947 PST" "Sun Jan 14 03:14:21 1973 PST"]
 
154
(3 rows)
 
155
 
 
156
-- make time interval
 
157
SELECT '' AS three, t1.f1
 
158
   FROM TINTERVAL_TBL t1
 
159
   WHERE t1.f1 &&
 
160
        (abstime 'Aug 15 14:23:19 1983' <#>
 
161
         abstime 'Sep 16 14:23:19 1983')
 
162
   ORDER BY t1.f1;
 
163
 three |                               f1                                
 
164
-------+-----------------------------------------------------------------
 
165
       | ["-infinity" "infinity"]
 
166
       | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
 
167
       | ["Wed Dec 31 16:00:00 1969 PST" "Mon May 01 00:30:30 1995 PDT"]
 
168
(3 rows)
 
169
 
 
170
RESET geqo;