Date: 02-14-2012 Subject: RELEASE 9.5B DATA Manager Files These release notes pertain to the following programs or files: SUNDM.EXE 9.5B1 14 Feb 2012 9,5,2,501 SUNDM64.EXE 9.5B1 14 Feb 2012 9,5,2,501 *============================================================================== The following files have been changed as noted: ------------------------------------------------------------------------------- SUNDM - Modified to log odbc sort error information when the log level is set to two. - Modified the odbc sort processing to attempt to create a temporary file at the current working directory after the first attempt to create a temporary file has failed. This change is to allow the odbc sort to work around a problem where the directory specified by the TEMP UET keyword in the Windows OS variables does not have a valid path defined. - Modified the Data Manager to support a new keyword named 'DM_DELAYCLOSE={on|off}'. This keyword is placed in the [Environment] section of SUNDM.CFG file. If this keyword is not specified in the SUNDM.CFG file, the default behavior does not use any delayed close operations. Also note, the use of this keyword ONLY affects the closing operations of a 9.5B runtime version or later. When this keyword is set to 'on', a 9.5B runtime version or later delays the closing action of any managed AFILE, IFILE, or FILE. The intended use of this keyword is to improve the performance of a PLB runtime when a program is closing AFILE, IFILE, or FILE variables that are opened via a SUNDM Data Manager. Note: 1. The program closing action for managed AFILE, IFILE, or FILE variables are delayed until one of the following conditions occurs: 1) A maximum of 50 files to a specific SUNDM is delayed. 2) All opened files to a specific SUNDM are closed. 3) Any PLB language instruction is encountered in a program that requires a log-on to a specific SUNDM. This includes OPEN PREP, AAMDEX, INDEX, RENAME, SORT, COPYFILE, and any other instructions that logs onto a SUNDM server. 4) More than 2 seconds elapses between the first close and a keepalive runtime check. This is to prevent any unnecessary wasted time to close files opened at a SUNDM server. 5) Any PLB language instruction that can suspend keepalive messages to a SUNDM server. As an example, an PLB instructions that would cause a Windows OS dialog to be presented. As an example, a PLB ALERT would cause the keepalive messages to a SUNDM to be suspended. This same instruction would cause any delayed/queues close operations to be sent to a SUNDM to be performed. 2. The DM_DELAYCLOSE keyword should not be used except in extreme scenarios where there are an excessive large number of users using files opened at a specific SUNDM server. It would be recommended that this keyword should NOT be used unless there are more than a 1000 users logged on to a Data Manager. - Corrected a problem where a READKP or READKS instruction performed with a FILTER could prematurely set the OVER flag. - Corrected a problem where the FILTER comparisons for an array was just matching the first element of the array. The original intent was to allow a FILTER to match any of the elements in an array when an array index was not specified. Example of Array Comparison without Index: FILTER F, "PRODCODE = '3'" This FILTER looks to match any element in the PRODCODE array that is 3. - Corrected a problem where the '(' character was not allowed as a termination character for the FILTER operators AND, OR, NOT, OVER, NOCASE, and LIKE. Prior to this change, these FILTER operators had to have a WS (blank) character as the termination character. Example of Acceptable Unary Operator Syntax: FILTER F, "OVER (NAME = 'Bill')" FILTER F, "OVER(NAME = 'Bill')" ;Now allowed by this change! - Corrected a problem where the FILTER instruction comparison did not allow a syntax format where an index was specified for a array. Example of Array with an Index: FILTER F, "PRODCODE(4)='4'" This FILTER matches the 4th element of the PRODCODE array to be 4. - Corrected issue where an array at the end of a VIEW definition caused the record size to be miscalculated. - 9.5B1 - Corrected a problem where a FILEPI for an IFILE would hang after the COUNTKEYS instruction was execute using the same IFILE. This problem was caused by a change in the 9.5B patch release. ------------------------------------------------------------------------------- SUNDM64 (Windows) - Corrected a problem where a 64 bit version of the Data Manager was giving an unexpected 'not installed' error after the installation was completed. ------------------------------------------------------------------------------- SUNDM (Unix) - Corrected a problem where the odbc sort would not work when more than 299 rows of data were being sorted. This would cause a D203 error with an extended error code of 205 to be generated because a temporary sort work file was not being created. -------------------------------------------------------------------------------