Changes to C interface from 7.0 to 7.1
I have a function like this:
VARSIZE(result) = result_size - 1;
sha1_init(C);
sha1_write(C, VARDATA(arg), VARSIZE(arg)-VARHDRSZ);
anyway, the problem is that VARSIZE is no longer defined in a way that
I can make assignments to in 7.1. Does anyone have any sugestions?
Also, if there is an SHA1 function built in, I might as well use that,
but I still need to have my own user-defined C for other things. For
instance, I have a challenge-response function that works with the
CryptoCard token, linked directly into PG, which I need to recompile
for 7.1.
Thanks
"Dr. Evil" <drevil@sidereal.kz> writes:
anyway, the problem is that VARSIZE is no longer defined in a way that
I can make assignments to in 7.1. Does anyone have any sugestions?
Use VARATT_SIZEP.
src/backend/utils/adt/ is a rich source of examples to follow when you
have questions like this ...
regards, tom lane
"Dr. Evil" <drevil@sidereal.kz> writes:
anyway, the problem is that VARSIZE is no longer defined in a way that
I can make assignments to in 7.1. Does anyone have any sugestions?Use VARATT_SIZEP.
src/backend/utils/adt/ is a rich source of examples to follow when you
have questions like this ...
Thanks for the tip on that. That helps, but the documentation is
still incomplete. I was reading the docs, and those files in
src/backend/utils/adt/, and they all include "postgres.h" and
"fmgr.h", from src/include. Do I need to include anything from
/usr/local/pgsql/include? If not, shouldn't the postgres.h and fmgr.h
files be somewhere in /usr/local/pgsql/include?
After I changed the macros I was using to the V1 style, and included
postgres.h and fmgr.h, it worked, and now I can get my SHA1 hashes
again, but I want to understand what I'm doing.
Slightly confused by the new C interface...
Now if only I could also link in gpg I would have everything...
"Dr. Evil" <drevil@sidereal.kz> writes:
... shouldn't the postgres.h and fmgr.h
files be somewhere in /usr/local/pgsql/include?
make install-all-headers is needed if you want to do backend-side
code development using the installed headers. By default, only
headers for client programming are installed.
regards, tom lane