]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Add functions to convert to and from text, and to truncate to MAC OUI.
authorThomas G. Lockhart <lockhart@fourpalms.org>
Wed, 23 Aug 2000 06:04:49 +0000 (06:04 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Wed, 23 Aug 2000 06:04:49 +0000 (06:04 +0000)
Remove hardcoded macaddr_manuf(), which had really old, obsolete info.
 Replace this with some contrib/mac/ code to maniag OUI info from IEEE.

src/backend/utils/adt/mac.c
src/include/catalog/catversion.h
src/include/catalog/pg_proc.h
src/include/utils/builtins.h

index e8d502b87d27f09a5c2d1ec89d31bc3881537c55..5e949ea2e6e88980a6fab15302e0e0ff40813f4b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *     PostgreSQL type definitions for MAC addresses.
  *
- *     $Header: /cvsroot/pgsql/src/backend/utils/adt/mac.c,v 1.17 2000/08/03 23:07:46 tgl Exp $
+ *     $Header: /cvsroot/pgsql/src/backend/utils/adt/mac.c,v 1.18 2000/08/23 06:04:33 thomas Exp $
  */
 
 #include "postgres.h"
@@ -9,135 +9,6 @@
 #include "utils/builtins.h"
 #include "utils/inet.h"
 
-/*
- * XXX this table of manufacturers is long out of date, and should never
- * have been wired into the code in the first place.
- */
-
-typedef struct manufacturer
-{
-       unsigned char a;
-       unsigned char b;
-       unsigned char c;
-       char       *name;
-} manufacturer;
-
-static manufacturer manufacturers[] = {
-       {0x00, 0x00, 0x0C, "Cisco"},
-       {0x00, 0x00, 0x0E, "Fujitsu"},
-       {0x00, 0x00, 0x0F, "NeXT"},
-       {0x00, 0x00, 0x10, "Sytek"},
-       {0x00, 0x00, 0x1D, "Cabletron"},
-       {0x00, 0x00, 0x20, "DIAB"},
-       {0x00, 0x00, 0x22, "Visual Technology"},
-       {0x00, 0x00, 0x2A, "TRW"},
-       {0x00, 0x00, 0x32, "GPT Limited"},
-       {0x00, 0x00, 0x5A, "S & Koch"},
-       {0x00, 0x00, 0x5E, "IANA"},
-       {0x00, 0x00, 0x65, "Network General"},
-       {0x00, 0x00, 0x6B, "MIPS"},
-       {0x00, 0x00, 0x77, "MIPS"},
-       {0x00, 0x00, 0x7A, "Ardent"},
-       {0x00, 0x00, 0x89, "Cayman Systems"},
-       {0x00, 0x00, 0x93, "Proteon"},
-       {0x00, 0x00, 0x9F, "Ameristar Technology"},
-       {0x00, 0x00, 0xA2, "Wellfleet"},
-       {0x00, 0x00, 0xA3, "Network Application Technology"},
-       {0x00, 0x00, 0xA6, "Network General"},
-       {0x00, 0x00, 0xA7, "NCD"},
-       {0x00, 0x00, 0xA9, "Network Systems"},
-       {0x00, 0x00, 0xAA, "Xerox"},
-       {0x00, 0x00, 0xB3, "CIMLinc"},
-       {0x00, 0x00, 0xB7, "Dove Fastnet"},
-       {0x00, 0x00, 0xBC, "Allen-Bradley"},
-       {0x00, 0x00, 0xC0, "Western Digital"},
-       {0x00, 0x00, 0xC5, "Farallon"},
-       {0x00, 0x00, 0xC6, "Hewlett-Packard"},
-       {0x00, 0x00, 0xC8, "Altos"},
-       {0x00, 0x00, 0xC9, "Emulex"},
-       {0x00, 0x00, 0xD7, "Dartmouth College"},
-       {0x00, 0x00, 0xD8, "3Com (?)"},
-       {0x00, 0x00, 0xDD, "Gould"},
-       {0x00, 0x00, 0xDE, "Unigraph"},
-       {0x00, 0x00, 0xE2, "Acer Counterpoint"},
-       {0x00, 0x00, 0xEF, "Alantec"},
-       {0x00, 0x00, 0xFD, "High Level Hardware"},
-       {0x00, 0x01, 0x02, "BBN internal usage"},
-       {0x00, 0x20, 0xAF, "3Com"},
-       {0x00, 0x17, 0x00, "Kabel"},
-       {0x00, 0x80, 0x64, "Wyse Technology"},
-       {0x00, 0x80, 0x2B, "IMAC (?)"},
-       {0x00, 0x80, 0x2D, "Xylogics, Inc."},
-       {0x00, 0x80, 0x8C, "Frontier Software Development"},
-       {0x00, 0x80, 0xC2, "IEEE 802.1 Committee"},
-       {0x00, 0x80, 0xD3, "Shiva"},
-       {0x00, 0xAA, 0x00, "Intel"},
-       {0x00, 0xDD, 0x00, "Ungermann-Bass"},
-       {0x00, 0xDD, 0x01, "Ungermann-Bass"},
-       {0x02, 0x07, 0x01, "Racal InterLan"},
-       {0x02, 0x04, 0x06, "BBN internal usage"},
-       {0x02, 0x60, 0x86, "Satelcom MegaPac"},
-       {0x02, 0x60, 0x8C, "3Com"},
-       {0x02, 0xCF, 0x1F, "CMC"},
-       {0x08, 0x00, 0x02, "3Com"},
-       {0x08, 0x00, 0x03, "ACC"},
-       {0x08, 0x00, 0x05, "Symbolics"},
-       {0x08, 0x00, 0x08, "BBN"},
-       {0x08, 0x00, 0x09, "Hewlett-Packard"},
-       {0x08, 0x00, 0x0A, "Nestar Systems"},
-       {0x08, 0x00, 0x0B, "Unisys"},
-       {0x08, 0x00, 0x11, "Tektronix"},
-       {0x08, 0x00, 0x14, "Excelan"},
-       {0x08, 0x00, 0x17, "NSC"},
-       {0x08, 0x00, 0x1A, "Data General"},
-       {0x08, 0x00, 0x1B, "Data General"},
-       {0x08, 0x00, 0x1E, "Apollo"},
-       {0x08, 0x00, 0x20, "Sun"},
-       {0x08, 0x00, 0x22, "NBI"},
-       {0x08, 0x00, 0x25, "CDC"},
-       {0x08, 0x00, 0x26, "Norsk Data"},
-       {0x08, 0x00, 0x27, "PCS Computer Systems GmbH"},
-       {0x08, 0x00, 0x28, "Texas Instruments"},
-       {0x08, 0x00, 0x2B, "DEC"},
-       {0x08, 0x00, 0x2E, "Metaphor"},
-       {0x08, 0x00, 0x2F, "Prime Computer"},
-       {0x08, 0x00, 0x36, "Intergraph"},
-       {0x08, 0x00, 0x37, "Fujitsu-Xerox"},
-       {0x08, 0x00, 0x38, "Bull"},
-       {0x08, 0x00, 0x39, "Spider Systems"},
-       {0x08, 0x00, 0x41, "DCA Digital Comm. Assoc."},
-       {0x08, 0x00, 0x45, "Xylogics (?)"},
-       {0x08, 0x00, 0x46, "Sony"},
-       {0x08, 0x00, 0x47, "Sequent"},
-       {0x08, 0x00, 0x49, "Univation"},
-       {0x08, 0x00, 0x4C, "Encore"},
-       {0x08, 0x00, 0x4E, "BICC"},
-       {0x08, 0x00, 0x56, "Stanford University"},
-       {0x08, 0x00, 0x58, "DECsystem 20 (?)"},
-       {0x08, 0x00, 0x5A, "IBM"},
-       {0x08, 0x00, 0x67, "Comdesign"},
-       {0x08, 0x00, 0x68, "Ridge"},
-       {0x08, 0x00, 0x69, "Silicon Graphics"},
-       {0x08, 0x00, 0x6E, "Concurrent"},
-       {0x08, 0x00, 0x75, "DDE"},
-       {0x08, 0x00, 0x7C, "Vitalink"},
-       {0x08, 0x00, 0x80, "XIOS"},
-       {0x08, 0x00, 0x86, "Imagen/QMS"},
-       {0x08, 0x00, 0x87, "Xyplex"},
-       {0x08, 0x00, 0x89, "Kinetics"},
-       {0x08, 0x00, 0x8B, "Pyramid"},
-       {0x08, 0x00, 0x8D, "XyVision"},
-       {0x08, 0x00, 0x90, "Retix Inc"},
-       {0x48, 0x44, 0x53, "HDS (?)"},
-       {0x80, 0x00, 0x10, "AT&T"},
-       {0xAA, 0x00, 0x00, "DEC"},
-       {0xAA, 0x00, 0x01, "DEC"},
-       {0xAA, 0x00, 0x02, "DEC"},
-       {0xAA, 0x00, 0x03, "DEC"},
-       {0xAA, 0x00, 0x04, "DEC"},
-       {0x00, 0x00, 0x00, NULL}
-};
-
 /*
  *     Utility macros used for sorting and comparing:
  */
@@ -151,6 +22,7 @@ static manufacturer manufacturers[] = {
 /*
  *     MAC address reader.  Accepts several common notations.
  */
+
 Datum
 macaddr_in(PG_FUNCTION_ARGS)
 {
@@ -205,6 +77,7 @@ macaddr_in(PG_FUNCTION_ARGS)
 /*
  *     MAC address output function.  Fixed format.
  */
+
 Datum
 macaddr_out(PG_FUNCTION_ARGS)
 {
@@ -226,6 +99,57 @@ macaddr_out(PG_FUNCTION_ARGS)
        PG_RETURN_CSTRING(result);
 }
 
+/* macaddr_text()
+ * Convert macaddr to text data type.
+ */
+
+Datum
+macaddr_text(PG_FUNCTION_ARGS)
+{
+       /* Input is a macaddr, but may as well leave it in Datum form */
+       Datum           addr = PG_GETARG_DATUM(0);
+       text       *result;
+       char       *str;
+       int                     len;
+
+       str = DatumGetCString(DirectFunctionCall1(macaddr_out, addr));
+
+       len = (strlen(str) + VARHDRSZ);
+
+       result = palloc(len);
+
+       VARATT_SIZEP(result) = len;
+       memmove(VARDATA(result), str, (len - VARHDRSZ));
+
+       pfree(str);
+
+       PG_RETURN_TEXT_P(result);
+}
+
+/* text_macaddr()
+ * Convert text to macaddr data type.
+ */
+
+Datum
+text_macaddr(PG_FUNCTION_ARGS)
+{
+       Datum           result;
+       text       *addr = PG_GETARG_TEXT_P(0);
+       char            str[18];
+       int                     len;
+
+       len = (VARSIZE(addr)-VARHDRSZ);
+       if (len >= 18)
+               elog(ERROR, "Text is too long to convert to MAC address");
+
+       memmove(str, VARDATA(addr), len);
+       *(str+len) = '\0';
+
+    result = DirectFunctionCall1(macaddr_in, CStringGetDatum(str));
+
+       return(result);
+}
+
 /*
  *     Comparison function for sorting:
  */
@@ -257,6 +181,7 @@ macaddr_cmp(PG_FUNCTION_ARGS)
 /*
  *     Boolean comparisons.
  */
+
 Datum
 macaddr_lt(PG_FUNCTION_ARGS)
 {
@@ -312,36 +237,24 @@ macaddr_ne(PG_FUNCTION_ARGS)
 }
 
 /*
- *     The special manufacturer fetching function.
+ *     Truncation function to allow comparing mac manufacturers.
+ *     From suggestion by Alex Pilosov <alex@pilosoft.com>
  */
 
 Datum
-macaddr_manuf(PG_FUNCTION_ARGS)
+macaddr_trunc(PG_FUNCTION_ARGS)
 {
+       macaddr    *result;
        macaddr    *addr = PG_GETARG_MACADDR_P(0);
-       manufacturer *manuf;
-       int                     length;
-       text       *result;
 
-       for (manuf = manufacturers; manuf->name != NULL; manuf++)
-       {
-               if ((manuf->a == addr->a) &&
-                       (manuf->b == addr->b) &&
-                       (manuf->c == addr->c))
-                       break;
-       }
-       if (manuf->name == NULL)
-       {
-               /* Not known, so return empty string */
-               result = palloc(VARHDRSZ);
-               VARATT_SIZEP(result) = VARHDRSZ;
-       }
-       else
-       {
-               length = strlen(manuf->name);
-               result = palloc(length + VARHDRSZ);
-               VARATT_SIZEP(result) = length + VARHDRSZ;
-               memcpy(VARDATA(result), manuf->name, length);
-       }
-       PG_RETURN_TEXT_P(result);
+       result = (macaddr *) palloc(sizeof(macaddr));
+
+       result->a = addr->a;
+       result->b = addr->b;
+       result->c = addr->c;
+       result->d = 0;
+       result->e = 0;
+       result->f = 0;
+
+       PG_RETURN_MACADDR_P(result);
 }
index 62c1c837e1a5905530a58d47c0059b284a0c498c..22b3cb7354ede6ca351367a7f1289d284f5577f7 100644 (file)
@@ -37,7 +37,7 @@
  * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: catversion.h,v 1.42 2000/08/21 04:48:51 tgl Exp $
+ * $Id: catversion.h,v 1.43 2000/08/23 06:04:43 thomas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -53,6 +53,6 @@
  */
 
 /*                                                     yyyymmddN */
-#define CATALOG_VERSION_NO     200008201
+#define CATALOG_VERSION_NO     200008221
 
 #endif
index 1af007d7488d265f9b31c5b70b1ffedb7141a220..b50f74fdf4fba9b8d46074f58ad26e02dae2f215 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_proc.h,v 1.162 2000/08/21 04:48:51 tgl Exp $
+ * $Id: pg_proc.h,v 1.163 2000/08/23 06:04:44 thomas Exp $
  *
  * NOTES
  *       The script catalog/genbki.sh reads this file and generates .bki
@@ -2204,22 +2204,27 @@ DESCR("(internal)");
 DATA(insert OID = 437 (  macaddr_out           PGUID 12 f t t t 1 f 23 "0" 100 0 0 100  macaddr_out - ));
 DESCR("(internal)");
 
-DATA(insert OID = 830 (  macaddr_eq               PGUID 12 f t t t 2 f 16 "829 829" 100 0 0 100        macaddr_eq - ));
+DATA(insert OID = 752 (  text                          PGUID 12 f t t t 1 f 25 "829" 100 0 0 100       macaddr_text - ));
+DESCR("MAC address to text");
+DATA(insert OID = 753 (  trunc                         PGUID 12 f t t t 1 f 829 "829" 100 0 0 100      macaddr_trunc - ));
+DESCR("MAC manufacturer fields");
+DATA(insert OID = 767 (  macaddr                       PGUID 12 f t t t 1 f 829 "25" 100 0 0 100       text_macaddr - ));
+DESCR("text to MAC address");
+
+DATA(insert OID = 830 (  macaddr_eq                    PGUID 12 f t t t 2 f 16 "829 829" 100 0 0 100   macaddr_eq - ));
 DESCR("equal");
-DATA(insert OID = 831 (  macaddr_lt               PGUID 12 f t t t 2 f 16 "829 829" 100 0 0 100        macaddr_lt - ));
+DATA(insert OID = 831 (  macaddr_lt                    PGUID 12 f t t t 2 f 16 "829 829" 100 0 0 100   macaddr_lt - ));
 DESCR("less-than");
-DATA(insert OID = 832 (  macaddr_le               PGUID 12 f t t t 2 f 16 "829 829" 100 0 0 100        macaddr_le - ));
+DATA(insert OID = 832 (  macaddr_le                    PGUID 12 f t t t 2 f 16 "829 829" 100 0 0 100   macaddr_le - ));
 DESCR("less-than-or-equal");
-DATA(insert OID = 833 (  macaddr_gt               PGUID 12 f t t t 2 f 16 "829 829" 100 0 0 100        macaddr_gt - ));
+DATA(insert OID = 833 (  macaddr_gt                    PGUID 12 f t t t 2 f 16 "829 829" 100 0 0 100   macaddr_gt - ));
 DESCR("greater-than");
-DATA(insert OID = 834 (  macaddr_ge               PGUID 12 f t t t 2 f 16 "829 829" 100 0 0 100        macaddr_ge - ));
+DATA(insert OID = 834 (  macaddr_ge                    PGUID 12 f t t t 2 f 16 "829 829" 100 0 0 100   macaddr_ge - ));
 DESCR("greater-than-or-equal");
-DATA(insert OID = 835 (  macaddr_ne               PGUID 12 f t t t 2 f 16 "829 829" 100 0 0 100        macaddr_ne - ));
+DATA(insert OID = 835 (  macaddr_ne                    PGUID 12 f t t t 2 f 16 "829 829" 100 0 0 100   macaddr_ne - ));
 DESCR("not equal");
-DATA(insert OID = 836 (  macaddr_cmp      PGUID 12 f t t t 2 f 23 "829 829" 100 0 0 100        macaddr_cmp - ));
+DATA(insert OID = 836 (  macaddr_cmp           PGUID 12 f t t t 2 f 23 "829 829" 100 0 0 100   macaddr_cmp - ));
 DESCR("less-equal-greater");
-DATA(insert OID = 837 (  macaddr_manuf    PGUID 12 f t t t 1 f 25 "829" 100 0 0 100    macaddr_manuf - ));
-DESCR("MAC manufacturer");
 
 /* for inet type support */
 DATA(insert OID = 910 (  inet_in                       PGUID 12 f t t t 1 f 869 "0" 100 0 0 100        inet_in - ));
@@ -2234,51 +2239,51 @@ DATA(insert OID = 1427 (  cidr_out                      PGUID 12 f t t t 1 f 23 "0" 100 0 0 100  ci
 DESCR("(internal)");
 
 /* these are used for both inet and cidr */
-DATA(insert OID = 920 (  network_eq               PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100        network_eq - ));
+DATA(insert OID = 920 (  network_eq                    PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100   network_eq - ));
 DESCR("equal");
-DATA(insert OID = 921 (  network_lt               PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100        network_lt - ));
+DATA(insert OID = 921 (  network_lt                    PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100   network_lt - ));
 DESCR("less-than");
-DATA(insert OID = 922 (  network_le               PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100        network_le - ));
+DATA(insert OID = 922 (  network_le                    PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100   network_le - ));
 DESCR("less-than-or-equal");
-DATA(insert OID = 923 (  network_gt               PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100        network_gt - ));
+DATA(insert OID = 923 (  network_gt                    PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100   network_gt - ));
 DESCR("greater-than");
-DATA(insert OID = 924 (  network_ge               PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100        network_ge - ));
+DATA(insert OID = 924 (  network_ge                    PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100   network_ge - ));
 DESCR("greater-than-or-equal");
-DATA(insert OID = 925 (  network_ne               PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100        network_ne - ));
+DATA(insert OID = 925 (  network_ne                    PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100   network_ne - ));
 DESCR("not equal");
-DATA(insert OID = 926 (  network_cmp              PGUID 12 f t t t 2 f 23 "869 869" 100 0 0 100        network_cmp - ));
+DATA(insert OID = 926 (  network_cmp           PGUID 12 f t t t 2 f 23 "869 869" 100 0 0 100   network_cmp - ));
 DESCR("less-equal-greater");
-DATA(insert OID = 927 (  network_sub              PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100        network_sub - ));
+DATA(insert OID = 927 (  network_sub           PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100   network_sub - ));
 DESCR("is-subnet");
-DATA(insert OID = 928 (  network_subeq            PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100        network_subeq - ));
+DATA(insert OID = 928 (  network_subeq         PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100   network_subeq - ));
 DESCR("is-subnet-or-equal");
-DATA(insert OID = 929 (  network_sup              PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100        network_sup - ));
+DATA(insert OID = 929 (  network_sup           PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100   network_sup - ));
 DESCR("is-supernet");
-DATA(insert OID = 930 (  network_supeq            PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100        network_supeq - ));
+DATA(insert OID = 930 (  network_supeq         PGUID 12 f t t t 2 f 16 "869 869" 100 0 0 100   network_supeq - ));
 DESCR("is-supernet-or-equal");
 
 /* inet/cidr versions */
-DATA(insert OID = 696 (  netmask                               PGUID 12 f t t t 1 f 25 "869" 100 0 0 100  network_netmask - ));
+DATA(insert OID = 696 (  netmask                       PGUID 12 f t t t 1 f 25 "869" 100 0 0 100  network_netmask - ));
 DESCR("netmask of address");
-DATA(insert OID = 697 (  masklen                               PGUID 12 f t t t 1 f 23 "869" 100 0 0 100  network_masklen - ));
+DATA(insert OID = 697 (  masklen                       PGUID 12 f t t t 1 f 23 "869" 100 0 0 100  network_masklen - ));
 DESCR("netmask length");
-DATA(insert OID = 698 (  broadcast                             PGUID 12 f t t t 1 f 25 "869" 100 0 0 100  network_broadcast - ));
+DATA(insert OID = 698 (  broadcast                     PGUID 12 f t t t 1 f 25 "869" 100 0 0 100  network_broadcast - ));
 DESCR("broadcast address");
-DATA(insert OID = 699 (  host                                  PGUID 12 f t t t 1 f 25 "869" 100 0 0 100  network_host - ));
+DATA(insert OID = 699 (  host                          PGUID 12 f t t t 1 f 25 "869" 100 0 0 100  network_host - ));
 DESCR("host address");
-DATA(insert OID = 683 (  network                               PGUID 12 f t t t 1 f 25 "869" 100 0 0 100  network_network - ));
+DATA(insert OID = 683 (  network                       PGUID 12 f t t t 1 f 25 "869" 100 0 0 100  network_network - ));
 DESCR("network address");
 
-DATA(insert OID =  1691 (  boolle                         PGUID 12 f t t t 2 f 16 "16 16" 100 0 0 100  boolle - ));
+DATA(insert OID =  1691 (  boolle                      PGUID 12 f t t t 2 f 16 "16 16" 100 0 0 100  boolle - ));
 DESCR("less-than-or-equal");
-DATA(insert OID =  1692 (  boolge                         PGUID 12 f t t t 2 f 16 "16 16" 100 0 0 100  boolge - ));
+DATA(insert OID =  1692 (  boolge                      PGUID 12 f t t t 2 f 16 "16 16" 100 0 0 100  boolge - ));
 DESCR("greater-than-or-equal");
-DATA(insert OID = 1693 (  btboolcmp                       PGUID 12 f t t t 2 f 23 "16 16" 100 0 0 100  btboolcmp - ));
+DATA(insert OID = 1693 (  btboolcmp                    PGUID 12 f t t t 2 f 23 "16 16" 100 0 0 100  btboolcmp - ));
 DESCR("btree less-equal-greater");
 
-DATA(insert OID = 1696 (  timetz_hash             PGUID 12 f t t t 1 f 23 "1266" 100 0 0 100  timetz_hash - ));
+DATA(insert OID = 1696 (  timetz_hash          PGUID 12 f t t t 1 f 23 "1266" 100 0 0 100  timetz_hash - ));
 DESCR("hash");
-DATA(insert OID = 1697 (  interval_hash                   PGUID 12 f t t t 1 f 23 "1186" 100 0 0 100  interval_hash - ));
+DATA(insert OID = 1697 (  interval_hash                PGUID 12 f t t t 1 f 23 "1186" 100 0 0 100  interval_hash - ));
 DESCR("hash");
 
 
index 95f94fe93fc1e43f98f43521d50f0d5213c36de5..1e16af6874f5f951ad936fe818dc7a8b2f4cb1b5 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: builtins.h,v 1.132 2000/08/07 01:43:35 thomas Exp $
+ * $Id: builtins.h,v 1.133 2000/08/23 06:04:49 thomas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -502,7 +502,9 @@ extern Datum macaddr_eq(PG_FUNCTION_ARGS);
 extern Datum macaddr_ge(PG_FUNCTION_ARGS);
 extern Datum macaddr_gt(PG_FUNCTION_ARGS);
 extern Datum macaddr_ne(PG_FUNCTION_ARGS);
-extern Datum macaddr_manuf(PG_FUNCTION_ARGS);
+extern Datum macaddr_trunc(PG_FUNCTION_ARGS);
+extern Datum macaddr_text(PG_FUNCTION_ARGS);
+extern Datum text_macaddr(PG_FUNCTION_ARGS);
 
 /* numeric.c */
 extern Datum numeric_in(PG_FUNCTION_ARGS);