]> granicus.if.org Git - postgresql/commitdiff
Remove duplicate CIDR funcs by using coerce entries.
authorBruce Momjian <bruce@momjian.us>
Thu, 22 Oct 1998 13:51:07 +0000 (13:51 +0000)
committerBruce Momjian <bruce@momjian.us>
Thu, 22 Oct 1998 13:51:07 +0000 (13:51 +0000)
src/backend/parser/parse_coerce.c
src/backend/utils/adt/inet.c
src/include/catalog/pg_amop.h
src/include/catalog/pg_operator.h
src/include/catalog/pg_proc.h
src/include/catalog/pg_type.h
src/include/parser/parse_coerce.h
src/include/utils/builtins.h

index 1a34e4ea58b46c79c53024f6b01bb930c84110ae..454692263338cbe629f26e081c6791906c486f7c 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/parser/parse_coerce.c,v 2.8 1998/10/08 18:29:43 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/parser/parse_coerce.c,v 2.9 1998/10/22 13:50:54 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -328,6 +328,11 @@ TypeCategory(Oid inType)
                        result = GEOMETRIC_TYPE;
                        break;
 
+               case (INETOID):
+               case (CIDROID):
+                       result = NETWORK_TYPE;
+                       break;
+
                default:
                        result = USER_TYPE;
                        break;
@@ -379,6 +384,10 @@ PreferredType(CATEGORY category, Oid type)
                        result = TIMESPANOID;
                        break;
 
+               case (NETWORK_TYPE):
+                       result = INETOID;
+                       break;
+               
                case (GEOMETRIC_TYPE):
                case (USER_TYPE):
                        result = type;
index 3afdf1437ef7edd2a27d04be4ed7db3cffe8f025..19d6f01702425aed61585ec42a698e58eb837eac 100644 (file)
@@ -3,7 +3,7 @@
  *     is for IP V4 CIDR notation, but prepared for V6: just
  *     add the necessary bits where the comments indicate.
  *
- *     $Id: inet.c,v 1.12 1998/10/22 13:16:23 momjian Exp $
+ *     $Id: inet.c,v 1.13 1998/10/22 13:50:56 momjian Exp $
  *     Jon Postel RIP 16 Oct 1998
  */
 
@@ -297,7 +297,7 @@ inet_cmp(inet *a1, inet *a2)
 }
 
 text *
-inet_host(inet *ip)
+host(inet *ip)
 {
        text       *ret;
        int                     len;
@@ -331,7 +331,7 @@ inet_host(inet *ip)
        ret = palloc(len);
        if (ret == NULL)
        {
-               elog(ERROR, "unable to allocate memory in inet_host()");
+               elog(ERROR, "unable to allocate memory in host()");
                return (NULL);
        }
        VARSIZE(ret) = len;
@@ -339,26 +339,14 @@ inet_host(inet *ip)
        return (ret);
 }
 
-text *
-cidr_host(inet *ip)
-{
-       return inet_host(ip);
-}
-
 int4
-inet_netmasklen(inet *ip)
+masklen(inet *ip)
 {
        return ip_bits(ip);
 }
 
-int4
-cidr_netmasklen(inet *ip)
-{
-       return inet_netmasklen(ip);
-}
-
 text *
-inet_broadcast(inet *ip)
+broadcast(inet *ip)
 {
        text       *ret;
        int                     len;
@@ -390,7 +378,7 @@ inet_broadcast(inet *ip)
        ret = palloc(len);
        if (ret == NULL)
        {
-               elog(ERROR, "unable to allocate memory in inet_broadcast()");
+               elog(ERROR, "unable to allocate memory in broadcast()");
                return (NULL);
        }
        VARSIZE(ret) = len;
@@ -399,13 +387,7 @@ inet_broadcast(inet *ip)
 }
 
 text *
-cidr_broadcast(inet *ip)
-{
-       return inet_broadcast(ip);
-}
-       
-text *
-inet_netmask(inet *ip)
+netmask(inet *ip)
 {
        text       *ret;
        int                     len;
@@ -435,7 +417,7 @@ inet_netmask(inet *ip)
        ret = palloc(len);
        if (ret == NULL)
        {
-               elog(ERROR, "unable to allocate memory in inet_netmask()");
+               elog(ERROR, "unable to allocate memory in netmask()");
                return (NULL);
        }
        VARSIZE(ret) = len;
@@ -443,12 +425,6 @@ inet_netmask(inet *ip)
        return (ret);
 }
 
-text *
-cidr_netmask(inet *ip)
-{
-       return inet_netmask(ip);
-}
-
 /*
  *     Bitwise comparison for V4 addresses.  Add V6 implementation!
  */
index af57116e1aa01447fee7c059b80241a02fa11895..25c0f362763a01fec6470eae72627c92b63237ea 100644 (file)
@@ -7,7 +7,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_amop.h,v 1.17 1998/10/22 05:29:23 momjian Exp $
+ * $Id: pg_amop.h,v 1.18 1998/10/22 13:50:58 momjian Exp $
  *
  * NOTES
  *      the genbki.sh script reads this file and generates .bki
@@ -322,11 +322,11 @@ DATA(insert OID = 0 (  403 935 1205 5 btreesel btreenpage ));
  *     nbtree cidr
  */
 
-DATA(insert OID = 0 (  403 652 822 1 btreesel btreenpage ));
-DATA(insert OID = 0 (  403 652 823 2 btreesel btreenpage ));
-DATA(insert OID = 0 (  403 652 820 3 btreesel btreenpage ));
-DATA(insert OID = 0 (  403 652 825 4 btreesel btreenpage ));
-DATA(insert OID = 0 (  403 652 824 5 btreesel btreenpage ));
+DATA(insert OID = 0 (  403 652 1203 1 btreesel btreenpage ));
+DATA(insert OID = 0 (  403 652 1204 2 btreesel btreenpage ));
+DATA(insert OID = 0 (  403 652 1201 3 btreesel btreenpage ));
+DATA(insert OID = 0 (  403 652 1206 4 btreesel btreenpage ));
+DATA(insert OID = 0 (  403 652 1205 5 btreesel btreenpage ));
 
 /*
  *     hash table _ops
index 53bdfc73ef2a610887f9226397c5f8093fb4e16b..87a8471c509efcfa9ae92fd40b41860624416ee0 100644 (file)
@@ -7,7 +7,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_operator.h,v 1.41 1998/10/21 16:06:46 momjian Exp $
+ * $Id: pg_operator.h,v 1.42 1998/10/22 13:51:00 momjian Exp $
  *
  * NOTES
  *       the genbki.sh script reads this file and generates .bki
@@ -667,7 +667,6 @@ DATA(insert OID = 827  (  "<<="        PGUID 0 b t f 650 650     16 1004 828  0 0 in
 DATA(insert OID = 828  (  ">>"    PGUID 0 b t f 650 650     16 826  827  0 0 inet_sup intltsel intltjoinsel ));
 DATA(insert OID = 1004  (  ">>="   PGUID 0 b t f 650 650     16 827  826  0 0 inet_supeq intltsel intltjoinsel ));
 
-
 /*
  * function prototypes
  */
index a36e9030af7adf66be0e8639b984eaa3b25e6b70..4677a8dc94fdd4a327ea129ef81eea1a9ae47077 100644 (file)
@@ -1,4 +1,4 @@
-1/*-------------------------------------------------------------------------
+/*-------------------------------------------------------------------------
  *
  * pg_proc.h--
  *       definition of the system "procedure" relation (pg_proc)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_proc.h,v 1.79 1998/10/22 05:29:24 momjian Exp $
+ * $Id: pg_proc.h,v 1.80 1998/10/22 13:51:02 momjian Exp $
  *
  * NOTES
  *       The script catalog/genbki.sh reads this file and generates .bki
@@ -2104,44 +2104,14 @@ DESCR("is-supernet");
 DATA(insert OID = 930 (  inet_supeq       PGUID 11 f t f 2 f 16 "869 869" 100 0 0 100  foo bar ));
 DESCR("is-supernet-or-equal");
 
-/* inet base versions */
-DATA(insert OID = 940 (  inet_netmask          PGUID 11 f t f 1 f 25 "869" 100 0 0 100  foo bar ));
+/* inet/cidr versions */
+DATA(insert OID = 940 (  netmask                       PGUID 11 f t f 1 f 25 "869" 100 0 0 100  foo bar ));
 DESCR("netmask of address");
-DATA(insert OID = 941 (  inet_netmasklen       PGUID 11 f t f 1 f 23 "869" 100 0 0 100  foo bar ));
+DATA(insert OID = 941 (  masklen                       PGUID 11 f t f 1 f 23 "869" 100 0 0 100  foo bar ));
 DESCR("netmask length");
-DATA(insert OID = 945 (  inet_broadcast                PGUID 11 f t f 1 f 25 "869" 100 0 0 100  foo bar ));
+DATA(insert OID = 945 (  broadcast                     PGUID 11 f t f 1 f 25 "869" 100 0 0 100  foo bar ));
 DESCR("broadcast address");
-DATA(insert OID = 682 (  inet_host                     PGUID 11 f t f 1 f 25 "869" 100 0 0 100  foo bar ));
-DESCR("host address");
-
-/* cidr base versions */
-DATA(insert OID = 1619 (  cidr_netmask         PGUID 11 f t f 1 f 25 "650" 100 0 0 100  foo bar ));
-DESCR("netmask of address");
-DATA(insert OID = 1620 (  cidr_netmasklen      PGUID 11 f t f 1 f 23 "650" 100 0 0 100  foo bar ));
-DESCR("netmask length");
-DATA(insert OID = 1621 (  cidr_broadcast       PGUID 11 f t f 1 f 25 "650" 100 0 0 100  foo bar ));
-DESCR("broadcast address");
-DATA(insert OID = 1622 (  cidr_host                    PGUID 11 f t f 1 f 25 "650" 100 0 0 100  foo bar ));
-DESCR("host address");
-
-/* inet versions */
-DATA(insert OID = 946 (  netmask               PGUID 14 f t f 1 f 25 "869" 100 0 0 100  "select inet_netmask($1)" - ));
-DESCR("netmask of address");
-DATA(insert OID = 947 (  netmasklen            PGUID 14 f t f 1 f 23 "869" 100 0 0 100  "select inet_netmasklen($1)" - ));
-DESCR("netmask length");
-DATA(insert OID = 948 (  broadcast             PGUID 14 f t f 1 f 25 "869" 100 0 0 100  "select inet_broadcast($1)" - ));
-DESCR("broadcast address");
-DATA(insert OID = 949 (  host                  PGUID 14 f t f 1 f 25 "869" 100 0 0 100  "select inet_host($1)" - ));
-DESCR("host address");
-
-/* cidr versions */
-DATA(insert OID = 696 (  netmask               PGUID 14 f t f 1 f 25 "650" 100 0 0 100  "select cidr_netmask($1)" - ));
-DESCR("netmask of address");
-DATA(insert OID = 697 (  netmasklen            PGUID 14 f t f 1 f 23 "650" 100 0 0 100  "select cidr_netmasklen($1)" - ));
-DESCR("netmask length");
-DATA(insert OID = 698 (  broadcast             PGUID 14 f t f 1 f 25 "650" 100 0 0 100  "select cidr_broadcast($1)" - ));
-DESCR("broadcast address");
-DATA(insert OID = 699 (  host                  PGUID 14 f t f 1 f 25 "650" 100 0 0 100  "select cidr_host($1)" - ));
+DATA(insert OID = 682 (  host                          PGUID 11 f t f 1 f 25 "869" 100 0 0 100  foo bar ));
 DESCR("host address");
 
 
index 4b8884fd47b1fb038cfd2aabed2200aaab9cca47..5b0f1e86270cbd02084ca9b7ff50dca79f5650e6 100644 (file)
@@ -7,7 +7,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_type.h,v 1.51 1998/10/22 00:35:26 momjian Exp $
+ * $Id: pg_type.h,v 1.52 1998/10/22 13:51:03 momjian Exp $
  *
  * NOTES
  *       the genbki.sh script reads this file and generates .bki
