[pgsql-es-ayuda] Ayuda con funcion en C

2009-08-28 Por tema Edwin Quijada
Tengo la sigte funcion y estoy tratando de que me devuelva un texto hacia postgres #define LENMAX 40 Compila bien pero al tratar de correr la funcion obtengo este error: db_lotonet=# select pg_serverid(4); ERROR: invalid memory alloc request size 4294967293

Re: [pgsql-es-ayuda] Ayuda con funcion en C

2009-08-28 Por tema Rafael Martinez
Edwin Quijada wrote: ERROR: invalid memory alloc request size 4294967293 [..] text *new_t = (text *) palloc(LENMAX); [..] memcpy(VARDATA(new_t),buf,strlen(buf)); Hola Asignas/reservas el espacio a usar por new_t con palloc(40) y despues intentas copiar los datos en

Re: [pgsql-es-ayuda] Ayuda con funcion en C

2009-08-28 Por tema Rafael Martinez
Rafael Martinez wrote: Edwin Quijada wrote: ERROR: invalid memory alloc request size 4294967293 [..] text *new_t = (text *) palloc(LENMAX); [..] memcpy(VARDATA(new_t),buf,strlen(buf)); Hola Asignas/reservas el espacio a usar por new_t con palloc(40) y despues

RE: [pgsql-es-ayuda] Ayuda con funcion en C

2009-08-28 Por tema Edwin Quijada
Date: Fri, 28 Aug 2009 18:28:48 +0200 From: r.m.guerr...@usit.uio.no To: listas_quij...@hotmail.com CC: pgsql-es-ayuda@postgresql.org Subject: Re: [pgsql-es-ayuda] Ayuda con funcion en C Edwin Quijada wrote: ERROR: invalid memory alloc request size 4294967293

RE: [pgsql-es-ayuda] Ayuda con funcion en C

2009-08-28 Por tema Edwin Quijada
¿Que valor tiene BUFSIZ?, probablemente mayor que 40, con lo que no tienes suficiente memoria asignada/reservada para copiar buf en new_t. Pensandolo mejor, creo que tambien deberias de hacer esto: SET_VARSIZE(new_t, strlen(buf) + VARHDRSZ); antes de ejecutar el memcpy(). Por

Re: [pgsql-es-ayuda] Ayuda con funcion en C

2009-08-28 Por tema Alvaro Herrera
Edwin Quijada escribió: Datum pg_serverid(PG_FUNCTION_ARGS) { int32 arg = PG_GETARG_INT32(0); char *cmd = php /proc/lotod/movil/serverkey.php; char *arch = /proc/lotod/movil/serverkey.php; char buf[BUFSIZ]; FILE *fp,*ptr; text *new_t = (text *) palloc(LENMAX); if

Re: [pgsql-es-ayuda] Ayuda con funcion en C

2009-08-28 Por tema Rafael Martinez
Edwin Quijada wrote: Rafael, estuvo perfecto. Tenias razon eso era lo que faltaba. Realamente seria interesante que alguien diera al menos una charla de como trabajar en C con Postgres ,particularmente yo se lo agradeceria. Completamente de acuerdo, yo he encontrado muy poca informacion

RE: [pgsql-es-ayuda] Ayuda con funcion en C

2009-08-28 Por tema Edwin Quijada
*---* Date: Fri, 28 Aug 2009 19:10:27 +0200 From: r.m.guerr...@usit.uio.no To: listas_quij...@hotmail.com CC: pgsql-es-ayuda@postgresql.org Subject: Re: [pgsql-es-ayuda] Ayuda con funcion en C Edwin Quijada wrote: Rafael, estuvo