Re: Mysterious Bus Error with get_fn_expr_argtype()

From: "David E(dot) Wheeler" <david(at)kineticode(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Cc: Brendan Jurd <direvus(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Neil Conway <neilc(at)samurai(dot)com>
Subject: Re: Mysterious Bus Error with get_fn_expr_argtype()
Date: 2008-09-02 17:50:32
Message-ID: DF7DA6D4-7F27-40B6-9A8E-1582B7934A5C@kineticode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Neil Conway 2008-09-02 17:52:12 Re: Window functions patch v04 for the September commit fest
Previous Message David E. Wheeler 2008-09-02 17:43:50 Re: Mysterious Bus Error with get_fn_expr_argtype()