@@ -302,8 +302,10 @@ DATA(insert OID = 829 ( macaddr       PGUID  6 -1 f b t \054 0     0 macaddr_in macaddr
 DESCR("MAC address");
 DATA(insert OID = 869 ( inet      PGUID  -1 -1 f b t \054 0 0 inet_in inet_out inet_in inet_out i _null_ ));
 DESCR("Host address");
+#define INETOID 869
 DATA(insert OID = 650 ( cidr      PGUID  -1 -1 f b t \054 0 0 cidr_in cidr_out cidr_in cidr_out i _null_ ));
 DESCR("Network address");
+#define CIDROID 650
 
 /* OIDS 900 - 999 */
 
index 8820a3e3c312df581ea3c0a0ab5114492bbc912b..49c79d215c011f302610b9844c1fc655e96e6577 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: parse_coerce.h,v 1.6 1998/10/08 18:30:36 momjian Exp $
+ * $Id: parse_coerce.h,v 1.7 1998/10/22 13:51:05 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -23,6 +23,7 @@ typedef enum CATEGORY
        DATETIME_TYPE,
        TIMESPAN_TYPE,
        GEOMETRIC_TYPE,
+       NETWORK_TYPE,
        USER_TYPE,
        MIXED_TYPE
 }                      CATEGORY;
@@ -56,7 +57,9 @@ typedef enum CATEGORY
                || ((t) == BOXOID) \
                || ((t) == PATHOID) \
                || ((t) == POLYGONOID) \
-               || ((t) == CIRCLEOID))
+               || ((t) == CIRCLEOID) \
+               || ((t) == INETOID) \
+               || ((t) == CIDROID) )
 
 
 /* IS_BINARY_COMPATIBLE()
@@ -83,7 +86,9 @@ typedef enum CATEGORY
                || ((a) == INT4OID && (b) == ABSTIMEOID) \
                || ((a) == INT4OID && (b) == TIMESTAMPOID) \
                || ((a) == RELTIMEOID && (b) == INT4OID) \
-               || ((a) == INT4OID && (b) == RELTIMEOID))
+               || ((a) == INT4OID && (b) == RELTIMEOID) \
+               || ((a) == INETOID && (b) == CIDROID) \
+               || ((a) == CIDROID && (b) == INETOID))
 
 /* IS_HIGHER_TYPE()
  * These types are the most general in each of the type categories.
@@ -93,7 +98,8 @@ typedef enum CATEGORY
                || ((t) == FLOAT8OID) \
                || ((t) == TIMESPANOID) \
                || ((t) == DATETIMEOID) \
-               || ((t) == POLYGONOID))
+               || ((t) == POLYGONOID) \
+               || ((t) == INETOID) )
 
 /* IS_HIGHEST_TYPE()
  * These types are the most general in each of the type categories.
index c6b4a816bc72e19a3befd198f598c0bb733232b8..e33c3ab96902cc8da5a64017496d8b4220783861 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: builtins.h,v 1.66 1998/10/22 13:16:27 momjian Exp $
+ * $Id: builtins.h,v 1.67 1998/10/22 13:51:07 momjian Exp $
  *
  * NOTES
  *       This should normally only be included by fmgr.h.
@@ -533,16 +533,10 @@ bool              inet_sup(inet * a1, inet * a2);
 bool           inet_supeq(inet * a1, inet * a2);
 int4           inet_cmp(inet * a1, inet * a2);
 
-text      *inet_netmask(inet * addr);
-int4           inet_netmasklen(inet * addr);
-text      *inet_broadcast(inet * addr);
-text      *inet_host(inet * addr);
-
-text      *cidr_netmask(inet * addr);
-int4           cidr_netmasklen(inet * addr);
-text      *cidr_broadcast(inet * addr);
-text      *cidr_host(inet * addr);
-
+text      *netmask(inet * addr);
+int4           masklen(inet * addr);
+text      *broadcast(inet * addr);
+text      *host(inet * addr);
 
 /* mac.c */
 macaddr    *macaddr_in(char *str);