OSDN Git Service

Add type conversion functions between floats and integers.
authorThomas G. Lockhart <lockhart@fourpalms.org>
Sun, 11 May 1997 15:19:33 +0000 (15:19 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Sun, 11 May 1997 15:19:33 +0000 (15:19 +0000)
Include some additional path functions which were coded but omitted here.
Add translation and rotation/scaling operators for some geometric types.
Fix bugs in some geometry comparison operator declarations.

src/include/catalog/pg_operator.h
src/include/catalog/pg_proc.h

index a823616..beb3b8a 100644 (file)
@@ -7,7 +7,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_operator.h,v 1.10 1997/04/27 19:22:41 thomas Exp $
+ * $Id: pg_operator.h,v 1.11 1997/05/11 15:19:30 thomas Exp $
  *
  * NOTES
  *    the genbki.sh script reads this file and generates .bki
@@ -289,6 +289,8 @@ DATA(insert OID = 616 (  "<===>"   PGUID 0 b t f 600 603 701 616   0  0  0 dist_
 DATA(insert OID = 617 (  "<===>"   PGUID 0 b t f 601 603 701 617   0  0  0 dist_sb intltsel intltjoinsel ));
 DATA(insert OID = 618 (  "<===>"   PGUID 0 b t f 600 602 701 618   0  0  0 dist_ppth intltsel intltjoinsel ));
 
+DATA(insert OID = 619 (  "<"       PGUID 0 b t f 704 704  16   0   0  0  0 intervalct - - ));
+
 DATA(insert OID = 620 (  "="       PGUID 0 b t t  700  700  16 620 621  622 622 float4eq eqsel eqjoinsel ));
 DATA(insert OID = 621 (  "<>"      PGUID 0 b t f  700  700  16 621 620  0 0 float4ne neqsel neqjoinsel ));
 DATA(insert OID = 622 (  "<"       PGUID 0 b t f  700  700  16 623 625  0 0 float4lt intltsel intltjoinsel ));
@@ -356,6 +358,17 @@ DATA(insert OID = 707 (  "<===>"   PGUID 0 b t f 602 602 701 707   0  0  0 path_
 DATA(insert OID = 708 (  "<===>"   PGUID 0 b t f 603 603 701 708   0  0  0 line_distance intltsel intltjoinsel ));
 DATA(insert OID = 709 (  "<===>"   PGUID 0 b t f 601 601 701 709   0  0  0 lseg_distance intltsel intltjoinsel ));
 
+/* add translation/rotation/scaling operators for geometric types. - thomas 97/05/10 */
+DATA(insert OID = 731 (  "+"     PGUID 0 b t f  600  600  600  731    0    0    0 point_add - - ));
+DATA(insert OID = 732 (  "-"     PGUID 0 b t f  600  600  600    0    0    0    0 point_sub - - ));
+DATA(insert OID = 733 (  "*"     PGUID 0 b t f  600  600  600  733    0    0    0 point_mul - - ));
+DATA(insert OID = 734 (  "/"     PGUID 0 b t f  600  600  600    0    0    0    0 point_div - - ));
+DATA(insert OID = 735 (  "+"     PGUID 0 b t f  602  602  602  735    0    0    0 path_add - - ));
+DATA(insert OID = 736 (  "+"     PGUID 0 b t f  602  600  602  736    0    0    0 path_add_pt - - ));
+DATA(insert OID = 737 (  "-"     PGUID 0 b t f  602  600  602    0    0    0    0 path_sub_pt - - ));
+DATA(insert OID = 738 (  "*"     PGUID 0 b t f  602  600  602  738    0    0    0 path_mul_pt - - ));
+DATA(insert OID = 739 (  "/"     PGUID 0 b t f  602  600  602    0    0    0    0 path_div_pt - - ));
+
 DATA(insert OID = 830 (  "<"       PGUID 0 b t f  810  810  16 834 833  0 0 oidint2lt intltsel intltjoinsel ));
 DATA(insert OID = 831 (  "<="      PGUID 0 b t f  810  810  16 833 834  0 0 oidint2le intltsel intltjoinsel ));
 DATA(insert OID = 832 (  "="       PGUID 0 b t f  810  810  16 832 835  0 0 oidint2eq intltsel intltjoinsel ));
@@ -527,10 +540,10 @@ DATA(insert OID = 1305 (  ">="      PGUID 0 b t f  1296 1296 16 1304 1302 0 0 ti
 /* additional geometric operators - tgl 97/04/18 */
 DATA(insert OID = 1500 (  "="     PGUID 0 b t t  718  718   16 1500 1501 1502 1502 circle_eq eqsel eqjoinsel ));
 DATA(insert OID = 1501 (  "<>"    PGUID 0 b t f  718  718   16 1501 1500    0    0 circle_ne neqsel neqjoinsel ));
-DATA(insert OID = 1502 (  "<"     PGUID 0 b t f  718  718   16 1503 1505    0    0 circle_eq eqsel eqjoinsel ));
-DATA(insert OID = 1503 (  ">"     PGUID 0 b t f  718  718   16 1502 1504    0    0 circle_eq eqsel eqjoinsel ));
-DATA(insert OID = 1504 (  "<="    PGUID 0 b t f  718  718   16 1505 1503    0    0 circle_eq eqsel eqjoinsel ));
-DATA(insert OID = 1505 (  ">="    PGUID 0 b t f  718  718   16 1504 1502    0    0 circle_eq eqsel eqjoinsel ));
+DATA(insert OID = 1502 (  "<"     PGUID 0 b t f  718  718   16    0    0    0    0 circle_lt areasel areajoinsel ));
+DATA(insert OID = 1503 (  ">"     PGUID 0 b t f  718  718   16    0    0    0    0 circle_gt areasel areajoinsel ));
+DATA(insert OID = 1504 (  "<="    PGUID 0 b t f  718  718   16    0    0    0    0 circle_le areasel areajoinsel ));
+DATA(insert OID = 1505 (  ">="    PGUID 0 b t f  718  718   16    0    0    0    0 circle_ge areasel areajoinsel ));
 
 DATA(insert OID = 1506 (  "<<"    PGUID 0 b t f  718  718   16    0    0    0    0 circle_left intltsel intltjoinsel ));
 DATA(insert OID = 1507 (  "&<"    PGUID 0 b t f  718  718   16    0    0    0    0 circle_overleft intltsel intltjoinsel ));
@@ -550,6 +563,7 @@ DATA(insert OID = 1519 (  "/"     PGUID 0 b t f  718  600  718    0    0    0
 
 DATA(insert OID = 1520 (  "<===>" PGUID 0 b t f  718  718  701 1520    0    0    0 circle_distance intltsel intltjoinsel ));
 DATA(insert OID = 1521 (  "#"     PGUID 0 l t f    0  604   23    0    0    0    0 poly_npoints - - ));
+DATA(insert OID = 1522 (  "<===>" PGUID 0 b t f  600  718  701 1522    0    0    0 dist_pc intltsel intltjoinsel ));
 
 /*
  * function prototypes
index df9564d..cc0fb61 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_proc.h,v 1.20 1997/05/06 07:20:53 thomas Exp $
+ * $Id: pg_proc.h,v 1.21 1997/05/11 15:19:33 thomas Exp $
  *
  * NOTES
  *    The script catalog/genbki.sh reads this file and generates .bki
@@ -304,7 +304,12 @@ DATA(insert OID = 231 (  dcbrt             PGUID 11 f t f 1 f 701 "701" 100 0 0
 DATA(insert OID = 232 (  dpow              PGUID 11 f t f 2 f 701 "701" 100 0 0 100  foo bar ));
 DATA(insert OID = 233 (  dexp              PGUID 11 f t f 1 f 701 "701" 100 0 0 100  foo bar ));
 DATA(insert OID = 234 (  dlog1             PGUID 11 f t f 1 f 701 "701" 100 0 0 100  foo bar ));
-    
+
+DATA(insert OID = 235 (  i2tod             PGUID 11 f t f 1 f 701  "21" 100 0 0 100  foo bar ));
+DATA(insert OID = 236 (  i2tof             PGUID 11 f t f 1 f 700  "21" 100 0 0 100  foo bar ));
+DATA(insert OID = 237 (  dtoi2             PGUID 11 f t f 1 f  21 "701" 100 0 0 100  foo bar ));
+DATA(insert OID = 238 (  ftoi2             PGUID 11 f t f 1 f  21 "700" 100 0 0 100  foo bar ));
+
 DATA(insert OID = 240 (  nabstimein        PGUID 11 f t f 1 f 702 "0" 100 0 0 100  foo bar ));
 DATA(insert OID = 241 (  nabstimeout       PGUID 11 f t f 1 f 23  "0" 100 0 0 100  foo bar ));
 DATA(insert OID = 242 (  reltimein         PGUID 11 f t f 1 f 703 "0" 100 0 0 100  foo bar ));
@@ -384,9 +389,13 @@ DATA(insert OID = 310 (  float84ge         PGUID 11 f t f 2 f 16 "701 700" 100 0
 
 DATA(insert OID = 311 (  ftod              PGUID 11 f t f 2 f 701 "700" 100 0 0 100  foo bar ));
 DATA(insert OID = 312 (  dtof              PGUID 11 f t f 2 f 700 "701" 100 0 0 100  foo bar ));
-DATA(insert OID = 313 (  i2toi4            PGUID 11 f t f 2 f 23 "21" 100 0 0 100  foo bar ));
-DATA(insert OID = 314 (  i4toi2            PGUID 11 f t f 2 f 21 "23" 100 0 0 100  foo bar ));
-DATA(insert OID = 315 (  keyfirsteq        PGUID 11 f t f 2 f 16 "0 21" 100 0 0 100  foo bar ));
+DATA(insert OID = 313 (  i2toi4            PGUID 11 f t f 1 f  23  "21" 100 0 0 100  foo bar ));
+DATA(insert OID = 314 (  i4toi2            PGUID 11 f t f 1 f  21  "23" 100 0 0 100  foo bar ));
+DATA(insert OID = 315 (  keyfirsteq        PGUID 11 f t f 2 f  16   "0 21" 100 0 0 100  foo bar ));
+DATA(insert OID = 316 (  itod              PGUID 11 f t f 1 f 701  "23" 100 0 0 100  foo bar ));
+DATA(insert OID = 317 (  dtoi              PGUID 11 f t f 1 f  23 "701" 100 0 0 100  foo bar ));
+DATA(insert OID = 318 (  itof              PGUID 11 f t f 1 f 700  "23" 100 0 0 100  foo bar ));
+DATA(insert OID = 319 (  ftoi              PGUID 11 f t f 1 f  23 "700" 100 0 0 100  foo bar ));
 
 DATA(insert OID = 320 (  rtinsert          PGUID 11 f t f 5 f 23 "0" 100 0 0 100  foo bar ));
 DATA(insert OID = 321 (  rtdelete          PGUID 11 f t f 2 f 23 "0" 100 0 0 100  foo bar ));
@@ -896,6 +905,21 @@ DATA(insert OID = 1403 (  float4       PGUID 14 f t f 1 f  700  "701" 100 0 0 10
 DATA(insert OID = 1404 (  int          PGUID 14 f t f 1 f   23   "23" 100 0 0 100  "select $1" - ));
 DATA(insert OID = 1405 (  int2         PGUID 14 f t f 1 f   21   "21" 100 0 0 100  "select $1" - ));
 
+DATA(insert OID = 1406 (  float8       PGUID 14 f t f 1 f  701  "701" 100 0 0 100  "select $1" - ));
+DATA(insert OID = 1407 (  float8       PGUID 14 f t f 1 f  701  "700" 100 0 0 100  "select ftod($1)" - ));
+DATA(insert OID = 1408 (  float8       PGUID 14 f t f 1 f  701   "23" 100 0 0 100  "select itod($1)" - ));
+DATA(insert OID = 1409 (  float8       PGUID 14 f t f 1 f  701   "21" 100 0 0 100  "select i2tod($1)" - ));
+DATA(insert OID = 1410 (  float4       PGUID 14 f t f 1 f  700   "23" 100 0 0 100  "select itof($1)" - ));
+DATA(insert OID = 1411 (  float4       PGUID 14 f t f 1 f  700   "21" 100 0 0 100  "select i2tof($1)" - ));
+DATA(insert OID = 1412 (  int4         PGUID 14 f t f 1 f   23   "23" 100 0 0 100  "select $1" - ));
+DATA(insert OID = 1413 (  int4         PGUID 14 f t f 1 f   23  "701" 100 0 0 100  "select dtoi($1)" - ));
+DATA(insert OID = 1414 (  int4         PGUID 14 f t f 1 f   23   "21" 100 0 0 100  "select i2toi4($1)" - ));
+DATA(insert OID = 1415 (  int4         PGUID 14 f t f 1 f   23  "700" 100 0 0 100  "select ftoi($1)" - ));
+DATA(insert OID = 1416 (  int2         PGUID 14 f t f 1 f   21   "21" 100 0 0 100  "select $1" - ));
+DATA(insert OID = 1417 (  int2         PGUID 14 f t f 1 f   21   "23" 100 0 0 100  "select i4toi2($1)" - ));
+DATA(insert OID = 1418 (  int2         PGUID 14 f t f 1 f   21  "701" 100 0 0 100  "select dtoi2($1)" - ));
+DATA(insert OID = 1419 (  int2         PGUID 14 f t f 1 f   21  "700" 100 0 0 100  "select ftoi2($1)" - ));
+
 DATA(insert OID = 1421 (  box               PGUID 11 f t f 2 f 603 "600 600" 100 0 0 100  foo bar ));
 DATA(insert OID = 1422 (  box_add           PGUID 11 f t f 2 f 603 "603 600" 100 0 0 100  foo bar ));
 DATA(insert OID = 1423 (  box_sub           PGUID 11 f t f 2 f 603 "603 600" 100 0 0 100  foo bar ));
@@ -951,11 +975,12 @@ DATA(insert OID = 1472 (  circle_center     PGUID 11 f t f 1 f 600 "718" 100 0 1
 DATA(insert OID = 1473 (  circle            PGUID 11 f t f 2 f 718 "600 701" 100 0 1 0  foo bar ));
 DATA(insert OID = 1474 (  poly_circle       PGUID 11 f t f 1 f 718 "604" 100 0 1 0  foo bar ));
 DATA(insert OID = 1475 (  circle_poly       PGUID 11 f t f 2 f 604 "23 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1476 (  dist_pc           PGUID 11 f t f 2 f 604 "600 718" 100 0 1 0  foo bar ));
 
 DATA(insert OID = 1530 (  point             PGUID 14 f t f 2 f 600 "601 601" 100 0 0 100  "select lseg_interpt($1, $2)" - ));
 DATA(insert OID = 1531 (  point             PGUID 14 f t f 1 f 600 "718" 100 0 0 100  "select circle_center($1)" - ));
 DATA(insert OID = 1532 (  isvertical        PGUID 14 f t f 2 f  16 "600 600" 100 0 0 100  "select point_vert($1, $2)" - ));
-DATA(insert OID = 1533 (  ishorizonal       PGUID 14 f t f 2 f  16 "600 600" 100 0 0 100  "select point_horiz($1, $2)" - ));
+DATA(insert OID = 1533 (  ishorizontal      PGUID 14 f t f 2 f  16 "600 600" 100 0 0 100  "select point_horiz($1, $2)" - ));
 DATA(insert OID = 1534 (  slope             PGUID 14 f t f 2 f 701 "600 600" 100 0 0 100  "select point_slope($1, $2)" - ));
 
 DATA(insert OID = 1540 (  lseg              PGUID 14 f t f 2 f 601 "600 600" 100 0 0 100  "select lseg_construct($1, $2)" - ));