summaryrefslogtreecommitdiff
path: root/src/backend/catalog/pg_conversion.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2010-02-02 18:52:33 +0000
committerRobert Haas <rhaas@postgresql.org>2010-02-02 18:52:33 +0000
commitd8db6a6096d1b901f2ad9077148a87cd95fb3e86 (patch)
treee3881ace8641de0d61b32952363d9ac395fa7fa3 /src/backend/catalog/pg_conversion.c
parent4d32f6d7bf2e4e2715b1f79b379a7cfcca16993c (diff)
downloadpostgresql-d8db6a6096d1b901f2ad9077148a87cd95fb3e86.tar.gz
Fold FindConversion() into FindConversionByName() and remove ACL check.
All callers of FindConversionByName() already do suitable permissions checking already apart from this function, but this is not just dead code removal: the unnecessary permissions check can actually lead to spurious failures - there's no reason why inability to execute the underlying function should prohibit renaming the conversion, for example. (The error messages in these cases were also rather poor: FindConversion would return InvalidOid, eventually leading to a complaint that the conversion "did not exist", which was not correct.) KaiGai Kohei
Diffstat (limited to 'src/backend/catalog/pg_conversion.c')
-rw-r--r--src/backend/catalog/pg_conversion.c37
1 files changed, 1 insertions, 36 deletions
diff --git a/src/backend/catalog/pg_conversion.c b/src/backend/catalog/pg_conversion.c
index a795815e64..cb3654a893 100644
--- a/src/backend/catalog/pg_conversion.c
+++ b/src/backend/catalog/pg_conversion.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/catalog/pg_conversion.c,v 1.48 2010/01/02 16:57:36 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/catalog/pg_conversion.c,v 1.49 2010/02/02 18:52:33 rhaas Exp $
*
*-------------------------------------------------------------------------
*/
@@ -209,38 +209,3 @@ FindDefaultConversion(Oid name_space, int32 for_encoding, int32 to_encoding)
ReleaseSysCacheList(catlist);
return proc;
}
-
-/*
- * FindConversion
- *
- * Find conversion by namespace and conversion name.
- * Returns conversion OID.
- */
-Oid
-FindConversion(const char *conname, Oid connamespace)
-{
- HeapTuple tuple;
- Oid procoid;
- Oid conoid;
- AclResult aclresult;
-
- /* search pg_conversion by connamespace and conversion name */
- tuple = SearchSysCache(CONNAMENSP,
- PointerGetDatum(conname),
- ObjectIdGetDatum(connamespace),
- 0, 0);
- if (!HeapTupleIsValid(tuple))
- return InvalidOid;
-
- procoid = ((Form_pg_conversion) GETSTRUCT(tuple))->conproc;
- conoid = HeapTupleGetOid(tuple);
-
- ReleaseSysCache(tuple);
-
- /* Check we have execute rights for the function */
- aclresult = pg_proc_aclcheck(procoid, GetUserId(), ACL_EXECUTE);
- if (aclresult != ACLCHECK_OK)
- return InvalidOid;
-
- return conoid;
-}