Error when getting text longer than MaxLongVarcharSize

Error when getting text longer than MaxLongVarcharSize

am 30.03.2006 14:35:19 von akl

Hi,

When fetching text data longer than MaxLongVarcharSize, the driver=20
returns the length of the actual data in the database rather than the=20
truncated length to retrieve.

The last parameter (StrLen_or_IndPtr) to SQLBindCol() is a pointer to=20
where to place the length of the data to get. When we later call=20
SQLExtendedFetch() it will update this value to be the length of the=20
string. If you have a text in the database which is longer than the=20
MaxLongVarcharSize the ODBC will truncate the value to return down to=20
MaxLongVarcharSize (as printed in the log file).

The bug is that in version 08.01.200 (ANSI) SQLExtendedFetch() updates=20
the string length to be the length in the database and NOT the length of=20
the actual (truncated) value returned. We later rely on this value to=20
get the string value from memory. We use PostgreSQL 8.1.3 on Debian=20
Sarge and ODBC on Windows.

I hope this is enough information to enable you locate the bug. If you=20
need more information or MyLog please let me know, but I have not=20
attached it because my posts with log attachments does not seem to get=20
through on this mailing list.

Best regards,

=C5smund Lie



---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Re: Error when getting text longer than MaxLongVarcharSize

am 01.04.2006 08:30:52 von Hiroshi Inoue

=C5smund Kveim Lie wrote:
> Hi,
>=20
> When fetching text data longer than MaxLongVarcharSize, the driver=20
> returns the length of the actual data in the database rather than the=20
> truncated length to retrieve.

Not only in the above case but in other all cases the ODBC driver returns
actual length not the truncated length.

regards,
Hiroshi Inoue

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster