Обсуждение: timestamp_in DirectFunctionCall
Would this be correct?<br />DatumGetTimestamp(DirectFunctionCall3(timestamp_in, CStringGetDatum(time),
PointerGetDatum(0),Int32GetDatum(MAX_TIMESTAMP_PRECISION)));<br /><br />This is how timestamp_in starts, <b>#ifdef
NOT_USED</b>is a litle bit confusing.<br /> Datum timestamp_in(PG_FUNCTION_ARGS)<br />{<br /> char *str =
PG_GETARG_CSTRING(0);<br/><br />#ifdef NOT_USED<br /> Oid typelem = PG_GETARG_OID(1);<br />#endif<br
/> int32 typmod = PG_GETARG_INT32(2);<br />
Marios Vodas <mvodas@gmail.com> writes:
> This is how timestamp_in starts, *#ifdef NOT_USED* is a litle bit confusing.
> Datum timestamp_in(PG_FUNCTION_ARGS)
> {
> char *str = PG_GETARG_CSTRING(0);
> #ifdef NOT_USED
> Oid typelem = PG_GETARG_OID(1);
> #endif
> int32 typmod = PG_GETARG_INT32(2);
The ifdef is just to document that timestamp_in is ignoring an input
function's standard second argument.
Personally I'd pass -1 for the third argument rather than hard-wiring
a specific value.
regards, tom lane