Example #1
0
Datum
set_curcfg_byname(PG_FUNCTION_ARGS)
{
    text	   *name = PG_GETARG_TEXT_P(0);

    SET_FUNCOID();
    DirectFunctionCall1(
        set_curcfg,
        ObjectIdGetDatum(name2id_cfg(name))
    );
    PG_FREE_IF_COPY(name, 0);
    PG_RETURN_VOID();
}
Example #2
0
Datum
to_tsquery_name(PG_FUNCTION_ARGS)
{
	text	   *name = PG_GETARG_TEXT_P(0);
	Datum		res;

	SET_FUNCOID();
	res = DirectFunctionCall2(to_tsquery,
							  Int32GetDatum(name2id_cfg(name)),
							  PG_GETARG_DATUM(1));

	PG_FREE_IF_COPY(name, 0);
	PG_RETURN_DATUM(res);
}
Example #3
0
Datum
to_tsvector_name(PG_FUNCTION_ARGS)
{
	text	   *cfg = PG_GETARG_TEXT_P(0);
	Datum		res = DirectFunctionCall3(
										  to_tsvector,
										  Int32GetDatum(name2id_cfg(cfg)),
										  PG_GETARG_DATUM(1),
										  (Datum) 0
	);

	PG_FREE_IF_COPY(cfg, 0);
	PG_RETURN_DATUM(res);
}
Example #4
0
Datum
headline_byname(PG_FUNCTION_ARGS)
{
	text	   *cfg = PG_GETARG_TEXT_P(0);

	Datum		out;

	SET_FUNCOID();
	out = DirectFunctionCall4(
							  headline,
							  ObjectIdGetDatum(name2id_cfg(cfg)),
							  PG_GETARG_DATUM(1),
							  PG_GETARG_DATUM(2),
				(PG_NARGS() > 3) ? PG_GETARG_DATUM(3) : PointerGetDatum(NULL)
		);

	PG_FREE_IF_COPY(cfg, 0);
	PG_RETURN_DATUM(out);
}