7
7
--
8
8
-- Copyright (c) 1994, Regents of the University of California
9
9
--
10
- -- $Id: complex.source,v 1.2 1996/12 /28 02:22:07 momjian Exp $
10
+ -- $Id: complex.source,v 1.3 1998/02 /28 23:37:09 scrappy Exp $
11
11
--
12
12
---------------------------------------------------------------------------
13
13
@@ -64,8 +64,8 @@ CREATE TABLE test_complex (
64
64
-- data for user-defined type are just strings in the proper textual
65
65
-- representation.
66
66
67
- INSERT INTO test_complex VALUES ('(1.0, 2.5)', '(4.2, 3.55 )')
68
- INSERT INTO test_complex VALUES ('(33.0, 51.4)', '(100.42, 93.55)')
67
+ INSERT INTO test_complex VALUES ('(1.0, 2.5)', '(4.2, 3.55 )');
68
+ INSERT INTO test_complex VALUES ('(33.0, 51.4)', '(100.42, 93.55)');
69
69
70
70
SELECT * FROM test_complex;
71
71
@@ -138,13 +138,13 @@ SELECT 'READ ABOVE!' AS STOP;
138
138
139
139
-- first, define the required operators
140
140
CREATE FUNCTION complex_abs_lt(complex, complex) RETURNS bool
141
- AS '_OBJWD_/complex.so' LANGUAGE 'c'
141
+ AS '_OBJWD_/complex.so' LANGUAGE 'c';
142
142
CREATE FUNCTION complex_abs_le(complex, complex) RETURNS bool
143
- AS '_OBJWD_/complex.so' LANGUAGE 'c'
143
+ AS '_OBJWD_/complex.so' LANGUAGE 'c';
144
144
CREATE FUNCTION complex_abs_eq(complex, complex) RETURNS bool
145
- AS '_OBJWD_/complex.so' LANGUAGE 'c'
145
+ AS '_OBJWD_/complex.so' LANGUAGE 'c';
146
146
CREATE FUNCTION complex_abs_ge(complex, complex) RETURNS bool
147
- AS '_OBJWD_/complex.so' LANGUAGE 'c'
147
+ AS '_OBJWD_/complex.so' LANGUAGE 'c';
148
148
CREATE FUNCTION complex_abs_gt(complex, complex) RETURNS bool
149
149
AS '_OBJWD_/complex.so' LANGUAGE 'c';
150
150
@@ -153,25 +153,25 @@ CREATE FUNCTION complex_abs_gt(complex, complex) RETURNS bool
153
153
CREATE OPERATOR < (
154
154
leftarg = complex, rightarg = complex, procedure = complex_abs_lt,
155
155
restrict = intltsel, join = intltjoinsel
156
- )
156
+ );
157
157
CREATE OPERATOR <= (
158
158
leftarg = complex, rightarg = complex, procedure = complex_abs_le,
159
159
restrict = intltsel, join = intltjoinsel
160
- )
160
+ );
161
161
CREATE OPERATOR = (
162
162
leftarg = complex, rightarg = complex, procedure = complex_abs_eq,
163
163
restrict = eqsel, join = eqjoinsel
164
- )
164
+ );
165
165
CREATE OPERATOR >= (
166
166
leftarg = complex, rightarg = complex, procedure = complex_abs_ge,
167
167
restrict = intgtsel, join = intgtjoinsel
168
- )
168
+ );
169
169
CREATE OPERATOR > (
170
170
leftarg = complex, rightarg = complex, procedure = complex_abs_gt,
171
171
restrict = intgtsel, join = intgtjoinsel
172
172
);
173
173
174
- INSERT INTO pg_opclass VALUES ('complex_abs_ops')
174
+ INSERT INTO pg_opclass VALUES ('complex_abs_ops');
175
175
176
176
SELECT oid, opcname FROM pg_opclass WHERE opcname = 'complex_abs_ops';
177
177
@@ -241,7 +241,7 @@ INSERT INTO pg_amproc (amid, amopclaid, amproc, amprocnum)
241
241
-- now, we can define a btree index on complex types. First, let's populate
242
242
-- the table. Note that postgres needs many more tuples to start using the
243
243
-- btree index during selects.
244
- INSERT INTO test_complex VALUES ('(56.0,-22.5)', '(-43.2,-0.07)')
244
+ INSERT INTO test_complex VALUES ('(56.0,-22.5)', '(-43.2,-0.07)');
245
245
INSERT INTO test_complex VALUES ('(-91.9,33.6)', '(8.6,3.0)');
246
246
247
247
CREATE INDEX test_cplx_ind ON test_complex
@@ -250,3 +250,22 @@ CREATE INDEX test_cplx_ind ON test_complex
250
250
SELECT * from test_complex where a = '(56.0,-22.5)';
251
251
SELECT * from test_complex where a < '(56.0,-22.5)';
252
252
SELECT * from test_complex where a > '(56.0,-22.5)';
253
+
254
+ DROP FUNCTION complex_in(opaque);
255
+ DROP FUNCTION complex_out(opaque);
256
+ DROP FUNCTION complex_add(complex, complex);
257
+ DROP FUNCTION complex_abs_lt(complex, complex);
258
+ DROP FUNCTION complex_abs_le(complex, complex);
259
+ DROP FUNCTION complex_abs_eq(complex, complex);
260
+ DROP FUNCTION complex_abs_ge(complex, complex);
261
+ DROP FUNCTION complex_abs_gt(complex, complex);
262
+ DROP FUNCTION complex_abs_cmp(complex, complex);
263
+ DROP OPERATOR + (complex, complex);
264
+ DROP OPERATOR < (complex, complex);
265
+ DROP OPERATOR <= (complex, complex);
266
+ DROP OPERATOR = (complex, complex);
267
+ DROP OPERATOR >= (complex, complex);
268
+ DROP OPERATOR > (complex, complex);
269
+ DROP AGGREGATE complex_sum complex;
270
+ DROP TYPE complex;
271
+ DROP TABLE test_complex;
0 commit comments