Downloads
Product availability Matrix (PAM)
Downloads of this patch are available from the
Rocket Customer Support Portal.
Further explanation can be found
here.
New Feature(s)
- Security related code improvements for Windows platforms.
|
Fixes
UNI-37836 | For columns containing concatenations or literal strings in 'select' SQL statements, the PGS connector only returns the first character of the data retrieved. |
UNI-37836 - For columns containing concatenations or literal strings in 'select' SQL statements, the PGS connector only returns the first character of the data retrieved.
Solution available in patch(es): 10.4.02-055
Description:
For columns containing concatenations or literal strings in 'select' SQL statements, PostgreSQL is unable to calculate the correct column width and therefore returns the default maximum of a LONGVARCHAR field, which by default is 8190. The connector previously saw this as an error and, in order not to overflow the internal I/O buffer, reduced the size of the erroneous column to just 1. However, PostgreSQL also returns this number for columns that are not in error if these columns contain concatenations or literal strings. The solution is therefore not to regard this as an error, but to temporarily enlarge the internal I/O buffer such that 8190 bytes will fit, since there is no way to know what the actual size of the column is.
Environment:
+Uniface Version : 10.4.02
+Operating System : OS independent
+Database : PostgreSQL
Workaround:
As a workaround you can change the ODBC configuration of the PostgreSQL data source you are using to connect Uniface to PostgreSQL. If you change the value of the 'Max LongVarChar' option to a lower value than 8190 this problem will not occur. Or, if you uncheck the 'Text as LongVarChar' checkbox this problem will also no longer occur; the value PostgreSQL returns will then be 255 instead of 8190.
Notes:
This problem is solved.