From: Bruce Momjian <bruce@momjian.us>
Date: Thu, 22 Oct 1998 13:51:07 +0000 (+0000)
Subject: Remove duplicate CIDR funcs by using coerce entries.
X-Git-Tag: REL6_4_2~162
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ca2995be7bf63e394d3ac80327cf5f69a1474745;p=postgresql

Remove duplicate CIDR funcs by using coerce entries.
---

diff --git a/src/backend/parser/parse_coerce.c b/src/backend/parser/parse_coerce.c
index 1a34e4ea58..4546922633 100644
--- a/src/backend/parser/parse_coerce.c
+++ b/src/backend/parser/parse_coerce.c
@@ -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;
diff --git a/src/backend/utils/adt/inet.c b/src/backend/utils/adt/inet.c
index 3afdf1437e..19d6f01702 100644
--- a/src/backend/utils/adt/inet.c
+++ b/src/backend/utils/adt/inet.c
@@ -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!
  */
diff --git a/src/include/catalog/pg_amop.h b/src/include/catalog/pg_amop.h
index af57116e1a..25c0f36276 100644
--- a/src/include/catalog/pg_amop.h
+++ b/src/include/catalog/pg_amop.h
@@ -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
diff --git a/src/include/catalog/pg_operator.h b/src/include/catalog/pg_operator.h
index 53bdfc73ef..87a8471c50 100644
--- a/src/include/catalog/pg_operator.h
+++ b/src/include/catalog/pg_operator.h
@@ -7,7 +7,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_operator.h,v 1.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
  */
diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h
index a36e9030af..4677a8dc94 100644
--- a/src/include/catalog/pg_proc.h
+++ b/src/include/catalog/pg_proc.h
@@ -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");
 
 
diff --git a/src/include/catalog/pg_type.h b/src/include/catalog/pg_type.h
index 4b8884fd47..5b0f1e8627 100644
--- a/src/include/catalog/pg_type.h
+++ b/src/include/catalog/pg_type.h
@@ -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 */
 
diff --git a/src/include/parser/parse_coerce.h b/src/include/parser/parse_coerce.h
index 8820a3e3c3..49c79d215c 100644
--- a/src/include/parser/parse_coerce.h
+++ b/src/include/parser/parse_coerce.h
@@ -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.
diff --git a/src/include/utils/builtins.h b/src/include/utils/builtins.h
index c6b4a816bc..e33c3ab969 100644
--- a/src/include/utils/builtins.h
+++ b/src/include/utils/builtins.h
@@ -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);