On Sep 2, 2008, at 10:43, David E. Wheeler wrote:
Looks like regtype displays as an integer. So how about
pg_regtypeof() and pg_typeof()?
Sorry, make that:
PG_FUNCTION_INFO_V1(pg_regtypeof);
Datum
pg_regtypeof(PG_FUNCTION_ARGS)
{
PG_RETURN_OID(get_fn_expr_argtype(fcinfo->flinfo, 0));
}
PG_FUNCTION_INFO_V1(pg_typeof);
Datum
pg_typeof(PG_FUNCTION_ARGS)
{
Oid typeoid;
typeoid = get_fn_expr_argtype(fcinfo->flinfo, 0);
if (typeoid == InvalidOid) {
ereport(
ERROR, (
errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("could not determine data type of argument to
pg_typeof()")
)
);
}
PG_RETURN_DATUM(DirectFunctionCall1(textin,
CStringGetDatum(format_type_be(typeoid))));
}
Best,
David
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers