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,