Define boolean functions and operators for lseg <, <=, <>, >=, >.
authorThomas G. Lockhart <lockhart@fourpalms.org>
Tue, 3 Feb 1998 16:01:59 +0000 (16:01 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Tue, 3 Feb 1998 16:01:59 +0000 (16:01 +0000)
Define functions and operators for closest point to lseg on box,
 to line on lseg, to lseg on lseg.
Define function and operator for length of lseg.
Change length operator from '??' to '@-@'
 (currently defined for path and lseg).

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

index a16100e7f21fe1201b322095fa9274c701db2b5c..c701dd88611c206c671f1ee9479567db752f6804 100644 (file)
@@ -7,7 +7,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_operator.h,v 1.23 1998/01/24 22:48:36 momjian Exp $
+ * $Id: pg_operator.h,v 1.24 1998/02/03 16:01:54 thomas Exp $
  *
  * NOTES
  *   the genbki.sh script reads this file and generates .bki
@@ -387,7 +387,7 @@ DATA(insert OID =  795 (  "<="     PGUID 0 b t f  602  602  701  794  0 0 0 path_n
 DATA(insert OID =  796 (  ">="    PGUID 0 b t f  602  602  701  793  0 0 0 path_n_ge intltsel intltjoinsel ));
 DATA(insert OID =  797 (  "#"     PGUID 0 l t f    0  602   23    0  0 0 0 path_npoints - - ));
 DATA(insert OID =  798 (  "?#"    PGUID 0 b t f  602  602   16    0  0 0 0 path_inter - - ));
-DATA(insert OID =  799 (  "??"    PGUID 0 l t f    0  602  701    0  0 0 0 path_length - - ));
+DATA(insert OID =  799 (  "@-@"       PGUID 0 l t f    0  602  701    0  0 0 0 path_length - - ));
 DATA(insert OID =  800 (  ">^"    PGUID 0 b t f  603  603   16    0  0 0 0 box_above intltsel intltjoinsel ));
 DATA(insert OID =  801 (  "<^"    PGUID 0 b t f  603  603   16    0  0 0 0 box_below intltsel intltjoinsel ));
 DATA(insert OID =  802 (  "?#"    PGUID 0 b t f  603  603   16    0  0 0 0 box_overlap - - ));
@@ -647,8 +647,18 @@ DATA(insert OID = 1559 (  "##"   PGUID 0 b t f  600  603  600    0  0 0 0 close_p
 DATA(insert OID = 1566 (  "##"   PGUID 0 b t f  601  628  600    0  0 0 0 close_sl - - ));
 DATA(insert OID = 1567 (  "##"   PGUID 0 b t f  601  603  600    0  0 0 0 close_sb - - ));
 DATA(insert OID = 1568 (  "##"   PGUID 0 b t f  628  603  600    0  0 0 0 close_lb - - ));
+DATA(insert OID = 1577 (  "##"   PGUID 0 b t f  628  601  600    0  0 0 0 close_ls - - ));
+DATA(insert OID = 1578 (  "##"   PGUID 0 b t f  601  601  600    0  0 0 0 close_lseg - - ));
 DATA(insert OID = 1585 (  "/"    PGUID 0 b t f 1186 1186 1186    0  0 0 0 timespan_div - - ));
 
+DATA(insert OID = 1586 (  "<>"   PGUID 0 b t f  601  601   16 1535  0 0 0 lseg_eq intltsel - ));
+DATA(insert OID = 1587 (  "<"    PGUID 0 b t f  601  601   16 1590  0 0 0 lseg_lt intltsel - ));
+DATA(insert OID = 1588 (  "<="   PGUID 0 b t f  601  601   16 1589  0 0 0 lseg_le intltsel - ));
+DATA(insert OID = 1589 (  ">"    PGUID 0 b t f  601  601   16 1588  0 0 0 lseg_gt intltsel - ));
+DATA(insert OID = 1590 (  ">="   PGUID 0 b t f  601  601   16 1587  0 0 0 lseg_ge intltsel - ));
+
+DATA(insert OID = 1591 (  "@-@"      PGUID 0 l t f 0  601  701    0  0 0 0 lseg_length - - ));
+
 /*
  * function prototypes
  */
index aaaa2360693935ad14b355af973f9b1f6f6389cd..ffc1e05da3478c980324c87b0eee9eb60f53a90b 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_proc.h,v 1.45 1998/01/26 01:01:31 momjian Exp $
+ * $Id: pg_proc.h,v 1.46 1998/02/03 16:01:59 thomas Exp $
  *
  * NOTES
  *   The script catalog/genbki.sh reads this file and generates .bki
@@ -178,7 +178,7 @@ DESCR("equals");
 
 DATA(insert OID =  66 (  int4lt               PGUID 11 f t f 2 f 16 "23 23" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID =  67 (  texteq               PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
+DATA(insert OID =  67 (  texteq               PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
 DESCR("equals");
 #define TextEqualRegProcedure          67
 
@@ -209,13 +209,13 @@ DATA(insert OID =  79 (  nameregexeq     PGUID 11 f t f 2 f 16 "19 25" 100 0 0 10
 DESCR("matches regex., case-sensitive");
 DATA(insert OID = 1252 (  nameregexne     PGUID 11 f t f 2 f 16 "19 25" 100 0 0 100  foo bar ));
 DESCR("does not match regex., case-sensitive");
-DATA(insert OID = 1254 (  textregexeq     PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0  foo bar ));
+DATA(insert OID = 1254 (  textregexeq     PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0  foo bar ));
 DESCR("matches regex., case-sensitive");
-DATA(insert OID = 1256 (  textregexne     PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0  foo bar ));
+DATA(insert OID = 1256 (  textregexne     PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0  foo bar ));
 DESCR("does not match regex., case-sensitive");
-DATA(insert OID = 1257 (  textlen         PGUID 11 f t f 1 f 23 "25" 100 0 1 0 foo bar ));
+DATA(insert OID = 1257 (  textlen         PGUID 11 f t f 1 f 23 "25" 100 0 1 0  foo bar ));
 DESCR("length");
-DATA(insert OID = 1258 (  textcat         PGUID 11 f t f 2 f 25 "25 25" 100 0 1 0  foo bar ));
+DATA(insert OID = 1258 (  textcat         PGUID 11 f t f 2 f 25 "25 25" 100 0 1 0  foo bar ));
 DESCR("concat");
 DATA(insert OID =  84 (  boolne               PGUID 11 f t f 2 f 16 "16 16" 100 0 0 100  foo bar ));
 DESCR("not equal");
@@ -278,29 +278,29 @@ DATA(insert OID = 123 (  box_in              PGUID 11 f t f 1 f 603 "0" 100 0 0 100  foo
 DESCR("(internal)");
 DATA(insert OID = 124 (  box_out          PGUID 11 f t f 1 f 23  "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 125 (  box_overlap      PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
+DATA(insert OID = 125 (  box_overlap      PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
 DESCR("overlaps");
-DATA(insert OID = 126 (  box_ge               PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
+DATA(insert OID = 126 (  box_ge               PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 127 (  box_gt               PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
+DATA(insert OID = 127 (  box_gt               PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 128 (  box_eq               PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
+DATA(insert OID = 128 (  box_eq               PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 129 (  box_lt               PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
+DATA(insert OID = 129 (  box_lt               PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 130 (  box_le               PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
+DATA(insert OID = 130 (  box_le               PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 131 (  point_above      PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
+DATA(insert OID = 131 (  point_above      PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
 DESCR("is above");
-DATA(insert OID = 132 (  point_left           PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
+DATA(insert OID = 132 (  point_left           PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
 DESCR("is left of");
-DATA(insert OID = 133 (  point_right      PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
+DATA(insert OID = 133 (  point_right      PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
 DESCR("is left of");
-DATA(insert OID = 134 (  point_below      PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
+DATA(insert OID = 134 (  point_below      PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
 DESCR("is below");
-DATA(insert OID = 135 (  point_eq         PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
+DATA(insert OID = 135 (  point_eq         PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
 DESCR("same as");
-DATA(insert OID = 136 (  on_pb            PGUID 11 f t f 2 f 16 "600 603" 100 0 0 100  foo bar ));
+DATA(insert OID = 136 (  on_pb            PGUID 11 f t f 2 f 16 "600 603" 100 0 0 100  foo bar ));
 DESCR("point is inside");
 DATA(insert OID = 137 (  on_ppath         PGUID 11 f t f 2 f 16 "600 602" 100 0 1 0  foo bar ));
 DESCR("contained in");
@@ -314,7 +314,7 @@ DATA(insert OID = 141 (  int4mul           PGUID 11 f t f 2 f 23 "23 23" 100 0 0 100
 DESCR("multiply");
 DATA(insert OID = 142 (  int4fac          PGUID 11 f t f 1 f 23 "23" 100 0 0 100  foo bar ));
 DESCR("fraction");
-DATA(insert OID = 143 (  pointdist        PGUID 11 f t f 2 f 23 "600 600" 100 0 0 100  foo bar ));
+DATA(insert OID = 143 (  pointdist        PGUID 11 f t f 2 f 23 "600 600" 100 0 0 100  foo bar ));
 DESCR("");
 DATA(insert OID = 144 (  int4ne               PGUID 11 f t f 2 f 16 "23 23" 100 0 0 100  foo bar ));
 DESCR("not equal");
@@ -343,7 +343,7 @@ DATA(insert OID = 155 (  int2mod           PGUID 11 f t f 2 f 21 "21 21" 100 0 0 100
 DESCR("modulus");
 DATA(insert OID = 156 (  int4mod          PGUID 11 f t f 2 f 23 "23 23" 100 0 0 100  foo bar ));
 DESCR("modulus");
-DATA(insert OID = 157 (  textne               PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
+DATA(insert OID = 157 (  textne               PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
 DESCR("not equal");
 DATA(insert OID = 158 (  int24eq          PGUID 11 f t f 2 f 23 "21 23" 100 0 0 100  foo bar ));
 DESCR("equals");
@@ -403,19 +403,19 @@ DESCR("equals");
 
 DATA(insert OID = 185 (  oidne            PGUID 11 f t f 2 f 16 "26 26" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 186 (  box_same         PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
+DATA(insert OID = 186 (  box_same         PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("same as");
-DATA(insert OID = 187 (  box_contain      PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
+DATA(insert OID = 187 (  box_contain      PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("contains");
-DATA(insert OID = 188 (  box_left         PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
+DATA(insert OID = 188 (  box_left         PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("is left of");
-DATA(insert OID = 189 (  box_overleft     PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
+DATA(insert OID = 189 (  box_overleft     PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("overlaps, but does not extend to right of");
-DATA(insert OID = 190 (  box_overright    PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
+DATA(insert OID = 190 (  box_overright    PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("overlaps, but does not extend to left of");
-DATA(insert OID = 191 (  box_right        PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
+DATA(insert OID = 191 (  box_right        PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("is left of");
-DATA(insert OID = 192 (  box_contained    PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
+DATA(insert OID = 192 (  box_contained    PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("contained in");
 DATA(insert OID = 193 (  rt_box_union     PGUID 11 f t f 2 f 603 "603 603" 100 0 0 100  foo bar ));
 DESCR("r-tree");
@@ -534,53 +534,53 @@ DATA(insert OID = 246 (  tintervalin     PGUID 11 f t f 1 f 704 "0" 100 0 0 100
 DESCR("(internal)");
 DATA(insert OID = 247 (  tintervalout     PGUID 11 f t f 1 f 23  "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 248 (  ininterval           PGUID 11 f t f 2 f 16 "702 704" 100 0 0 100  foo bar ));
+DATA(insert OID = 248 (  ininterval           PGUID 11 f t f 2 f 16 "702 704" 100 0 0 100  foo bar ));
 DESCR("abstime in tinterval");
 DATA(insert OID = 249 (  intervalrel      PGUID 11 f t f 1 f 703 "704" 100 0 0 100  foo bar ));
 DESCR("");
 DATA(insert OID = 250 (  timenow          PGUID 11 f t f 0 f 702 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 251 (  abstimeeq        PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
+DATA(insert OID = 251 (  abstimeeq        PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 252 (  abstimene        PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
+DATA(insert OID = 252 (  abstimene        PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 253 (  abstimelt        PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
+DATA(insert OID = 253 (  abstimelt        PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 254 (  abstimegt        PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
+DATA(insert OID = 254 (  abstimegt        PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 255 (  abstimele        PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
+DATA(insert OID = 255 (  abstimele        PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 256 (  abstimege        PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
+DATA(insert OID = 256 (  abstimege        PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 257 (  reltimeeq        PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
+DATA(insert OID = 257 (  reltimeeq        PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 258 (  reltimene        PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
+DATA(insert OID = 258 (  reltimene        PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 259 (  reltimelt        PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
+DATA(insert OID = 259 (  reltimelt        PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 260 (  reltimegt        PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
+DATA(insert OID = 260 (  reltimegt        PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 261 (  reltimele        PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
+DATA(insert OID = 261 (  reltimele        PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 262 (  reltimege        PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
+DATA(insert OID = 262 (  reltimege        PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 263 (  intervalsame     PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
+DATA(insert OID = 263 (  intervalsame     PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("same as");
-DATA(insert OID = 264 (  intervalct           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
+DATA(insert OID = 264 (  intervalct           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 265 (  intervalov           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
+DATA(insert OID = 265 (  intervalov           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("overlaps");
-DATA(insert OID = 266 (  intervalleneq    PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
+DATA(insert OID = 266 (  intervalleneq    PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
 DESCR("length equals");
-DATA(insert OID = 267 (  intervallenne    PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
+DATA(insert OID = 267 (  intervallenne    PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
 DESCR("length not equal to");
-DATA(insert OID = 268 (  intervallenlt    PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
+DATA(insert OID = 268 (  intervallenlt    PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
 DESCR("length less-than");
-DATA(insert OID = 269 (  intervallengt    PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
+DATA(insert OID = 269 (  intervallengt    PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
 DESCR("length greater-than");
-DATA(insert OID = 270 (  intervallenle    PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
+DATA(insert OID = 270 (  intervallenle    PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
 DESCR("length less-than-or-equals");
-DATA(insert OID = 271 (  intervallenge    PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
+DATA(insert OID = 271 (  intervallenge    PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
 DESCR("length greater-than-or-equals");
 DATA(insert OID = 272 (  intervalstart    PGUID 11 f t f 1 f 702 "704" 100 0 0 100  foo bar ));
 DESCR("start of interval");
@@ -588,15 +588,15 @@ DATA(insert OID = 273 (  intervalend     PGUID 11 f t f 1 f 702 "704" 100 0 0 100
 DESCR("");
 DATA(insert OID = 274 (  timeofday        PGUID 11 f t f 0 f 25 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 275 (  abstime_finite    PGUID 11 f t f 1 f 16 "702" 100 0 0 100 foo bar ));
+DATA(insert OID = 275 (  abstime_finite    PGUID 11 f t f 1 f 16 "702" 100 0 0 100  foo bar ));
 DESCR("");
 
 DATA(insert OID = 276 (  int2fac          PGUID 11 f t f 1 f 21 "21" 100 0 0 100  foo bar ));
 DESCR("");
 
-DATA(insert OID = 277 (  inter_sl         PGUID 11 f t f 2 f 16 "601 628" 100 0 0 100  foo bar ));
+DATA(insert OID = 277 (  inter_sl         PGUID 11 f t f 2 f 16 "601 628" 100 0 0 100  foo bar ));
 DESCR("");
-DATA(insert OID = 278 (  inter_lb         PGUID 11 f t f 2 f 16 "628 603" 100 0 0 100  foo bar ));
+DATA(insert OID = 278 (  inter_lb         PGUID 11 f t f 2 f 16 "628 603" 100 0 0 100  foo bar ));
 DESCR("");
 
 DATA(insert OID = 279 (  float48mul           PGUID 11 f t f 2 f 701 "700 701" 100 0 0 100  foo bar ));
@@ -616,58 +616,58 @@ DESCR("addition");
 DATA(insert OID = 286 (  float84mi        PGUID 11 f t f 2 f 701 "701 700" 100 0 0 100  foo bar ));
 DESCR("subtract");
 
-DATA(insert OID = 287 (  float4eq         PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 287 (  float4eq         PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 288 (  float4ne         PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 288 (  float4ne         PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 289 (  float4lt         PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 289 (  float4lt         PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 290 (  float4le         PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 290 (  float4le         PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 291 (  float4gt         PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 291 (  float4gt         PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 292 (  float4ge         PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 292 (  float4ge         PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
 
-DATA(insert OID = 293 (  float8eq         PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 293 (  float8eq         PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 294 (  float8ne         PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 294 (  float8ne         PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 295 (  float8lt         PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 295 (  float8lt         PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 296 (  float8le         PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 296 (  float8le         PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 297 (  float8gt         PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 297 (  float8gt         PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 298 (  float8ge         PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 298 (  float8ge         PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
 
-DATA(insert OID = 299 (  float48eq        PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 299 (  float48eq        PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
 DESCR("equals");
 
 /* OIDS 300 - 399 */
 
-DATA(insert OID = 300 (  float48ne        PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 300 (  float48ne        PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 301 (  float48lt        PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 301 (  float48lt        PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 302 (  float48le        PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 302 (  float48le        PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 303 (  float48gt        PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 303 (  float48gt        PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 304 (  float48ge        PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 304 (  float48ge        PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 305 (  float84eq        PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 305 (  float84eq        PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 306 (  float84ne        PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 306 (  float84ne        PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 307 (  float84lt        PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 307 (  float84lt        PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 308 (  float84le        PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 308 (  float84le        PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 309 (  float84gt        PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 309 (  float84gt        PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 310 (  float84ge        PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 310 (  float84ge        PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
 
 DATA(insert OID = 311 (  ftod             PGUID 11 f t f 2 f 701 "700" 100 0 0 100  foo bar ));
@@ -678,7 +678,7 @@ DATA(insert OID = 313 (  i2toi4            PGUID 11 f t f 1 f  23  "21" 100 0 0 100  f
 DESCR("convert");
 DATA(insert OID = 314 (  i4toi2               PGUID 11 f t f 1 f  21  "23" 100 0 0 100  foo bar ));
 DESCR("convert");
-DATA(insert OID = 315 (  keyfirsteq           PGUID 11 f t f 2 f  16   "0 21" 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 ));
 DESCR("");
 DATA(insert OID = 316 (  i4tod            PGUID 11 f t f 1 f 701  "23" 100 0 0 100  foo bar ));
 DESCR("convert");
@@ -755,13 +755,13 @@ DATA(insert OID = 352 (  btint42cmp          PGUID 11 f t f 2 f 23 "23 21" 100 0 0 10
 DESCR("btree less-equal-greater");
 DATA(insert OID = 353 (  btint24cmp           PGUID 11 f t f 2 f 23 "21 23" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
-DATA(insert OID = 354 (  btfloat4cmp      PGUID 11 f t f 2 f 23 "700 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 354 (  btfloat4cmp      PGUID 11 f t f 2 f 23 "700 700" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
-DATA(insert OID = 355 (  btfloat8cmp      PGUID 11 f t f 2 f 23 "701 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 355 (  btfloat8cmp      PGUID 11 f t f 2 f 23 "701 701" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
 DATA(insert OID = 356 (  btoidcmp         PGUID 11 f t f 2 f 23 "26 26" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
-DATA(insert OID = 357 (  btabstimecmp     PGUID 11 f t f 2 f 23 "702 702" 100 0 0 100  foo bar ));
+DATA(insert OID = 357 (  btabstimecmp     PGUID 11 f t f 2 f 23 "702 702" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
 DATA(insert OID = 358 (  btcharcmp        PGUID 11 f t f 2 f 23 "18 18" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
@@ -781,20 +781,20 @@ DESCR("distance between");
 DATA(insert OID = 365 (  dist_sb          PGUID 11 f t f 2 f 701 "601 603" 100 0 0 100  foo bar ));
 DESCR("distance between");
 DATA(insert OID = 366 (  close_ps         PGUID 11 f t f 2 f 600 "600 601" 100 0 0 100  foo bar ));
-DESCR("");
+DESCR("closest point on line segment");
 DATA(insert OID = 367 (  close_pb         PGUID 11 f t f 2 f 600 "600 603" 100 0 0 100  foo bar ));
-DESCR("");
+DESCR("closest point on box");
 DATA(insert OID = 368 (  close_sb         PGUID 11 f t f 2 f 600 "601 603" 100 0 0 100  foo bar ));
-DESCR("");
-DATA(insert OID = 369 (  on_ps            PGUID 11 f t f 2 f 16 "600 601" 100 0 0 100  foo bar ));
+DESCR("closest point to line segment on box");
+DATA(insert OID = 369 (  on_ps            PGUID 11 f t f 2 f 16 "600 601" 100 0 0 100  foo bar ));
 DESCR("contained in");
 DATA(insert OID = 370 (  path_distance    PGUID 11 f t f 2 f 701 "602 602" 100 0 1 0 foo bar ));
 DESCR("distance between");
 DATA(insert OID = 371 (  dist_ppath           PGUID 11 f t f 2 f 701 "600 602" 100 0 1 0 foo bar ));
 DESCR("distance between");
-DATA(insert OID = 372 (  on_sb            PGUID 11 f t f 2 f 16 "601 603" 100 0 0 100  foo bar ));
+DATA(insert OID = 372 (  on_sb            PGUID 11 f t f 2 f 16 "601 603" 100 0 0 100  foo bar ));
 DESCR("contained in");
-DATA(insert OID = 373 (  inter_sb         PGUID 11 f t f 2 f 16 "601 603" 100 0 0 100  foo bar ));
+DATA(insert OID = 373 (  inter_sb         PGUID 11 f t f 2 f 16 "601 603" 100 0 0 100  foo bar ));
 DESCR("");
 DATA(insert OID = 1274 (  btchar16cmp     PGUID 11 f t f 2 f 23 "19 19" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
@@ -828,9 +828,9 @@ DATA(insert OID = 449 (  hashint2          PGUID 11 f t f 2 f 23 "21 21" 100 0 0 100
 DESCR("hash");
 DATA(insert OID = 450 (  hashint4         PGUID 11 f t f 2 f 23 "23 23" 100 0 0 100  foo bar ));
 DESCR("hash");
-DATA(insert OID = 451 (  hashfloat4           PGUID 11 f t f 2 f 23 "700 700" 100 0 0 100  foo bar ));
+DATA(insert OID = 451 (  hashfloat4           PGUID 11 f t f 2 f 23 "700 700" 100 0 0 100  foo bar ));
 DESCR("hash");
-DATA(insert OID = 452 (  hashfloat8           PGUID 11 f t f 2 f 23 "701 701" 100 0 0 100  foo bar ));
+DATA(insert OID = 452 (  hashfloat8           PGUID 11 f t f 2 f 23 "701 701" 100 0 0 100  foo bar ));
 DESCR("hash");
 DATA(insert OID = 453 (  hashoid          PGUID 11 f t f 2 f 23 "26 26" 100 0 0 100  foo bar ));
 DESCR("hash");
@@ -852,31 +852,31 @@ DATA(insert OID = 470 (  char4out        PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo
 DESCR("(internal)");
 DATA(insert OID = 471 (  char8out         PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 472 (  char2eq          PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
+DATA(insert OID = 472 (  char2eq          PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 473 (  char4eq          PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
+DATA(insert OID = 473 (  char4eq          PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 474 (  char8eq          PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
+DATA(insert OID = 474 (  char8eq          PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 475 (  char2lt          PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
+DATA(insert OID = 475 (  char2lt          PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 476 (  char4lt          PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
+DATA(insert OID = 476 (  char4lt          PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 477 (  char8lt          PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
+DATA(insert OID = 477 (  char8lt          PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 478 (  char2le          PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
+DATA(insert OID = 478 (  char2le          PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 479 (  char4le          PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
+DATA(insert OID = 479 (  char4le          PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 480 (  char8le          PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
+DATA(insert OID = 480 (  char8le          PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 481 (  char2gt          PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
+DATA(insert OID = 481 (  char2gt          PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 482 (  char4gt          PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
+DATA(insert OID = 482 (  char4gt          PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 483 (  char8gt          PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
+DATA(insert OID = 483 (  char8gt          PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 484 (  char2ge          PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
+DATA(insert OID = 484 (  char2ge          PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
 DATA(insert OID = 1275 (  char16eq        PGUID 11 f t f 2 f 16 "19 19" 100 0 0 100  foo bar ));
 DESCR("equals");
@@ -920,27 +920,27 @@ DATA(insert OID = 682 (  mktinterval     PGUID 11 f t f 2 f 704 "702 702" 100 0 0
 DESCR("convert to interval");
 DATA(insert OID = 683 (  oid8eq               PGUID 11 f t f 2 f 16 "30 30" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 684 (  char4ge          PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
+DATA(insert OID = 684 (  char4ge          PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 685 (  char8ge          PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
+DATA(insert OID = 685 (  char8ge          PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 686 (  char2ne          PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
+DATA(insert OID = 686 (  char2ne          PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 687 (  char4ne          PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
+DATA(insert OID = 687 (  char4ne          PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 688 (  char8ne          PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
+DATA(insert OID = 688 (  char8ne          PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 689 (  btchar2cmp           PGUID 11 f t f 2 f 23 "409 409" 100 0 0 100  foo bar ));
+DATA(insert OID = 689 (  btchar2cmp           PGUID 11 f t f 2 f 23 "409 409" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
-DATA(insert OID = 690 (  btchar4cmp           PGUID 11 f t f 2 f 23 "410 410" 100 0 0 100  foo bar ));
+DATA(insert OID = 690 (  btchar4cmp           PGUID 11 f t f 2 f 23 "410 410" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
-DATA(insert OID = 691 (  btchar8cmp           PGUID 11 f t f 2 f 23 "411 411" 100 0 0 100  foo bar ));
+DATA(insert OID = 691 (  btchar8cmp           PGUID 11 f t f 2 f 23 "411 411" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
-DATA(insert OID = 692 (  hashchar2        PGUID 11 f t f 2 f 23 "409 409" 100 0 0 100  foo bar ));
+DATA(insert OID = 692 (  hashchar2        PGUID 11 f t f 2 f 23 "409 409" 100 0 0 100  foo bar ));
 DESCR("hash");
-DATA(insert OID = 693 (  hashchar4        PGUID 11 f t f 2 f 23 "410 410" 100 0 0 100  foo bar ));
+DATA(insert OID = 693 (  hashchar4        PGUID 11 f t f 2 f 23 "410 410" 100 0 0 100  foo bar ));
 DESCR("hash");
-DATA(insert OID = 694 (  hashchar8        PGUID 11 f t f 2 f 23 "411 411" 100 0 0 100  foo bar ));
+DATA(insert OID = 694 (  hashchar8        PGUID 11 f t f 2 f 23 "411 411" 100 0 0 100  foo bar ));
 DESCR("hash");
 DATA(insert OID = 695 (  char8regexeq     PGUID 11 f t f 2 f 16 "411 25" 100 0 0 100  foo bar ));
 DESCR("matches regex., case-sensitive");
@@ -994,13 +994,13 @@ DESCR("distance between");
 DATA(insert OID = 730 (  pqtest               PGUID 11 f t f 1 f 23 "25" 100 0 0 100  foo bar ));
 DESCR("");
 
-DATA(insert OID = 740 (  text_lt          PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
+DATA(insert OID = 740 (  text_lt          PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 741 (  text_le          PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
+DATA(insert OID = 741 (  text_le          PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 742 (  text_gt          PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
+DATA(insert OID = 742 (  text_gt          PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 743 (  text_ge          PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
+DATA(insert OID = 743 (  text_ge          PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
 DESCR("greater-than-or-equals");
 
 DATA(insert OID = 744 (  array_eq         PGUID 11 f t f 2 f 16 "0 0" 100 0 0 100 foo bar));
@@ -1015,9 +1015,9 @@ DATA(insert OID = 748 (  array_set           PGUID 11 f t f 8 f 23 "0 23 0 0 23 23 23
 DESCR("array");
 DATA(insert OID = 749 (  array_ref        PGUID 11 f t f 7 f 23 "0 23 0 23 23 23 0" 100 0 0 100 foo bar));
 DESCR("array");
-DATA(insert OID = 750 (  array_in         PGUID 11 f t f 2 f 23 "0 0" 100 0 0 100  foo bar ));
+DATA(insert OID = 750 (  array_in         PGUID 11 f t f 2 f 23 "0 0" 100 0 0 100  foo bar ));
 DESCR("array");
-DATA(insert OID = 751 (  array_out        PGUID 11 f t f 2 f 23 "0 0" 100 0 0 100  foo bar ));
+DATA(insert OID = 751 (  array_out        PGUID 11 f t f 2 f 23 "0 0" 100 0 0 100  foo bar ));
 DESCR("array");
 
 DATA(insert OID = 752 (  filename_in      PGUID 11 f t f 2 f 605 "0" 100 0 0 100  foo bar ));
@@ -1029,9 +1029,9 @@ DATA(insert OID = 760 (  smgrin              PGUID 11 f t f 1 f 210 "0" 100 0 0 100  foo
 DESCR("storage manager(internal)");
 DATA(insert OID = 761 (  smgrout          PGUID 11 f t f 1 f 23  "0" 100 0 0 100  foo bar ));
 DESCR("storage manager(internal)");
-DATA(insert OID = 762 (  smgreq               PGUID 11 f t f 2 f 16 "210 210" 100 0 0 100  foo bar ));
+DATA(insert OID = 762 (  smgreq               PGUID 11 f t f 2 f 16 "210 210" 100 0 0 100  foo bar ));
 DESCR("storage manager");
-DATA(insert OID = 763 (  smgrne               PGUID 11 f t f 2 f 16 "210 210" 100 0 0 100  foo bar ));
+DATA(insert OID = 763 (  smgrne               PGUID 11 f t f 2 f 16 "210 210" 100 0 0 100  foo bar ));
 DESCR("storage manager");
 
 DATA(insert OID = 764 (  lo_import        PGUID 11 f t f 1 f 26 "25" 100 0 0 100  foo bar ));
@@ -1074,17 +1074,17 @@ DESCR("gist(internal)");
 DATA(insert OID = 782 (  gistbuild        PGUID 11 f t f 9 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("gist(internal)");
 
-DATA(insert OID = 784 (  intervaleq           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
+DATA(insert OID = 784 (  intervaleq           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 785 (  intervalne           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
+DATA(insert OID = 785 (  intervalne           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 786 (  intervallt           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
+DATA(insert OID = 786 (  intervallt           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 787 (  intervalgt           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
+DATA(insert OID = 787 (  intervalgt           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 788 (  intervalle           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
+DATA(insert OID = 788 (  intervalle           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 789 (  intervalge           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
+DATA(insert OID = 789 (  intervalge           PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
 
 /* OIDS 800 - 899 */
@@ -1100,22 +1100,22 @@ DATA(insert OID = 820 (  oidint2in         PGUID 11 f t f 1 f 810 "0" 100 0 0 100  f
 DESCR("(internal)");
 DATA(insert OID = 821 (  oidint2out           PGUID 11 f t f 1 f 19 "0" 100 0 0 100  foo bar));
 DESCR("(internal)");
-DATA(insert OID = 822 (  oidint2lt        PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
+DATA(insert OID = 822 (  oidint2lt        PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
 DESCR("less-than");
-DATA(insert OID = 823 (  oidint2le        PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
+DATA(insert OID = 823 (  oidint2le        PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
 DESCR("less-than-or-equals");
-DATA(insert OID = 824 (  oidint2eq        PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
+DATA(insert OID = 824 (  oidint2eq        PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
 DESCR("equals");
 
 #define OidInt2EqRegProcedure 824
 
-DATA(insert OID = 825 (  oidint2ge        PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
+DATA(insert OID = 825 (  oidint2ge        PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 826 (  oidint2gt        PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
+DATA(insert OID = 826 (  oidint2gt        PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
 DESCR("greater-than");
-DATA(insert OID = 827 (  oidint2ne        PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
+DATA(insert OID = 827 (  oidint2ne        PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
 DESCR("not equal");
-DATA(insert OID = 828 (  oidint2cmp           PGUID 11 f t f 2 f 21 "810 810" 100 0 0 100  foo bar));
+DATA(insert OID = 828 (  oidint2cmp           PGUID 11 f t f 2 f 21 "810 810" 100 0 0 100  foo bar));
 DESCR("less-equal-greater");
 DATA(insert OID = 829 (  mkoidint2        PGUID 11 f t f 2 f 810 "26 21" 100 0 0 100  foo bar));
 DESCR("");
@@ -1214,22 +1214,22 @@ DATA(insert OID = 920 (  oidint4in         PGUID 11 f t f 1 f 910 "0" 100 0 0 100  f
 DESCR("(internal)");
 DATA(insert OID = 921 (  oidint4out           PGUID 11 f t f 1 f 19 "0" 100 0 0 100  foo bar));
 DESCR("(internal)");
-DATA(insert OID = 922 (  oidint4lt        PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
+DATA(insert OID = 922 (  oidint4lt        PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
 DESCR("less-than");
-DATA(insert OID = 923 (  oidint4le        PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
+DATA(insert OID = 923 (  oidint4le        PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
 DESCR("less-than-or-equals");
-DATA(insert OID = 924 (  oidint4eq        PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
+DATA(insert OID = 924 (  oidint4eq        PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
 DESCR("equals");
 
 #define OidInt4EqRegProcedure 924
 
-DATA(insert OID = 925 (  oidint4ge        PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
+DATA(insert OID = 925 (  oidint4ge        PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 926 (  oidint4gt        PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
+DATA(insert OID = 926 (  oidint4gt        PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
 DESCR("greater-than");
-DATA(insert OID = 927 (  oidint4ne        PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
+DATA(insert OID = 927 (  oidint4ne        PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
 DESCR("not equal");
-DATA(insert OID = 928 (  oidint4cmp           PGUID 11 f t f 2 f 23 "910 910" 100 0 0 100  foo bar));
+DATA(insert OID = 928 (  oidint4cmp           PGUID 11 f t f 2 f 23 "910 910" 100 0 0 100  foo bar));
 DESCR("less-equal-greater");
 DATA(insert OID = 929 (  mkoidint4        PGUID 11 f t f 2 f 910 "26 23" 100 0 0 100  foo bar));
 DESCR("");
@@ -1248,29 +1248,29 @@ DATA(insert OID = 940 (  oidnamein         PGUID 11 f t f 1 f 911 "0" 100 0 0 100  f
 DESCR("(internal)");
 DATA(insert OID = 941 (  oidnameout           PGUID 11 f t f 1 f 19 "0" 100 0 0 100  foo bar));
 DESCR("(internal)");
-DATA(insert OID = 942 (  oidnamelt        PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
+DATA(insert OID = 942 (  oidnamelt        PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
 DESCR("less-than");
-DATA(insert OID = 943 (  oidnamele        PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
+DATA(insert OID = 943 (  oidnamele        PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
 DESCR("less-than-or-equals");
-DATA(insert OID = 944 (  oidnameeq        PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
+DATA(insert OID = 944 (  oidnameeq        PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
 DESCR("equals");
 
 #define OidNameEqRegProcedure 944
 
-DATA(insert OID = 945 (  oidnamege        PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
+DATA(insert OID = 945 (  oidnamege        PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 946 (  oidnamegt        PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
+DATA(insert OID = 946 (  oidnamegt        PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
 DESCR("greater-than");
-DATA(insert OID = 947 (  oidnamene        PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
+DATA(insert OID = 947 (  oidnamene        PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
 DESCR("not equal");
-DATA(insert OID = 948 (  oidnamecmp           PGUID 11 f t f 2 f 23 "911 911" 100 0 0 100  foo bar));
+DATA(insert OID = 948 (  oidnamecmp           PGUID 11 f t f 2 f 23 "911 911" 100 0 0 100  foo bar));
 DESCR("less-equal-greater");
 DATA(insert OID = 949 (  mkoidname        PGUID 11 f t f 2 f 911 "26 19" 100 0 0 100  foo bar));
 DESCR("");
 
-DATA(insert OID = 950 (  istrue               PGUID 11 f t f 1 f 16 "16" 100 0 0 100   foo bar ));
+DATA(insert OID = 950 (  istrue               PGUID 11 f t f 1 f 16 "16" 100 0 0 100  foo bar ));
 DESCR("");
-DATA(insert OID = 951 (  isfalse          PGUID 11 f t f 1 f 16 "16" 100 0 0 100   foo bar ));
+DATA(insert OID = 951 (  isfalse          PGUID 11 f t f 1 f 16 "16" 100 0 0 100  foo bar ));
 DESCR("");
 
 DATA(insert OID = 952 (  lo_open          PGUID 11 f t f 2 f 23 "26 23" 100 0 0 100  foo bar ));
@@ -1293,15 +1293,15 @@ DESCR("contained in");
 DATA(insert OID = 960 (  on_sl            PGUID 11 f t f 2 f  16 "601 628" 100 0 10 100  foo bar ));
 DESCR("contained in");
 DATA(insert OID = 961 (  close_pl         PGUID 11 f t f 2 f 600 "600 628" 100 0 10 100  foo bar ));
-DESCR("");
+DESCR("closest point on line");
 DATA(insert OID = 962 (  close_sl         PGUID 11 f t f 2 f 600 "601 628" 100 0 10 100  foo bar ));
-DESCR("");
+DESCR("closest point to line segment on line");
 DATA(insert OID = 963 (  close_lb         PGUID 11 f t f 2 f 600 "628 603" 100 0 10 100  foo bar ));
-DESCR("");
+DESCR("closest point to line on box");
 
-DATA(insert OID = 964 (  lo_unlink        PGUID 11 f t f 1 f  23 "23" 100 0 0 100  foo bar ));
+DATA(insert OID = 964 (  lo_unlink        PGUID 11 f t f 1 f  23 "23" 100 0 0 100  foo bar ));
 DESCR("large object unlink(delete)");
-DATA(insert OID = 972 (  regproctooid     PGUID 11 f t f 1 f  26 "24" 100 0 0 100  foo bar ));
+DATA(insert OID = 972 (  regproctooid     PGUID 11 f t f 1 f  26 "24" 100 0 0 100  foo bar ));
 DESCR("get oid for regproc");
 
 DATA(insert OID = 973 (  path_inter           PGUID 11 f t f 2 f  16 "602 602" 100 0 10 100  foo bar ));
@@ -1318,41 +1318,41 @@ DATA(insert OID = 980 (  box_intersect     PGUID 11 f t f 2 f 603 "603 603" 100 0
 DESCR("intersects");
 DATA(insert OID = 981 (  box_diagonal     PGUID 11 f t f 1 f 601 "603" 100 0 0 100  foo bar ));
 DESCR("box diagonal");
-DATA(insert OID = 982 (  path_n_lt        PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
+DATA(insert OID = 982 (  path_n_lt        PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 983 (  path_n_gt        PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
+DATA(insert OID = 983 (  path_n_gt        PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 984 (  path_n_eq        PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
+DATA(insert OID = 984 (  path_n_eq        PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 985 (  path_n_le        PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
+DATA(insert OID = 985 (  path_n_le        PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 986 (  path_n_ge        PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
+DATA(insert OID = 986 (  path_n_ge        PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
 DATA(insert OID = 987 (  path_length      PGUID 11 f t f 1 f 701 "602" 100 0 1 0  foo bar ));
-DESCR("");
-DATA(insert OID = 988 (  point_ne         PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
-DESCR("");
-DATA(insert OID = 989 (  point_vert           PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
-DESCR("");
-DATA(insert OID = 990 (  point_horiz      PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
-DESCR("");
+DESCR("sum of path segments");
+DATA(insert OID = 988 (  point_ne         PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
+DESCR("not equal");
+DATA(insert OID = 989 (  point_vert           PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
+DESCR("is vertical");
+DATA(insert OID = 990 (  point_horiz      PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
+DESCR("is horizontal");
 DATA(insert OID = 991 (  point_distance    PGUID 11 f t f 2 f 701 "600 600" 100 0 0 100  foo bar ));
 DESCR("distance between");
 DATA(insert OID = 992 (  point_slope      PGUID 11 f t f 2 f 701 "600 600" 100 0 0 100  foo bar ));
-DESCR("");
+DESCR("slope between points");
 DATA(insert OID = 993 (  lseg_construct    PGUID 11 f t f 2 f 601 "600 600" 100 0 0 100  foo bar ));
-DESCR("");
-DATA(insert OID = 994 (  lseg_intersect    PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100 foo bar ));
+DESCR("convert points to line segment");
+DATA(insert OID = 994 (  lseg_intersect    PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100  foo bar ));
 DESCR("intersects");
-DATA(insert OID = 995 (  lseg_parallel    PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100  foo bar ));
+DATA(insert OID = 995 (  lseg_parallel    PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100  foo bar ));
 DESCR("is parallel to");
-DATA(insert OID = 996 (  lseg_perp        PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100  foo bar ));
+DATA(insert OID = 996 (  lseg_perp        PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100  foo bar ));
 DESCR("is perpendicular to");
-DATA(insert OID = 997 (  lseg_vertical    PGUID 11 f t f 1 f 16 "601" 100 0 0 100  foo bar ));
-DESCR("");
-DATA(insert OID = 998 (  lseg_horizontal   PGUID 11 f t f 1 f 16 "601" 100 0 0 100 foo bar ));
-DESCR("");
-DATA(insert OID = 999 (  lseg_eq          PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100  foo bar ));
+DATA(insert OID = 997 (  lseg_vertical    PGUID 11 f t f 1 f 16 "601" 100 0 0 100  foo bar ));
+DESCR("is vertical");
+DATA(insert OID = 998 (  lseg_horizontal   PGUID 11 f t f 1 f 16 "601" 100 0 0 100  foo bar ));
+DESCR("is horizontal");
+DATA(insert OID = 999 (  lseg_eq          PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100  foo bar ));
 DESCR("equals");
 
 /* OIDS 1000 - 1999 */
@@ -1363,13 +1363,13 @@ DESCR("(internal)");
 DATA(insert OID = 1030 (  nonnullvalue    PGUID 11 f t f 1 f 16 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 #define NonNullValueRegProcedure 1030
-DATA(insert OID = 1031 (  aclitemin           PGUID 11 f t f 1 f 1033 "0" 100 0 0 100  foo bar ));
+DATA(insert OID = 1031 (  aclitemin           PGUID 11 f t f 1 f 1033 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1032 (  aclitemout      PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 1035 (  aclinsert           PGUID 11 f t f 2 f 1034 "1034 1033" 100 0 0 100  foo bar ));
+DATA(insert OID = 1035 (  aclinsert           PGUID 11 f t f 2 f 1034 "1034 1033" 100 0 0 100  foo bar ));
 DESCR("addition");
-DATA(insert OID = 1036 (  aclremove           PGUID 11 f t f 2 f 1034 "1034 1033" 100 0 0 100  foo bar ));
+DATA(insert OID = 1036 (  aclremove           PGUID 11 f t f 2 f 1034 "1034 1033" 100 0 0 100  foo bar ));
 DESCR("subtract");
 DATA(insert OID = 1037 (  aclcontains     PGUID 11 f t f 2 f 16 "1034 1033" 100 0 0 100  foo bar ));
 DESCR("matches regex., case-sensitive");
@@ -1377,11 +1377,11 @@ DATA(insert OID = 1038 (  seteval          PGUID 11 f t f 1 f 23 "26" 100 0 0 100  fo
 DESCR("");
 #define SetEvalRegProcedure 1038
 
-DATA(insert OID = 1044 (  bpcharin        PGUID 11 f t f 3 f 1042 "0" 100 0 0 100  foo bar ));
+DATA(insert OID = 1044 (  bpcharin        PGUID 11 f t f 3 f 1042 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1045 (  bpcharout           PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 1046 (  varcharin           PGUID 11 f t f 3 f 1043 "0" 100 0 0 100  foo bar ));
+DATA(insert OID = 1046 (  varcharin           PGUID 11 f t f 3 f 1043 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1047 (  varcharout      PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
@@ -1418,7 +1418,7 @@ DESCR("hash");
 DATA(insert OID = 1081 (  hashvarchar     PGUID 11 f t f 1 f 23 "1043" 100 0 0 100  foo bar ));
 DESCR("hash");
 
-DATA(insert OID = 1084 (  date_in         PGUID 11 f t f 1 f 1082 "0" 100 0 0 100  foo bar ));
+DATA(insert OID = 1084 (  date_in         PGUID 11 f t f 1 f 1082 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1085 (  date_out        PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
@@ -1451,9 +1451,9 @@ DATA(insert OID = 1106 (  time_ne        PGUID 11 f t f 2 f 16 "1083 1083" 100 0 0
 DESCR("not equal");
 DATA(insert OID = 1107 (  time_cmp        PGUID 11 f t f 2 f 23 "1083 1083" 100 0 0 100  foo bar ));
 DESCR("less-equal-greater");
-DATA(insert OID = 1138 (  date_larger     PGUID 11 f t f 2 f 1082 "1082 1082" 100 0 0 100  foo bar ));
+DATA(insert OID = 1138 (  date_larger     PGUID 11 f t f 2 f 1082 "1082 1082" 100 0 0 100  foo bar ));
 DESCR("");
-DATA(insert OID = 1139 (  date_smaller    PGUID 11 f t f 2 f 1082 "1082 1082" 100 0 0 100  foo bar ));
+DATA(insert OID = 1139 (  date_smaller    PGUID 11 f t f 2 f 1082 "1082 1082" 100 0 0 100  foo bar ));
 DESCR("");
 DATA(insert OID = 1140 (  date_mi         PGUID 11 f t f 2 f 23 "1082 1082" 100 0 0 100  foo bar ));
 DESCR("subtract");
@@ -1461,7 +1461,7 @@ DATA(insert OID = 1141 (  date_pli           PGUID 11 f t f 2 f 1082 "1082 23" 100 0 0
 DESCR("addition");
 DATA(insert OID = 1142 (  date_mii        PGUID 11 f t f 2 f 1082 "1082 23" 100 0 0 100  foo bar ));
 DESCR("subtract");
-DATA(insert OID = 1143 (  time_in         PGUID 11 f t f 1 f 1083 "0" 100 0 0 100  foo bar ));
+DATA(insert OID = 1143 (  time_in         PGUID 11 f t f 1 f 1083 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1144 (  time_out        PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
@@ -1477,28 +1477,28 @@ DESCR("multiply");
 DATA(insert OID = 1149 (  circle_div_pt    PGUID 11 f t f 2 f 718 "718 600" 100 0 0 100  foo bar ));
 DESCR("divide");
 
-DATA(insert OID = 1150 (  datetime_in     PGUID 11 f t f 1 f 1184 "0" 100 0 0 100  foo bar ));
+DATA(insert OID = 1150 (  datetime_in     PGUID 11 f t f 1 f 1184 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 1151 (  datetime_out    PGUID 11 f t f 1 f   23 "0" 100 0 0 100  foo bar ));
+DATA(insert OID = 1151 (  datetime_out    PGUID 11 f t f 1 f   23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 1152 (  datetime_eq     PGUID 11 f t f 2 f   16 "1184 1184" 100 0 0 100  foo bar ));
+DATA(insert OID = 1152 (  datetime_eq     PGUID 11 f t f 2 f   16 "1184 1184" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 1153 (  datetime_ne     PGUID 11 f t f 2 f   16 "1184 1184" 100 0 0 100  foo bar ));
+DATA(insert OID = 1153 (  datetime_ne     PGUID 11 f t f 2 f   16 "1184 1184" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 1154 (  datetime_lt     PGUID 11 f t f 2 f   16 "1184 1184" 100 0 0 100  foo bar ));
+DATA(insert OID = 1154 (  datetime_lt     PGUID 11 f t f 2 f   16 "1184 1184" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 1155 (  datetime_le     PGUID 11 f t f 2 f   16 "1184 1184" 100 0 0 100  foo bar ));
+DATA(insert OID = 1155 (  datetime_le     PGUID 11 f t f 2 f   16 "1184 1184" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 1156 (  datetime_ge     PGUID 11 f t f 2 f   16 "1184 1184" 100 0 0 100  foo bar ));
+DATA(insert OID = 1156 (  datetime_ge     PGUID 11 f t f 2 f   16 "1184 1184" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 1157 (  datetime_gt     PGUID 11 f t f 2 f   16 "1184 1184" 100 0 0 100  foo bar ));
+DATA(insert OID = 1157 (  datetime_gt     PGUID 11 f t f 2 f   16 "1184 1184" 100 0 0 100  foo bar ));
 DESCR("greater-than");
 DATA(insert OID = 1158 (  datetime_finite  PGUID 11 f t f 1 f  16 "1184" 100 0 0 100  foo bar ));
 DESCR("");
 DATA(insert OID = 1159 (  datetime_zone    PGUID 11 f t f 2 f  25 "25 1184" 100 0 0 100  foo bar ));
 DESCR("");
 
-DATA(insert OID = 1160 (  timespan_in     PGUID 11 f t f 1 f 1186 "0" 100 0 0 100  foo bar ));
+DATA(insert OID = 1160 (  timespan_in     PGUID 11 f t f 1 f 1186 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1161 (  timespan_out    PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
@@ -1581,9 +1581,9 @@ DATA(insert OID = 1236 (  char16icregexeq  PGUID 11 f t f 2 f 16 "20 25" 100 0 0
 DESCR("matches regex., case-insensitive");
 DATA(insert OID = 1237 (  char16icregexne  PGUID 11 f t f 2 f 16 "20 25" 100 0 0 100  foo bar ));
 DESCR("does not match regex., case-insensitive");
-DATA(insert OID = 1238 (  texticregexeq    PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0 foo bar ));
+DATA(insert OID = 1238 (  texticregexeq    PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0  foo bar ));
 DESCR("matches regex., case-insensitive");
-DATA(insert OID = 1239 (  texticregexne    PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0 foo bar ));
+DATA(insert OID = 1239 (  texticregexne    PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0  foo bar ));
 DESCR("does not match regex., case-insensitive");
 DATA(insert OID = 1240 (  nameicregexeq    PGUID 11 f t f 2 f 16 "19 25" 100 0 0 100  foo bar ));
 DESCR("matches regex., case-insensitive");
@@ -1613,11 +1613,11 @@ DESCR("matches regex., case-insensitive");
 DATA(insert OID = 1295 (  char8icregexne   PGUID 11 f t f 2 f 16 "411 25" 100 0 0 100  foo bar ));
 DESCR("does not match regex., case-insensitive");
 
-DATA(insert OID = 1297 (  timestamp_in    PGUID 11 f t f 1 f 1296 "0" 100 0 0 100  foo bar ));
+DATA(insert OID = 1297 (  timestamp_in    PGUID 11 f t f 1 f 1296 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1298 (  timestamp_out    PGUID 11 f t f 1 f   23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 1299 (  now             PGUID 11 f t f 0 f 1296 "0" 100 0 0 100  foo bar ));
+DATA(insert OID = 1299 (  now             PGUID 11 f t f 0 f 1296 "0" 100 0 0 100  foo bar ));
 DESCR("current transaction time");
 
 /* OIDS 1300 - 1399 */
@@ -1860,68 +1860,85 @@ DATA(insert OID = 1450 (  circle_in         PGUID 11 f t f 1 f 718 "0" 100 0 1 0  foo
 DESCR("(internal)");
 DATA(insert OID = 1451 (  circle_out       PGUID 11 f t f 1 f  23  "0" 100 0 1 0  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 1452 (  circle_same      PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1452 (  circle_same      PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("same as");
-DATA(insert OID = 1453 (  circle_contain   PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1453 (  circle_contain   PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("contains");
-DATA(insert OID = 1454 (  circle_left      PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1454 (  circle_left      PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("is left of");
-DATA(insert OID = 1455 (  circle_overleft  PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1455 (  circle_overleft  PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("overlaps, but does not extend to right of");
-DATA(insert OID = 1456 (  circle_overright PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1456 (  circle_overright PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("");
-DATA(insert OID = 1457 (  circle_right     PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1457 (  circle_right     PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("is left of");
-DATA(insert OID = 1458 (  circle_contained PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1458 (  circle_contained PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("");
-DATA(insert OID = 1459 (  circle_overlap   PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1459 (  circle_overlap   PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("overlaps");
-DATA(insert OID = 1460 (  circle_below     PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1460 (  circle_below     PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("is below");
-DATA(insert OID = 1461 (  circle_above     PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1461 (  circle_above     PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("is above");
-DATA(insert OID = 1462 (  circle_eq            PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1462 (  circle_eq            PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("equals");
-DATA(insert OID = 1463 (  circle_ne            PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1463 (  circle_ne            PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 1464 (  circle_lt            PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1464 (  circle_lt            PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 1465 (  circle_gt            PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1465 (  circle_gt            PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 1466 (  circle_le            PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1466 (  circle_le            PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 1467 (  circle_ge            PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1467 (  circle_ge            PGUID 11 f t f 2 f  16 "718 718" 100 0 1 0  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 1468 (  circle_area      PGUID 11 f t f 1 f 701 "718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1468 (  circle_area      PGUID 11 f t f 1 f 701 "718" 100 0 1 0  foo bar ));
 DESCR("area");
-DATA(insert OID = 1469 (  circle_diameter  PGUID 11 f t f 1 f 701 "718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1469 (  circle_diameter  PGUID 11 f t f 1 f 701 "718" 100 0 1 0  foo bar ));
 DESCR("diameter");
-DATA(insert OID = 1470 (  circle_radius        PGUID 11 f t f 1 f 701 "718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1470 (  circle_radius        PGUID 11 f t f 1 f 701 "718" 100 0 1 0  foo bar ));
 DESCR("radius");
-DATA(insert OID = 1471 (  circle_distance  PGUID 11 f t f 2 f 701 "718 718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1471 (  circle_distance  PGUID 11 f t f 2 f 701 "718 718" 100 0 1 0  foo bar ));
 DESCR("distance between");
-DATA(insert OID = 1472 (  circle_center        PGUID 11 f t f 1 f 600 "718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1472 (  circle_center        PGUID 11 f t f 1 f 600 "718" 100 0 1 0  foo bar ));
 DESCR("center of");
-DATA(insert OID = 1473 (  circle           PGUID 11 f t f 2 f 718 "600 701" 100 0 1 0  foo bar ));
+DATA(insert OID = 1473 (  circle           PGUID 11 f t f 2 f 718 "600 701" 100 0 1 0  foo bar ));
 DESCR("convert");
-DATA(insert OID = 1474 (  poly_circle      PGUID 11 f t f 1 f 718 "604" 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 ));
 DESCR("convert");
 DATA(insert OID = 1475 (  circle_poly      PGUID 11 f t f 2 f 604 "23 718" 100 0 1 0  foo bar ));
 DESCR("convert");
-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 = 1476 (  dist_pc          PGUID 11 f t f 2 f 604 "600 718" 100 0 1 0  foo bar ));
 DESCR("distance between");
-DATA(insert OID = 1477 (  circle_contain_pt   PGUID 11 f t f 2 f  16 "718 600" 100 0 0 100 foo bar ));
+DATA(insert OID = 1477 (  circle_contain_pt   PGUID 11 f t f 2 f  16 "718 600" 100 0 0 100  foo bar ));
 DESCR("");
-DATA(insert OID = 1478 (  pt_contained_circle PGUID 11 f t f 2 f  16 "600 718" 100 0 0 100 foo bar ));
+DATA(insert OID = 1478 (  pt_contained_circle PGUID 11 f t f 2 f  16 "600 718" 100 0 0 100  foo bar ));
 DESCR("");
-DATA(insert OID = 1479 (  box_circle       PGUID 11 f t f 1 f 718 "603" 100 0 1 0  foo bar ));
+DATA(insert OID = 1479 (  box_circle       PGUID 11 f t f 1 f 718 "603" 100 0 1 0  foo bar ));
 DESCR("convert");
-DATA(insert OID = 1480 (  circle_box       PGUID 11 f t f 1 f 603 "718" 100 0 1 0  foo bar ));
+DATA(insert OID = 1480 (  circle_box       PGUID 11 f t f 1 f 603 "718" 100 0 1 0  foo bar ));
 DESCR("convert");
 
 DATA(insert OID = 1481 (  text_substr      PGUID 11 f t f 3 f 25 "25 23 23" 100 0 0 100  foo bar ));
 DESCR("return portion of string");
 
+DATA(insert OID = 1482 (  lseg_ne          PGUID 11 f t f 2 f  16 "601 601" 100 0 0 100  foo bar ));
+DESCR("not equal");
+DATA(insert OID = 1483 (  lseg_lt          PGUID 11 f t f 2 f  16 "601 601" 100 0 0 100  foo bar ));
+DESCR("less-than");
+DATA(insert OID = 1484 (  lseg_le          PGUID 11 f t f 2 f  16 "601 601" 100 0 0 100  foo bar ));
+DESCR("less-than-or-equals");
+DATA(insert OID = 1485 (  lseg_gt          PGUID 11 f t f 2 f  16 "601 601" 100 0 0 100  foo bar ));
+DESCR("greater-than");
+DATA(insert OID = 1486 (  lseg_ge          PGUID 11 f t f 2 f  16 "601 601" 100 0 0 100  foo bar ));
+DESCR("greater-than-or-equals");
+DATA(insert OID = 1487 (  lseg_length      PGUID 11 f t f 1 f 701 "601" 100 0 1 0  foo bar ));
+DESCR("distance between endpoints");
+DATA(insert OID = 1488 (  close_ls         PGUID 11 f t f 2 f 600 "628 601" 100 0 10 100  foo bar ));
+DESCR("closest point to line on line segment");
+DATA(insert OID = 1489 (  close_lseg       PGUID 11 f t f 2 f 600 "601 601" 100 0 10 100  foo bar ));
+DESCR("closest point to line segment on line segment");
+
 DATA(insert OID = 1530 (  point                PGUID 14 f t f 2 f 600 "601 601" 100 0 0 100  "select lseg_interpt($1, $2)" - ));
 DESCR("convert");
 DATA(insert OID = 1531 (  point                PGUID 14 f t f 1 f 600 "718" 100 0 0 100  "select circle_center($1)" - ));
@@ -1953,7 +1970,7 @@ DESCR("");
 DATA(insert OID = 1550 (  path             PGUID 14 f t f 1 f 602 "604" 100 0 0 100  "select poly_path($1)" - ));
 DESCR("");
 DATA(insert OID = 1551 (  length           PGUID 14 f t f 1 f 701 "602" 100 0 1 0  "select path_length($1)" - ));
-DESCR("");
+DESCR("sum of lengths of path segments");
 DATA(insert OID = 1552 (  points           PGUID 14 f t f 1 f  23 "602" 100 0 0 100  "select path_npoints($1)" - ));
 DESCR("");
 DATA(insert OID = 1553 (  pclose           PGUID 14 f t f 1 f 602 "602" 100 0 0 100  "select path_close($1)" - ));
@@ -1992,6 +2009,8 @@ DATA(insert OID = 1574 (  points          PGUID 14 f t f 1 f  23 "604" 100 0 0 100  "sel
 DESCR("");
 DATA(insert OID = 1575 (  center           PGUID 14 f t f 1 f 600 "604" 100 0 0 100  "select poly_center($1)" - ));
 DESCR("");
+DATA(insert OID = 1576 (  length           PGUID 14 f t f 1 f 701 "601" 100 0 1 0  "select lseg_length($1)" - ));
+DESCR("distance between endpoints");
 
 DATA(insert OID = 1579 (  circle           PGUID 14 f t f 1 f 718 "603" 100 0 0 100  "select box_circle($1)" - ));
 DESCR("convert");
index 803500b16862b979d4b0a6e90ff4fc08356cfb0c..14163f121782c23de6d59c414f4936c4b38735a5 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: geo_decls.h,v 1.17 1998/01/24 22:50:43 momjian Exp $
+ * $Id: geo_decls.h,v 1.18 1998/02/03 16:01:06 thomas Exp $
  *
  * NOTE
  *   These routines do *not* use the float types from adt/.
@@ -170,6 +170,12 @@ extern bool lseg_perp(LSEG *l1, LSEG *l2);
 extern bool lseg_vertical(LSEG *lseg);
 extern bool lseg_horizontal(LSEG *lseg);
 extern bool lseg_eq(LSEG *l1, LSEG *l2);
+extern bool lseg_ne(LSEG *l1, LSEG *l2);
+extern bool lseg_lt(LSEG *l1, LSEG *l2);
+extern bool lseg_le(LSEG *l1, LSEG *l2);
+extern bool lseg_gt(LSEG *l1, LSEG *l2);
+extern bool lseg_ge(LSEG *l1, LSEG *l2);
+extern double *lseg_length(LSEG *lseg);
 extern double *lseg_distance(LSEG *l1, LSEG *l2);
 extern Point *lseg_center(LSEG *lseg);
 extern Point *lseg_interpt(LSEG *l1, LSEG *l2);
@@ -180,11 +186,13 @@ extern double *dist_pb(Point *pt, BOX *box);
 extern double *dist_sl(LSEG *lseg, LINE *line);
 extern double *dist_sb(LSEG *lseg, BOX *box);
 extern double *dist_lb(LINE *line, BOX *box);
+extern Point *close_lseg(LSEG *l1, LSEG *l2);
 extern Point *close_pl(Point *pt, LINE *line);
 extern Point *close_ps(Point *pt, LSEG *lseg);
 extern Point *close_pb(Point *pt, BOX *box);
 extern Point *close_sl(LSEG *lseg, LINE *line);
 extern Point *close_sb(LSEG *lseg, BOX *box);
+extern Point *close_ls(LINE *line, LSEG *lseg);
 extern Point *close_lb(LINE *line, BOX *box);
 extern bool on_pl(Point *pt, LINE *line);
 extern bool on_ps(Point *pt, LSEG *lseg);