A funcao esta travando.
Gostaria de colcar o retorno em um tipo char ou text ?
O seu exemplo esta comendo a primeira letra, a versão 8.3 não tem
cstring_to_text ?
#include "pg_config.h"
#include "postgres.h"
#include "fmgr.h"
#include "mb/pg_wchar.h"
#include "utils/elog.h"
#include "utils/builtins.h"
#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
#endif
PG_FUNCTION_INFO_V1(foobar);
Datum
foobar(PG_FUNCTION_ARGS)
{
text * str_text;
str_text =DatumGetTextP(DirectFunctionCall3(replace_text,
CStringGetDatum("JOAO DE MARIA"),CStringGetDatum(" DE "), CStringGetDatum(" E
")));
return str_text;
}
Em 22/10/2010 14:37, Euler Taveira de Oliveira < [email protected] > escreveu:
mateusgra escreveu:
> error: too many arguments to function 'replace_text'
> replace_text("TEXTO RET TEXTO", "RET", "TEXTO")
>
Você esqueceu de utilizar a representação interna do PostgreSQL. Tente algo
como:
#include "postgres.h"
#include "utils/builtins.h"
PG_MODULE_MAGIC;
PG_FUNCTION_INFO_V1(foobar);
Datum
foobar(PG_FUNCTION_ARGS)
{
Datum result;
result = DirectFunctionCall3(replace_text,
PointerGetDatum(cstring_to_text("Euler Taveira di Oliveira")),
PointerGetDatum(cstring_to_text("di")),
PointerGetDatum(cstring_to_text("de")));
return result;
}
--
Euler Taveira de Oliveira
http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral