summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2017-03-01 16:55:28 +0000
committerPeter Eisentraut2017-03-01 16:55:28 +0000
commit20f6d74242b3c9c84924e890248d027d30283e21 (patch)
tree5cc92ffb6ef7830ba9f6dbada7c109da9b07f60e
parent788af6f8541d5f30acec540e4fd3cb24f5347209 (diff)
Collect duplicate copies of oid_cmp()
-rw-r--r--src/backend/catalog/pg_enum.c15
-rw-r--r--src/backend/catalog/pg_inherits.c18
-rw-r--r--src/backend/utils/adt/acl.c20
-rw-r--r--src/backend/utils/adt/oid.c14
-rw-r--r--src/include/utils/builtins.h1
5 files changed, 17 insertions, 51 deletions
diff --git a/src/backend/catalog/pg_enum.c b/src/backend/catalog/pg_enum.c
index a7d933663e..300f24d231 100644
--- a/src/backend/catalog/pg_enum.c
+++ b/src/backend/catalog/pg_enum.c
@@ -36,7 +36,6 @@
Oid binary_upgrade_next_pg_enum_oid = InvalidOid;
static void RenumberEnumType(Relation pg_enum, HeapTuple *existing, int nelems);
-static int oid_cmp(const void *p1, const void *p2);
static int sort_order_cmp(const void *p1, const void *p2);
@@ -605,20 +604,6 @@ RenumberEnumType(Relation pg_enum, HeapTuple *existing, int nelems)
}
-/* qsort comparison function for oids */
-static int
-oid_cmp(const void *p1, const void *p2)
-{
- Oid v1 = *((const Oid *) p1);
- Oid v2 = *((const Oid *) p2);
-
- if (v1 < v2)
- return -1;
- if (v1 > v2)
- return 1;
- return 0;
-}
-
/* qsort comparison function for tuples by sort order */
static int
sort_order_cmp(const void *p1, const void *p2)
diff --git a/src/backend/catalog/pg_inherits.c b/src/backend/catalog/pg_inherits.c
index 82662a1f7e..9bd2cd16f6 100644
--- a/src/backend/catalog/pg_inherits.c
+++ b/src/backend/catalog/pg_inherits.c
@@ -27,12 +27,11 @@
#include "catalog/pg_inherits_fn.h"
#include "parser/parse_type.h"
#include "storage/lmgr.h"
+#include "utils/builtins.h"
#include "utils/fmgroids.h"
#include "utils/syscache.h"
#include "utils/tqual.h"
-static int oid_cmp(const void *p1, const void *p2);
-
/*
* find_inheritance_children
@@ -357,18 +356,3 @@ typeInheritsFrom(Oid subclassTypeId, Oid superclassTypeId)
return result;
}
-
-
-/* qsort comparison function */
-static int
-oid_cmp(const void *p1, const void *p2)
-{
- Oid v1 = *((const Oid *) p1);
- Oid v2 = *((const Oid *) p2);
-
- if (v1 < v2)
- return -1;
- if (v1 > v2)
- return 1;
- return 0;
-}
diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c
index 96ac1dfefd..fca8420b01 100644
--- a/src/backend/utils/adt/acl.c
+++ b/src/backend/utils/adt/acl.c
@@ -88,7 +88,6 @@ static void check_circularity(const Acl *old_acl, const AclItem *mod_aip,
Oid ownerId);
static Acl *recursive_revoke(Acl *acl, Oid grantee, AclMode revoke_privs,
Oid ownerId, DropBehavior behavior);
-static int oidComparator(const void *arg1, const void *arg2);
static AclMode convert_priv_string(text *priv_type_text);
static AclMode convert_any_priv_string(text *priv_type_text,
@@ -1490,7 +1489,7 @@ aclmembers(const Acl *acl, Oid **roleids)
}
/* Sort the array */
- qsort(list, j, sizeof(Oid), oidComparator);
+ qsort(list, j, sizeof(Oid), oid_cmp);
/* Remove duplicates from the array */
k = 0;
@@ -1509,23 +1508,6 @@ aclmembers(const Acl *acl, Oid **roleids)
return k + 1;
}
-/*
- * oidComparator
- * qsort comparison function for Oids
- */
-static int
-oidComparator(const void *arg1, const void *arg2)
-{
- Oid oid1 = *(const Oid *) arg1;
- Oid oid2 = *(const Oid *) arg2;
-
- if (oid1 > oid2)
- return 1;
- if (oid1 < oid2)
- return -1;
- return 0;
-}
-
/*
* aclinsert (exported function)
diff --git a/src/backend/utils/adt/oid.c b/src/backend/utils/adt/oid.c
index 12ef783b3f..7baaa1dd4e 100644
--- a/src/backend/utils/adt/oid.c
+++ b/src/backend/utils/adt/oid.c
@@ -331,6 +331,20 @@ oidparse(Node *node)
return InvalidOid; /* keep compiler quiet */
}
+/* qsort comparison function for Oids */
+int
+oid_cmp(const void *p1, const void *p2)
+{
+ Oid v1 = *((const Oid *) p1);
+ Oid v2 = *((const Oid *) p2);
+
+ if (v1 < v2)
+ return -1;
+ if (v1 > v2)
+ return 1;
+ return 0;
+}
+
/*****************************************************************************
* PUBLIC ROUTINES *
diff --git a/src/include/utils/builtins.h b/src/include/utils/builtins.h
index 5bdca8203d..1435a7b57a 100644
--- a/src/include/utils/builtins.h
+++ b/src/include/utils/builtins.h
@@ -67,6 +67,7 @@ extern int float8_cmp_internal(float8 a, float8 b);
/* oid.c */
extern oidvector *buildoidvector(const Oid *oids, int n);
extern Oid oidparse(Node *node);
+extern int oid_cmp(const void *p1, const void *p2);
/* regexp.c */
extern char *regexp_fixed_prefix(text *text_re, bool case_insensitive,