diff options
author | Bruce Momjian <bruce@momjian.us> | 1999-10-13 02:26:37 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1999-10-13 02:26:37 +0000 |
commit | 7ee7ee1398acb2ba8e1738a4d959025e43df8820 (patch) | |
tree | ce63ab0bb06c9c7769478417b36188c10a7e1fe2 /src/backend/executor/nodeHash.c | |
parent | 714efa88db22dab1b78f7002dbd190881621005b (diff) | |
download | postgresql-7ee7ee1398acb2ba8e1738a4d959025e43df8820.tar.gz postgresql-7ee7ee1398acb2ba8e1738a4d959025e43df8820.zip |
BLOBs containing NUL characters (ASCII 0) can be written to the
database, but they get truncated at the first NUL by lo_read
when they are read back. The reason for this is that lo_read in
Pg.xs is using the default:
OUTPUT:
RETVAL
buf
which uses C's strlen() to work out the length of the scalar.
The code ought to read something more like:
OUTPUT:
RETVAL
buf sv_setpvn((SV*)ST(2), buf, RETVAL);
I am not sure if this needs to be done on both lo_read methods
in this file, but I changed both and have not since had any
problems with truncated BLOBs.
Douglas Thomson <dougt@mugc.cc.monash.edu.au>
Diffstat (limited to 'src/backend/executor/nodeHash.c')
0 files changed, 0 insertions, 0 deletions