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)
- LM_LOGFILE=true|false|number_of days option added to $LICENSE_OPTIONS for controlling if and when license messages are sent to the Uniface log file.
'ioprint' 64 now outputs the license's Max Release Date into the message frame and log file.
|
Currencies
- Add support for PostgreSQL 15 (PGS U1.7) on Windows.
|
Fixes
UNI-32904 | StructToJson: member with value does not cause warning when jsonDataType=null annotation is specified |
UNI-32891 | StructToJson: conversion of Boolean values inconsistent with the jsonDataType=boolean annotation |
UNI-32847 | structToXML/schema failed to write nil="true" in xml element's tag |
UNI-32237 | Detached instance might disappear from instance pool when using handle |
UNI-32904 - StructToJson: member with value does not cause warning when jsonDataType=null annotation is specified
Solution available in patch(es): 10.4.02-023
Description:
Converting a scalar Struct that has a value and is tagged as null does not throw a warning when converting to JSON (using jsonToStruct).
Consider the following code:
variables
boolean vBool
struct vStruct
string vJson
endvariables
vStruct = $newstruct
vStruct->notNull = "abc"
vStruct->notNull->$tags->jsonDataType = "null"
structtojson vJson, vStruct
putmess $procreturncontext
putmess vJson
The output in vJson is: "{"notNull":null}"
And there is no warning in $procreturncontext that the scalar value of vStruct->notNull is actually not empty.
Environment:
+Uniface: Version 10
+Operating System: OS independent
+Database: DBMS independent
Workaround:
Make sure that the value of the scalar Struct that is tagged as null (jsonDataType=null) is empty.
Notes:
This problem is solved.
UNI-32891 - StructToJson: conversion of Boolean values inconsistent with the jsonDataType=boolean annotation
Solution available in patch(es): 10.4.02-023
Description:
Converting a scalar Struct that is tagged as Boolean to JSON (using jsonToStruct) is inconsistent if the value is not "T" or "F" ("on"/"off"; "yes"/"no"; "y"/"n"; "true"/"false"; 1/0). Any string that is up to 5 characters long (an is not one of the previous mentioned values) is converted to the JSON Boolean value false. In case the string is longer than 5 characters then the value is set to null in JSON.
Environment:
+Uniface: Version 10
+Operating System: OS independent
+Database: DBMS independent
Workaround:
Make sure that the scalar value of the Struct member that is tagged as Boolean (jsonDataType=Boolean) is one of the following:
* "T"/"F"
* "on"/"off"
* "yes"/"no"
* "y"/"n"
* "true"/"false"
* 1/0
Notes:
This problem is solved.
UNI-32847 - structToXML/schema failed to write nil="true" in xml element's tag
Solution available in patch(es): 10.4.02-023
Description:
structToXML/schema failed to write nil="true" in xml element's tag if the struct member corresponding to a schema element for which nillable="true" has no value or is empty "".
Environment:
+Uniface: Version 10
+Operating System: OS independent
+Database: DBMS independent
Workaround:
None.
Notes:
This problem is solved.
UNI-32237 - Detached instance might disappear from instance pool when using handle
Solution available in patch(es): 10.4.02-023
Description:
Under certain circumstances a detached instance that has been created using a handle can disappear from instance pool. When checking $detachedinstances and $instances(<componentname>) then the instance is not listed anymore. $componentname(<instancename>) will also not return the expected result.
Consider the following scenario:
FORM1 creates an attached instance of SVC1 and SVC1 will create a detached instance of SVC2. The instance handle is stored in a component variable of type public handle on SVC1. From FORM1 an operation is then called that will pass the instance handle of SVC2 back to FORM1 (where it again is stored in a component variable). When SVC1 is deleted then the instance of SVC2 is removed from the instance pool (the instance cannot be found anymore in (e.g.) $detachedinstances or $instances, but the instance itself still exists and can be called. The detached instance will be deleted (as expected) when the component variable with the handle in FORM1 is cleared.
Environment:
+Uniface: Version 10
+Operating System: OS independent
+Database: DBMS independent
Workaround:
When passing a Handle between caller and callee by means of a Struct member, instead of directly passing the Handle, the described problem does not occur. This workaround is only applicable for cases where caller and callee are in the same process.
Notes:
This problem has been solved.