From: | Carlos Moreno <moreno_pg(at)mochima(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Why is create function bringing down the Backend server? |
Date: | 2005-12-22 16:52:47 |
Message-ID: | 43AAD9DF.5080008@mochima.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I'm trying to add additional functionality to the contrib/pgcrypto
branch (at least for my own use, although ideally, I'd like to
make whatever additions good enough as to be accepted as part of
the PG distribution)
Anyway, I wanted to add hash functions (SHA-1 is already there,
so I'd like to add SHA-256 and SHA-512 at the very least, and
maybe also, for completeness, SHA-224 and SHA-384).
Anyway, I started with an implementation of SHA-1 that I already
have (since it is easy to test/debug, as I only have to compare it
with the already-existing sha1 function in pgcrypto).
I got it to work nicely, and I tried several millions randomly-
generated strings, and the result of my hash function matches
the result of pgcrypto's sha1 function.
The problem is, when I execute the SQL statement:
create or replace function sha1 .... ;
for the second time (i.e., after making modifications and
recompiling), the *backend* crashes -- it then restarts
automatically, and then I run again the create or replace
statement, and it works now (and the function seems to
work fine -- well, in its "final" version it does).
I know the list of possible causes may be nearly infinite, so
I put the modified file (I removed most of the other stuff from
the original pgcrypto.c file, and left the pg_digest function,
which is the one that computes hashes, and the one that I
used as a model to create mine):
http://www.mochima.com/tmp/pgcrypto.c
I also modified the SQL script file to include my function;
this (when I execute this script) is precisely the moment at
which the PG backend crashes (well, it shuts down anyway):
http://www.mochima.com/tmp/pgcrypto.sql
Any ideas of what I'm doing wrong?
BTW, I compiled with the provided Makefile, then copy the .so
files to /usr/local/pgsql/lib directory, and ran /sbin/ldconfig
(that directory is included in my /etc/ld.so.conf file). I'm
running PG 7.4.9 on a Linux FC4 on a Dual-Core Athlon64 (kernel
x86_64-smp).
Thanks for any comments/feedback! (please by kind, as this is
my first attempt ever at creating PG functions -- but please
be tough! Don't hold back valuable feedback just because you
don't want to hurt my baby feelings! :-))
Carlos
--
From | Date | Subject | |
---|---|---|---|
Next Message | Ted Byers | 2005-12-22 17:19:10 | Stored procedure |
Previous Message | Tom Lane | 2005-12-22 16:47:13 | Re: [GENERAL] Running with fsync=off |