From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Toni Casueps <casueps(at)hotmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Funciones C |
Date: | 2007-06-13 16:12:19 |
Message-ID: | 20070613161219.GB11499@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Toni Casueps escribió:
>
> He creado una función en C y funciona, pero tengo un problema cuando
> quiero modificarla: cada vez que recompilo el fichero .so y lo pongo en el
> directorio /usr/lib64/pgsql provoca una violacion de segmento en el
> servidor Postgres... He probado a borrar la funcion antes de copiar el
> fichero y crearla otra vez una vez copiado pero ocurre lo mismo
Y que haces al momento de copiar el nuevo archivo? La verdad es que
esto no deberia pasar, porque el servidor deberia estar ejecutandose
desde las copias en memoria; no deberia releer el archivo de disco
(supongo que si lo releyera, deberia continuar usando el descriptor
antiguo, es decir, no deberia ver el archivo nuevo).
Has probado usando LOAD?
> Por otro lado en la función que estoy haciendo estoy trabajando con
> cadenas, y me está dando problemas con el final de estas. Es posible que
> no esten terminadas con el caracter '\0'? He leido la seccion de funciones
> C del manual y n odice nada.
Los tipos de datos varchar, text, etc no son terminadas en 0 -- no son
cadenas C normales. Puedes convertirlas si quieres, usando
DirectFunctionCall1(textout, TextGetDatum(texto))
o algo de ese estilo. Asegurate de quitarlas de TOAST eso si ...
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | José Ruiz aguilera | 2007-06-13 19:14:07 | Re: problema de novato con cursores |
Previous Message | Alvaro Herrera | 2007-06-13 15:17:25 | Re: Excepciones en funciones sql |