Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
None
-
None
Description
When a table has varchar column and the varchar column size is defined bigger than 32K, MXOSRVR server may return truncted string to client application in certain circumstances.
Circumstance 1:
varchar column is defined as "Not NULL", length of the string stored in the varchar column < 32K, then MXOSRVR will truncate the last 2 characters of the string.
Eg:
CREATE TABLE T1 ( C1 varchar (200000) NOT NULL);
insert into T1 values ('aaaaaaaaaaaaaaaaaaaEE');
select * from T1; --> MXOSRVR will truncate the last 2 characters 'EE', returns 'aaaaaaaaaaaaaaaaaaa' to clients.
Circumstance 2:
varchar column is defined as "Not NULL", length of the string stored in the varchar column > 32K, then MXOSRVR can only return the first 3392 characters to client application.
Eg:
CREATE TABLE T1 ( C1 varchar (200000) NOT NULL);
insert into T1 with a sting longer than 32768 characters
select * from T1; -> MXOSRVR only returns the first 3392 characters.
Circumstance 3:
varchar column is defined as "NULLABLE", length of the string stored in the varchar column > 32K, then MXOSRVR will truncate the last 2 characters of the string.
Eg:
CREATE TABLE T1 ( C1 varchar (200000));
insert into T1 with a sting longer than 32768 characters
select * from T1; -> MXOSRVR will truncate the last 2 characters of the string.