Ejemplo n.º 1
0
Datum
idx(PG_FUNCTION_ARGS)
{
	ArrayType  *a = (ArrayType *) DatumGetPointer(PG_DETOAST_DATUM(PG_GETARG_DATUM(0)));
	int32		result;

	CHECKARRVALID(a);
	result = (ARRISVOID(a)) ? 0 : ARRNELEMS(a);
	if (result)
		result = intarray_match_first(a, PG_GETARG_INT32(1));
	PG_FREE_IF_COPY(a, 0);
	PG_RETURN_INT32(result);
}
Ejemplo n.º 2
0
Archivo: _int_op.c Proyecto: 50wu/gpdb
Datum
idx(PG_FUNCTION_ARGS)
{
	ArrayType  *a = (ArrayType *) PG_GETARG_ARRAYTYPE_P(0);
	int32		result;

	CHECKARRVALID(a);
	result = ARRNELEMS(a);
	if (result)
		result = intarray_match_first(a, PG_GETARG_INT32(1));
	PG_FREE_IF_COPY(a, 0);
	PG_RETURN_INT32(result);
}