From: Thomas G. Lockhart Date: Sun, 11 May 1997 15:19:33 +0000 (+0000) Subject: Add type conversion functions between floats and integers. X-Git-Tag: REL9_0_0~28878 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=57f55032ff54c0a2f9f821b8df1b522bc41fd418;p=pg-rex%2Fsyncrep.git Add type conversion functions between floats and integers. 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. --- diff --git a/src/include/catalog/pg_operator.h b/src/include/catalog/pg_operator.h index a8236167a8..beb3b8aa4a 100644 --- a/src/include/catalog/pg_operator.h +++ b/src/include/catalog/pg_operator.h @@ -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 diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h index df9564d3f6..cc0fb614ed 100644 --- a/src/include/catalog/pg_proc.h +++ b/src/include/catalog/pg_proc.h @@ -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)" - ));