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

Responder a