Ejemplo n.º 1
0
Datum
difference(PG_FUNCTION_ARGS)
{
	char		sndx1[SOUNDEX_LEN + 1],
				sndx2[SOUNDEX_LEN + 1];
	int			i,
				result;

	_soundex(text_to_cstring(PG_GETARG_TEXT_P(0)), sndx1);
	_soundex(text_to_cstring(PG_GETARG_TEXT_P(1)), sndx2);

	result = 0;
	for (i = 0; i < SOUNDEX_LEN; i++)
	{
		if (sndx1[i] == sndx2[i])
			result++;
	}

	PG_RETURN_INT32(result);
}
Ejemplo n.º 2
0
Datum
soundex(PG_FUNCTION_ARGS)
{
	char		outstr[SOUNDEX_LEN + 1];
	char	   *arg;

	arg = text_to_cstring(PG_GETARG_TEXT_P(0));

	_soundex(arg, outstr);

	PG_RETURN_TEXT_P(cstring_to_text(outstr));
}
Ejemplo n.º 3
0
Datum
soundex(PG_FUNCTION_ARGS)
{
	char		outstr[SOUNDEX_LEN + 1];
	char	   *arg;

	arg = _textout(PG_GETARG_TEXT_P(0));

	_soundex(arg, outstr);

	PG_RETURN_TEXT_P(_textin(outstr));
}