Progress OpenEdge 10.2B06 Service Pack Readme Ports: All Date: March, 2012 -------------------------------- Copyright (c) 1984-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. To access third party product licenses, go to the 'licenses' directory located in the OpenEdge installation directory. For example, go to C:/OpenEdge/licenses. Additional third party license information for zlib v1.2.3: Copyright (c) 2006-2007, ComponentAce http://www.componentace.com All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of ComponentAce nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Read these On-line Release Notes ================================ It is important to read these on-line release notes. They are the primary release notes. The hard-copy release notes supplement them, but do not replace them. The on-line release notes are on the distribution medium as two text files: * READMESP * READMESP.txt The files have identical content. In addition, the distribution medium includes the following HTML report files which list the issues addressed in all Service Packs for this release - organized by version, issue number (CR ID), or product component. * PROGRESS_OE__VERSION.htm (Lists fixed issues by Version) * PROGRESS_OE__ISSUE.htm (Lists fixed issues by Issue Number) * PROGRESS_OE__COMPONENT.htm (Lists fixed issues by Component) -------------------------------- This readme file contains the following information: - Installation Instructions - Product Notes - List of Issues Addressed in 10.2B Service Packs ======================================================================== INSTALLATION INSTRUCTIONS -------------------------------------------------------------------------------- This section contains the following information: - Before you install this Service Pack. - About the Backup and Selective Install Functionality. - Starting the Service Pack Installation. - Installing the Service Pack in Silent or Batch Mode. - Recovering a Previous Installation. - Reporting Problems with the Service Pack Installation. BEFORE YOU INSTALL THIS SERVICE PACK: ------------------------------------- 1. Make sure you shut down any instances of OpenEdge that you have running before installing this Service Pack. If you do not, when you run the Service Pack installation, you might receive messages indicating that some files could not be copied on top of other files (because they are locked/in use by another process). Check with your system administrator if you do not know how to shut down OpenEdge. 2. Read through the entire INSTALLATION INSTRUCTIONS (see next section below) before proceeding. 3. If your client and server are installed on the same physical machine and have different levels installed, your machine might experience shared memory problems. For more information about this issue, refer to the following Progress Solutions (accessible via the Progress Software Support Web site: http://www.progress.com/openedge/support) P132 :"What Type of Connection is Possible from Client to Server when the Progress versions differ?" P13987: "What causes shared memory version errors 1178 and 1423?" 4. Log in as "Administrator" or as a user with Administrator privileges. If you do not know the Administrator password for your system, check with your system administrator. 5. For UNIX only: Make sure the DLC environment variable is set to the directory that contains the OpenEdge installation you want to Service Pack. If the DLC variable has not been set, then enter one of the following commands to set it: Shell Commands (assume "/dlc" is the OpenEdge directory) ------- ---------------------------------------------- sh, ksh DLC=/dlc ; export DLC csh setenv DLC /dlc ABOUT THE BACKUP and SELECTIVE INSTALL FUNCTIONALITY ---------------------------------------------------- The Service Pack installation offers you two key functions: * The option to create a backup of existing files. * The ability to install only those files relevant to your license. The Service Pack installation will ask if you want to backup existing files. If you choose to create a backup, you will have the option of changing or accepting the default backup location, and the backup will be created for only those files that are about to be updated via the Service Pack. The Service Pack installation will then determine what OpenEdge license(s) have been installed. Based on that information, the install will unpack from the Service Pack archives, only the files that are relevant for the license(s) installed. The end of the installation presents the option to review the Service Pack README file (this file) and the SP(n)-log.txt file which contains a list of files installed and backed up if a backup was executed. The installation saves the readmesp and log files to your Install directory so you can also view them later. STARTING THE SERVICE PACK INSTALLATION -------------------------------------- UNIX: ----- 1. Unpack the downloaded image to its own directory. 2. From a directory other than the Service Pack image directory, issue the following command: / Windows: -------- 1. Unpack the downloaded image to its own directory. 2. Using Windows Explorer, go to the Service Pack directory, and double-click the 'Setup' icon to begin the installation. INSTALLING THE SERVICE PACK IN SILENT OR BATCH MODE --------------------------------------------------- Silent or batch install is available for Service Packs on UNIX and Windows. UNIX ---- A normal (interactive) installation will prompt you for required information with dialog boxes. A batch install will not prompt for your input. It will read the required information from an installation INI file. By default, the batch install will look for the "install.ini" file in your current directory. You must create the INI file before you run a silent install. If no INI file is found, the installation will fail. Here are the contents of a sample INI file: [Service Pack] ProgressInstallDir=/usr/OpenEdge/101B/dlc ReInstall=1 Backup=1 BackupDir=/usr/OpenEdge/101B/SP_Backup BackupOverwrite=1 To perform a batch install, run the following command (all one line): /proinst -b /install.ini -l / If you do not specify a filename with the -l switch, the install script uses the install.log filename, by default. If you do not specify a directory for the -l switch, the install script uses the first of the following environment variables found: TMP, TEMP, TMPDIR. Windows ------- A normal (non-silent) installation will prompt you for required information with dialog boxes. The silent install will not prompt for input. It will read the required information from a response file, typically named response.ini. A response.ini file is automatically generated when you run an interactive installation. There is a file named response.ini that is kept in the \install directory. You must create the response.ini file before you run a silent install. To have the install program create a response.ini file, run an interactive (non-silent) install and specify to record the user inputs with the following command: drive:\setup.exe -psc_r -psc_f1=c:\\response.ini Alternately, you can manually create a response.ini file. The following sample provides the default responses to an initial Service Pack install: ========================== BEGIN SAMPLE RESPONSE FILE ========================== [InstallShield Information] Version=7.1.100.1242 [Application] Name=OpenEdge Version=10.1B Company=Progress Software File=Response File ; ; DESCRIPTION of Welcome Dialog ; ; Result - is used as the return code for this section. Only a value of 1 is ; acceptable. ; [Welcome Dialog] Result=1 [Service Pack Backup Directory Dialog] _nSPBackup=0 _sSPBackupDir=C:\Progress\OpenEdge\SPBackup Result=1 ; ; DESCRIPTION of Summary Dialog ; ; Result - is used as the return code for this section. Only a value of 1 is ; acceptable. ; [Summary Dialog] Result=1 [SdFinish] Result=1 bOpt1=0 bOpt2=0 ========================== END SAMPLE RESPONSE FILE ========================== To perform a silent install, issue the following command: drive:\setup.exe -psc_s -psc_f1=c:\\response.ini [-psc_f2=c:\\setup.log] If you choose to create a log file, the contents of a successful silent install will be as follows: [InstallShield Silent] Version=v7.00 File=Log File [ResponseResult] ResultCode=0 RECOVERING A PREVIOUS INSTALLATION ---------------------------------- If you created a backup during the Service Pack installation, you can restore your installation to its original state if so desired. Because the backup saves the files just prior to installing the Service Pack it is possible only to return to that point. If multiple Service Packs have been installed, it is not possible to roll back through each Service Pack unless backups have been saved for each installation in separate directories. Each backup would have to be restored in the reverse order from which they were installed. To restore your 10.1A installation to its original state prior to installing the Service Pack, do the following: UNIX: 1. cd 2. cp -R * <101B-install-directory> WINDOWS: 1. Using Windows Explorer, navigate to the /. 2. Choose Edit->Select All, and choose Edit->Copy. 3. Go to and choose Edit->Paste. This will recursively copy the files saved in the backup to your 10.1B installation directory, thereby restoring the DLC area to its original state prior to installing the Service Pack. REPORTING A PROBLEM WITH THE SERVICE PACK INSTALLATION ------------------------------------------------------ If you encounter problems with the installation of the Service Pack, or with the OpenEdge product as a result of installing the Service Pack, please contact Technical Support at www.progress.com. ========================================================================= PRODUCT NOTES 1. Installation Service Pack 2. ABL Object-oriented ABL ProDataSet Security 3. Adapter for Sonic ESB 4. Database Administration Database Utilities Failover Clusters RDBMS 5. DataServers MS-SQL ODBC ORACLE Oracle ORACLE 6. Documentation Administration 7. Management Management 8. Message Number Change 9. Open Client .NET Bridge Java 10. OpenEdge Architect AppBuilder Support Editing Project Visual Designer 11. OpenEdge GUI for .NET .NET UI Language 12. OpenEdge Replication Replication Server 13. Porting 14. Progress Explorer 15. SQL ESQL92 ODBC Drivers Server SQL 16. WebClient WebClient App Assembler ================================================ Installation - Service Pack ================================================ Note: OE00200106 Type: Known Issue WebClient 10.2B01 installer installs on top of other 10.2Bxx releases --------------------------------- The installer for 10.2B01 WebClient contains a bug that incorrectly allows it to install on top of other 10.2Bxx WebClient releases. Do not attempt to install WebClient 10.2B01 on other 10.2Bxx WebClient releases. ================================================ ABL - ================================================ Note: OE00190401 Type: Behavior Change Nested Blocks startup parameter maximum increased to 20,000 --------------------------------- For Release 10.2B the maximum number of nested blocks has increased to 20,000. The Nested Blocks (-nb) default setting has increased from 90 to 100. The argument parser now allows a maximum Nested Blocks (-nb) setting of 20,000. Note: OE00193613 Type: Behavior Change New startup parameter -IOEverywhere --------------------------------- Until now, ABL has had a restriction on where an input-blocking statement ( UPDATE, SET, PROMPT-FOR, CHOOSE, INSERT, WAIT-FOR, READKEY, or PROCESS EVENTS) could be used. For example, you could not use an input-blocking statement in a user-defined function or a non-void method. There were also some other places with this restriction, like class destructors and some database trigger blocks. Now, there is a new startup parameter: -IOEverywhere where is either 0 or 1. For service packs of Release 10.2B, the default is 0, which means the new feature is off and everything works as before. But if you specify -IOEverywhere 1, then you will be able to use input-blocking statements in almost every context. There is only one remaining restriction. This occurs if the application: 1. Uses .NET and is in a WAIT-FOR Application:Run() statement. 2. Does a stacked input blocking statement for an ABL non-modal window in one of the places that has always been restricted from doing input-blocking. In these cases, the restriction remains in place. In Release 11, the default will become -IOEverywhere 1, thus removing the restriction (except for the special cases above) without the need to use the startup parameter. Note: OE00194169 Type: Product Notice Additional means of suppressing warning messages --------------------------------- In addition to the previous means of suppressing warning messages, the following new ABL facilities are available in 10.2B03. (a) Suppress Warning List (-swl) startup parameter: ================================ Use this startup parameter to specify the name of a file on PROPATH that contains a list of warning messages to suppress without modifying your existing code. This parameter setting prevents OpenEdge from displaying the specified warning messages from the start of an ABL session until the setting is changed using the SUPPRESS-WARNING-LIST attribute on the SESSION system handle. Each warning message is specified by its number (warning ID). Warning ID's in the file can appear on a single line as a comma-separated list or on separate lines with one ID per line. Comments in the file begin at a pound sign (#) and continue to the end of the line. If the file contains invalid warning ID's or does not exist, OpenEdge displays an appropriate error message and the session does not start. SYNTAX: -swl .txt Where is the name of a .txt file on PROPATH. For example, a .txt file can have the following content: #This file contains a list of warnings to suppress 5407,5408,5410 # added 11/30/2010 (b) Suppress Warnings (-sw) startup parameter: ============================== Use this startup parameter to suppress the display of all warning messages during an ABL session. The -sw startup parameter is equivalent to setting the SUPPRESS-WARNINGS attribute on the SESSION system handle to TRUE. When you specify -sw, SESSION:SUPPRESS-WARNINGS is automatically set to TRUE at session startup. SYNTAX: -sw (c) SUPPRESS-WARNING-LIST attribute: ========================= Data type: CHARACTER Access: Readable/Writable Applies to: SESSION system handle Defines a list of warning messages to suppress, specified as a comma-separated list of warning message numbers (warning ID's). Setting this list stops OpenEdge from displaying the specified warning messages from this point onward during an ABL session. Initially, at ABL session startup, SUPPRESS-WARNING-LIST contains any list of warning ID's specified using the Suppress Warning List (-swl) startup parameter. If -swl is not specified, this attribute contains an empty string. By setting this attribute, any previous list of suppressed warning messages is overwritten, whether the previous list was set using this attribute or the Suppress Warning List (-swl) startup parameter. For example, you can suppress warning messages with the ID's 5407, 5408, and 5410 using the following statement: SESSION:SUPPRESS-WARNING-LIST = ''5407,5408,5410''. NOTE: If you assign a list containing an invalid warning ID, such as a non-positive integer or an error message number, the AVM raises a run-time error. Note: OE00195797 Type: Limitation Sending very large messages on an ABL socket fails on Windows --------------------------------- Using the WRITE method on the Socket object handle to send a very large (32MB+) message will fail on Windows with the following error: Connection failure for host port transport TCP (9407) For example, the following will fail since Winsock does not have the resources to send a single message of such a large size: hSocket:WRITE(mData,1,236730240). The workaround is to break the message into smaller pieces, and send those pieces separately. Note: OE00198887 Type: Behavior Change Subsequent event handlers no longer run after a QUIT or STOP --------------------------------- Previously, if there were multiple ABL subscriptions to a .NET event, and one of them raised STOP or executed QUIT, any subsequent handlers continued to run. Now, if a handler raises STOP or executes QUIT, any handlers for ABL subscriptions that have not yet run do not run. Note: OE00199702 Type: Behavior Change New limit on the -inp startup parameter --------------------------------- The upper limit on the -inp startup parameter has been increased from 32000 to 2,147,483,647. Note: OE00217697 Type: Behavior Change New startup parameter causes AVM to re-read records with missing FIELDS --------------------------------- If a query with a field list (FIELDS or EXCEPT option of the record phrase) reads a partial record, and a field is subsequently referenced that is not in the field list, the AVM normally raises a runtime error (8826). With the -rereadfields startup parameter, the AVM instead suppresses this error and re-reads the full record from the database. ================================================ ABL - Object-oriented ABL ================================================ Note: OE00195343 Type: Behavior Change STOP conditions not getting propagated correctly --------------------------------- A change has been made to how STOP conditions are propagated through ABL code. Previously, certain STOP conditions may not have been getting propagated up through all block levels properly. One specific case that raises a hard STOP condition is a request made to a database for a record after the database has been disconnected. This got propagated through the current procedure or class context, but was raised no further, instead of continuing to be raised at higher levels as it should. There may have been other STOP conditions that behaved in a similar way. Given this change, STOP conditions could start to appear in parts of your ABL code where they previously did not. You would now be required to decide on the proper ABL response to such STOP conditions and to provide STOP handling where applicable to your application objectives. Note: OE00197526 Type: Product Notice Error stack trace can now display CallStack property information --------------------------------- When an error alert box is displayed because the core client (not the application code) catches an error from a thrown ABL error object, the stack trace information reported when SESSION:DEBUG-ALERT is TRUE will point to the line number where the error was caught. However, prior to 10.2B05, it does not include the stack trace reported by the CallStack property at the time the error object was originally thrown. Now, as long as SESSION:ERROR-STACK-TRACE is TRUE, the stack trace information displayed by the error alert box also includes the information returned by the CallStack property on the thrown error object. Note: OE00215337 Type: Product Notice WebClient deploys all .cls files the first time, including ABL super classes --------------------------------- After installing the service pack, the first time you re-deploy an application with WebClient, any .cls file that has an ABL user-defined super class (not a built-in or .NET super class) will get packaged into the update. After that, only .cls files that have changed, or whose super class type information (e.g, super class public or protected methods, properties, data members, temp-tables, etc.) has changed, will get packaged into the update. ================================================ ABL - ProDataSet ================================================ Note: OE00193182 Type: Behavior Change READ-JSON now accepts JavaScript comments --------------------------------- Previously, the READ-JSON( ) method did not allow JavaScript comments. This method now recognizes (and ignores) JavaScript comments. Examples include: /* This is a JavaScript comment that spans multiple lines. */ // This is also a JavaScript comment. ================================================ ABL - Security ================================================ Note: OE00203814 Type: Known Issue Cannot set a client-principal property to the Unknown value (?) --------------------------------- There is a known issue where the SET-PROPERTY( ) method on the client-principal object raises an error if the value it attempts to set is the Unknown value (?). This setting should work without error. Note: OE00212661 Type: Known Issue AUTHENTICATION-FAILED() method changes state of a logged-in client-principal --------------------------------- A client-principal object in the LOGIN state represents the login session of a successfully authenticated user. It should not therefore be valid to execute the AUTHENTCIATION-FAILED() method on a client-principal object in the LOGIN state. In this release, a bug has been introduced that allows this behavior and changes the state of the object from LOGIN to FAILED if the AUTHENTICATION-FAILED() method is executed on a valid, logged-in client-principal object. ================================================ Adapter for Sonic ESB - ================================================ Note: OE00194805 Type: Known Issue OpenEdge development container missing with Sonic 8.0 on Windows --------------------------------- Sonic 8.0 uses a default install directory path that includes 'Program Files'. Specifying a Sonic ESB home directory with a space in the path during the OpenEdge install, previously caused OpenEdge to not correctly configure Sonic for use with the OpenEdge adapters. This issue is resolved in 10.2A03 and 10.2B01 by doing full install tailoring if the ESB home directory has a space in its path. Note: OE00215955 Type: Behavior Change Connnection string limitation for session-managed native ESB Adapter --------------------------------- The combined length of the connection string (composed of a user-id, password, and information fields) must not exceed 30,000 non-Unicode characters when connecting to an AppServer. Exceeding the string length causes an AppServer exception. Note: OE00218017 Type: Product Notice Sonic 8.5 Certification --------------------------------- Sonic 8.5 is certified with the OpenEdge 10.2B06 release. ================================================ Database - Administration ================================================ Note: OE00206989 Type: Behavior Change New VST fields for Alternate Buffer Pool information --------------------------------- Two VST fields that support the Alternate Buffer Pool are added. The fields are: 1. _BuffStatus._BfStatus-LRU2 (INTEGER) -- contains the number of buffers on the LRU2 (Aternate Buffer Pool LRU) chain. 2. _ActBuff._Buffer-LRUEnabled (LOGICAL) -- True if all the buffers in the Alternate Buffer Pool (-B2) are consumed and an LRU replacement algrorithm is utilitzed for buffer eviction. To add these fields to an existing 10.2B database, run PROUTIL UPDATEVST. These fields provide the same information displayed on the Buffer Cache PROMON screen. (PROMON>R&D>1>7) ================================================ Database - Database Utilities ================================================ Note: OE00195194 Type: Limitation Truncate Area does not work on the Audit Area --------------------------------- OpenEdge Data Management: Database Administration erroneously states, in Table 9-5: Protected utilities, that PROUTIL TRUNCATE AREA can be performed on the audit area by a user with the Audit Archiver privilege. PROUTIL TRUNCATE AREA can never be performed on the audit area because the audit tables are internally classified by the database as 'schema' tables, just like _file, _field, etc, and no database utility allows you to truncate areas holding schema tables or move schema tables to another area. Note: OE00196590 Type: Behavior Change Added -keeptargetlfe argument for prorest --------------------------------- By default, restoring a database backup that has large files enabled, enables large files on the target database, even if the target is an existing database without large files enabled. To restore a backup without enabling large files on the target database, a new command line argument, -keeptargetlfe, is added to the PROREST syntax. The new PROREST syntax is as follows: prorest db-name device-name { -vp | -vf | -list | -keeptargetlfe } [-verbose] NOTE: PROREST does not ensure that the target database is sized to hold all the restored data. In the event that the target database is too small, the behavior of PROREST is unchanged, it exits with an error. Note: OE00209287 Type: Behavior Change Service Latch Holder added to PROMON Database Service Manager screen --------------------------------- The "Status: Database Service Manager" PROMON screen is updated with a new entry, "Service Latch Holder". The value displayed for the "Service Latch Holder" is the user number of the user holding the database service manager queue latch. If the value displayed is -1, then the latch is not currently held/locked/owned. To see this value, from the PROMON main menu, choose R&D, then 1, then 16. ================================================ Database - Failover Clusters ================================================ Note: OE00196819 Type: Limitation PROCLUSTER fails when a mount point path is longer than 18 characters --------------------------------- The PROCLUSTER ENABLE command fails to register the database on Solaris if the database resides on a file system where the mount point length exceeds 18 characters. Note: OE00198632 Type: Product Notice Windows Server 2008 R2 Cluster support in 64-bit OpenEdge 10.2B05 --------------------------------- The 64-bit OpenEdge 10.2B05 supports Failover Clusters on Windows Server 2008 R2. Microsoft changed its implementation of Failover Clusters on Windows Server 2008, resulting in minor differences in the way OpenEdge supports clusters. In Windows 2003, OpenEdge used the default group "Cluster Group" to register the RDBMS cluster resources. In Windows 2008, "Cluster Group" is changed to a hidden core group. You cannot view or manipulate a core group in the Failover Cluster Manager in Windows 2008. In OpenEdge 10.2B05, a new group called "OpenEdgeDatabase" is added when you enable an OpenEdge database for clustering. This group is available through the Failover Cluster Manager which enables you to administer the database and other resources. When you enable a database for clustering for the first time, the "OpenEdgeDatabase" group is added to Services and Applications. The OpenEdge database and its dependent disks become resources within this group. If required, you can add more resources (for example, a network name) to this group, using "cluster.exe" and Failover Cluster Manager. See the "OpenEdge Data Management: Database Administration" guide for information on enabling and disabling a database for clusters. Note: OE00217373 Type: Known Issue Windows Cluster support requires PSC_CLUSTER_PATH to be set to the value of DLC --------------------------------- The PSC_CLUSTER_PATH environment variable must be defined and set to the same value as that of DLC for Windows, just as the same as you do for Unix. See Configuration section in the Failover Clusters chapter in the OpenEdge Data Management: Database Administration guide. ================================================ Database - RDBMS ================================================ Note: OE00203575 Type: Behavior Change New Broker startup parameter for Schema Lock Wait Queue: -schlockwq --------------------------------- A new database broker parameter, -schlockwq, alters the schema locking algorithm. When the database broker is started with the -schlockwq switch, the schema lock scheduler forces a shared schema lock request to wait when an exclusive schema lock request is queued. Once an exclusive schema lock request is queued, it appears to all subsequent schema lock requests that an exclusive schema lock has been granted (meaning all subsequent schema lock requests will queue). Without the -schlockwq switch, shared locks continue to be granted, even though an exclusive lock is queued. With the -schlockwq switch, wake up of users waiting for a schema lock is performed in the order they were received. Without the -schlockwq switch, all users are awoken whenever any schema lock conflict is resolved, causing a race to see which user gets the available lock. When running with the -schlockwq switch enabled at broker startup, only those users allowed to get the schema lock will be awoken. All existing lock strength conflicts and properties are unchanged, as follows: *Exclusive locks conflict with shared and exclusive locks for other users. *Share locks may coexist with other share locks but conflict with exclusive locks of other users. *An individual user may possess at most one shared lock and one exclusive lock concurrently. *An individual user may never possess more than one lock of the same lock strength (i.e. two concurrent share locks for the same user is prohibited). *An individual user may only ever have one entry on the wait queue. *These behaviors are inherently supported by each of the language engines and enforced by the storage engine. The -schlockwq switch takes no parameters and has no impact when the database is started in single-user mode. Note: OE00206382 Type: Product Notice Default value of -napmax is changed to 250 --------------------------------- The default value of the broker startup parameter -napmax is changed to 250 from its previous default of 5000. The value of -napmax is the maximum time (in milliseconds) to sleep (nap) after the -spin value is exhausted due to failure to acquire a latch. Increasing the value of -napmax can decrease CPU utilization, and can decrease individual user performance while improving performance of the overall system. Testing by Progress Software has determined that 250 milliseconds is a good default. Changing the value of -napmax away from the default is not recommended. Note: OE00214999 Type: Behavior Change LRU Concurrency Enhancement --------------------------------- Two new buffer pool tuning parameters provide the ability to ease contention on the buffer pool LRU latch by altering LRU replacement policy in both the primary and alternate buffer pools, with the goal of improving throughput performance. The LRU skip parameters allow you to specify the number of times a buffer in the buffer pool is accessed before it is placed on the Most Recently Used (MRU) end of the LRU chain. Accessing a buffer a specified number of times eliminates the need to acquire the LRU latch each time a buffer is accessed. Specifying the LRU skip parameters is helpful when high LRU latch wait timeouts are occurring (observable in promon or by VST). When the LRU skip value is tuned to your environment, contention on the LRU latch decreases, improving concurrency and performance, and there is no increase in the number of page misses in the buffer pool. If increasing the LRU skip value causes increased buffer pool misses, then the value should be tuned down or turned off altogether. Setting the LRUskip value to zero disables the feature, and is the default. LRU skip values can be specified at startup through the startup parameters, -lruskips and lruskips2, or they can be set and adjusted with PROMON or VST. If you modify the value after startup, the change will not take effect on buffers currently in the buffer pool until the current value expires and the buffer is moved to the MRU end of the chain. Restrictions: o Enterprise Licenses only o Not implemented for private buffer pool data access The following components are added or modified as part of the LRU skip enhancement: New database startup parameters: -lruskips -lruskips2 where is a positive integer New VSTs: Table: _BufStatus Field: _BfStatus-LRU-Skips Field: _BfStatus-LRU2-Skips Table: _Startup Field: _Startup-LRUSkips Field: _Startup-LRU2Skips New lines in promon screens: Display: 6. Shared Resources LRU force skips: LRU2 force skips: R&D Section 1. Status Display Menu 7. Buffer Cache LRU force skips: LRU2 force skips: 12. Startup Parameters LRU force skips: LRU2 force skips: New parameter tuning menu options: OpenEdge Release 10.2B Monitor (R&D) 4. Administrative Functions 4. Adjust Latch Options 4. Adjust LRU force skips 5. Adjust LRU2 force skips Note: OE00215538 Type: Workaround Startup parameters to tune networked communication --------------------------------- Startup parameters ease the cost of networked communication in large scale deployments. These parameters allow a DBA to fine tune the behavior of message packing for certain queries as well as how often the poll() system call is invoked. The following parameters are available for Enterprise licenses only: -prefetchDelay -prefetchFactor -prefetchNumRecs -prefetchPriority -Nmsgwait Details on how setting and monitoring these parameters and their interactions are provided in Web paper titled, "Database startup parameters to tune networked communication" available from ESD. Note: OE00218544 Type: Behavior Change Index Rebuild Performance Improvements --------------------------------- There are parameter changes and several new parameters for use with index rebuild. The sort block size (-TB) parameter has a new maximum value. Four new parameters (-TMB, -TF, -datascanthreads, -mergethreads) are available for proutil idxbuild (index rebuild) and support tuning your index build operation to enhance performance. An additional new parameter (-rusage) reports resource statistics when specified. -TB : the sort block size. The maximum value allowed for this parameter is increased from 31 to 64 for index rebuild. -TMB : merge block size. This is the size of the blocks used to merge sorted blocks together. This value can now be specified separately from the sort block size (-TB). The default value for -TMB is the -TB value. The minimum value is the -TB value. If -TMB is set to a value less than -TB, index rebuild will exit. -TF : memory usage factor. This is the percentage of system memory that can be allocated for merging sort buffers when sorting index keys during the index rebuild process. In the past, there was only one sort merge buffer, and when the sort merge buffer became full, the contents were written to the file system. The default value of -TF is 50 (for 50%). Setting -TF 0 results in the pre-10.2B04 behavior. CAUTION: If the memory configuration limits for the process do not allow access to the memory requested, an unpredictable failure may occur, such as being unable to spawn helper threads or other memory allocation failures. Such an error will cause index rebuild to terminate. It is therefore imperative to set the ulimit values appropriately for the index rebuild process. -datascanthreads : the number of concurrent threads used to scan table data associated with the indexes being rebuilt. When specified, -datascanthreads invokes a multi-threaded data scan that spawns threads for the data scan phase. The data being scanned, must meet all of the following criteria for a multi-threaded data scan to occur: o The data area being scanned must be a Type II area o No index within the data area being scanned is also being rebuilt o No index associated with the data area being scanned is a word index o Index rebuild must be run with the "sort" option, that is answering "y" when asked if you have enough room for sorting. If any requirement is not met, the data scan is performed using the original single threaded mechanism. If not specified, the -datascanthreads value defaults to 0, also indicating the original single threaded mechanism. You can confirm that the data scan phase is multi-threaded by observing the following messages during the data scan phase of index rebuild: Processing area 689 : (11463) Start 4 threads for the area. (14536) Area 689: Multi-threaded record scan (Type II) complete. Elapsed time: 6.740 -mergethreads : the number of concurrent threads to spawn during the sort/merge phase of index rebuild that merges the key entries in the sort blocks produced by the data scan phase for an individual index sort group. A value of 0 (the detault) results in the original, pre-10.2B06, behavior of one thread per index sort group. A value of 1 also results in the original behavior of one thread per index sort group but the sort/merge is performed by a newly spawned thread rather than by the thread assigned to the individual index sort group. Prior to 10.2B06, the threading during the sort/merge phase of index rebuild uses one thread per index sort group by setting the -thread 1 and -threadnum parameters. Specifying -mergethreads allows multiple threads to merge data within an individual index sort group. The number of threads spawned during this phase is the number of merge threads times the lesser of the -threadnum value or the number of index sort groups in use per area. There is no restriction on area or index type for invoking the -mergethreads behavior. The index rebuild process must be run with the sort option however since when running index rebuild without the sort option there is no sort/merge phase, and -thread 1 and -threadnum must also be specified. You can confirm that the sort/merge phase of index rebuild is processing with the new merge threads option by observing the following messages during the sort/merge phase if an index rebuild: Spawning threads for merging of group . For both -datascanthreads and -mergethreads, if the requested number of threads can not be spawned, index rebuild exits with an error, for example: Unable to run with requested thread configuration of 48 threads due to system memory restrictions. Additional memory required: 100663296 Limit: 134217728 In use: 41036736 Threads requested: Data scan: 0, sort: 8, merge: 5, sort groups: 47 -rusage: report resource statistics. When specified, index rebuild reports resource statistics including user and system CPU usage and approximate disk reads and write I/O statistics. ================================================ DataServers - MS-SQL ================================================ Note: OE00099061 Type: Behavior Change DataServer connection degradation in Unified Broker removed --------------------------------- In earlier releases of the DataServer products, some degradation could be experienced for DataServer connections spawned from the Unified Broker versus ProBroker. This was because of some network differences in the TCP protocol layer. These have been rectified and DataServer performance using either brokering tool is now comparable. Note: OE00166827 Type: Product Notice Microsoft SQL Server 2008 R1 Certified --------------------------------- The DataServer for MS SQL Server has been certified for MSS 2008 Release 1 using the following drivers. (1) Distributed by Microsoft Corporation (a) SQL Server (2000.85.1117.00) - SQLSRV32.DLL (32-bit) (b) SQL Server (2000.86.3959.00) - SQLSRV32.DLL (64-bit) (10.2A and later) (c) SQL Native Client 9 (2005.90.1399.00) - SQLNCLI.DLL (32-bit) (d) SQL Native Client 9 (2005.90.1399.00) - SQLNCLI.DLL (64-bit)(10.2A and later) (e) SQL Native Client 10 (2007.100.1600.22) - SQLNCLI10.DLL (32-bit)(10.2A03 and later) (f) SQL Native Client 10 (2007.100.1600.22) - SQLNCLI10.DLL (64-bit)(10.2A03 and later) ((2) Distributed via OpenEdge 10.2A and OpenEdge 10.1C Service Pack 2 Installation (a) Datadirect ODBC Wire Protocol driver for MS SQL Server (5.30.00.54) - P1MSSS23.DLL (32-bit) (b) Datadirect ODBC Wire Protocol driver for MS SQL Server (5.30.00.55) - P2MSSS23.DLL (64-bit)(10.2A and later) This certification asserts that for all features tested, OpenEdge clients exhibit consistent results using the DataServer for MS SQL Server to connect MS SQL Server 2008 and all earlier supported database versions. Note: OE00186542 Type: Workaround Techniques to load .d file when table has non-updatable column on MSSQLServer --------------------------------- In MSS DataServers, there is a restriction to a load operation from a .d file when the table has non-updatable columns (i.e. columns on MS SQL server are of type 'identity' or 'timestamp' or 'rowguid'). You can work-around this restriction by following one of the two options described below. Option 1:- Use dump/load tools of the foreign data source instead of data from a .d file to load your foreign table. Note: This is the only way to retain the original values from non-updatable columns. Option 2:- If the user wants newly generated values for non-updatable columns stored along side updatable fields from the given '.d' file, write an ABL program to read data from the .d file into a temp table and then skip non-updatable fields while writing the temp table records to the foreign table. Sample ABL code provided below to perform this task. Conside a table named "test" on SQL Server side with the sturcture as, TABLE [test]( [fld1] [int] IDENTITY(1,1) NOT NULL, [fld2] [varchar](50) NULL, [fld3] [varchar](50) NULL ) ****** sample ABL code ****** /* define temp table with the name Temptbl for table test */ define temp-table Temptbl like test. /* pouplate temp-table Temptbl from the records in the .d file name test.d */ INPUT FROM test.d. REPEAT: CREATE Temptbl. IMPORT Temptbl. /* create a record in the foreign DB */ CREATE test. BUFFER-COPY Temptbl EXCEPT fld1 TO test. END. INPUT CLOSE. ***************************** Note: OE00190929 Type: Behavior Change MSS deadlocks return msg 1480 at STOP handler for current transaction block --------------------------------- MS SQL Server deadlock victimization used to return error message 6159 which was a generic message condition returned just before STOP was raised for the ABL current block. A SQL Server deadlock now returns message 1480 to the MS SQL Server DataServer uniquely for deadlock conditions. Applications can now confirm that a specific ABL action was taken in response to a deadlock condition as well. Since the deadlock STOP handler previously returned a generic error to the STOP handler of the current block the deadlock couldn't be identified specifically as a deadlock so as to apply a unique STOP action. Now, unique identification of the deadlock victimization will force the STOP action to always roll back to the transaction block level. Previous behavior would have rolled the deadlock only to the nearest subtransaction which would have left the application out of sync with the database. Since a deadlock STOP condition occurring inside a sub-transaction now carries ABL control all the way back to the beginning of the transaction, deadlock conditions handled by the ABL are now kept in sync with the deadlock state of a deadlock victim in SQL Server - which always rolls back to the transaction boundary. The recommended best practice for the MSS DataServer is to always set ON STOP UNDO, RETRY on any transaction block at risk of being a deadlock victim to SQL Server. Using ON STOP UNDO, RETRY as the default transaction block behavior, ensures that the ABL and the database are kept synchronized in response to the deadlock condition. It also ensures that the default response to deadlock victimization is to RETRY the transaction. A STOP condition continues to be the only possible response to a deadlock. Allowing an error handler to process deadlocks would cause the ABL to be in an improper program state. However, since you may want alternative responses to deadlocks or other non-deadlock STOP conditions, you can now code those alternatives when the RETRY action takes place in the block that received the STOP condition. Therefore, while It is still recommended that you code your transaction boundary STOP condition to be UNDO, RETRY, your ABL code can respond to deadlock (and/or non-deadlock STOP conditions) within the RETRY iteration with alternative action. This is done by testing for the "RETRY" condition and/or deadlock condition together inside the RETRY block iteration of the code block. Specifically, you identify the deadlock condition in the block using the special internal function "_MSG()". If there is a match on message 1480 in combination with a match on the RETRY flag being set, the application developer can code alternative action during the RETRY iteration. Just keep in mind that the RETRY block for any deadlock condition will be the nearest transaction level block from when the deadlock victimization (message 1480) is identified. A deadlock victim occurrence in the REPEAT block of the following code segment illustrates this kind of post-STOP RETRY identification and the subsequent action handling capability available from the transaction block which is possible with the new DataServer deadlock behavior. outer--block: DO ON ERROR UNDO, LEAVE outer-block: ON STOP UNDO, RETRY outer-block ON ENDKEY UNDO, LEAVE outer-block: qry:QUERY-OPEN. deadlock-transaction-block: DO TRANSACTION ON ERROR UNDO, LEAVE deadlock-transaction-block ON STOP UNDO, RETRY deadlock-transaction-block ON ENDKEY UNDO, LEAVE deadlock-transaction-block: /* Retry and deadlock condition testing */ IF RETRY THEN DO: IF _MSG(1) = 1480 THEN: MESSAGE "Transaction retried after becoming an MSS deadlock victim" VIEW-AS ALERT-BOX. ELSE /* Other non-deadlock STOP conditions */ UNDO deadlock-transaction-block, LEAVE. END. sub-transaction: REPEAT ON ERROR UNDO sub-transaction, LEAVE sub-transaction ON ENDKEY UNDO, LEAVE sub-transaction ON STOP UNDO, RETRY sub-transaction: /* Assume deadlock occurs trying to lock this record */ qry:GET-NEXT(EXCLUSIVE-LOCK,NO-WAIT). IF qry:QUERY-OFF-END THEN LEAVE. DISPLAY cust_num. END. /* sub-transaction */ END. /* deadlock-transaction-block */ END. /* outer-block */ Note: OE00193931 Type: Product Notice Microsoft SQL Server 2008 R2 Certified --------------------------------- The DataServer for MS SQL Server is certified for MSS 2008 Release 2 using the following drivers: (1) Drivers distributed by Microsoft Corporation (a) SQL Server (2000.86.3959.00) - SQLSRV32.DLL (32-bit) (b) SQL Server (2000.86.3959.00) - SQLSRV32.DLL (64-bit) (c) SQL Native Client 9 (2005.90.1399.00) - SQLNCLI.DLL (32-bit) (d) SQL Native Client 9 (2005.90.1399.00) - SQLNCLI.DLL (64-bit) (e) SQL Native Client 10 (2009.100.1600.01) - SQLNCLI10.DLL (32-bit) (f) SQL Native Client 10 (2009.100.1600.01) - SQLNCLI10.DLL (64-bit) (2) Drivers distributed by Progress Software via OpenEdge 10.2B Service Pack 2 Installation (a) Datadirect ODBC Wire Protocol driver for MS SQL Server (6.00.00.37) - P1MSSS24.DLL (32-bit) (b) Datadirect ODBC Wire Protocol driver for MS SQL Server (6.00.00.37) - P2MSSS24.DLL (64-bit) This certification asserts that, for all features tested, OpenEdge clients exhibit consistent results using the DataServer for MS SQL Server to connect MS SQL Server 2008 R2. Note: OE00194678 Type: Workaround Concurrent open stored proc limit controlled through a -Dsrv switch --------------------------------- In OpenEdge Release 10.2A Service Pack 3 (10.2A03), Release 10.2B01 and later, DataServer for MSSQL Server has been enhanced to allow control over concurrently open stored procedures. Prior to 102A03 the default limit is set to 8 and any attempt to cross the limit causes error 2098 (Stored procedure table overflow). This fix allows MSS DataServer to keep up to 50 stored procedures concurrently open. You will get a 2098 error message if the number of concurrent open procedures crosses the limit of 50. This enhancement also introduces the flexibility to increase/decrease the new default limit of 50 using a new -Dsrv connection switch. For example: -Dsrv PRGRS_MAX_RPCS,n where the valid range for number 'n' is 0 to 32000 This number (n) is just a restriction on the maximum allowed limit and does not mean that the DataServer keeps these many handles reserved concurrently. Handles will only be reserved on demand basis and will also get released immediately in the event of a failed procedure or a call to CLOSE STORED-PROC. Note: OE00195562 Type: Product Notice ZPRGRS_RECID_BUF_SIZE Option minimum value changed from 44 to 52 --------------------------------- The minimum RECID buffer size has changed to 52 (from 44). The ZPRGRS_RECID_BUF_SIZE option allows the RECID buffer size to be configured to a customized size for the DataServer session. NOTE: DO NOT INCREASE THIS VALUE IF THERE IS NO REQUIREMENT FOR IT. INCREASED BUFFER SIZES CAN HAVE A NEGATIVE EFFECT ON NETWORK PERFORMANCE RUNNING DATASERVER'S CLIENT/SERVER. This syntax is for setting the buffer size for the RECID area, -Dsrv ZPRGRS_RECID_BUF_SIZE,nnnn (where nnnn is the new size of the area in bytes. The range limits for nnnn are inclusive of values between 52 to 1024.) Note: OE00196260 Type: Product Notice DataDirect][ODBC SQL Server Driver] behavior to 'MAX' datatype in WHERE clause --------------------------------- MSS DataServer provides capability of mapping MS SQL Server Large value data types, for instance VARBINARY (MAX), VARCHAR (MAX) and NVARCHAR (MAX), to OpenEdge CHARACTER data types with a data limit of 30K in size. Hence mapped as above, MSS DataServer also supports using OpenEdge CHARACTER datatype in a WHERE clause. However with the DataDirect Driver, it is not possible to use a parameter of the type VARCHAR(MAX) in a WHERE clause when using an equal operator. The following ODBC error will occur "DataDirect][ODBC SQL Server Driver][SQL Server]The data types varchar(max) and text are incompatible in the equal to operator." For more information, please refer to the following knowledegbase link from DataDirect: http://knowledgebase.datadirect.com/Connect-for-ODBC/article-3291-p-4.html Note: OE00198259 Type: Known Issue Multi-byte Unicode from UNIX client to SQL Server DataServers conversion errors --------------------------------- A byte swapping error in conversion routines between a "Big Endian" UNIX machine running a DataServer for MS SQL Server client and a "Little Endian" Windows machine serving a SQL Server database, affects the conversion of multibyte Unicode data. Users can now view the data in the correct format, however, the Unicode data is still truncated on MSS DataServer clients on Unix. Note: OE00198343 Type: Behavior Change Change in Record length calculation --------------------------------- Prior to 10.2B02, the record length calculation always included the size of the RECID field. The record length calculation is now contingent on the RECID field only when the table contains the PROGRESS_RECID field. Note: OE00198360 Type: Product Notice Computed column support enabled by MSS DataServer prior to MS SQL Server 2005 --------------------------------- Computed columns are resolved differently in the server schemas prior to MS SQL Server 2005 when compared to how they are resolved in MS SQL Server 2005 and later versions. This fix properly resolves computed columns in server schemas prior to MS SQL Server 2005 so that computed columns are now correctly identified by the DataServer in all supported releases of MS SQL Server. Note: OE00198865 Type: Known Issue Deleting fields in your schema holder corrupts schema --------------------------------- Deleting fields in your schema holder desyncronizes the relationship between the schema holder and the foreign data source, making unusable until it is re-syncrhonized using the available schema migration utilties. See your DataServer documention or Data Administration online Help for details. Note: OE00200285 Type: Behavior Change FORCESEEK hint added to MS SQL Server DataServer ROWID selection queries --------------------------------- In Release 10.2B03 and higher, when connected to MS SQL Server 2008 and higher, the DataServer for MS SQL Server applies the FORCESEEK hint to all database requests ordered by ROWID, when there is no unique constraint over the ROWID index. Note: OE00203880 Type: Limitation Supplementary characters not supported in IN-OUT/OUT param in Stored Procedure --------------------------------- Unicode characters in the range of UCS-2 encoding are now supported in stored procedure parameters. Supplementary characters, that lie outside the UCS-2 encoding range, are not supported in INPUT-OUTPUT or OUTPUT parameters passed to/from stored procedures in SQL Server. Note: OE00203930 Type: Known Issue Usage of MS SQL Server legacy LOB data types in stored procedures --------------------------------- The ODBC layer throws an error in the following two cases when it finds legacy LOB data types in stored procedures in your DataServer application: 1.When you use the legacy large object (LOB) data types, ntext\text\image, as OUTPUT parameters in a stored procedure definition in a DataServer application. 2.When you use current large object (LOB) data types, nvarchar(max)\varchar(max),varbinary(max), as OUTPUT parameters in a stored procedure definition in a DataServer application with a non-native ODBC driver. The ODBC layer throws the following error message: "37000: [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid parameter 1 (''): Data type 0x63 is a deprecated large object, or LOB, but is marked as output parameter. Deprecated types are not supported as output parameters. Use current large object types instead." The DataServer application will stop execution if the error condition is not handled. By handling the error, such as with the OpenEdge ABL NO-ERROR option in the following ABL code, the application can continue to execute even though an output parameter is not received from the stored procedure: Define variable as integer. Define variable as logical initial FLASE. RUN STORED-PROCEDURE = PROC-HANDLE NO-ERROR (OUTPUT ) . IF ERROR-STATUS:ERROR AND ERROR-STATUS:NUM-MESSAGES > 0 THEN DO: DO = 1 TO ERROR-STATUS:NUM-MESSAGES: IF INDEX (ERROR-STATUS: GET-MESSAGE(), "Invalid parameter'') > 0 THEN DO: MESSAGE ERROR-STATUS:GET-NUMBER() ERROR-STATUS:GET-MESSAGE(). = TRUE. END. END. IF = FALSE THEN STOP. END. ELSE CLOSE STORED-PROCEDURE WHERE PROC-HANDLE = . Note: OE00207534 Type: Product Notice SKIP_SCHEMA_CHECK is disabled on table that overrun the schema record --------------------------------- Special schema information is stored in the schema records of tables that participate in skip schema check for DataServers. When the SKIP_SCHEMA_CHECK connection switch is turned on at run-time for a DataServer client session, that additional schema information is relied upon to avoid server checks that can degrade performance when opening tables. In some cases, the amount of schema information that needs to be stored can exceed the available space of the schema record itself. For example, a table with an extremely large record format, such as a large number of columns or a large number of array data types, or a table with many consistently large column names, can overflow the schema record. When database objects are migrated to the server or pulled back from the server using "Add/Update Table Definitions", any schema record overflow condition that is raised internally is quietly consumed during adjust schema processing. However at run-time, those tables that overflowed the schema record can not participate in skip schema check when the SKIP_SCHEMA_CHECK connection switch is turned on. Not participating in the skip schema check results in the loss of the anticipated performance benefit when opening the table. All tables that did not overflow the schema record continue to participate in skip schema check and generate the expected run-time performance benefit. When SKIP_SCHEMA_CHECK is on and a table has overflowed the schema record, a message is logged to the DataServer log file if that table is opened at run time by the application. Note: OE00208794 Type: Limitation SQL Server triggers not supported with Computed-Column-based RECID solution --------------------------------- When you select RECID support from the Migration dialog box for the DataServer for SQL Server, the alternative non-default RECID implementation is done through Computed-Column based RECID solution. The Computed-Column-based RECID solution comes with the limitation that native INSERT triggers cannot be placed upon such tables. This limitation is imposed because the SQL Server does not allow output results directly as part of the INSERT statement, if the table has native trigger(s) defined on it. However, the SQL Server DataServer's reliance on INSERT results for RECID requires an INSERT statement to generate OUTPUT as a result set. Note: OE00211239 Type: Product Notice Refresh schema holder with PROGRESS_RECID computed column in SQL VIEW --------------------------------- When you have an SQL VIEW with a PROGRESS_RECID computed column, you must refresh the schema holder to prevent the OpenEdge client from crashing. Note: OE00217893 Type: Behavior Change Unicode datatypes mapped to OE CHARACTER truncated during data comparison --------------------------------- In the previous releases, only Non-Unicode data was truncated during data comparison, while an equivalent Unicode character datatype issued an error due to the size mismatch of the comparison. To resolve this issue, Unicode datatypes in MS SQL Server mapped to the OpenEdge CHARACTER datatype in database tables (defined in the schema holder), get truncated during data comparison with other Unicode character columns or expressions defined in a WHERE clause. (This is similar to the non-Unicode data types behavior.) This is done to achieve compatibility with the OpenEdge database which currently performs this same WHERE clause value truncation. Therefore, the new behavior provides consistency across all (Unicode and non-Unicode) character types. ================================================ DataServers - ODBC ================================================ Note: OE00197332 Type: Limitation Performance limitation using MS SQL 2008 DB with DataDirect 6.0 SQL Server --------------------------------- The design of the DataDirect 6.0 SQL Server Wire Protocol Driver carries a performance overhead when used to connect to MS SQL Server 2008. When connecting to ODBC, the driver uses TDS 2005 network protocol. TDS 2005 does not natively support the new datatypes introduced in SQL Server 2008. As a result, the driver must do extra work to check for the new datatypes any time a SQL statement is executed. This "discovery process" is triggered any time a query includes one or more of the following data types: NVARCHAR DATE TIME DATETIME2 DATETIMEOFFSET (NVARCHAR triggers discovery because the date/time types are reported as NVARCHAR in the 2005 protocol) The discovery phase can be turned off, thereby eliminating the performance overhead, with the restriction that the date/time data must be fetched as a string value. A hidden connection option must be added to your DSN or connection string in the Windows Registry, "ReportDateTimeTypes=false". In 32-bit Windows, modify: My Computer\HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\ In 64-bit Windows, modify: My Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ Select your DSN name, and create a new value by Right-click>New>String value Set the value name and data as follows: Value name: ReportDateTimeType Value data: 0 Note: OE00210200 Type: Limitation 'GENERATED BY DEFAULT AS IDENTITY' column behavior on UNDO of DELETE --------------------------------- A column with the designation, 'GENERATED BY DEFAULT AS IDENTITY', is handled as an un-updatable column by the DataServer for ODBC. The value is computed by the SQL engine of the foreign data source. As a consequence, if you UNDO a DELETE operation in a subtransaction on a table with 'GENERATED BY DEFAULT AS IDENTITY' column(s), the IDENTITY column is not restored to its "before DELETE operation" value. A new value is generated for the column. Note: OE00216672 Type: Product Notice Support for DataDirect 6.1 drivers in OpenEdge 10.2B06 --------------------------------- Due to potential security threats in the DataDirect 6.0 drivers that are shipped with the OpenEdge 10.2b release, support for DataDirect 6.1 drivers is provided in the OpenEdge 10.2b06 release. The dynamic link library name of the 6.0 drivers that shipped on Windows platforms prior to the OpenEdge 10.2B06 release were identifiable by the number "24" in the DLL names (such as "p1xxx24.dll"). In OpenEdge 10.2B06 installer, the new ODBC 6.1 driver DLL names can be identified by the number "25" (such as "p1xxx25.dll"). As new OpenEdge service packs do not remove the existing DataDirect 6.0 files, the 6.0 and 6.1 ODBC drivers will coexist with different file names in the 10.2b06 installation. By default, the installation is configured to use the DataDirect 6.1 drivers when a new Data Source Name (DSN) is set up, but you can decide on which version of the ODBC driver you want to use in OpenEdge 10.2B06. Four possibilities are provided below, some of which require additional configuration, after the installation: Scenario 1: You want to specify a new DSN using the new DataDirect 6.1 driver. What you must do: Use the ODBC Data Source Configuration Tool available on Windows from Control Panel -> Administrative Tools -> Data Source (ODBC). Select the 102.B ODBC driver from the driver list that has been reconfigured in the registry to point to the DataDirect 6.1 drivers. Scenario 2: You want to specify a new DSN using the old DataDirect 6.0 driver. What you must do: Edit the ODBC data source's registry entry on Windows after adding the DSN: Use the ODBC Data Source Configuration Tool from Control Panel -> Administrative Tools -> Data Source (ODBC), and add a new data source by selecting 102.B ODBC driver, which has been updated to point to the DataDirect 6.1 drivers after the OpenEdge 10.2B06 installation. After specifying the ODBC source, edit the corresponding ODBC data source's registry entry to replace the driver name in the DSN entry: HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\, modify "Driver" value from "\bin\p1xxx25.dll" to "\bin\p1xxx24.dll". Scenario 3: You have an existing DSN defined prior to OpenEdge 10.2B06 and want to continue using version 6.0 drivers for it in 102B06. In this scenario, you need not do anything: The service pack installation does not change anything in your old ODBC data source configuration. Existing DSNs will continue to work with DataDirect 6.0 drivers. Scenario 4: You have an existing DSN defined prior to OpenEdge 10.2B06 using DataDirect 6.0 drivers and you want to change it to use the DataDirect 6.1 version. What you must do: As service pack installation does not change anything in your ODBC data source configuration, the existing DSN needs to be updated to point to the new ODBC driver. Edit the ODBC data source's registry entry to replace the driver name in the DSN entry: HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\, modify "Driver" value from "\bin\p1xxx24.dll" to "\bin\p1xxx25.dll". ================================================ DataServers - ORACLE ================================================ Note: OE00193564 Type: Behavior Change Record buffer optimization for Unicode in Oracle DataServer --------------------------------- Unicode enabled DataServer for Oracle has been enhanced to allocate the record buffer optimally to maximize the buffer utilization in terms of number of Unicode characters. Compared to previous releases, the OpenEdge Release 10.2B DataServer record buffer can accomodate approximately double the number of Unicode characters that are received into the DataServer. This is applicable to a Unicode-enabled Oracle DataServer connected to an Oracle database configured with national character set as UTF8. ================================================ DataServers - Oracle ================================================ Note: OE00194670 Type: Product Notice Oracle 11g R2 Certified --------------------------------- The DataServer for Oracle has been certified for Oracle 11g R2 against Linux (32-bit & 64-bit OS) OpenEdge DataServer client platforms. Using the same Oracle database features, no differences in application behavior have been detected between OpenEdge connections to 11g R2 and earlier supported Oracle versions apart from the following: By default in earlier releases, sequences migrated from OpenEdge to the Oracle data source generated data values that started with 1 and were incremented by 1. By default in Oracle 11g R2, migrated sequences are not starting with '1' when records are inserted into the database. Instead we have observed them starting with 2 or 4. To avoid this issue, you can set deferred_segment_creation=FALSE. NOTE: It is not significant to the Oracle DataServer that sequences might not start at 1 when sequences are used to generate PROGRESS RECID/ROWID. The Oracle DataServer only requires that the database value generating RECID/ROWID be unique which is a requirement sequences in Oracle 11gR2 still satisfy regardless of the "deferred_segment_creation" setting. ================================================ DataServers - ORACLE ================================================ Note: OE00206481 Type: Product Notice TIMESTAMP WITH LOCAL TIMEZONE data type behavior with Oracle 9i on AIX --------------------------------- The DataServer for Oracle provides full support of the Oracle TIMESTAMP WITH LOCAL TIMEZONE (TSLTZ) data type. However, there are issues within Oracle 9i on the AIX platform that might not provide the expected behavior. Oracle has resolved these issues in Oracle 10g. Progress Software recommends that Oracle DataServer customers using the TSLTZ data type upgrade to Oracle 10g on AIX. ================================================ Documentation - Administration ================================================ Note: OE00207277 Type: Behavior Change PROUTIL IDXACTIVATE: performance with a non-unique index for useindex parameter --------------------------------- If the index you specify is not unique, a stricter locking protocol must be used when activating the index, which increases the time to execute IDXACTIVATE. If you select a non-unique index, you are warned and asked to confirm your choice as follows: A non-unique index has been selected as the useindex index. Additional locking is required with the use of this index . Do you want to continue (y/n)? ================================================ Management - Management ================================================ Note: OE00175858 Type: Workaround Errors when running data compaction jobs --------------------------------- Invalid records in the fathom.db database may cause errors (13682 or 15747) when running data compaction jobs. For example: Value 108837338071 too large to fit in INTEGER datatype. (13682) This error can be prevented by deleting records in the cf_sample table that have an invalid sample_len. These records have a sample_date of 12/31/1969. ================================================ Message Number Change - ================================================ Note: OE00218061 Type: Product Notice Maximum value of AdminMsgTimeout has been increased --------------------------------- Start with Release 10.2B06, the maximum value of AdminMsgTimeout has been changed from 999 seconds to 30000 seconds. ================================================ Open Client - .NET ================================================ Note: OE00180718 Type: Behavior Change OpenClient DLLs available in a strongly named but digitally unsigned version --------------------------------- OpenEdge now ships a third version of the following OpenClient DLLs for applications that need strongly named DLLs that are not digitally signed: Progress.ssl.dll Progress.o4glrt.dll Progress.Messages.dll These DLLS are located in the following directory: /dotnet/deploy/strongnamed. These new DLL versions are shipped in 10.1C04, 10.2A02, and 10.2B. To support this choice, the ProxyGen tool was updated and made available in the 10.1C04 and 10.2A02 service packs, as well as version 10.2B. The new version of ProxyGen replaces the "Use Strong-named Runtime" checkbox in the .NET tab with a combo box. The combo box provides the following three choices: Digitally Signed Strongnamed Signed Strongnamed The new combo box is initially be set to "Digitally Signed", which is the default behavior. Note: OE00216895 Type: Behavior Change .NET DataColumn.DefaultValue not set correctly if ABL initial value = "" --------------------------------- Starting in Releases 10.2B and 11.1, if an ABL CHARACTER field has an initial value of "", its corresponding .NET DataColumn.DefaultValue property will also be set to "". But in the .NET client, when a new row is created for the DataTable, the default value of the DataColumn will be DBNull, and not "" as expected. ================================================ Open Client - Bridge ================================================ Note: OE00194204 Type: Product Notice .NET OpenClient support for message compression --------------------------------- .NET Open Client has been enhanced to support compression for messages sent to OpenEdge AppServer. To support the new functionality, new properties have been added to the Progress.Open4GLProxy.Connection object and the Progress.Open4GL.RunTimeProperties object. To enable compression using .NET Open Client use the following example code when working with the Connection object: Progress.Open4GL.Proxy.Connection conn = new Connection("AppServer://localhost:5162/asbroker1", null, null, "TestApp"); conn.CompressionEnabled = true; conn.CompressionLevel = 5; conn.CompressionThreshold = 256; To enable compression using .NET Open Client use the following example code when working with the RunTimeProperties object: Progress.Open4GL.RunTimeProperties.CompressionEnabled = true; Progress.Open4GL.RunTimeProperties.CompressionLevel = 5; Progress.Open4GL.RunTimeProperties.CompressionThreshold = 256; In order to enable compression, set the CompressionEnabled property of the object to true. This property must be set to true before the connection to the AppServer is established. Setting the property to true after a connection has been established will have no effect on compression. Setting the CompressionThreshold and CompressionLevel properties are optional. If you don't set them, the default values will be used. You can control the amount of work done to compress messages sent to the AppServer by setting the CompressionLevel property. This property accepts an integer value between 1 and 9 inclusive. Setting the property to a value outside of this range will cause the Open Client to use the value closest to the value you set within the valid range. The default value is 1. Setting this value to higher than 1 will increase the amount of compression, but will also increase the CPU usage for both the Open Client application and the AppServer. You can control the minimum number of bytes sent before compression is enabled by setting the CompressionThreshold property. Any messages smaller than the selected value will not be compressed. This property accepts an integer value between 256 and 32768. Setting the value outside of this range will cause Open Client to use the value closest to the value you set within the valid range. The default value is 256. Note: OE00195269 Type: Known Issue .NET Open Client throws exception using SSL on long AppServer requests --------------------------------- When using the .NET Open Client with SSL encryption enabled, making an AppServer call whose response takes longer to return than the TCP_TIMEOUT value results in an exception thrown by the Open Client. The Open Client then terminates the AppServer connection. ================================================ Open Client - Java ================================================ Note: OE00194490 Type: Behavior Change Open Clients now send V10 style connect request --------------------------------- Prior to OpenEdge 10.2A03, the Open Clients (Java and .NET) use an OE V9-style AppServer connection request. This style prevents the AppServer from correctly knowing what Open Client version is being used. For Release 10.2A03 and 10.2B01, the Open Clients have been corrected to send the OE V10-style connect request to the AppServer. ================================================ OpenEdge Architect - ================================================ Note: OE00195281 Type: Product Notice Eclipse 3.5.1 supported in 10.2B01 --------------------------------- With Release 10.2B01, you can integrate OpenEdge Architect with an existing Eclipse 3.5.1 environment. See the OpenEdge Getting Started: Installation and Configuration manual for information on integrating your OpenEdge Architect plug-ins to additional Eclipse environments. ================================================ OpenEdge Architect - AppBuilder Support ================================================ Note: OE00179801 Type: Product Notice Refresh Cache added to OpenEdge menu --------------------------------- A new menu option OpenEdge>Refresh Cache (Control+R) has been added. If a database schema is updated by any tool (DBNavigator or Data Dictionary, for example), then Refresh Cache should be invoked. This menu option refreshes the local schema cache maintained by OpenEdge Architect for all the databases in the workspace. ================================================ OpenEdge Architect - Editing ================================================ Note: OE00214838 Type: Limitation Content assist returns invalid proposals if there are keywords used as names --------------------------------- In the ABL editor, if you use keywords as names (such as a field name of a temp-table), content assist displays empty or invalid proposals. ================================================ OpenEdge Architect - Project ================================================ Note: OE00195958 Type: Known Issue Changing build destination property on PROPATH/Source page may cause errors --------------------------------- On Source tab of the PROPATH project propeties page in OpenEdge Architect, you can optionally specify a seperate build destination for each source folder in your project. If you do a build in a project, and later add or modify a build destination on the Source tab, you must manually remove the .r code from the prior build destination. If .r code exists in the old location, the runtime might use it instead of the .r code in the new location because the old location is still in the PROPATH. Note that the project-level build destination is set on the Build project properties page. However, entries on the Source tab of the PROPATH project propeties page override the project-level build destination. ================================================ OpenEdge Architect - Visual Designer ================================================ Note: OE00195134 Type: Product Notice Cannot compile/run generated code in previous versions --------------------------------- When you use the Visual Designer to edit GUI for .NET code created in an earlier OpenEdge version, the generated code is updated to the current version of OpenEdge Architect and thus may contain new language constructs that are not compatible with previous compiler and AVM versions. Additionally, wizard-generated code may be incompatible with previous versions. Such incompatibilities can occur even when you do not explicitly use new features from the current version. Therefore, to compile and execute GUI for .NET code, you must use an OpenEdge version that matches or is later than the Visual Designer version in which the code was generated. For example, source code opened in version 10.2B of the Visual Designer will no longer compile in 10.2A. ================================================ OpenEdge GUI for .NET - ================================================ Note: OE00195116 Type: Known Issue User Controls with self reference cannot be added to the toolbox --------------------------------- If a user control contains a data member that is the same type as the control, then it cannot be added to the toolbox. The error in the log file is: Duplicate type name within an assembly. Note: OE00198019 Type: Limitation .NET controls that call back to the AVM on other threads are not supported --------------------------------- A .NET object might call back to the AVM to handle an event on a thread other than the main UI thread. It might also call a .NET method on a different thread where the method was overridden in a derived ABL class. The AVM does not support either of these cases and raises a run-time error if they occur. Note: OE00203746 Type: Behavior Change Forms are no longer grouped in the desktop's focus order --------------------------------- In Releases 10.2B03 and earlier, OpenEdge grouped the windows (including both ABL windows and .NET forms) of a multi-window application so that all of the windows of the application came to the foreground when any one of them was given focus by the end user. In Releases 10.2B04 and later, only the specific OpenEdge window that you give focus moves to the foreground while the others remain in the background. You can observe the difference in behavior by running an ABL application that displays multiple ABL windows and .NET forms, covering the OpenEdge windows with the window of another application, then clicking on the Taskbar button for one of the OpenEdge windows to give it focus. This change in behavior only affects applications that use the OpenEdge GUI for .NET, and then only applications that display multiple ABL windows and .NET forms simultaneously. Applications that display multiple ABL windows, but don't display .NET forms, continue to have the earlier behavior. Note: OE00205092 Type: Behavior Change ProBindingSource column names are updated when bound to a joined query --------------------------------- If you have a ProBindingSource that is bound to a joined query, you can now configure the ProBindingSource to expose its schema for each column name as :. In order to use this new behavior, you must set the new LOGICAL UseFullFields property on the Progress.Data.BindingSource class. For it to take effect, you must set UseFullFields before you set the Handle property on the ProBindingSource. If you set UseFullFields to FALSE (default value), the ProBindingSource works as in previous releases. If you set UseFullFields to TRUE, and the ProBindingSource is bound to a joined query, you can specify columns in the new format: :. Prior to this release, the name of a query column was always displayed as , regardless of its source table. Now, you will be able to display your UltraGrid columns with unique field names from the different tables in the join. A result of using this new format to display the full column name, you must reference all columns in ABL using the new format, as in the following examples: 1) The Key property on an UltraGridColumn returns a string in the form ":". 2) The Name property on a DataGridViewTextBoxColumn returns a string in the form ":". 3) A reference to the InputValue property on a ProBindingSource must take the form InputValue[":"]. 4) SortRequestEventArgs.FieldName returns a string in the form ":". 5) The Visual Designer might set the CustNum field in a ProBindingSource schema array as follows: oArray [1] = NEW Progress.Data.ColumnPropDesc ( "Customer:CustNum", "Number", Progress.Data.DataType:INTEGER). 6) You might add a field from the Bin table for a ProBindingSource (pbs) to the DataBindings property of a Microsoft .NET TextBox control (myTextBox) as follows: myTextBox:DataBindings:Add("Text", pbs, "Bin:BinNum"). ================================================ OpenEdge GUI for .NET - .NET UI Language ================================================ Note: OE00203271 Type: Behavior Change .NET Progress Form dialog - Dispose() method called on close --------------------------------- In 10.2B04, after you close a .NET dialog box object, the AVM only calls Dispose() on the object, if it is inherited from Progress.Windows.Form. To turn off this behavior, you can set the DisposeDialogOnClose property on the Progress form to FALSE. ================================================ OpenEdge Replication - Replication ================================================ Note: OE00196880 Type: Workaround PROUTIL -C enableSiteReplication may fail for some databases --------------------------------- Enabling OpenEdge Replication may fail when the Schema Area of the database is composed of more than 1 extent, and the first extent is exceptionally small. If the enableSiteReplication command fails with the following error: SYSTEM ERROR: Invalid block xx for file .d1, max is yy (2329) SYSTEM ERROR: Possible file truncation, xx too big for database. (612) ** Save file named core for analysis by Progress Software Corporation. (439) moving the schema using PROUTIL -C mvsch may resolve the issue and allow Replication to be enabled. See the description of PROUTIL -C mvsch in "OpenEdge Getting Started: Database Administration" before using it. PROUTIL -C mvsch is a non-recoverable operation and must be used with care. ================================================ OpenEdge Replication - Server ================================================ Note: OE00198912 Type: Limitation repl-keep-alive minimum value increased from 60 to 90 --------------------------------- As of OpenEdge 10.2B SP2, the minimum value, in seconds, for the repl-Keep-Alive property is 90. (For earlier OpenEdge versions repl-Keep-Alive must be greater than 60.) ================================================ Porting - ================================================ Note: OE00198300 Type: Behavior Change XML support is enabled for prowin32 in the OpenEdge 64-bit for Windows --------------------------------- XML support is enabled within the OpenEdge 64-bit environment for the 32-bit client (prowin32.exe) in the Windows 64-bit platform. ================================================ Progress Explorer - ================================================ Note: OE00198170 Type: Behavior Change Servers automatically reconnect to restarted AdminServer --------------------------------- If the AdminServer crashes and is restarted, it is not able to administrate (stop/query/etc.) any currently running servers. Starting in this release, the servers will reregister with the AdminServer when it is restarted. This will restore the administration functions. ================================================ SQL - ESQL92 ================================================ Note: OE00183771 Type: Behavior Change ESQL - SET TRANSACTION ISOLATION LEVEL in effect at once --------------------------------- In prior releases, in ESQL, the transaction isolation level defined on the SET TRANSACTION ISOLATION LEVEL statement would take effect on the next PREPARE statement. As of OE SQL 10.2B01, the isolation level so defined will be in effect at once, provided it is correctly defined. As per SQL standards, an isolation level can only be correctly defined before a transaction begins. Thus, if a transaction is in progress, and the SET TRANSACTION ISOLATION LEVEL statement is executed, this would cause an error to be raised. Previously, ESQL would not detect this error. As of Release 10.2B01, ESQL will detect this error. Note: OE00213010 Type: Workaround SQL server crashes when inserting empty string to a word index column --------------------------------- SQL engine crashes, if an empty string is provided as a value to a column of type CHAR array, and a word index is defined on the column. For example: - create table pub.tab1 (I integer, ch varchar (16) vararray[2]); - create pro_word index idx1 on pub.tab1 (ch); - insert into pub.tab1 values (1,''); The workaround for this problem is to replace the empty string with a string containing a space. For example, insert into pub.tab1 values (1,' '); ================================================ SQL - ODBC Drivers ================================================ Note: OE00191079 Type: Product Notice Native 64 Bit ODBC Drivers, AIX and Solaris --------------------------------- In 10.2A03, and in 10.2B01, the ODBC Drivers on AIX 64 and Solaris 64, have been changed from a 32- bit version to a 64-bit version of the Data Direct v5.3 ODBC Driver. When building 64-bit applications using the drivers, developers may have to use the compiler flags -DODBC64 as well as platform specific compiler flags which enable 64-bit compilation. On some Solaris 64-bit platforms and configurations, one of the compiler switches may be "-m64" . On some AIX 64 bit platforms and configurations, one of the compiler switches mayb e "-q64" . The correct needed switches for any specific machine should be determined by consulting the appropriate compiler and platform reference materials. Note: OE00201981 Type: Product Notice DataDirect ODBC Driver version 6.0 --------------------------------- The 10.2B06 (or later) service pack installations include at least two ODBC drivers. Pgoe1023.* from FCS and Pgoe1025.*. The service pack installations, between 10.2B03 and 10.2B05, also include the Pgoe1024.* ODBC (6.0) driver. Depending upon the service packs installation, you can have 2 or 3 drivers after installing 10.2B06. The files for the new ODBC driver, version 6.1, have a 25 in their names. For example, pgoe1025.so on UNIX and pgoe1025.dll on Windows. The files for the old driver, version 6.0, have a 24 in their names. For example, pgoe1024.so on UNIX and pgoe1024.dll on Windows. The files for the older driver, version 5.30, have a 23 in their names. For example, pgoe1023.so on UNIX and pgoe1023.dll on Windows. If you want to use the new driver, you must make changes to the configuration. Consider the following scenarios and note what you must do in those cases: * Scenario 1: You have an ODBC data source defined prior to 10.2B06 and you want to continue using version 6.0 (or 5.3) for it in 10.2B06. In this case, the service pack installation does not change anything about your ODBC data source configuration and continues to work with ODBC version 6.0 driver (or 5.3 driver). * Scenario 2: You want to specify a new ODBC data source to use the ODBC version 6.1 driver. What you must do: On UNIX, make sure the driver path is specified to use the new driver in the odbc.ini configuration file: Driver=/odbc/lib/pgoe1025.so. On Windows, use the ODBC data source configuration tool available at Control Panel -> Administrative Tools -> Data Source (ODBC). Select the 10.2B ODBC driver, which is updated to point to the version 6.1 driver. The Windows registry entry is updated by the 102B06 installation. * Scenario 3: You want to specify a new ODBC data source to use ODBC version 6.0 driver. What you must do: On UNIX, make sure the driver path is specified to use the old driver in the odbc.ini configuration file, Driver=/odbc/lib/pgoe1024.so. On Windows, edit the ODBC data source registry entry after adding the new source. Use the ODBC data source configuration tool available at Control Panel -> Administrative Tools -> Data Source (ODBC). Add a new data source by selecting the 10.2B ODBC driver. After specifying the ODBC source, edit the ODBC data source registry entry: HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\, and modify the Driver value from \bin\pgoe1025.dll to \bin\pgoe1024.dll. * Scenario 4: You want to specify a new ODBC data source to use ODBC version 5.30 driver. What you must do: On UNIX, make sure the driver path is specified to use the old driver in the odbc.ini configuration file, Driver=/odbc/lib/pgoe1023.so. On Windows, you must edit the ODBC data source registry entry after adding the new source. Use the ODBC data source configuration tool available at Control Panel -> Administrative Tools -> Data Source (ODBC). Add a new data source by selecting 10.2B ODBC driver. After specifying the ODBC source, edit the ODBC data source registry entry: HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\, and modify the Driver value from \bin\pgoe1025.dll to \bin\pgoe1023.dll. *Scenario 5: You have ODBC data source defined prior to 10.2B06 to use version 6.0 driver and you want it to use version 6.1. What you must do: On UNIX, modify your odbc.ini configuration file to change the driver path, from Driver=/odbc/lib/pgoe1024.so to Driver=/odbc/lib/pgoe1025.so. On Windows, edit the ODBC data source registry entry: HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\, modify Driver value from \bin\pgoe1024.dll to \bin\pgoe1025.dll. *Scenario 6: You have ODBC data source defined prior to 10.2B06 to use version 5.3 driver and you want it to use version 6.1. What you must do: On UNIX, modify your odbc.ini configuration file to change the driver path, from Driver=/odbc/lib/pgoe1023.so to Driver=/odbc/lib/pgoe1025.so. On Windows, edit the ODBC data source registry entry: HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\, modify Driver value from \bin\pgoe1023.dll to \bin\pgoe1025.dll. ================================================ SQL - Server ================================================ Note: OE00115254 Type: Known Issue UNION and ORDER BY with alias causes syntax error --------------------------------- If a query uses a column alias in the ORDER BY phrase, and the query contains a UNION, SQL creates a syntax error message. Note: OE00199796 Type: Known Issue Linux platforms - OpenEdge SQL table scan performance degradation --------------------------------- On Linux platforms, some OpenEdge SQL queries that perform a "table scan" data access, over a large number of table rows (greater than 10,000), may observe an average performance degradation of 1-2%. Most SQL queries use table scan for only small amounts of data, since the SQL optimizer always attempts to choose other access paths. In the worst case, where a query performs table scan over all its data for a large number of rows, there may be a performance degradation of up to 10%. Note: OE00200269 Type: Known Issue Error upon selecting wrong index in union-index-join --------------------------------- An error occurs if: - The index is selected to retrieve rows from a union that is on the right side of the join clause - The columns of join predicates are not in the same order in the tables containing the union - An index is defined on the union's right table, with columns having field IDs equal to the field IDs of columns in the index selected for the union's left table Suppose the following tables are created in the database: create table union_tab1 (i integer, j integer, k integer) create index union_idx1 on union_tab1 (i,j) create table union_tab2 (a integer, b integer, k integer, i integer, j integer) create index union_idx2a on union_tab2 (i,j) create table union_tab3 (a integer,b integer, c integer, j integer, k integer, x integer, i integer); create index union_idx3a on union_tab3 (i,j) create index union_idx3b on union_tab3 (j,k) Consider the following join query for the above tables: select union_tab1.i, union_tab1.j, rightt.i, rightt.j from union_tab1 left outer join (select i,j from union_tab2 union select i,j from union_tab3) right on union_tab1.i = rightt.i and union_tab1.j = rightt.j The above query has the join condition on union. The tables containing the union are union_tab2 and union_tab3. The SQL engine tries to find out whether these two tables have indexes covering the join condition or not. If there are such indexes, then those indexes are used to retrieve rows from these tables. Because the join predicates refer to columns i and j, the SQL engine gets all the indexes on these tables and selects the best index covering the columns i and j. To select an index, the SQL engine compares the field IDs. For the table union_tab2, the index union_tab2a is selected as the best index to retrieve the rows. For the table union_tab3, the SQL engine selects the wrong index. Instead of selecting the index union_idx3a, it selects the index union_idx3b to retrieve rows from the table union_tab3. This is because the field ID of columns i and j, in the index union_tab2, are 3 and 4, respectively. While selecting the index on table union_tab3, the SQL engine compares the wrong field IDs. The columns of union_tab3, having field ID 3 and 4, are j and k. The index union_idx3b is defined on the columns, j and k, of the table union_tab3. So, the SQL engine selects this index to retrieve rows. The SQL engine must re-map the field IDs while selecting index on the right side of the union. Note: OE00212970 Type: Known Issue SQL displays an error "string too long" --------------------------------- If a parameter's value in a query is longer than the defined length of the value, SQL displays an error message, "string too long". The defined length of the string is determined by the size of the column (or value) which the string is compared with. ================================================ SQL - SQL ================================================ Note: OE00195318 Type: Behavior Change Describe parameter changes for numeric data type --------------------------------- When describing an unknown numeric parameter, we relied on information from other related field information or constant. If the precision and scale for other related parameter are less than the default numeric precision and scale, default value (precision = 32, scale = 8) will be used to describe unknown numeric parameter to avoid data truncation. Note: OE00205251 Type: Known Issue Java trigger and LOB datatypes --------------------------------- Because of a limitation in OpenEdge SQL, the BLOB/CLOB datatypes are not supported for an OpenEdge SQL Java trigger. That is, you cannot define a trigger for a table containing columns with a BLOB/CLOB datatype; if a table has a BLOB column, you cannot define a trigger for that table. This limitation is detected only at runtime and it is not flagged when you define the trigger. Note: OE00211602 Type: Known Issue IN sub-query and CASE in WHERE leads to incorrect result set --------------------------------- The combination of an IN predicate sub-query and a CASE expression, in the WHERE clause, returns an incorrect result set. Note: OE00214760 Type: Known Issue SQL crash due to large grouping keys in GROUP BY (release 10.2B05 only) --------------------------------- In OpenEdge SQL 10.2B05, when a query uses the GROUP BY phrase and some of the grouping keys are larger than 50 bytes, the OE SQL engine may crash. Note: OE00217412 Type: Product Notice Use UPDATE INDEX STATISTICS to resolve performance problem --------------------------------- Release 10.2B06 contains enhancements to resolve the type of performance problem related to non-uniform key value distribution. To allow these enhancements to take effect, you must first create new index statistics in your database. To create these new statistics, use the following command: UPDATE INDEX STATISTICS ================================================ WebClient - WebClient App Assembler ================================================ Note: OE00206161 Type: Product Notice Option to suppress WebClient dialog box for required application upgrade --------------------------------- When WebClient detects that a new version of an application is available, and the installed version is no longer acceptable, a dialog box is displayed to allow the user to accept the application upgrade. As of 10.2B05, WebClient provides a means to suppress this dialog box and automatically accept the application update. To suppress the required application upgrade dialog, add the string value "AppAutoUpdate" to the following Windows Registry Key: \Software\\ Where: - is HKLM for an Administrator install or HKCU for a personal install. - is the Vendor name defined in the WebClient Application Assembler. - is the Application name defined in the WebClient Application Assembler. To stop suppressing the required application upgrade dialog box, remove this registry value. LIST OF ISSUES ADDRESSED IN 10.2B SERVICE PACKS: ================================================ ================================================ Issue Number: OE00164110 Seek error with prolib over large library prolib fails when trying to add a file to a .pl file that is larger than 2Gb. Issue Number: OE00174009 Adding field in Architect gives warning message loading delta df Adding or copying a field using the DB Navigator in OE Architect sets _field._decimal to 0 instead of a question mark (unknown), even if the data type is not decimal. Issue Number: OE00181460 SQL Explorer fails to connect to multiple databases Sqlexplorer (JDBC client) had an issue that would prevent it from dynamically connecting to multiple databases by specifying configuration name in the url. Eg. jdbc:datadirect:openedge://localhost:6790;databaseName=empty[-mdbq:Mlb Sales] The part in the square brackets "[-mdbq:Mlb Sales]" caused sqlexplorer to return NULL and fail connection . If the part in the url is not used, the connection to the database would succeed The issue was specific to sqlexplorer and limited to using the dynamic connection feature in an MDBQ (multi database query) environment which uses property files. Issue Number: OE00188510 The SQLGetData ODBC API returns invalid data length The last call to the SQLGetData ODBC function returns invalid data length in the StrLen_or_IndPtr output parameter when retrieving data in multiple parts, for example from a CLOB field. Sometimes, invalid truncation of CLOB data was observed. Issue Number: OE00191185 ODBC Tracing may generate a core file on HP Itanium 64bit. In certain cases, turning ODBC tracing on when running a program utilizing the OpenEdge 10.2A ODBC driver may cause the program to terminate and generate a core file. Issue Number: OE00192964 Access Violation in PGOE1023.DLL with MSS Linked Server. Executing a query via Microsoft SQL Server Linked Server against a table in OpenEdge database containing a field where the data exceeds the SQL-width can cause the ODBC driver to crash. Issue Number: OE00194601 Adding property name that includes space shouldn't be possible In OE Architect, when adding a property it displays the dialog where we can set the name of the property. If typing, for example, pOrdnr and accidentally adding a space after it, it states message: 'Invalid property name'. However, when adding a method, if you include a space in the name of the method it is accepted. This is inconsistent behavior, it should work the same way for both 'Add Property' and 'Add Method'. Issue Number: OE00194635 VisualDesigner hangs when displaying properties of several label On 10.2B, Visual Designer hangs when trying to expand the Appearance properties of several labels at the same time ================================================ ABL ================================================ Issue Number: OE00135940 Incorrect string length in string XREF file when using -ulayout String lengths may be incorrect in the string XREF file when the -ulayout startup parameter is used. This issue affects TranMan since TranMan uses the data in the string XREF file. Issue Number: OE00169970 Child SDO with linked smartPanel loses foreign fields after erro An Update SmartPanel linked to a child SDO will cause the child SDO to lose field values not visible in the browser. This happens when saving a new record fails, for example because it triggers a unique index violation. Subsequent attempts to save after correcting the error conditions will either save the data with incorrect field values, or will simply fail to save. Issue Number: OE00189260 LEAVE doesn't fire in ABL window when focus given to .NET form When both .NET forms and ABL windows are part of the same application, the LEAVE event does not fire in an ABL window when focus is given to a.NET form. This is not consistent with what the user experiences when focus is shifted from one ABL window to another. Issue Number: OE00193763 No INPUT error when using UTF-8 and -ucc parameter on TTY Client Using -cpinternal utf-8 -cpstream utf-8 -ucc on the character client executable results in error 557 not being generated when inputting data using INPUT FROM. Error 557 should occur when the data being input is longer the FORMAT of the variable it is being input into. Issue Number: OE00193780 SUBSTRING, ENTRY, and LENGTH statements fail w/ colon syntax In the SUBSTRING, ENTRY and LENGTH statements, if the argument that is the target of the operation is qualified (that is, it uses the colon syntax), the statement compiles but does nothing at runtime. (Note that this does not apply to the functions that have the same names -- they work correctly.) This is true whether the qualifier is an object reference, THIS-OBJECT, or a handle variable referring to an attribute. For example, SUBSTRING(THIS-OBJECT:x, 1, 1024) = "". has no effect on the data member 'x'. Issue Number: OE00194293 Error 2894 when closing query/browse or session Error 2894 is raised inconsistently when closing session or deleting a pending non-persistent procedure that has a query attached to a browse that is still being displayed. "Action segment of procedure is not in execution buffer (2894)" Issue Number: OE00194521 Errors or crash with reusable object and BIND When deleting a reference-only temp-table in an object, it is left in an inconsistent state that causes errors (such as 13009) or a crash when the object is later reused. Issue Number: OE00194853 Preprocessor directives causes AVM crash Using a pre-processor field in place of a widget or object handle wjile in a pre-processor conditional block can cause a crash if the attribute name is longer than 6 characters. For example, the following code code causes the AVM (prowin32, _progres) to crash in 10.2B: &scoped-define fill_in "" &if defined(use_fillin) &then {&fill_in}:screen-value = "". &endif Issue Number: OE00194912 Not all Objects shown on page when SmartWindow is initialized After upgrading an application to 10.2B from 10.1B03, initializing a smartWindow may not display all objects on the startup page. The problem occurs when the object on the startup page has a link that makes it a required object for objects on page 0. If the startup page is hidden by going to another page the object does become visible when re-entering the startup page. Issue Number: OE00194922 .NET string indexer and :: notation causes session to crash Compiling code that contains a .NET string indexer where the index value uses the :: notation (such as hbuffer::Name), causes the session to crash. In fact any index value whose data type cannot be determined at compile time will have the same effect (such as the return value from DYNAMIC-FUNCTION). Issue Number: OE00194969 querying datetime differs depending on connection method Running a query containing the datetime function shows different results when connecting to the database via shared-memory or client-server. Issue Number: OE00195057 PROWIN32 crashes calling external procedure TrackPopupMenu The OpenEdge GUI client crashes when calling external procedure TrackPopupMenu or TrackPopupMenuEx in USER32.DLL if the HWND of an ABL window is passed to the external procedure. Issue Number: OE00195061 Compilation errors 76 and 342 in 10.2B In some cases, compiling a reference to a static property in a class fails when the r-code file for the class referred to is present. An "invalid input" error is raised ("** Invalid character in numeric input . (76)" , "** Input value: should be . (87)" or other), followed by: ** Unable to use initial value "" for variable . (342). The initial value in the error 342 will match a method name in the class, minus the first 5 letters. Issue Number: OE00195147 Error 13035 reading an XML from a HTTP Server. Error 13035 reading an XML from a HTTP Server may occur Issue Number: OE00195223 Seek function returns offset 0 all the time When trying to obtain offset of a text file in 4GL, SEEK function returns always 0. Issue Number: OE00195298 No data on clipboard when destroying editor after EDIT- method If an editor widget is destroyed immediately after the EDIT-COPY or EDIT-CUT method is executed, the editor's contents will not be copied to the clipboard. Issue Number: OE00195391 GENERATE-UUID performance degradation The performance of the GENERATE-UUID (and by extension the GUID function without parameters) dropped significantly in OpenEdge 10.2B compared to previous releases. Issue Number: OE00195651 READ-XML doesn't handle correctly if readMode is 'replace' When using READ-XML method that has the read mode set to REPLACE, it generates following error messages when a character field in the unique primary key contains a single quote: ** Unable to understand after -- ".tq-code=BRUG". (247) FIND METHOD syntax is: [WHERE []] [USE-INDEX ]. (10086) Invalid WHERE clause in FIND method for buffer t-quote (10041). It seems 'replace' functionality is not able to handle quotes correctly. Issue Number: OE00195734 EXPORT buffer-field:buffer-value (clob) causing core dump EXPORT buffer-field:buffer-value for a CLOB or BLOB field causes core dump in 10.2B Issue Number: OE00195769 creating a new form class with a static variable crashes When creating a new class that inherits from Progress.Windows.Form, and adding a static variable to this class, the session crashes when running a procedure file that creates a new instance of the class. Issue Number: OE00195772 Error 132 and 13055 with READ-XML method REPLACE When using the READ-XML method with the REPLACE option and there is a unique primary key on a DATE field, you will get the following errors if a record in the XML violates the unique key constraint. ** already exists with . (132) Unable to update indexes for table . (13055) Issue Number: OE00195862 Blank window is displayed when parenting to ProWinHandle A blank ABL window is erroneously visualized when launching a child window whose launching parent has been parented to ProWinHandle. Issue Number: OE00195912 XREF for class crashes on DLL procedure declaration COMPILE XREF/XREF-XML crashes for a class file if that class file contains a "PROCEDURE EXTERNAL " statement. Note that the class will compile successfully, ie. a COMPILE SAVE generates a working r-code file. Issue Number: OE00196259 Client crash when running compiled class CAST on a class that inherits from a .NET class may cause a session to crash. Issue Number: OE00196446 COPY-LOB to Memory Pointer w/UTF-16 Conversion Fails Doing a COPY-LOB to a MEMPTR variable and specifying a target codepage conversion to UTF-16 causes the client to crash. Issue Number: OE00196470 UTF-8 client crashes after entering Thai text In some cases a UTF-8 client can crash when closing a program after entering Thai text if the fill-in had its format or screen-value changed at runtime. Issue Number: OE00196602 Client may crash with error 1101 while undoing a sub-transaction Client may crash with error 1101 while undoing a sub-transaction where a record was updated which had already been updated in the main transaction. Issue Number: OE00197038 Client may crash when creating a fill in field. A client session may crash when creating a fill-in field if the session codepage is a multi-byte codepage like utf-8. Issue Number: OE00197042 Client may crash after processing ASYNC request on SESSION Client may crash after it processes the event-procedure of a asynchronous request when the request is run on SESSION and not an actual AppServer. Issue Number: OE00197068 Missing data when relying on natural index selection When retrieving data from the database and relying on natural index selection, based on predicate formation, a significant number of records that match the predicate criteria are not returned from the database. When the query uses multiple indexes and the result-set includes records with 32-bit and 64-bit rowids, the records with 64-bit rowids are not returned to the client. Issue Number: OE00197209 Client crashes when accessng an x-NodeRef attribute It is possible to ask for the parent node of a document's root element. That parent node exists, but is not an element. It is the document root, or x-document. If an x-noderef references the root element of a document GET-PARENT( ) is called on it, the call does not fail as it should. However, the returned x-noderef is not valid and will lead to the client crashing. Issue Number: OE00197267 Crash on ENTRY persistent trigger in MDI ABL window When returning from a .NET dialog to a ABL window that has a persistent trigger (ENTRY), the session may crash trying to run the trigger. Issue Number: OE00197407 Setuserid returns incorrect results when connected to 10.1A DB When connected to a 10.1A database that is enabled for auditing the setuserid function running in a 10.1C, 10.2A, 10.2B client may return true even though invalid login credentials have been supplied. The credentials are not set for the database the SETUSERID function just erroneously returns true even though it has failed. Issue Number: OE00197496 The ADM2 source code refers to instancOf not instanceOf The adm2 source code adm2/lookup.p refers to instancOf when it should be instanceOf: IF {fnarg instancOf 'DynCombo':U hWidget} THEN Issue Number: OE00197649 Can't READ-JSON into a nameless dynamic dataset The READ-JSON method fails when called on a dynamic ProDataSet that does not have it's NAME attribute set, but does have buffers attached via the SET-BUFFERS() method. Depending on the OS platform, the error "Dataset name 'ProDataSet' in JSON does not match ''. (15375)" is raised, or the client session crashes. Issue Number: OE00197754 Unable to add Assembly References if assembly.xml is modified from outside architect, then go to architect and add new assembly reference. since the assembly file reference from inside the architect is not in sync with changes made to assembly file from outside. it end up getting error message: An error has occurred. See error log for more details. java.lang. reflect.InvocationTargetException Issue Number: OE00197766 Crash when array subscript not referenced with BUFFER-VALUE When referencing an Array field with the BUFFER-VALUE attribute of a buffer-field without specifying the element, or subscript, this should return error 26 (Array Subscript 0 is out of range), but starting in 10.2A FCS this crashes with the following error: SYSTEM ERROR: fmeval: bad data type for function 15. (66) Issue Number: OE00197919 READ-XML for table with CLOB may crash the session A repeated READ-XML operation on a dataset crashes the session if: - One or more of the buffers in the dataset has one or more CLOB fields with 32K worth of data and multi-byte characters - The session uses -cpinternal UTF-8 Issue Number: OE00198151 DEFINE SHARED STEAM crashes if stream not defined as NEW SHARED If a DEFINE SHARED STREAM statement is executed and the stream is not defined as NEW SHARED earlier in the session, the appropriate error " Shared stream not defined yet. (567)" is raised. This error is then immediately followed by a session crash. Issue Number: OE00198268 Error 15619 After Installing 10.2B01 Code that worked in 10.2B now gets error 15619 after installing 10.2B01: "System.ArgumentException: Query or Buffer is already bound to another BindingSource" Issue Number: OE00198344 Progress.Lang.ProError callstack returns incorrect line number Progress.Lang.ProError callstack returns incorrect line number when code is longer than 32K. Issue Number: OE00198393 Access Violation when exporting unavailable temp-table record When running code that attempts to export a record from a temp-table and there is no record available at the time the session crashes. Issue Number: OE00198399 Browse column AUTO-RESIZE attribute crashes session Setting the AUTO-RESIZE attribute on a browse column may crash the OpenEdge session and generate a protrace file when the browse's or column's FONT attribute is set before the browse is realized. Issue Number: OE00198488 Deleting window with focus during PROCESS EVENTS causes crash While in PROCESS EVENTs, if the window which has focus is deleted, the AVM can crash once PROCESS EVENTS completes if focus has not been applied elsewhere. The workarounds are: - delay deletion of the window until PROCESS EVENTS completes - apply focus to another window before PROCESS EVENTS completes Issue Number: OE00198491 Compiling class writes bad r-code files The compiler can write a corrupt r-code file when compiling an OOABL class, if that class contains members with either empty COMBO-BOX list-items or empty SELECTION-LIST list-items. When compiling other code that refers to that class and the r-code file exists on disk, the compiler will crash consistently when trying to read in the r-code. Issue Number: OE00198511 CREATE "com-object" limits .r to specific display environment The statement to create a COM automation object: CREATE "[com object]" foo NO-ERROR. Incorrectly marks the .r as valid only for the display environment it was compiled for. If the code is compiled in prowin32 (GUI), it cannot run on WebSpeed/AppServer agents or _progres (Character UI). Trying to do so results in "Program ... was compiled under another incompatible display environment. Cannot run without recompile. (4438)" Issue Number: OE00198640 Large .NETUI Class File Causes Crash with XREF Compiling a large .NETUI class file with the XREF option on the compile statement can cause the session to crash. Issue Number: OE00198645 F2 on TTY Client Can Cause Crash Pressing F2 on a TTY client to run APPLHELP.P can cause random crashes Issue Number: OE00198650 Potential crash defining ON RETURN, ENTER on a shared var The AVM can crash under the following circumstances: - a shared variable is defined as a UI object (e.g. COMBOBOX) - an ON RETURN and ON ENTER trigger is defined for the shared variable, in each program in which it is shared. - several of these programs are run - the action segment of one of these programs is evicted and the space re-used for another segment - the program defining the variable as NEW SHARED terminates Issue Number: OE00198751 Memory stomp when concatenating LONGCHAR to CHARACTER Sometimes, concatenating a LONGCHAR variable to a CHARACTER variable causes the session to crash. Issue Number: OE00198893 Lockwait dialog (error 2624) is non-modal for .NET forms When executing a FIND EXCLUSIVE-LOCK from within a .NET form, if the record is locked by another user, the Database Status (lockwait) dialog appears non-modal. The .NET form can appear in front of the dialog, the user can still interact with the UI controls on the .NET form, and the user can even close the .NET form. However, no ABL triggers will fire in response to any UI interaction while the lockwait dialog is visible. Issue Number: OE00198909 DYNAMIC-FUNCTION in a date expression behaves different in 10.2B When using a date expression with a dynamic function the results differs in 10.2B from previous releases. Issue Number: OE00198911 Work-tables with class object fields hangs/crashes the session Defining a work-table to hold objects of type PROGRESS.lang.OBJECT and then assigning a class object to the work-table field will hang or crash the Progress session in 10.2 Issue Number: OE00198951 Unnecessary DNS query on server socket object When the ABL server socket accepts client tcp connection, the DNS query is being performed although it is unnecessary. In case DNS is unreachable for whatever reason, there is a 20 second delay before the connect event is processed. Issue Number: OE00199058 Returning extent from method/function fails with error Returning an extent variable from a function or method can trigger error "SYSTEM ERROR: -s exceeded. Raising STOP condition and attempting to write stack trace to file 'procore'. Consider increasing -s startup parameter. (5635)" or "SYSTEM ERROR: sizditm -- invalid type. (51)" depending on the number of elements in the extent. If error 51 is seen, the error will also crash. Issue Number: OE00199195 Error 557 generated by the PROMPT-FOR statement The PROMPT-FOR statement fails with error 557 when used to get input of a frame field from an external file after having displayed data in that field that is shorter that the data in the file. Issue Number: OE00199615 ENABLE-EVENTS reports failure using InternetExplorer COM object Calling ENABLE-EVENTS() on the COM automation object InternetExplorer.Application, incorrectly returns NO if Internet Explorer 8 is used. Without NO-ERROR, you would see this error message: "Unexpected error occurred while processing method/statement ENABLE-EVENTS. Element not found. (5889)" Even though this all indicates that the method failed, the COM events are in fact caught and handled correctly. Issue Number: OE00199745 Static class with non-static TT crashes AVM starting debugger Starting the debugger from within the AVM, or attaching the debugger to a running AVM can cause the AVM to crash. This happens in the following circumstances: - A class has a static method, a non-static temp-table, and a non-static method which passes this temp-table as a parameter - The static method of this class is called - No instance of the class has been created yet (It has not been NEW()'ed ) Issue Number: OE00200061 AppServer async request returns no data in output temp-table If an AppServer async request contains OUTPUT TABLE-HANDLE parameters that are unknown, the client might not get any data in temp-tables. Issue Number: OE00200136 Switching focus via APPLY ENTRY changes browse toggle-box value If a browse column is defined as VIEW-AS TOGGLE-BOX, switching focus with "APPLY ENTRY" to the browse can change the column value. Issue Number: OE00200137 VIEW-AS EDITOR in FRAME displayed incorrectly with UTF-8 A frame containing a VIEW-AS EDITOR field may display its value in the wrong place when using -cpinternal UTF-8, if other fields on the frame contain non-ASCII characters. This happens when output is redirected to a file. The characters will appear to the left of where they should appear, possibly overwriting other fields in the frame. Issue Number: OE00200226 Application hang/crash when opening window during ASYNC call Under a specific scenario, the session may hang if it detects an async response ready for processing while trying to process a .NET event Issue Number: OE00200247 Memory leak and error 15633 when BASE64-DECODE fails When using the BASE64-DECODE function, if the function fails because the data being decoded in not base64 encoded then there is a memory leak, which can eventually crash the process with: Could not allocate memory to perform concatenate operation (15633) Issue Number: OE00200526 Cannot tab out of browse cell viewed as combo-box Focus may be lost when the TAB key is pressed in a browse field viewed as a combo box if the application uses the GUI for .NET style WAIT-FOR statement. Issue Number: OE00200584 Crash Returning from Void Method Call If a void method in a class runs a .p that references the same class, the AVM could crash returning from the void method. This can happen when the -mmax is nearly exhausted, and existing r-code segments are being swapped out to make room for other r-code segments. A workaround could be to increase -mmax so the segment swapping does not occur as frequently. Issue Number: OE00200770 Crash when chaining NEW() and property ref in WHERE clause The session crashes if a dynamic FIND() for a buffer or a dynamic QUERY-PREPARE is executed, and the where clause specified includes a NEW() function. For example: "WHERE Customer.CustNum = (NEW myTestClass()):myIntAttribute". Issue Number: OE00200815 EXPORT memptr may crash session Client may crash trying to EXPORT memptr. Issue Number: OE00200876 ABL Class w/Static Method Loads .NET CLR Instantiating an ABL class that contains no references to anything in .NET but which defines a STATIC method causes the .NET CLR to be loaded at runtime. Issue Number: OE00200882 Memory leak reusing object with db access The client will leak memory when reusing an OO object that has db access (such as FIND, FOR EACH, etc) with a default buffer. If you create/delete the object many times, this becomes a problem that can cause the process not to have more available memory. Issue Number: OE00200951 Crash in CREATE trigger if old record exists The AVM crashes under the following circumstances: - a table has a session or schema CREATE trigger which populates a key field - client1 does FIND NO-LOCK on a record, and keeps this buffer in scope - client2 deletes the record which client1 has in the buffer - client1 creates a record for the table in a different buffer, and the recid assigned to the new record is the same as the recid of the record in the first buffer. Issue Number: OE00201085 Classes in PL files with no debug segment give error 14631 Classes in procedure library files compiled with no debug segment give error 14631 when run. Issue Number: OE00201193 READ-XML loses elements with SERIALIZE-NAME temp table When reading an XML file with the READ-XML method on a dataset, if multiple dataset temp tables are defined with the SERIALIZE-NAME or XML-NODE-NAME attribute, and those attributes have the same value, then XML elements can be lost. Issue Number: OE00201285 SE: I/O Error 13 (290) running code from procedure library Accessing procedure from a PL with RCODE-INFORMATION might trigger one of the following error and cause the session to core dump: SYSTEM ERROR: I/O error 2 in readit, ret <>> file , addr . (290) SYSTEM ERROR: I/O error 13 in readit, ret <>> file , addr . (290) Issue Number: OE00201841 Line-oriented IMPORT reads extra data when reading UTF-16 file When importing a UTF-16 or UTF-32 encoded file (using INPUT FROM .. ), the IMPORT statement can incorrectly return extra data. It will re-read up to 2000 characters from the end of the file. Issue Number: OE00201975 error 374 compiling encrypted classes Compiling encrypted classes causes error 374 Issue Number: OE00202211 READKEY PAUSE 999999999 stops working since 10.2B in 10.2B, 'READKEY PAUSE 999999999' (9 digits) does not work, it returns immediately. Issue Number: OE00202415 Combo format truncates UTF-8 data If a FORMAT phrase is specified for a combo box, then that format specifies bytes and not columns or characters. This means that if multi byte UTF-8 single column data is entered into the combo, then the data can be truncated since the byte length is longer than the column length. Issue Number: OE00202565 Compile XREF marks .NET event and handler names as translatable A compile XREF listing for a class which subscribes or unsubscribes to/from a .NET event will list both the event type and the name of the event handler as translatable strings. Issue Number: OE00202624 Error 11336 using COPY-LOB from file to MEMPTR Using COPY-LOB from a file to a memptr fails on files 2147483648 (2**31) bytes or larger with error message "Read from file failed during COPY-LOB (11336)". Issue Number: OE00202681 COMPILER:MULTI-COMPILE=YES may crashes when using classes. Setting the COMPILER:MULTI-COMPILE=YES may cause a crash if a class not on the PROPATH is compiled using the absolute path-name. In some cases, the error "crflush: crdir is busy . (1226)" can be observed before the crash occurs. Issue Number: OE00202682 SYSTEM-DIALOG GET-FILE/GET-DIR crash if title exceeds 106 chars. The client session will crash if a title of more than 106 characters is used with the TITLE option of the SYSTEM-DIALOG GET-FILE or SYSTEM-DIALOG GET-DIR statements. Issue Number: OE00202692 SUBSTRING COLUMN chooses wrong range of Thai chars with utf-8 When using -cpinternal UTF-8, the SUBSTRING function with "COLUMN" type returns an incorrect substring if the starting position is non-zero and the source contains Thai combining characters. Issue Number: OE00202728 Last char of each line is deleted after CR in procedure editor When the Procedure Editor is launched (RUN _edit.p) during a wait state started using WAIT-FOR System.Windows.Forms.Application:Run(), the final character entered on a line is deleted when the user presses the Enter key at the end of the line. This only occurs in products which do not support the Advanced Editing (color-coded editing) feature. Issue Number: OE00202846 Delete of _Index Record can cause crash Attempting to programmatically delete an index from a database can cause the session to crash if you get the _Index record with NO-LOCK prior to deleting the _Index-Field records. Issue Number: OE00202951 Using "add-like-index" crashes prowin32 session Using "add-like-index" crashes prowin32 session if no fields are added to the table. Issue Number: OE00203249 READ-XML fails to infer schema with unformatted XML input If you dump a DataSet to XML and specify that you do not want it formatted (i.e. CR/LF characters) then you might not be able to read the XML back into a new dynamic DataSet using READ-XML Issue Number: OE00203473 When create-like method is invalid the ABL session crashes When the create-like method of a temp-table object is passed and invalid source buffer handle, the ABL session crashes without any warning or error message. It generates a protrace file in working directory. Issue Number: OE00203931 Scroll bar popup menu doesn't display If a popup menu is defined for a browse widget, the operating system's built-in scroll bar popup menu no longer appears when right-clicking on the browse's scroll bar. Issue Number: OE00204014 Crash when assigning DYNAMIC-CURRENT-VALUE in a read-only DB While connected to a database using the -RO parameter, if one attempts to change the current value of a sequence using the DYNAMIC-CURRENT-VALUE function, the client session crashes. The following errors were experienced when this problem occurred: On Windows (10.2B03): - bkwrite: write to disk failed errno 0. (3645) On Solaris32 (10.2B03): - SYSTEM ERROR: bkioWrite: Bad file descriptor was used during write, fd 10, len 8192, offset 1, file /usr1/kmcintos/W101210110/sports2000.d1. (9446) - SYSTEM ERROR: error writing, file = /usr1/kmcintos/W101210110/sports2000.d1, ret = -1 (6072) No protrace files were generated on either OS. Issue Number: OE00204125 SHARED variable and session trigger in pers proc causes AVM hang The AVM can hang when all the following conditions are met: - a persistent procedure contains a database session trigger - the session trigger calls an internal procedure in the persistent procedure - the internal procedure calls a user-defined function in the persistent procedure - the user-defined function calls another procedure which accesses a SHARED variable. With an appserver, this manifests itself as an agent that is stuck in SENDING state. Issue Number: OE00204239 LOG-MANAGER:LOGFILE-NAME returns ? on AppServer LOG-MANAGER:LOGFILE-NAME may incorrectly return the unknown value (?) when executed by an AppServer server. Issue Number: OE00204247 Memory Leak with browse widgets The GUI client process leaks memory when an application uses browse widgets. Issue Number: OE00204445 Bus Error 48 with protected ttab buffer of same name as table When attempting to compile a class which defines a buffer for a temp-table in a method, where the buffer has the same name as the table, the session crashes with: SYSTEM ERROR: Bus error. (48) Stack Trace from protrace: utcore drexit drSigFatal _sigreturn rcode_slng smtvini smsubexit smendproc smendstmt smstmt smsem smDoPass1 smCompilePass1 cr_compile crpsrch crrun_entry rninterpret crrun_rcsv rncmpile rnexec_entry rninterpret umeDispatchEvent wvRunDispatcher iodispatch rnrq Issue Number: OE00204555 Error 2696 during assign with TRACKING-CHANGES=TRUE Updating temp table records while TRACKING-CHANGES=TRUE can result in error 2696 - stash area exceeded maximum size. Issue Number: OE00205531 Instantiation of rcode with db access slower w/ large DB schema Instantiation of rcode with db access may be slower when the database schema is large. Issue Number: OE00205649 Classes instantiated on AppServer may not get garbage collected When a class is instantiated in one of the AppServer entry point procedures (activate, deactivate, etc), that class instance is never garbage collected. Issue Number: OE00206210 Memory Violation (49) when calling dynamic-new Creating a new instance of a class after changing the current language can cause error 49 Issue Number: OE00206219 Dialog FRAME SENSITIVE attribute hangs session in 10.2B04 Setting a dialog frame's SENSITIVE attribute to TRUE can cause the session to hang. Issue Number: OE00206235 Write-xml:Omit-Initial-Values = wrong results with dyn. dataset Creating a dynamic prodataset where the temp-table contains an integer field with an initial value of ? and an actual value of 0. The value of the integer field is not written to XML with WRITE-XML method when omit-initial-values is true. Issue Number: OE00206395 Crash on FIND CURRENT _User EXCLUSIVE-LOCK Reading a _user record no-lock, calling the SETUSERID function to change to the user ID listed in that _user record, and then trying to lock the _user record via FIND CURRENT _User EXCLUSIVE-LOCK will cause the session to crash if it was started with the -rereadnolock parameter. Issue Number: OE00206440 Using a schema cache file from 10.2B03 can crash client A change introduced in 10.2B03 can cause the schema cache file to be created incorrectly. Clients using such a schema cache file will crash. To avoid this, create the schema cache file from a new client session. Issue Number: OE00206825 BindingSource:Assign Returns False in 10.2B04 The ProBindingSource Assign method incorrectly returns false in 10.2B04 if the underlying temp-table contains a ROWID. Issue Number: OE00207397 CHOOSE AUTO-END-KEY fires System.Windows.Forms.Application:Exit In a .NET application, programmatically applying 'CHOOSE' to an AUTO-END-KEY which closes an ABL window causes the System.Windows.Forms.Application:Exit method to be invoked. Issue Number: OE00207474 More than 255 OR's inside a WHERE clause crashes application If inside a WHERE statement we use more than 255 OR comparison the application crashes at runtime without giving any error. Issue Number: OE00207487 COM trigger fired inside trigger can cause AVM to crash or hang If a program executing a trigger executes a method on a COM object, and that method fires an automation event for which the program has a event procedure, the AVM can crash or hang when returning from the trigger. Issue Number: OE00207792 Many small memory leaks on AppServer cause application to stop Small memory leaks on AppServer when running multiple requests from .NET OpenClient. Issue Number: OE00207983 Called procedure erroneously returns an error to the caller When a FOR FIRST statement in the Called procedure fails to find a record in an empty TEMP-TABLE or a non-empty database table, the Called procedure erroneously returns an error to the Caller and fails to properly set the output parameter returned to the Caller. Issue Number: OE00208052 Reusable Object Cache fails for explicitly deleted objects If you explicitly delete an instance of a class from within the class, the next time you instantiate the class (and we have it on the reusable object cache), you may see sporadic errors on methods that depend on code that should have been executed in one or more contructors in the class hierarchy. Issue Number: OE00208932 Compiler error 14911 is not raised at all times The error "Only 1 RECURSIVE relation allowed in dataset . (14911)" is only raised at compile time if the static dataset definition contains a non-recursive data-relation before the recursive data-relations. If the first data-relation in the dataset is a recursive one, the error is not seen. In addition, for datasets that fail to raise the error at compile time, the error also isn't raised when the dataset is instantiated at runtime. Issue Number: OE00209117 Error 11773 Cannot Be Suppressed Error 11773 ("Error receiving Web Service response") cannot be suppressed when raised on a Web Service call due to the time limit being exceeded from a DO STOP-AFTER statement. Issue Number: OE00209637 Errors 13682 and 13734 opening a Window in the Appbuilder In some cases errors 13682 and 13734 can occur when opening a simple Window in the Appbuilder: ** Invalid character unit value 6480000 changed to 131072. (13734) ** Invalid character unit value 15000000 changed to 131072. (13734) ** Invalid character unit value 1140000 changed to 131072. (13734) This is a very rare issue caused by a third-party extension to the Windows desktop shell. Issue Number: OE00210976 Browse scrollbar down button becomes unresponsive In some cases, the scroll down button on a browse scrollbar stops responding. The other parts of the scrollbar keep working, as does keyboard scrolling. Issue Number: OE00211447 A prodataset before-buffer doesn't know its parent dataset A prodataset before-buffer doesn't have its dataset attribute set even though it is part of a prodataset. Issue Number: OE00212181 Colors for enabled browse cells rendered wrong BGCOLOR and FGCOLOR for browse columns misbehave if the browse's COLUMN-MOVABLE attribute is true and columns are enabled. If the columns are moved after the color attributes have been set, a cell that receives focus is rendered with the colors based on the column numbers at the time the colors were set instead of the current column colors. Example: Field A is column 2 and Field B is column 3. Both are enabled fields. Field A has the BGCOLOR set before moving columns. Field A and Field B have their columns switched. Now Field B gets focus - it's rendered with the colors Field A is supposed to have. Issue Number: OE00212286 Errors compiling encrypted code using non-default key Compiling a file that has a reference to a OOABL class that is encrypted with a non-default key produces error messages. Issue Number: OE00212474 Add-interval is wrong for specific months ADD-INTERVAL shows a wrong date for specific months when adding 1 month to a first day datetime. Issue Number: OE00212701 Set SHOW-IN-TASKBAR/ShowInTaskBar to False = Shows in TaskBar It is possible for windows and forms to appear in the taskbar when they are defined as not appearing in the taskbar. Issue Number: OE00214235 Literal strings truncated onscreen when using -ulayout Literal strings may be truncated onscreen when the -ulayout startup parameter is used to compile and create UTF-8 r-code. Issue Number: OE00214476 Errors 129 / 11353 when trying to instantiate singleton Client may raise error 129 / 11353 (The total length of the fields in an index exceeds max key size. Index of table (129) (11353)) when NEW'ing a class or calling a static method in a multi-assignment ASSIGN statement where some indexed field was changed. Issue Number: OE00214492 Frame height incorrect after modifying virtual height A frame's height may be calculated incorrectly if the frame's VIRTUAL-HEIGHT-PIXELS or VIRTUAL-HEIGHT-CHARS is set before the frame is realized. Issue Number: OE00214908 Excess memory use for indeterminate extent variable If a class defines a no-undo variable as an indeterminate array of a class type, and this is class is instantiated and deleted multiple times within a transaction, this causes a large spike in memory consumption. (The memory is freed at the end of the transaction again.) Issue Number: OE00215128 Crash while handling event when using reusable objects cache The session may crash while handling an event if the reusable objects cache is active. Issue Number: OE00215221 ABL window with OCX flickers on launch when .NET form present An ABL window with one or more OCX controls may flicker when being displayed. The window may appear to lose focus momentarily or its title bar may switch from activated to inactivated repeatedly. This behavior can occur in applications which have displayed a .NET form. It may also occur if the -nozgrouping startup parameter is used. The flickering is more pronounced in windows which contain multiple OCX controls. Issue Number: OE00215230 Tooltip reappears when scrolling or resizing The tooltip of a hidden widget will reappear if the containing frame or window is scrolled or resized. Issue Number: OE00215554 -inp causes error 2939 with preprocessors Increasing the value of -inp above 32000 with code that contains a preprocessor results in error: Preprocessor expansion buffer overflow. (2939) Issue Number: OE00215635 -IOEverywhere prevents resizing of windows with Codejock In some cases using the new startup parameter -IOEverywhere can prevent windows from being resized. In this particular case where the CodeJock OCX is involved, there appears to be a conflict in the functionality of -IOEverywhere and SESSION:SET-WAIT-STATE function. Issue Number: OE00215988 Error 11773 in WS client if response header callback procedure s The following error may be raised when an ABL client invokes a method of a web service when a response header callback procedure is set: Error receiving Web Service Response: Wrong XML token encountered during primitive type deserialization (11773) Issue Number: OE00216144 Triggers with extended characters do not work with UTF-8 client Triggers with extended (non-ASCII) characters do not work with UTF-8 client. If compiling source code containing an extended character in a trigger, the compiler will fail with the following error: Unknown event: (3438) When retreiving a keylabel of a keypress from the LAST-EVENT:LABEL attribute, the keylabel will have garbage characters in it. This causes problems in the AppBuilder when entering a keyboard event. Issue Number: OE00216181 Overridden AddMessage Doesn't Retain Error Info When using classes that inherit Progress.Lang.AppError and an override of the AddMessage method is added to the class, calling that method results in the error information not being retained. Issue Number: OE00216267 Logical fill-in auto completion fails with -cpinternal UTF-8 The LOGICAL fill-in auto-completion feature fails to find a match if the first letter of the format value is a multi byte character. This issue occurs when -cpinternal UTF-8 is used. Issue Number: OE00216517 Incorrect table name shown for table when passed BY-REFERENCE A buffer defined in a method of a class for a temp-table is incorrectly referenced when referencing the temp-table in another method. In this instance, the buffer is never used or in scope and, in fact, the method is never called. When this occurs the following error may occur: must be an unabbrivated name or a buffer known query (7327) Or... This sometimes ends up in a crash with the following error: SYSTEM ERROR: Memory violation. (49) Issue Number: OE00216722 Client-principal SEAL() on WebSpeed can crash on 64-bit OpenEdge A WebSpeed agent that creates and SEAL()s a client-principal object can crash with a Memory Violation on 64-bit OpenEdge for AIX. This happens if the agent is connected to a database that records authenticated client sessions. Issue Number: OE00217168 QUERY-PREPARE crashes instead of showing error When using QUERY-PREPARE, if the query statement is a string that contains 4GL code with a syntax error the compilation succeeds but at runtime prowin32 crashes instead of giving an error message. A protrace file is generated. Issue Number: OE00217697 Automatically re-read record in case of error 8826 If a query with a FIELDS list has read a partial record, and subsequently a field that is not in the FIELDS list is referenced, there would normally be a runtime error (8826). With the startup option -rereadfields, this error is suppressed and instead we re-read the full record from the database. Issue Number: OE00217898 Optional *unique* tag complains of not enough values When loading XML and validating the XSD in which is contained a unique element with mutliple fields, if all fields in the element are not assigned a value, the following error is returned from the parser: Not enough values specified for identity constraint for element '' This is a bug in the Xerces XML parser. The Apache issue is XERCESC-1237. This bug is fixed in version 2.7.0 of the Xerces-C parser. Issue Number: OE00217903 Error 40 repeatedly NEWing a class w/ NO-UNDO TT in transaction Repeatedly NEWing a class that defines a NO-UNDO TEMP-TABLE inside a TRANSACTION will eventually crash the session, produce a protrace and procore files and generate error (40) (14675) similar to the following: "SYSTEM ERROR: Attempt to define too many indexes for area database . (40) (14675)" The issue occurs only when the code is executed against the r-code of the class and not against its source code. Issue Number: OE00218238 Error(49) with READ-XML if schema file name and namespace long When creating a dynamic dataset based on a schema-file and xml in a longchar, if the combined lengths of the dataset namespace-uri and the schema-location parameter passed to READ-XML exceeds a certain length, then the application can crash with error (49), memory violation. ================================================ ABL COMPSRV ================================================ Issue Number: OE00187718 AppServer crash passing output tt on unnamed widget-pool When running an AppServer procedure that returns an output temp-table and the temp-table is in the unnamed widget-pool created by the prog, the appserver may crash if the program changed one of the following attributes dynamically via the default-buffer-handle: LABEL, COLUMN-LABEL, HELP or FORMAT. Issue Number: OE00193232 AppServer memory leak when passing output dataset to WSA The AppServer server will leak memory if passing an output dataset (static or handle) to a WSA client. ================================================ ABL DataType ================================================ Issue Number: OE00194392 Error (361) using VALIDATE with unsubscripted array references Using the VALIDATE option of the FORMAT phrase in a SET, DISPLAY or UPDATE statement that contains unsubscripted array reference generates the error: " ** An array was specified in an expression, on the right-hand side of an assignment, or as a parameter when no array is appropriate or expected. (361) " ================================================ ABL DLL ================================================ Issue Number: OE00193957 Double input parameters not correctly passed to shared object When passing of input parameters of type 'double' from a Progress application to a shared object (DLL) on 64 bits AIX, parameters undergo a small but non-negligible change prior to being passed into the shared object. The parameters are converted to type float, and thus lose precision. ================================================ ABL Internationalization ================================================ Issue Number: OE00172728 Initial value code page conversion incorrect with UTF-8 An initial value for a CHARACTER variable or temp-table field may be incorrect under the following circumstances: - the codepage of the r-code is different than the -cpinternal of the client - one of the codepages is UTF-8, but the other is not - the initial value contains non-ASCII characters - there is no trim (:T) translation attribute on the value Users might see this manifested as: - An error message such as "Unable to update Field (142)" - garbage characters in the character value - the character value has been truncated The workaround for this is not to use an initial value for CHARACTERs, but set the initial value with an ASSIGN statement. Issue Number: OE00200260 Using double-byte codepage for -cpinternal can crash client The internal conversion from a double-byte codepage to UTF-8 has a buffer overrun which could potentially crash the AVM. This is most prevalent on the GUI client (prowin32.exe) when setting -cpinternal to a double-byte codepage, as it performs conversions from -cpinternal to UTF-8 for display. ================================================ ABL Language Issues ================================================ Issue Number: OE00100522 Stash area exceeded maximum size. (2696) error raised Stash area exceeded maximum size. (2696) might be raised when executing RAW-TRANSFER on a temp-table without an index defined. Issue Number: OE00111145 COMPILE XREF does not list RUN reference type for external IP COMPILE XREF does not list RUN reference type for external internal procedure if an internal procedure of the same name is defined in the calling procedure. Issue Number: OE00194007 Crash in iosg() when using OUTPUT TO with shared stream Client may inconsistently crash when executing a OUTPUT TO with a shared stream. The specific case is when the statement is executed on a persistent procedure that has the stream shared and it outlived the procedure that defined it as NEW SHARED. Issue Number: OE00194516 Warning (15090) for unreachable DEFINE FRAME/BROWSE If a DEFINE FRAME, FORM or DEFINE BROWSE statement appears in a block at an unreachable line of code, the following warning is incorrectly issued: WARNING: Executable statement at line of file will not be reached. (15090) For example: DEFINE VARIABLE cvar AS CHAR NO-UNDO. RUN foo. RETURN. DEFINE FRAME f cvar FORMAT "X(20)". PROCEDURE foo: DISPLAY cvar WITH FRAME f. END. Issue Number: OE00194534 RETURN ERROR in FIND trigger propagated RETURN ERROR from a function executed by a FIND trigger gets propagated to OPEN-QUERY or FOR EACH and raises error condition in 10.2A01 and 10.2B FCS.(ERROR-STATUS:ERROR gets set if NO-ERROR used). Issue Number: OE00216311 Internal procedure with FOR EACH on REF-ONLY table causes crash A program may contain a REFERENCE-ONLY temp-table. If the program contains an internal procedure which performs a FOR EACH statement with a BY clause, and the temp-table is not yet bound when this internal procedure is called, this creates a situation which can cause the AVM to crash or hang. ================================================ ABL Object-oriented ABL ================================================ Issue Number: OE00193583 Invalid otmTypeEntry causes crash The compiler may flush part of an OOABL class hierarchy from memory when this should not happen. This will cause references to static class members to fail and cause a crash. This is seen when a member is referenced using the static type name syntax, the class is recompiled and NEW'ed, and a second attempt is made to reference the member again using the static type name syntax Issue Number: OE00194004 Inconsistent crash when NEW'ing class that implements interface An application trying to NEW a class that implements one or more interfaces may inconsistently crash. The crash is a result of flushing rcode out when reaching the -D limit. The crash happens with a stack trace similar to this: rnloadObject() rnnewstmt() rnNew() rnexec_entry() rninterpret() Issue Number: OE00202453 Ambiguous OO method call in chain fails The AVM might not run the correct overloading of a method if the method is called as part of a chain of references with 3 or more elements and the overloading resolution was deferred by the compiler until run time. In this case, the AVM currently chooses the first overloading in the source file. So, if the first overloading happens to be the one that is intended, the call will work. The method call can be ambiguous at compile time for any of the reasons that make method calls ambiguous: one or more arguments provided by DYNAMIC-FUNCTION/DYNAMIC-INVOKE, temp-table/ProDataSet parameters, array parameters, etc. This incorrect run-time resolution leads to one of the following outcomes: o The error, "Mismatched number of parameters passed to routine . (3234)," might be raised (this seems to be most common). o The session might crash without further error. o An error might be raised that parameters cannot be pushed onto the stack. o The correct method might execute because, by coincidence, the AVM chose the intended overloading. o The wrong method might execute, but not raise an error because it does not use the arguments it receives in a way that would cause an error. So, the outcome of the call might not be what the developer intended. Issue Number: OE00215337 MD5 not changed for class when inherited class has mods After modifying a base class, the MD5 value for inherited classes is not modified upon compilation. This is a significant problem when webclient is involved. The reproducible demonstrates that, when this happens and the r-code for the inheritor is not streamed to the client after modifications, the inheritor recognizes that a temp-table in the base class is not the same as the one stored in the r-code of the inheritor and this causes the following errors to occur: TEMP-TABLE '' of class '' no longer matches the definition in base class ''. (13203) DATASET '' of class '' no longer matches the definition in base class ''. (13203) ================================================ ABL Printer ================================================ Issue Number: OE00195477 Error 98 using OUTPUT TO with a UNC printer share on Win2008 The OUTPUT TO statement can fail on Windows 2008, where UNC-path is the name of a shared printer. This worked without error on previous Windows versions. It will fail with the following error: ** Unable to open file: \\server\printer. Errno=2. (98) Issue Number: OE00199898 Can't access printer properties when printer name is non-ASCII You may not be able to display a printer's properties in the SYSTEM-DIALOG PRINTER-SETUP dialog box if the printer's name has non-ASCII characters. You may also be unable to print to the printer using OUTPUT TO PRINTER { printer-name}. ================================================ ABL Security ================================================ Issue Number: OE00200064 Connection to database generates error (709) Connection to database generates error: -P and -U startup parameters require _User file records. (709) ================================================ ABL Web Services client ================================================ Issue Number: OE00167191 Web Service client can't parse TT/PDS due to missing xmlns:xsd The Web Service client throws the following error when receiving a dynamic Temp-Table or ProDataSet if the xsd namespace is declared outside of the tag: Namespace declaration 'xmlns:xsd' not found. (13133) Issue Number: OE00168298 Input stream is empty. Cannot create XMLParser. (11748) When processing a WSDL encoded with UTF-16, bprowsdldoc fails with the following error: Getting error 11748 when accessing a wsdl file through an web server. Input stream is empty. Cannot create XMLParser. (11748) Issue Number: OE00189005 OUTPUT EXTENT parameters cause OE Web Service client memory leak The OpenEdge Web Service client has a memory leak when repeatedly calling a Web Service with OUTPUT EXTENT parameters. Issue Number: OE00192828 Memory leak in web services client with output dataset or table When ABL client calls web service procedure returning a relatively large dataset , the client process initially is stable in size, but then grows on every subsequent execution. Issue Number: OE00193979 Slow performance sending large data with OE Web Service client When sending data, the OpenEdge web service client's performance begins to deteriorate with messages over 32KB in size. The size of received does not affect performance. Issue Number: OE00194165 Web Service client causing high memory usage on the client When the SOAP response is large the Progress client process size can grow to an unexpectedly large size. For example, a 10 MB SOAP message may cause the process to grow to hundreds of MB while a 50 MB SOAP message may cause the process to grow to over 1 GB. ================================================ ABL XML ================================================ Issue Number: OE00176229 Wrong char in XML file using X-DOCUMENT LOAD method on Longchar Loading a longchar containing XML into an X-Document using the LOAD method: when saving the document to file, extended characters are incorrectly converted. Issue Number: OE00194275 Err 9082 on XML SAVE when manually setting xmlns attribute If you manually add an xmlns attribute for default namespace in an XML document and then inoke the SAVE method, you will receive error 9082. Issue Number: OE00196348 SAVE method returns error 9082 due to default xmlns Manually adding a declaration for the default namespace (xmlns="...") to a DOM element that contains an attribute without a prefix causes the following error when calling SAVE(): X-NODEREF or X-DOCUMENT SAVE got an error: Attempt to re-declare namespace prefix '' for namespace '' in element 'xs:schema'. It is already declared for namespace 'http://www.test.com/test.xsd'. (9082) ================================================ Adapter for Sonic ESB ================================================ Issue Number: OE00196959 Cannot run ABL source code through Sonic ESB Adapter The Sonic ESB Adapter leaves the original file name extensions off ABL programs. This prevents being able to run source code on the AppServer because the default behavior of the ABL is to look for r-code when no extension is specified and not to look any further if r-code is not found. Issue Number: OE00203283 SMC services doesn't expand in 8.0.1 if OE adapter installed The Sonic Mansagement Console's (SMC) service tree doesn't expand when the OpenEdge Adapter for Sonic ESB is installed into a Sonic 8.0.1 domain. Issue Number: OE00215955 Session-Managed Native ESB Adapter causes AppServer exception The Session-Managed Native ESB Adapter causes an unhandled exception in the AppServer Broker if the combined length of the connection string (composed of a user-id, password, and information fields) exceeds 30,000 non-Unicode characters when connecting to an AppServer. ================================================ Adapter for SonicMQ ================================================ Issue Number: OE00214258 ABL client hangs on RH Linux when using -SMQConnect ABL client hangs on RH Linux when using -SMQConnect on Sending DATA message to the client Issue Number: OE00214691 CTRL-BREAK on alert-box does not raise STOP condition CTRL-BREAK on an alert-box does not raise a STOP condition if the alert-box is not parented to a visible window. ================================================ ADE Tools and Runtime ================================================ Issue Number: OE00177792 Static SDV w. translation data has corrupted layout If a static SDV has translation data, SmartDataFields and untranslated labels are moved to the left by a large distance, and widgets may end up overlapping each other. Issue Number: OE00195483 Error 15158 during dictionary dump after loading ICU collation. When dumping a UTF-8 database structure (df) in Data Dictionary after loading international ICU collation, error 15158 is reported on some indexes. Issue Number: OE00195523 Dynlaunch.i ignores output params if plip call uses RETURN-VALUE Dynlaunch.i cannot handle both OUTPUT paramters and RETURN-VALUe in a thin-client environment (ie. running using AppServer). if the PLIP internal procedure that is called has both OUTPUT parameters and a RETURN statement with a RETURN-VALUE the OUTPUT parameter values are ignored and not returned to the caller. Issue Number: OE00196232 No .e when loading a delta df on a table w/ inactive primary ind The .e error file is not generated when error 997 is encoiuntered when loading a delta df on a table that has an inactive primary index Issue Number: OE00196301 Non-DB field not disabled on init when SDO OpenOnInit = false A non-db field/widget on a DynSDV is not disabled on initialization when there are no records available. Issue Number: OE00196400 AppBuilder rounds widget widths for DynSDV When opening a DynSDV in AppBuilder, the widths for the widgets contained will be rounded to the nearest integer value if it was previously saved as a fraction. (ie. 32.40 becomes 32.00; 32.60 becomes 33.00) This makes it very easy to corrupt the layout of a viewer. Issue Number: OE00199130 Loading a .df file allows a multi component word index It is possible to load a .df file with a multi component word index without any error. This should not happen. Issue Number: OE00200091 Static SDVs are sized improperly when translated After upgrading to 10.2B01, the frames of some Static SmartDataViewers with English to English translations get resized too small to fit the widgets contained in them. Issue Number: OE00200163 getLabelHandle function not found for timesdf in SDV with trans After installing 10.2B01, Static SmartDataViewers with time fields and that have english to english translations return an error stating that the getLabelHandle function is not found. This was caused by the fix for CR# OE00177792. Issue Number: OE00200394 -IOEverywhere 1 and -Assemblies mutually exclusive for project Startup parameters -IOEverywhere 1 and -Assemblies mutually exclusive for an OE ARchitect project. OpenEdge Architect handles only one of the above named startup parameters. If both startup parameters are added to a project, then Visual Designer fails to load. Issue Number: OE00203074 The VIEW-AS option is missing in the incremental df file The VIEW-AS option is missing from the definition of an added field in the incremental df file. Issue Number: OE00208930 AppBuilder loses internal procedure code with mixed web/gui file AppBuilder loses code in some internal procedures when it saves a procedure. This happens when the code version is WDT_V2*, in this case &ANALYZE-SUSPEND _VERSION-NUMBER WDT_v2r12 and the procedure &analyze header has a 5th token that is pointing to a window as follows: &ANALYZE-SUSPEND _CODE-BLOCK _PROCEDURE buildProgressQuery wWin The code that manages this version of WebSpeed code do not expect a window reference as the 5th element in the &analyze header and looks for a corresponding template and ends up using the empty procedure template when no matching template is found. Issue Number: OE00208989 _progress holds extra file descriptors after SIGUSR1 on Linux On Linux, when a _progres process receives a SIGUSR1 signal it obtains and holds several additional file descriptors. If SIGUSR1 is sent repeatedly to the process, it can quickly use up all available file descriptors. Issue Number: OE00215520 Translation Manager can fail for long strings with UTF-8 If using Translation Manager with -cpinternal UTF-8, translations might not be found for strings that contain non-ASCII characters and are longer than 63 characters. To work around this problem, you can run the following code against an already-loaded translation database: FOR each XL_String_info: XL_String_info.KEYOFSTRING = SUBSTRING(RIGHT-TRIM(XL_String_Info.original_string, " "),1,63). END. To revert the strings back to what they were originally, run the following: FOR each XL_String_info: XL_String_info.KEYOFSTRING = SUBSTRING(RIGHT-TRIM(XL_String_Info.original_string, " "),1,63,"RAW":U). END. Issue Number: OE00216212 Error 6491 with resized section editor Resizing the section editor may result in error 6491 when the editor is redisplayed after running code in the AppBuilder. Issue Number: OE00218312 Errors with pass-thru link after upgrade to 10.2B After upgrading from 9.1E to 10.2B and running a SmartContainer with a pass-thru link to an SDO, the following errors may be returned: User-defined function 'rowAvailable' invoked dynamically but could not be found. (5639) BUFFER-FIELD OpenOnInit was not found in buffer ADMProps. (7351) ================================================ ADE Tools and Runtime Data Dictionary ================================================ Issue Number: OE00193991 .e stops from being updated/generated after running many times When you load a .df file, the .e file stops from being updated/generated after running many times ================================================ ADE Tools and Runtime GUI Rendering ================================================ Issue Number: OE00196110 Setting INNER-LINES on VIEW-AS COMBO-BOX column may cause crash Setting the INNER-LINES attribute on a browse column that is viewed as a combo-box may result in a crash when the browse is destroyed. ================================================ AppServer ================================================ Issue Number: OE00195818 Appserver won't start logging level 1 connecting to dataserver The Appserver won't start when logging level is set to 1 and is connecting to dataserver. Issue Number: OE00196672 AppServer not releasing FIFO when trimming agents 10.1C AppServer is not releasing FIFOs when the agents are trimmed. It causes error 8109 with errno 24 in the AppServer broker log indicating that too many files are open. Errno 24 indicates that we are running out of file descriptors. Issue Number: OE00198539 Client cores when exiting if async appserver requests remain The Progress client may core dump when closing if there are outstanding asynchronous AppServer requests that are queued. Issue Number: OE00203690 Verbose logging generated after 13766 message in ASBroker.log Verbose logging generated after 13766 message in ASBroker.log when v9 ABL client connects to OE 10.2B AppServer Issue Number: OE00203740 actional/ServerInteraction.r file accumulat in memory for -nogc Using -nogc startup parameter for AppServer is accumulating actional/ServerInteraction.r in memory. The -nogc switch disables garbage collection. An ABL class related to Actional instrumentation was relying on garbage collection to clen it up. This class is now explicitly deleted and no longer relies on garbage collection. Issue Number: OE00207778 Infrequent error 8025 when trying to run config procedure If you set the srvrExecutionTimeLimit property for an AppServer, you may experience error 8025 for any of the connect, disconnect, activate, deactivate, shutdown procedures if the agent has been idle for more time than the value specified in the propery. procedure ended with an ERROR condition. (8025) Issue Number: OE00207852 OE Built AppServer fails to write to AppServer server log OE Built AppServer fails to write to AppServer server log when 3rd party shared libraries have matching function name LogOpen. Issue Number: OE00210183 64-bit AS agent crashes on 2nd conn to db with runtime perms A 64-bit AppServer agent may crash after disconnecting or reconnecting to a database that has the "Runtime Permissions Checking" option turned on. Issue Number: OE00210529 State-reset AppServer reconnect fails if using -Dsrv parameters State-Reset AppServer fails to reconnect to foreign database if using -Dsrv parameters Issue Number: OE00214625 Create startup switch to enable consumer side Actional in AppSvr A switch for the AppServer is required to enable consumer side reporting when the provider side is disabled. Issue Number: OE00217061 GLOBAL SHARED TEMP-TABLE in PERSISTENT procedure crashes AppServ If a State-Reset AppServer Connect Procedure runs a PERSISTENT procedure that defines a NEW GLOBAL SHARED TEMP-TABLE, the DBI file keeps growing causing the eventual Appserver process to crash with the error: SYSTEM ERROR: Attempt to define too many indexes for area 6 database DBI3112a03672. (40) Issue Number: OE00217426 Provide Actional Business Process Support in OE 10.2B Provide Actional Business Process at Service / Operation level Support in OE 10.2B Issue Number: OE00217550 State reset agent remains in a connecting state Occasionally agents of the state-reset Appserver get stuck in a CONNECTING state ================================================ AppServer Broker ================================================ Issue Number: OE00203273 Stateless AppServer drops client conn for unk reason w/err 7175 When OE clients are connected in Stateless mode to AppServers and a client request is handed to an agent that then fails for unknown reasons, the AppServer drops the connection to the client and the client receives the 7175 comm link failure. Issue Number: OE00205411 Actional enabled appserver hangs when stopping it using asbman Actional enabled AppServer hangs when stopping it using asbman after running application. The application code was compiled on OE10.1C but the AppServer version is OE10.2B0205. ================================================ Auditing ================================================ Issue Number: OE00194195 Transaction id not long enough in the Custom Audit Data Filter You can only enter 7 digits in the Transaction Id field of the Custom Audit Data Filter dialog in the Data Administration tool. Issue Number: OE00195143 Auditing no longer logging event 10522 SQL Failed login In 10.2B, the audit event 10522 is no longer being recorded when auditing is enabled and configured to track event 10522 for failed SQL login attempts. Issue Number: OE00195213 10101 db stop audit event not recorded when db stopped by admser Auditing does not record a dbstop 10101 event if the database is started/stopped via the AdminServer. Issue Number: OE00198589 Memory violation updating extent field for audited table Memory violation when updating an extent/array field in a table that is being audited. The field also must have minimal audit policy Issue Number: OE00205681 64-bit Windows Auditing not working On Windows, when audited events are triggered by a 32-bit client against a 64-bit audit enabled database, the events are not recorded. Issue Number: OE00211854 Database hangs error audFldPolicyLoad (12524) (12524) Internal error occurred in audFldPolicyLoad, errno 1, ret -20035. Issue Number: OE00218114 Locks being applied to _db table when deleting _aud-audit-data r When _aud-audit-data records are being deleted an intent exclusive lock and an exclusive-lock are being applied to the _db table. ================================================ Command Line Tools ================================================ Issue Number: OE00197155 Reference to "%TOOLSPROP% in proserve.bat needs quotes Reference to "%TOOLSPROP% in proserve.bat needs quotes. Issue Number: OE00200140 proutil iostats causes error 49 after extents were added online proutil with the iostats qualifier causes a system error 49 (memory violation) when run against a database which had extents added online. ================================================ Database ================================================ Issue Number: OE00163060 After imaging fails on a UTF8 database with auditing enabled. After imaging does not work on a UTF8 database with auditing enabled. After imaging will work once the auditing has been disabled. Issue Number: OE00167742 procopy crashes with core dump during bi-file (past conv910) After converting a DB to version 10 using conv910 a subsequent attempt to copy this DB causes procopy to crash with a core dump Issue Number: OE00183978 Error 14328 raised when updating schema The client may raise error 14328 when updating the schema but the changes still get committed. Issue Number: OE00190745 Disconnecting binary dump process via promon shuts down database Disconnecting a binary dump process using the promon menu option 8. Shut Down Database, 1. Disconnect a User, could shutdown the database if there are clients connecting to the database at roughly the same time. Issue Number: OE00191294 dbtool does not detect record corruption Record corruption is not being detected by the DBTOOL utility Issue Number: OE00192591 dbtool processes CTRL_CLOSE_EVENT incorrectly when win closed A dbtool process running in a command window will incorrectly process a CTRL_CLOSE_EVENT when the window is closed, resulting in the database broker stopping the database. Issue Number: OE00194365 VST _dbstatus reports wrong value for biclsize if >= 64 MB The VST _dbstatus incorrectly reports the _dbstatus-biclsize as 0 if the bi cluster size is >= 64 MB. Issue Number: OE00195014 Binary dump and load slower since 10.2A01 Binary dump and load add 1-2 seconds per table since 10.2A01 Issue Number: OE00196659 lkrestore error results in termination of remote server process Timing issue where an lkrestore error may occur on behalf of a client process when they are performing a FIND unique query and then press a Ctrl-C due to the process taking a long period of time. When the error occurs the Remote server process will be terminating and all clients connected to that specific server process will exit. Issue Number: OE00196859 Idxactive on diff tables should run simultaneously Attempts to run mutliple idxactivates at the same time. First idxactive to alter the database timestamp caused other idxactivate sessions to fail. The ability to run simultaneous idxactive sessions on different tables is highly desireable. Issue Number: OE00197492 Probkup online consumes remote user connection slots After a certain number of online probkups, say 6 to 8, probkup will start consuming remote user connection slots which ultimately result in remote users receiving error (748) and not being able to connect. Host based user connections are unaffected. Issue Number: OE00197494 No Data-Type checking when applying non-integer in Schema Editor No warning message is shown when changing the data-type of an existing integer field to a non-integer type in the Schema Field Editor. Issue Number: OE00198096 error 15180 when _file queried by non 10.2B client query run by a v10 Client (pre 10.2B client eg 10.2A, 10.1C, 10.1B) to a v10.2B database on _file fails with: (15180) SYSTEM ERROR: Could not get _file-num from _file row - retcode: -2 rowid: 11902 (the rowid changes in subsequent tests). This then hangs future TCP connections until the remote server is cleaned out or hangs a proshut permanently if shutdown is executed before the dead server is cleaned up. Issue Number: OE00198704 An AppServer agent may not exit after a SIGTERM signal. Under specific situations, an AppServer agent may not exit after a SIGTERM signal. If the agent is in the middle of certain database operations, the signal, which is normally queued until completion of such operations, may be ignored. Issue Number: OE00198992 Broker not handling shutdown properly Database won't shut down because the broker is not handling rejected connection attempts. Issue Number: OE00199617 Remote Batch client not shown as batch in _Connect or promon Remote Batch clients are not being identified as Batch clients in the _Connect VST or in promon. Instead they are being identified only as remote clients. Issue Number: OE00200447 Too many unlock requests (307) brings database down SE 307, Too many unlock request brings down the database has been changed - if the database engine receives an invalid call to release a schema lock, it will write a message to the database log so that we'll know the strength of the invalid request. Also if the invalid request was to release a shared database schema lock, the database will no longer go down. Issue Number: OE00200486 USR latch can remain in the database after user logs out A client logging out from a database could have left USR latch being held without being cleaned prior logging out. Issue Number: OE00201094 Contention caused by inappropriately held USR latch USR latch can be held longer than it should on a remote server resulting in a resource contention for that SRV and a performance degradation when responding back to remote clients Issue Number: OE00202093 Bpmax => 65536 generates a 9953 error When -Bpmax is set over 65535, any client trying to connect using -Bp parameter will received a message "The user requested XX private ready only buffers, but none were available. (9553)" Issue Number: OE00202659 proutil dump -index 0 write more records than expected Using proutil dump -index 0, some records are dumped twice, resulting in more records than expected. Issue Number: OE00202667 _segments table is not int64 _segments VST does not store as a 64 bit integer. Issue Number: OE00203062 Backup online increases counters in _License VST table Each time backup online is run _License._Lic-ActiveConns and _License._Lic-CurrConns are incremented and never decremented until database is restarted. Issue Number: OE00203392 Binary load fails with Lock table overflow Binary load fails with Lock table overflow error 915 and 15164 errno -1218. Issue Number: OE00205340 prostrct builddb and repair memory violation prostrct builddb and repair are not handling certain record states (record delete holders). Issue Number: OE00205464 Index rebuild fails with error 11473 Sometimes an index rebuild might cause error 11473. Issue Number: OE00205949 dbanalys gives 6661 error on index area Dbanalys is giving error: SYSTEM ERROR: No object record for index -510 . (6661) Corruption is not present in the database. Issue Number: OE00207114 AVM client or _mprosrv can crash if srt file exceeds 2GB An AVM client or a database _mprosrv process can crash if its srt file exceeds 2GB. Issue Number: OE00207388 dbanalys output totals contain negative numbers In dbanalys report two totals, count of records and count of fragments, may display negative numbers for totals over 9 digits. Issue Number: OE00207728 APWs remain running after replication TARGET is shutdown APWs remain running after replication enabled TARGET is shutdown. These processes do not respond to kill -HUP nor kill -INT. One has to use kill -9 to free up the shared memory in order to restart the target database. Issue Number: OE00208512 Index build corrupts database with 1127 errors. Index build corrupts database with 1127 errors when using -TB 64 -TF 0. Issue Number: OE00208701 probkup online enables LRU2 policy for alternate buffer pool probkup online will cause LRU2 policy to be enabled for the alternate buffer pool even when the data in the B2 cache is much less than the size of -B2. Issue Number: OE00210040 Interactive connections count does not decrease in .lic file Interactive connections count in columns 7 8 9 in the database .lic file and _lic VST does not decrease when secondary login brokers are being used Issue Number: OE00211158 AI Archiver reports insufficient space when there is space If ai file is physically greater than archive location (regardless of how much data is in the AI file) then the AI archiver incorrectly reports there will not be sufficient space to archive the file. Issue Number: OE00211224 Incremental .df fails with an UTF-8 database Sporadically, the load of an incremental .df fails against an UTF-8 database with the following error: 'bfx: Field too large for a data item. Try to increase -s. (42)'. (Increasing the -s value do not solve the issue) Issue Number: OE00217158 Replication server blocked on private latch causing db to stall Replication server can get blocked on private latch in pmObjectLockLock() when more than 1 remote SQL user is connected to a SQL92 remote server. ================================================ Database Database Utilities ================================================ Issue Number: OE00194911 proutil updatevst requires OE replication disable first When trying to run "proutil dbname -C updatevst" against OE Replication enabled database, disabling of OE Replication is required. Issue Number: OE00196590 PROREST always restores the enableLargeFiles flag in OE 10.2B EnableLargeFiles flag is set for a target db if the flag was set on the source db. As a result, cannot access a probkup taken with Enterprise largefiles enabled error 9818 with non-Enterprise database license. Issue Number: OE00199008 Error writing to dump file, errno 1784. (6147) Cannot binary dump a table with a thread value greater than 0. Issue Number: OE00203161 Phys memory used by online backup not released when completed. On Windows 2008 or Windows 2008 R2, when running an application that scans the entire database, like online backup, memory allocated will grow to consume all available memory on the machine. This memory will remain in use even after the scan completes and will only be freed when the database is shutdown. Issue Number: OE00209287 Add service manager latch owner info to promon display Promon needs the ability to display users holding service manager latch ================================================ Database Failover Clusters ================================================ Issue Number: OE00198632 OE clusters failing on Win 2008 R2 OpenEdge does not support clusters on Win 2008 R2 ================================================ Database RDBMS ================================================ Issue Number: OE00197243 progress session hang on inserting an index key Progress session could hang when (database manager is) trying to insert an index key and encounters a 3 way deadlock on an index tree. Issue Number: OE00204762 LOBS using excessive space when loaded through ODBC When RPB 1 is used, the LOB segments do not expand enough to fully utilise the database blocksize. Consequently more space is used to accomodate the LOB size than anticpated. Issue Number: OE00215431 OE Replication source DB may hang due to a deadlock on target DB Source database running OE Replication might hang due to a deadlock condition (naping and waiting for a latch) involving the replication agent. Issue Number: OE00215538 Poll timeout of 0 causes excessive CPU usage with remote clients When a server is processing many remote clients with entries in the suspension queue, the activity on poll with a timeout of 0 becomes excessive taking over all system CPU. This is the current architecure of processing the suspension queue but it does not scale, with large number of remote clients on AIX 7 series machine. Issue Number: OE00216627 Remote clients not cleaned up after terminated _mprosrv process Remote clients are not cleaned up after if an _mprosrv process terminated due to a fatal error. Issue Number: OE00217510 Transaction backout fails with error 289 Transaction backout fails with error 289 bringing the database down ================================================ DataServers ================================================ Issue Number: OE00118638 Error 3782 with nested "for each" ABL query w/Oracle DataServer Nested *FOR EACH* query causes error 3782 when run against Oracle DataServer. Upon clicking OK on the error, the client hangs. The same code works on Progress database without any problem. Issue Number: OE00175173 Remote Oracle Dataserver connection hangs A remote connection to an Oracle Dataserver hangs and is never established. Issue Number: OE00193590 _probrkr leaks handles causing machine to exhause resource _probrkr does not release handles after _orasrv is dismissed, therefore it causes the system to freeze after many connects and disconnects Issue Number: OE00196270 error 6216/6159 when insert records into a table with filestream error 6216/6159 when inserting records into a table with filestream column Issue Number: OE00197381 error 14267 using oracle unicode schema holdfer after upgrading from 10.1B to 10.1C, error 14267 appears when connecting to unicode schema holder Issue Number: OE00197790 SQL TDS error when adding a record MS SQL TDS error when adding a record Issue Number: OE00197991 SYSTEM ERROR when running queries using OE Wire Protocol Driver SYSTEM ERROR when running queries using OpenEdge Wire Protocol Driver for MS SQL Server after performing delta migration. Issue Number: OE00198255 Generated delta.sql contains ? where ALTER TABLE should be Generated delta.sql contains ? where ALTER TABLE command should be Issue Number: OE00198732 MS SQL dsv allows "?" unknow value for Case insensitive field It is possible to enter "?" in the Case Insensitive logical field during schema PULL and MIGRATION for MS SQL. Issue Number: OE00200547 _mssrv.exe hangs on using SQL Client on MSSQL 2005 MSSQL Dataserver engine hangs on using SQL Client ODBC when performing a double RELEASE on MS SQL Server 2005. Issue Number: OE00201018 1466 error with the Oracle datatype of TIMESTAMP WITH LOCAL TIME 1466 error with the Oracle datatype of TIMESTAMP WITH LOCAL TIME ZONE Issue Number: OE00201122 PROGRESS_RECID set to NULL after record update In 10.2B when a record is created and updated later in a separate transaction, it appears that the PROGRESS_RECID field is set to NULL after the update. Issue Number: OE00201737 Cannot query data from a unicode MSS DB with character filter When querying data from an HPUXIA64 client to a Unicode MSS database and using a character field in the query predicate, no records are returned to the client. Issue Number: OE00202696 ORA-24801 with BUFFER-COPY of empty CLOB Session generates errors (ORA-24801, 11322, 11599) when attempting to BUFFER-COPY a record containing an empty CLOB from a temp-table to an Oracle database Issue Number: OE00203800 Session crashes when trying to read raw data from Oracle Session may crash when reading raw data chunks via DataServer for Oracle Issue Number: OE00205477 Change of asterisk to percent symbol in Oracle DataServer Unexpected Change of asterisk to percent symbol for BEGINS statement in Oracle DataServer. The Begins statement should return all records where the selected field begins with an asterisk not all records as it currently does via the Oracle DataServer since Oracle see the percent symbol as a wild card Issue Number: OE00205825 Data corruption from RUN STORED-PROC LOAD-RESULT-INFO statement Executing a specific query statement shows wrong data in the COLUMN_EXPRESSION column. Issue Number: OE00208169 undo delete of subtransaction does not update progress_recid_alt undo delete of sub-transaction does not update progress_recid_alt; therefore, the progress_recid value changes to a new value which would corrupt data for progress_recid. Issue Number: OE00208606 MSS DataServer delta.df generates incorrect syntax with SQLWidth OpenEdge to MSSQL DataServer delta df utility generates incorrect syntax for field names containing "_default" or "default_" when used with SQL Width option. The generated .sql file defines the field with the default keyword twice. Issue Number: OE00208815 rec-id data type handling by MS SQL server dataserver OE data type rec-id should have been handled properly when migrated to MS SQL server. Buffer copy and basic query can now be done on a RECID field when migrated to MS SQL server Issue Number: OE00209652 prowin32 errors pulling schema during the create schema process Prowin32 Errors on the schema pull when runing the Create Schema under the ODBC DataServer menu. Issue Number: OE00211780 >1 of 'Generate always' taype column is not working for table 'Generate always' is not working for table having 'generated always' fields more than 1. It works fine if the table contain only 1 'Generated always' field. Issue Number: OE00212110 Assignment of logical field in newly-created record fails when a Assignment of logical field in newly-created record fails when another buffer of same table involved Issue Number: OE00212764 ORA-01036 error assigning logical value to oracle columns Logical field is not being updated on the oracle dataserver with oracle error ORA-01036. Issue Number: OE00215125 Crash with MSS Dsrv with Varbinary(max) + ZPRGRS_RECID_BUF_SIZE Client crashes executing a FOR EACH query against a MS SQL Server table that contains a field of type varbinary(max) when the parameter -Dsrv ZPRGRS_RECID_BUF_SIZE,600. ================================================ DataServers MS-SQL ================================================ Issue Number: OE00099061 Performance degrades using unified broker for DataServer Performance of the DataServer unified broker through Progress Explorer is very slow compared to _probrkr DataServer broker. Issue Number: OE00131234 Error 6193 creating schema holder If a MS SQL table contains a field of type Image with a Default Value (Constraint) of (NULL) then the schema holder creation process will fail with error 6193: A binary string should be prefixed with 0x. (6193) Issue Number: OE00184213 Error 6216 closing a session using CONNECTION_POOLING,0 Get Error 6216 when closing a session that used CONNECTION_POOLING,0 parameter Issue Number: OE00190929 Behavior change on handling MSSQLSrv Deadlock Behavior change to assist application developer to hand MSSQLSrv Deadlock Issue Number: OE00194225 Date is lost after return from write trigger w/MS SQL Server DS Date value is lost when return from the write or replication-write trigger Issue Number: OE00194498 Err 11328 updating record w/COPY-LOB when used skip_schema_check Error 11328 when updating existing record to assign image using COPY-LOB when used -Dsrv skip_schema_check. Issue Number: OE00194678 Error 2098 migrating database to SQL Server Error 2098 migrating an existing database to SQL Server Issue Number: OE00195901 ABL Client crashes connecing/disconnecting to SH many times ABL GUI client crashes when connecting and disconnecting to the schema holder many times. Issue Number: OE00197280 Creating unicode schema holder is slow with Native Client 10 Creating unicode schema holder using 32-bit or 64-bit MS SQL Native Client 10 is much slower than MS SQL Native Client 9. Issue Number: OE00197516 ODBC err w/send-sql-statement when MSSQL is 64-bit w/unicode Unicode schema holder connecting to MS SQL server 2008 64-bit with unicode data type causes ODBC error 37000 when "select * from state where state in ('MA','')" is send through send-sql-statement. Errors: 37000: [Microsoft][SQL Server Native Client 10.0][SQL Server]Unclosed quotation mark after the character string ''. 37000: [Microsoft][SQL Server Native Client 10.0][SQL Server]Incorrect syntax near ''. Issue Number: OE00197957 GUI client gpf running send-sql with sql query >32k The GUI client gpf when running a send-sql with a simple select that exceeds 32K limit Issue Number: OE00198259 Unicode data through UNIX client of MSS DS display wrong format Fetching the unicode data through UNIX client of MSS DS schema holder is displaying wrong format. Issue Number: OE00198343 PROWIN32 with SQL DataServer crashes using REPOSITION TO ROWID PROWIN32 with DataServer for MSS crashes using REPOSITION TO ROWID statement to reposition Query #2 with rowid from Query #1 Issue Number: OE00198360 MSSQL computed column causes error 37000 during create When MS SQL Server table has computed column, updating fields other than computed column causes error 37000. Issue Number: OE00198865 Client crash deleting field from schema holder definition Client crash after deleting fields from schema holder definition Issue Number: OE00198868 ODBC err duplicate key under heavy load creating seq using ABL ODBC error shows duplicate unique violation when creating sequence value using ABL. Error text: 23000: [Microsoft][SQL Server Native Client 10.0][SQL Server]Cannot insert duplicate key row in object 'dbo.sysagentsched' with unique index 'sysagentsched##idxprimary'. Issue Number: OE00200000 UNIX client corrupts unicode data for MSS DataServer Data is storing as Unicode in MSS database but it is truncating/adding some junk characters when passed through the WHERE clause. Issue Number: OE00200285 FORCESEEK hint for table with no unique index Add FORCESEEK hint for table with no unique index for MS SQL Server 2008 onwards Issue Number: OE00202901 CURSOR info is logged on the dataserv.lg w/o debugging switches The CURSOR information is being logged on the dataserv.lg file when no debugging switches being used. Issue Number: OE00203880 Issue retrieving nvarchar from MSSQL DataServer stored procedure When retrieving the nvarchar output parameter from stored procedure, OE MS SQL DataServer is not able to display entire value of the returned data. E.g. string of length 10 displays only 4 characters, although the length of the string is correctly set to 10. Issue Number: OE00207534 ABL client crashes during the pull of a large tbl with err 12370 ABL Client Crashes pulling a table from MS SQL Server consists of 841 fields or more where most of them are extent of 26. No useful information is provided after the error and crash. Issue Number: OE00211239 Client crashes executing query referencing sql view in ms sql Client crashes when executing a query against a ms sql server database that references a view. The MS SQL Server db is created via protoMSS using computed columns Issue Number: OE00217893 Errors 6182 and 2651 querying NVARCHAR field in MSS DataServer Errors 6182 and 2651 occur when querying NVARCHAR field and value used in the ABL WHERE clauses exceeds the max-width of the field in MSS: "You tried to compare or to update a character field with a value longer than the maximum length. (6182) Field num: 3, value: 1234567890123456789012345678901234567890. (2651) ================================================ DataServers MS-SQL/ODBC ================================================ Issue Number: OE00195372 Unable to assign columns after PROGRESS_RECID in created records The new computed column implementation for PROGRESS_RECID in the DataServer for MS SQL Server created a problem where values could not be assigned to record columns physically located after the PROGRESS_RECID in the record formt. Attempting to assign such column values during record creation would fail if that table was using the new computed column PROGRESS_RECID solution. ================================================ DataServers ODBC ================================================ Issue Number: OE00197332 Bad performance with 10.2B ODBC Wire Protocol Driver for MSSQL When using the 10.2B ODBC Wire Protocol Driver for MSSQL, there seems to be some problems reading/verifying schema from MS SQL 2008 database. Problem occur on first access of any table. After table has been accessed once performance is ok for this table for the duration of the session. With 10.2A ODBC Wire Protocol Driver for MSSQL, the performance is much better. Issue Number: OE00210200 "Generated Always" is not supported by ODBC data server "Generated Always" is not currently supported by ODBC data server, this is standard DB2/ODBC attributes, and should have been supported Issue Number: OE00212358 ODBC data server GPF ODBC data server GPF when running customer's app which has huge number of data fetch operations, because the PREPARED STATEMENT CACHE was turned off by default. ================================================ DataServers ORACLE ================================================ Issue Number: OE00127238 CAN-FIND (LAST) incorrectly returns True CAN-FIND (LAST) which returns False in V8 returns True in OpenEdge 10 Issue Number: OE00197283 Bulk inserts causes intermittent oracle error ORA-01008. Bulk inserts causes intermittent oracle error ORA-01008 - not all variables bound. Issue Number: OE00197440 progress_recid show as ? when recid is a negative value with ODS progress_recid displays as unknown value (?) when the value is in negative numbers. Issue Number: OE00198510 ctrl+c on application causes error 49 with Oracle DS When ctrl+C is pressed on the application screen, the ABL client core dumps with error 49 when used with Oracle DataServer. Issue Number: OE00206481 -Dsrv native-tz-context,DBTIMEZONE results in wrong times in Ora When a write is done, the time being written into the Oracle DB is wrong when making use of the -Dsrv native-tz-context,DBTIMEZONE. There appears to be a 6 hour conversion taking place. Issue Number: OE00210415 Index name starting with "SYS_" doesn't get pulled in to SH If an index name is prepended with "SYS_", it does not get pulled over to schema holder when creating a schema holder from existing Oracle database schema. ================================================ DataServers Oracle ================================================ Issue Number: OE00214717 AppServer has abnormal shutdown when reading field in Oracle AppServer agent shuts down abnormally with error "SYSTEM ERROR: Foreign database cursor 1 not found(1471)", when accessing a DataServer table in a persistent procedure that was started by a previous client connection. ================================================ Diagnostics ================================================ Issue Number: OE00193695 Architect Debugger crashes when buffer exists in Expressions When a buffer is added to the Expressions list in the Debugger, error 51 occurs SYSTEM ERROR: sizditm -- invalid type. (51) and the client crashes. Issue Number: OE00194219 Debugger fails if called from class in package using methods The Debugger fails to start when called using the INITIATE() and SET-BREAK() methods from a class located within a package. Issue Number: OE00195098 Profiler output on Linux 64-bit returns incorrect time values When a session is started with the -s greater than 126 the profiler output returns incorrect timestamps. A similar issue exists in proc.mon files on 64-bit platforms: a huge constant (like 0xZZ00000000) is added to the the times. Issue Number: OE00200371 4GLTrace may crash if deleting persistent procedure at shutdown The client may crash when 4GLTrace logging is enable and the AVM is deleting persistent procedures at shutdown which had subscribers registered. The session may also crash during shutdown if DynObjects logging is enabled and the persistent procedure has longchar variables. Issue Number: OE00204302 Debugger loses connection or paints incorrectly The debugger (either Standalone Debugger or launched from within an AVM) suffers from some occasional painting problems and unexpected disconnections. Issue Number: OE00213419 Debugger ignores breakpoints in ROW-DISPLAY trigger The debugger (both the OE Architect and StandAlone versions) will skip over breakpoints set in a browse's ROW-DISPLAY trigger. ================================================ Graphical User Interface ================================================ Issue Number: OE00192662 Dynamic Browse generates protrace and core file on TTY client ABL code that creates a dynamic browse in an OpenEdge character client may crash. The problem occurs when the frame which contains the browse is not large enough. The same code can be executed in the OpenEdge Windows GUI client without problems. Issue Number: OE00193776 Error 1450 setting LIST-ITEMS-PAIRS Client may crash after error 1450 when setting large string to LIST-ITEM-PAIRS Issue Number: OE00196430 Crash inserting Thai characters in browse cell with UTF-8 OpenEdge session using -cpinternal UTF-8 crashes when inserting Thai characters into a browse cell. This is a regression that started in 10.2A and 10.1C02. Issue Number: OE00196677 Error 5731 after typing value in view-as combo-box browse column When typing on a view-as combo-box browse column, error 5731 occurs and some corrupted characters appear "Unable to complete automatic datatype conversion. Use STRING, DECIMAL etc. functions to do explicit conversion. (5731). Issue Number: OE00197213 Outline view breaks if last quote of include param is missing Outline View in 10.2B breaks if the closing quote of the last include parameter, which is optional, is omitted. Issue Number: OE00213641 Unexpected behavior when using ResizeinCell=No When using the ResizeinCell=no property in progress.ini the browse shows an unexpected behavior. Clicking between the columns (in the cell separator) causes the column header to be activated (highlighted) as if the header has been clicked on. Issue Number: OE00215770 Drop-down list-item-pairs combo-box missing screen value A drop-down list-item-pairs combo-box will return an unknown screen-value and input-value if the value entered in the fill-in portion does not match one of the labels in a label/value pair. ================================================ Graphical User Interface ABL ================================================ Issue Number: OE00132803 Behavior differs for toggle-box between character and GUI client Applying the VALUE-CHANGED event on a toggle-box has different effects depending on whether the application is running in TTY or GUI mode. In GUI mode, the CHECKED state of the toggle-box remains unchanged. In TTY mode, the toggle-box will toggle between checked and unchecked states. Issue Number: OE00193785 Calling SEEK() function on CLIPBOARD stream causes crash Using the SEEK() function on a stream opened to the CLIPBOARD causes the session to crash. Issue Number: OE00194341 PROWIN32 GPFs when enabling/disabling toggle-boxes in a browse The OpenEdge GUI client session may crash when the user changes the value of a toggle-box browse cell with the mouse or keyboard. Issue Number: OE00196148 Hidden window becomes visible when it shouldn't If the WINDOW-STATE attribute for a hidden window is set to WINDOW-MINIMIZED, the window may become visible. Issue Number: OE00196302 SDO batching doesn't fire ROW-DISPLAY trigger ROW-DISPLAY trigger doesn't always fire when scrolling through a smartDataBrowse using a mouse wheel. Issue Number: OE00197570 -nozgrouping doesn't allow 4GL StackTrace to show When using the -nozgrouping parameter in conjunction with -debugalert, the 4GL Stacktrace may not appear when the Help button in an alert box is clicked. Issue Number: OE00198345 EDIT-PASTE method does not work with LARGE editor Using the EDIT-PASTE method with a LARGE editor may not work if the editor is not visible. Issue Number: OE00199280 window:LOAD-SMALL-ICON renders icon incorrectly Loading a 16x16 icon with 32-bit color depth for a window using the LOAD-SMALL-ICON() method causes the icon to be rendered incorrectly. The left-most column of pixels is rendered on the right-most edge of the image. Issue Number: OE00199469 Scrolling with mouse wheel can hang session If a window contains a browse widget, using a mouse's scroll wheel while the focus is on another widget will cause the browse widget to flash. In addition, if the mouse scrolling is set to scroll one screen at a time (instead of the default 3 lines in the mouse properties, the session will hang. ================================================ Graphical User Interface ActiveX ================================================ Issue Number: OE00193919 Error 5890 when using redemption.dll to interface with Outlook Getting error message: Error occurred while accessing component property/method: mapiobject. No such interface supported Error code: 0x8004002 (5890) when using redemption.dll to interface with Outlook ================================================ Installation ================================================ Issue Number: OE00193217 Netsetup installs .NET framework despite it's not required When running installation of any deployment product (e.g. C/N) via NetSetup there's no option to skip .NET Framework 3.0 installation. Issue Number: OE00195148 NetSetup installation doesn't put msvcr71.dll on the client mach NetSetup installation doesn't put msvcr71.dll on the client machine. And so when the client makes WSO calls it fails with error: Unable to load httpsys.dll which depends on libwww.dll which depends on msvcr71.dll Issue Number: OE00195776 OEE fails with Application Server License OpenEdge Explorer fails to initialize when no database license is present. Issue Number: OE00200445 .NET Application fails when run from a netsetup installation A .NET based application running from a netsetup installation of an OpenEdge service pack may fail to run and display errors indicating some type of permission or security problem. This is due to a problem where the netsetup installtion of a service pack does not install the 3.0 .NET framework, nor does it prompt to accept/reject adding the OpenEdge directory to the local intranet FullTrust zone. A workaround for this problem is: 1) run regedit to modify the registry 2) rename the HKEY_LOCAL_MACHINE/Software/Microsoft/.NETFramework/v3.0 key to some other name 3) uninstall the netsetup installation 4) reinstall the netsetup installation, this time answering yes to installing the 3.0 .NET framework, and yes to adding OpenEdge to the local intranet FullTrust zone. 5) Rename the changed v3.0 key back to the original name. ================================================ Management ================================================ Issue Number: OE00131298 Compaction Job fails with error (1422) The Compaction Job may fail with error (1422) when UTF-8 characters are present in the trend database. Issue Number: OE00159911 DB_UserCountHigh alert firing when threshold not exceeded DB_UserCountHigh alert may fire when the number of users connected to a database has not exceeded the defined threshold. Issue Number: OE00201278 OpenEdge Management additional alerts are not sent OpenEdge Management additional alerts are not being sent for User Count High alert and other threshold based alerts. Issue Number: OE00201394 Editing the schedule period of a schedule causes exceptions Changing the schedule period of Default_Schedule and other schedules in OpenEdge Management causes java exceptions to occur. Issue Number: OE00202272 HTTP 500 error when only NameServer license is installed HTTP 500 error occurs on different screens of OpenEdge Explorer on a machine with only NameServer and NameServer Load Balance installed. Issue Number: OE00205078 DB fails to start via Management Console when using -aiarcdir When setting the directory where to archive the ai extents via the Management Console (c:\progress\ai for example), the database fails to start with error messages indicating that the directory C:\OpenEdge102B64\WRK\xx specified with -aiarcdir does not exist, when in fact it does. Issue Number: OE00205150 Startup of OpenEdge Explorer takes long time The startup of OpenEdge Explorer takes several minutes when rollover log files are used for the AppServer and WebSpeed. Issue Number: OE00216837 OEM Jobs stop executing after 5 years of the start date. OpenEdge Management jobs stop running 5 years after the time they were created. Issue Number: OE00217948 OE Mgt send false alerts when Userid and Password are required. Monitoring an URL from OpenEdge Management when that uses the HTTPOnly flag on cookies will fail with an alert. ================================================ Management Management ================================================ Issue Number: OE00184051 Start/Stop AppServer Broker can be unchecked in OEE/OEM The Start/Stop AppServer Broker toggle in the Operator Role Customization page can be unchecked even though Add/Trim requires it. Issue Number: OE00192303 Resources are unavailable in custom report template On systems with fully qualified site-id, resources are not available for selection when attempting to create a report from a customer report template. Issue Number: OE00201319 Compaction job does not purge all the tables in TrendDB Content of tables Db_ActIOFile and Db_AreaStatus is not deleted when running OpenEdge Management Compaction job regularly. Issue Number: OE00216349 OEM/Adminserver may coredump when monitoring filesystems OE Management / Adminserver may coredump in osmetrics.dll when trying to poll a filesystem where the name of the mount point is too long. ================================================ Message Number Change ================================================ Issue Number: OE00218061 Errors 8845 and 9149 when registering database on AdminServer When registering multiple databases with AdminServer using a batch script causes Errors 8845 and 9149 for some databases ================================================ Name Server ================================================ Issue Number: OE00215500 Nameserver shuts down due to closed socket NameServer is sporadically shutting down with multiple errors 9362/9411 and 9412 ================================================ Open Client ================================================ Issue Number: OE00195792 .NET Client Hangs When Making Call After AppServer Shut Down If a .NET Open Client program makes a call to the AppServer and the AppServer has been shut down the .NET Open Client will hang and consume 100% of the CPU. Issue Number: OE00196107 Fix for Bug OE00195792 Causes Error String "7175" to be Returned The fix for bug number OE00195792 causes a non-descriptive error message to be returned. The error text will be "7175". Issue Number: OE00197137 Using .NET Compression = Random 7249 Errors Enablng .NET Open Client compression can cause random instances of error 7249. Issue Number: OE00198191 Java OpenClient gives error 7176 when relation fields are null Java OpenClient gives error 7176 when DataSet relation fields are null (unknown) com.progress.open4gl.Open4GLException: Input result set error: com.progress.open4gl.Open4GLException: Error formatting message: null. (7176) Issue Number: OE00199807 NullPointerException at ProChangeSummary.getChanges java.lang.NullPointerException at: com.progress.open4gl.ProChangeSummary.getChanges(ProChangeSummary.java:122 ) when trying to get second changes of ProDataGraph row delete operation Issue Number: OE00202636 Error 7249 Passing Back DataSets to .NET It is possible to get error 7249 when passing DataSets back to a .NET client from the AppServer. Issue Number: OE00207089 State Receiving Error in OpenClient application You may experience error "Broker System failure: Invalid state for deallocate: Current State = STATE_RECEIVING (7249). (7209)" when you run a request with output dataset or table parameters as the last parameters on the callled procedure, if the table returned is null or empty. Issue Number: OE00207165 Permanent Socket Errors Get Retried When .NET Open Client received a permanent socket error we were incorrectly attempting to retry the socket. Issue Number: OE00209699 DATETIME-TZ & INT64 Params Returned Wrong w/DATASET-HANDLE When passing a DataSet from .Net to the AppServer via a DATASET-HANDLE parameter, any DATETIME-TZ fields are turned into DATE fields on the AppServer and any INT64 fields are turned into RECID fields. Issue Number: OE00215247 .NET SSL client faile to connect to AppServer via OpenClient .NET SSL client faile to connect to AppServer via OpenClient Issue Number: OE00215620 Proxygen fails to generate .NET proxies Proxygen lists all procedures, functions, and temp-tables in its log, but fails to generate proxies when there are internal procedures with BUFFER parameters. If -leaveproxyfiles is added to runbproxygen.bat and it is rerun, the following error message is displayed after the "Generating Proxies..." message, but no files are left behind: SYSTEM ERROR: An unexpected error has occurred. (7307) Proxy Generation Failed. Issue Number: OE00216870 A way to add keep-alive settings to the connection Have a way to add keep-alive settings "KeepAliveInterval, KeepAliveTime, and TcpMaxDataRetransmission" parameteres to the connection to avoid timeout in a .NET client/server application. ================================================ Open Client .NET ================================================ Issue Number: OE00162241 Memory leak in .NET proxy connecting to non-existing AppServer When using a .NET proxy, trying to connect to a non-existing AppServer, memory is allocated, but never released. Issue Number: OE00216895 .NET Open Client Empty String Init Value Becomes DBNull When passing back a temp-table from the AppServer to a .NET Open Client where a CHAR field in the temp-table is defined with an initial value of "" (empty string), we appear to see the data for the field on the .NET side as String.Empty but upon creating new records in the temp-table, the fields value becomes DBNull. This is because the .DefaultValue property for the field is wrongly set to DBNull. It should be String.Empty. ================================================ Open Client Bridge ================================================ Issue Number: OE00194204 .NET Open Client Does Not Support Compression The .NET Open Client does not support compression when talking to the AppServer (like the ABL does with the -mc startup parameter). Issue Number: OE00195269 .NET open client w/SSL fails with Open4glException 7175 When SSL is used on an AppServer connection, the connection fails and the client receives this error: Generic System Message: Progress.Open4gl.Exceptions.Open4GLException: 7175 With .NET client logging, it shows that the data goes through compression and is sent to the AppServer. Then it logs a Error marshalling or unmarshalling ...InvalidMsgVersion[got ver= (0x1703): expecting ver=(0x6d). ================================================ Open Client Java ================================================ Issue Number: OE00170584 Retrieving large Prodataset 20 times slower with Java OpenClient Retrieving very large Prodataset 20 times slower with Java Open Client than with ABL. ================================================ OpenEdge Architect ================================================ Issue Number: OE00194586 Architect Fails to Compile All Same Named Classes If you have multiple classes with the same name in different folders and you have the "Build only when source files are newer than r-code" option unchecked in the OpenEdge->Build properties then you do a Project->Clean Architect will not compile all the classes with the same name. Issue Number: OE00196027 Type Info Not Avail w/Linked Project Architect will fail to load a form into the Visual Designer if the form references classes in a linked project. A type information for not available error will be displayed. Issue Number: OE00197065 OEA fails to start DB if install path incl. spaces or parenthese OEA fails to start DB if install path incl. spaces or parentheses Issue Number: OE00197225 Server View can't start AppServer if install directory has space The OpenEdge Architect Server view will fail to start AppServer brokers if the OpenEdge 10.2B installation path contains spaces. This happens both when using the OE Architect installation, and when using the option to integrate the Architect into another Eclipse installation. This is confirmed on Windows 7 64-bit platform, where the default installation directory will be in the "C:\Program Files (x86)" directory. Issue Number: OE00197561 The text "eof" breaks the outline view The literal text "eof" will break the outline view if it appears as a token in the syntax, so if it shows up as a word by itself, as a property/attribute, as part of a class package name ("testing.eof.testing") or as a name in a database.table.field reference. Any elements beyond the "eof" will not appear in the outline view. Issue Number: OE00197847 Exception when startup program in different closed project When in a Run Configuration, the startup program is located in a directory which happens to be part of an OpenEdge project, and this project is closed, the program does not run, but an exception is shown instead: Error with Debug UI: java.lang.reflect.InvocationTargetException This happens as the validation for startup program fails as the project associated with the startup program cannot be found. This validation is logically not correct. Files in workspace which are not accessible should be treated as files from outside workspace. Issue Number: OE00198914 Compilation in OEA causes Java exception using UTF8 encoding Jave exception is raised during compilation, if cpinternal and cpstream are set to UTF-8 and non-English promessages are used Issue Number: OE00199849 Overriding of static members should be restored In OpenEdge 10.2A, static methods were removed from the "Source -> Override/Implement methods" dialog. However, the ABL does allow defining overrides on static methods, so this creates a situation where the editing tools don't support all ABL features. This functionality should be re-instated; static members should be visible in the dialog, they should not be automatically be selected for inclusion. Issue Number: OE00200105 Empty message box on keyword expansion Openedge developer uses Expand keyword option for a procedure file. If this procedure file contains "Component-handle" keyword, then an empty message dialog box is displayed. Issue Number: OE00200424 Wrong compilation order If there more files with the same name in different directories referenced by PROPATH, only the last one is compiled. Issue Number: OE00200950 OpenEdge Architect does not upgrade Launch Configurations When an existing project is imported into OpenEdge Architect, then launch configurations also gets imported. if any associated Launch Configurations has not their version upgraded the the following error will occur: " Launching '' has encountered a problem. The specified OpenEdge version of for is invalid. You need to update OpenEdge installation information for this launch configuration. " The only alternative is to edit the version with the upgraded value in the imported launch configurations. Issue Number: OE00201213 OE Architect slowness during code context assistance OE Architect slowness during code context assistance when there are multiple layers of include files involved in the code. Issue Number: OE00201395 Excluding Data-Aware proposals breaks context assist If you exclude Data-Aware Proposals in the Editor Assistance Preference page and reference a class by its name only after indicating the namespace in a USING statement; content assist doesn't work for the instance of that class. e.g. USING IntergyClasses.Core.*. DEFINE VARIABLE oSubClass AS SubClass NO-UNDO. oSubClass = NEW SubClass(). oSubClass: /* Results in 'No Proposals' */ Issue Number: OE00203175 Open Declaration not working for class name & USING statement The "Open Declaration" (or CTRL-Click) option fails to work with class references that do not have the full referenced package name even when the USING statement is used to avoid having to fully qualify the package name. Issue Number: OE00205740 Performance issue in OE Architect "Initializing tooling" phase The "Initializing tooling" phase of starting an OpenEdge Architect session can take a really long time, and in the worst case crash the Architect with an 'java.lang.OutOfMemoryError: Java heap space " exception. This is seen when a project has a large directory tree (many directories and subdirectories), and that have the PROPATH set to include all the directories and subdirectories individually. Issue Number: OE00210319 Architect Consumes lot of Memory and CPU resources When editing using ABL editor in Architect where the source file is big or contains many include files it is possible for Architect to consume a lot of memory and CPU then perform very slowly and crash. Issue Number: OE00211449 Architect debugger crashes with REFERENCE-ONLY and variable view If the Architect debugger is used with code that defines a REFERENCE-ONLY prodataset and the debugger Variable View is active, then the debugger can crash. Issue Number: OE00212477 Program with many include files references exhausts memory A program that has a large number of references to the same include file can cause the OpenEdge Architect to consume very large amounts of memory, to the point where the tool becomes unstable. Issue Number: OE00216297 Automatically Check Syntax can trigger excess compiles The Automatic syntax check goes into looping behavior when the Project AVM takes more time to perform syntax check. The moment the project AVM fails to perform syntax check, another request for syntax check is done though there is no change in file. this loop continues till syntax check is performed correctly, project AVM is able to do syntax check in lesser time. Issue Number: OE00217792 Error 1008 when using Test Connection in OEA with MSSDSRV create a Database Connection in OE Architect / Developer Studio for OE to MS SQL Server using the DataServer for MS SQL Server. on the edit dialog of connection profile, clicking on "Test Connection" returns a error dialog (error 1008). which means the logical name provided by the user is not recognized by the MSS data server. non-PROGRESS database unknown. (1008) on clicking "test connection" multiple times displays another error dialog(error 1012). Connection failed. ** Warning -- database sports2000~oe is already connected. (1012) this suggest that sports2000~oe connection is already established and we are trying to connect it again. ================================================ OpenEdge Architect AppBuilder Support ================================================ Issue Number: OE00179801 OEA Content Assist not refreshed to show database changes Content Assist on database fields, caches the database schema for quick display of contents under content assist pop-up. The schema cache is never updated till we restart the OpenEdge architect. In an event of Database schema change either via data dictionary or Db navigator, say the user renames a field of a table in the database, this change won't be reflected until restart. Content assist pop-up will show the old field name and when the renamed field is selected, error 138 is generated. ================================================ OpenEdge Architect DB Navigator ================================================ Issue Number: OE00203866 Remote DS connection fails with error 560 from Architect OE Architect DB navigator give error 560 when connecting the remote dataserver for connecting to foreign Database (SQL, Oracle). This Error is only shown in the case when user uses -Dsrv svub,1 in other parameters to connect to Remote dataserver. ================================================ OpenEdge Architect Project ================================================ Issue Number: OE00195958 Changing Build Destination May Cause Compiler Errors Changing the build destination for a project doesn't delete the rcode from the old build destination. It may cause compile/runtime errors because the old .r code still exists and the old build destination might be still in the propath. Issue Number: OE00197443 Wrong compilation order for Build option The order in which files are compiled by the Build process is alphabetical and does not respect order of PROPATH entries. So, if two PROPATHs having same build destination, the rcode in the build destination could be from the PROPATH entry having lower precedence causing hard to debug runtime issues. Issue Number: OE00200773 ESBOE file not generated due to compile warning The ESBOE file is not generated when there is a procedure with ESB annotation which gives a warning at compile time. ================================================ OpenEdge GUI for .NET ================================================ Issue Number: OE00194183 Crash after deleting dyn frame parent of static frame The client may crash when you parent a static frame to a dynamic frame and delete the dynamic frame. The static frame becomes invalid after that point and cannot be used in the program anymore. Issue Number: OE00194694 Error is mistakenly raised on a call to a void method Running a void method where a parameter involves using a .NET indexed property such as: ultraGrid1:Rows[ultraGrid1:Rows:Count - 1] raises error when no real error has occurred. Thus, the code after this line will be skipped since the ABL exits the block. Issue Number: OE00195009 Crash on ENTRY of widget in MDI ABL window on return from dialog When an ABL window embedded in an MDI child form contains a widget which has an ENTRY trigger, the widget has focus, and a UI element on the main form is then used to call a .NET dialog, the form class crashes when trying to execute the widget's ENTRY trigger upon return to the embedded window. Issue Number: OE00195119 UltraGrid Fails to Paint Properly A .NET Form containing an UltraGrid may fail to paint the data in the grid if a .W is moved on top of the .NET Form and then the .NET Form is moved on top of the .W. Issue Number: OE00195306 UltraGrid Paints Incorrectly in C/S DB Mode The UltraGrid control will sometimes fail to paint properly when an application is connected to a database in client/server mode. The same application works properly when connected to the database in single user mode. Issue Number: OE00195439 BindingSource IEnumerator MoveNext() returns TRUE for empty enum There is a flaw in the IEnumerator implementation of our BindingSource object. The MoveNext() method returns TRUE when called on an empty collection - it should return FALSE as calling the method on an empty collection should immediately put the enumerator past it's end. Issue Number: OE00195441 You cannot edit row when BindingSource isn't bound to datasource When Probindingsource is linked to a temp-table buffer, any attempt to change a temp-table field results in the following error: You cannot edit row when BindingSource is not bound to a DataSource. Issue Number: OE00195624 Popup Menu Causes UltraGrid Not To Repaint It is possible that an UltraGrid control will not properly repaint if a popup menu is displayed over it. Issue Number: OE00195756 ABL Dialog drags ABL Window to top when displayed When an ABL Dialog is launched from a .NET form and ABL Window is present, the ABL window is brought in front of any .NET forms that are displayed but remains behind the dialog. Issue Number: OE00196061 System.MissingMemberException when subscribing to certain events The following error is returned when trying to subscribe to an event through an object reference that, at runtime, resolves to a type that is not public (for example, the OnSelectionChanged event in the ISelectionService interface): "System.MissingMemberException when subscribing to SelectionChanged event in iSelectionService interface" To get the fix for this bug, you need to recompile the source code that subscribes to the event. Issue Number: OE00196343 UltraGrid columns cleared after closing ABL window Some of the column data in the UltraGrid is disappearing/not repainting when the grid is overlaid by an ABL window which was initiated from a toolbar button_click event. The data reappears when the mouse is moved over the columns. Issue Number: OE00196759 Incorrect TZ displayed in Microsoft Datagrid .NET control Incorrect Timezone (TZ) is displayed in Microsoft DataGrid .NET control when it is assigned a value using the ABL NOW function or an ABL DATETIME-TZ field Issue Number: OE00197211 UltraComboEditor changes the unknown value to an empty string If you have an UltraComboEditor bound to a Progress.Data.BindingSource and the original displayed item is "Unknown", corresponding to an underlying Unknown value, the Value property returns the Unknown value. However if you select "Unknown" in the UltraComboEditor after having selected other values, the Value property returns the empty string. Issue Number: OE00197237 .NET exception The containing RibbonTab is currently hidden Getting the following .NET exception The containing RibbonTab is currently hidden when using quick access toolbar with the keyboard. Issue Number: OE00198531 SYSTEM ERROR using .NET Timers with slow client/server db If using a .NET timer in an application, and the client/server database connection is slow to respond, the AVM can crash with a SYSTEM ERROR message. This typically happens when the application implements a .NET interface that will end up being called by .NET in response to the timer event. Issue Number: OE00198576 WRITE trigger with WAIT-FOR hangs session if raised from form If a .NET form using a BindingSource causes a WRITE schema trigger to fire, and that WRITE trigger runs code executing a WAIT-FOR, this will effectively hang the session. The application window that comes up due to this stacked WAIT-FOR can still be moved, text can still be entered in fill-ins etc. But anything that raises an event that needs to be handled will no longer respond. Issue Number: OE00198697 PositionChanged event is not fired reliably The PositionChanged() event is fired before any data is available and does not fire for the first record after data is available Issue Number: OE00198787 Crash when using PROCESS EVENTS with browse and .NET The AVM can crash and/or display a SYSTEM ERROR or System.AccessViolationException under the following circumstances: - Running an ABL window within a .NET WAIT-FOR - The ABL window has a browse on it - The ABL window is processing code which causes an event to change the focussed row in the browse. - The ABL window calls PROCESS EVENTS Issue Number: OE00199124 Object property causes errors when assigned var with value ? Assigning a value type variable (i.e. Date) with value unknown (?) to a property of type System.Object (i.e. ultraDateTimeEditor:Value) results in error: "System.ArgumentException: The control's value cannot be set outside the range determined by the "MinValue" and "MaxValue" properties." Issue Number: OE00199259 Significant memory usage when re-attaching proBindingSource When re-setting the Handle property of ProBindingSource, whether the handle is for a dataset, query or buffer, there is a significant increase in memory usage. If this is done in a batching scenario, or a child dataset of a parent dataset (i.e. orders and orderlines) and the handle is re-attached many times after filling the data source, memory consumption can go up into the GB range. Issue Number: OE00199288 .NET app crash with stacked WAIT-FOR If you have a GUI for .NET application, and during the execution of an event handler for a .NET event you have a WAIT-FOR on a ABL event (such as CLOSE of THIS-PROCEDURE), the client may crash randomly after the WAIT-FOR is satisfied. Issue Number: OE00199303 Crash in .NET app when clicking browse with HELP The client crashes when you move focus to a .NET window that has a ABL embedded window by clicking on the column header of a browse that has a HELP string set. You may see a SYSTEM ERROR message with the ACCESS VIOLATION exception or the following message: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Issue Number: OE00199313 Access violations not handled calling AVM from .NET If an access violation occurrs when .NET calls back into the AVM, this might result in the following message being displayed: "System.AccessViolationException. Attempted to read or write protected memory. This is often an indication that other memory is corrupt." If this happens, the AVM is in an unstable state, which can lead to further such messages and crashes. There is no protrace file generated for this message. Issue Number: OE00199361 Client hangs after AccessViolationException If the client gets a System.AccessViolationException, the session may run away consuming CPU and the only way to terminate the session is to kill it. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Issue Number: OE00199612 Error 15216 when defining schema in Infragistics 10.2 UltraGrid Error 15216 occurs when defining a schema at design time for an Infragistics 10.2 UltraGrid: Subtitution parameters do not conform to the type parameter constraints of Generic class Infragistics.Win.Design.SubObjectCodeDomSerializer`1[Infragistics.Win.Ultr aWinGrid.UltraGridColumn], Infragistics2.Win.v10.2.Design, Version=10.2.20102.1004, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb (15216) Issue Number: OE00199930 Toolbar shortcuts accessible on form when dialog is up When a dialog box is shown using WAIT-FOR ShowDialog(), the keyboard accelerators for UltraToolbar buttons are still accessible on the form which launched the dialog box. Issue Number: OE00199969 Changing list of sockets w/ event from .NET method can cause GPF If in a .NET event handler the code deletes/disconnects/disables an existing ABL socket, and then calls a .NET method or gets/sets a .NET property that causes a 2nd event to fire, a GPF can occur. Issue Number: OE00200073 AVM can crash when overriding .NET void method The AVM can crash when executing an overridden .NET void method in a hybrid. The crash will occur if on return from the void method, another hybrid object with an ABL destructor is garbage collected. The message displayed during the crash is: SYSTEM ERROR when invoking ABL method from .NET Exception code: C0000005 ACCESS_VIOLATION The prevalent manifestation of this crash is when an ABL Form overrides WndProc, and has a hybrid control on it which has a destructor. If the form is explicitly destroyed from the ABL during the formClosed event, and the hybrid control is not explicitly destroyed during the form's destructor, the AVM will crash on returning from WndProc. Issue Number: OE00200169 .NET dialogs may cause memory leak .NET dialogs may not get garbage collected, potentially causing a memory leak. Issue Number: OE00200430 Inconsistent crash trying to purge reusable object The client may crash when trying to delete an OO object that is not going to be reused if one of the procedures that comprises the object was pending delete, and it was running the source (and not rcode). Issue Number: OE00200443 Crash when clicking a COMBO-BOX to open the list When clicking on the drop-down arrow of a COMBO-BOX widget in a Window that was launched from a .NET Form, the following error appears: SYSTEM ERROR when running event dispatcher Exception code: C0000005 ACCESS_VIOLATION Fault address: 7C9101B3 01:0000F1B3 C:\WINDOWS\system32\ntdll.dll Protrace generated This problem does not occur in 10.2B0108 and appears to have been introduced in 10.2B0112. The problem is still present in 10.2B02. Issue Number: OE00200800 Memory leaks with windows and .NET The client process may leak memory when in a .NET application you have ABL windows (embedded or not) Issue Number: OE00201170 Error 4025 / crash when opening ABL dialog in .NET application When you try to display an ABL dialog in a .NET application, you may get error 4025 (Unable to realize DIALOG-BOX ) if the last form that was active is closed. If the dialog contains an image, the session will crash right after the error. Issue Number: OE00201225 .NET application exits/crashes after APPLY END-ERROR If you have a .NET window up and then the ABL code applies "END-ERROR" (i.e. ENDKEY) to some ABL widget, then the whole .NET application comes down. Issue Number: OE00201587 Memory Leak accessing .NET indexed properties Client leaks memory when accessing .NET indexed properties (both when getting and setting them). Issue Number: OE00201943 WAIT-FOR Progress.Windows.Form.Application:RUN() blocks keyboard Some keys, including the Tab, space, and arrow keys, are not functional with enabled browse cells when .NET is activated. Issue Number: OE00202393 System.AccessViolationException on WAIT-FOR after applying ENTRY After applying ENTRY to a field in a legacy ABL dialog, then executing a WAIT-FOR, once the dialog is dismissed and a control in a .NET form gets focus the session crashes with no protrace file and shows the following error: System.AccessViolationException: Attempt to read or write protected memory. This is often an indication that other memory is corrupt. Issue Number: OE00202505 Problem with ultragrid checkboxvisibility and ProBindingSource The ultragrid checkboxvisibility feature shows unpredictable behavior in combination with ProBindingSource. This is due to a bug in the ProBindingSource when handling mulitple row transactions. Issue Number: OE00202782 System.TypeLoadException objects not getting cleaned up When attempting to use the Progress.Lang.Class:GetClass() method to find a class that doesn't exist a System.TypeLoadException is quietly thrown and never cleaned up. Issue Number: OE00202810 Windows/Forms focus issues with multiple frames parented to win When a form is launched indirectly from a window with multiple frames parented to the window widget itself, the form Deactivate method fires almost immediately after it is shown and the window with the frames goes to the front. Issue Number: OE00203265 MultiBand Grid Can Cause Memory Leak When showing a MultiBand Grid in a dialog and expanding bands in the grid, memory will be leaked when the dialog is closed. Issue Number: OE00203479 PBS CreateRow event not firing for child tables in SP2 After upgrading to 10.2B02, the CreateRow event doesn't fire anymore in the ProBindingSource as a result of calling AddNew() in the ultraGrid. Issue Number: OE00203746 Multiple UI issues in GUI for .NET applications Some GUI for .NET applications may exhibit multiple issues in which the UI responds inappropriately to user input. Issue Number: OE00203857 ABL Dialog allows access to floating panels in UltraDocManager If an ABL dialog box is displayed while a UltraDocManager pane is floating, the user can still access the objects on the floating pane. If, however, a .NET dialog box is launched it disallows access to any object owned by the current session. Issue Number: OE00203968 ROWID field in proBindingSource causes runtime conversion error Updating records containing ROWID datatype field in proBindingSource can cause "Incompatible datatypes found during runtime conversion." (5729) and "Unable to do run-time conversion of datatypes." (5678) errors. Issue Number: OE00204133 Compiling or checking syntax of code kills ABL client session Checking the syntax or compiling code with syntax like the following statement may kill the ABL client session. It is the double colon before property 'Y' that causes the problem. pt = NEW System.Drawing.Point(oBar:Location:X,oBar:Location::Y). Issue Number: OE00205092 UltraGrid does not display fields after duplicate encountered If ProBindingSource/UltraGrid contains duplicate field names (e.g. Customer.Custnum and Order.Custnum) then the second duplicate field and any subsequent fields are not displayed in the UltraGrid. Issue Number: OE00205963 System.IndexOutOfRangeException with PBS and PDS using recursion If a ProDataSet contains 3 tables, one of which has a recursive relationship, and it is bound to a ProBindingSource, the following error may occur: System.IndexOutOfRangeException: Index was outside the bounds of the array. Issue Number: OE00206290 updasmref.exe fails on 64-bit Windows On Windows 7 64-bit, the updasmref.exe tool will fail to load an assemblies.xml, and will raise the exception "System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)" From within OpenEdge Architect, this is observed when selecting "OpenEdge -> Migration -> Update Assembly References". Issue Number: OE00207273 Some .NET objects may not get garbage collected Some .NET objects created for hybrid classes may not get garbage collected (namely ProxyHandleHolder). Issue Number: OE00208024 SYSTEM-DIALOG cancels .NET form modality When a system dialog is displayed (using the SYSTEM-DIALOG statement) from a .NET form shown as a modal dialog box (using ShowDialog), upon canceling or closing the system dialog the .NET dialog box is no longer modal. Issue Number: OE00208899 Session crashes after re-assigning bindingsource The AVM session may crash after re-assignment of bindingsource handles when associated temp-tables have been updated outside of the bindingsource. Issue Number: OE00208957 Help button doesn't produce stack trace dialog When a Form class inherits from something other than Progress.Windows.Form (e.g. System.Windows.Forms.Form) and an alert-box is shown (e.g. MESSAGE "Hi There" VIEW-AS ALERT-BOX) from within an event handler, pressing the "Help" button on the resultant dialog does not launch the expected stack trace dialog. Issue Number: OE00209458 DISPLAY statement in embedded window clears all fields in frame When an ABL window is embedded into .NET MDI form, the DISPLAY statement may clear the content of fill-ins not specified in the DISPLAY statement. Issue Number: OE00209878 UltraGrid crashes sometimes when repopulating DataSet This problem is seen when you have an UltraGrid bound to a ProBindingSource attached to a ProDataSet. If you set the ProBindingSource:Handle to Unknown before you repopulate the DataSet's query, the UltraGrid may crash. Issue Number: OE00212888 Browse does not respond to mouse clicks when embedded in a form If an ABL window containing a browse widget is embedded in a .NET form which is shown as a dialog box [form:ShowDialog()], the browse won't respond to all mouse clicks. Issue Number: OE00216326 UPDATE statement during WAIT-FOR may cause application to freeze An application which displays a form and executes WAIT-FOR Application:Run() may become unresponsive if the application subsequently displays an ABL window which executes the UPDATE statement. Issue Number: OE00216397 UseFullFieldNames breaks compatbility from 10.2B04 to 10.2B05 In 10.2B05 we introduced the UseFullFieldNames property for the ProBindingSource. When an ABL form with a ProBindingSource is saved under 10.2B05, in the generated InitializeComponent( ) method, there is code to explicitly set this property. This means the code can no longer be used with earlier 10.2B service pack releases, as the property did not exist there. Issue Number: OE00216506 Crashes related to CREATE QUERY or DELETE OBJECT (query handle) There are random crashes when creating or deleting a QUERY widget. Issue Number: OE00216564 Query error when UltraGrid attempts to push updates to tt The following query error sometimes appears when an ultraGrid attempts to push updates back into the temp-table: "Warning: A buffer in query contains a different record than the current query result list entry. (4108)" ================================================ OpenEdge GUI for .NET .NET UI Language ================================================ Issue Number: OE00193461 Decimal conversion fails when user enters 0 in UltranumericEdito When the user enters 0 into an Infragistics UltraNumericEditor, decimal conversion is incorrect. Issue Number: OE00194659 ENTRY event not firing when switching between .NET and ABL When switching focus between a .NET form and an ABL window, the ENTRY event doesn't fire on the ABL window. Issue Number: OE00194662 Focus returns to wrong Window when ABL win called from .NET Form When an ABL window is closed after being launched by a .NET form which was launched by an ABL window, focus is incorrectly returned to the first ABL window instead of the .NET form which launched it. Issue Number: OE00197421 System.AccessViolationException with 4GL window in an ABL form A System.AccessViolationException error may occur when the user closes a form which contains an embedded OpenEdge ABL window. Issue Number: OE00197773 .NET object not released if passed in ABL array to .NET method A .NET object is not released when a form closes if the object is assigned to an ABL array that is passed a .NET method. Issue Number: OE00203271 System.ObjectDisposedException from dialogs used more than once In an ABL form containing a dialog instantiated using "WAIT-FOR :Showdialog ()", the dialog can only be opened once. If the dialog is then closed and opened again, a System.ObjectDisposedException is thrown. ================================================ OpenEdge GUI for .NET Data Binding ================================================ Issue Number: OE00193651 PBS with recursive rels displays flat when data-source detached When displaying data from a dataset that has recursive relations in an UltraGrid or UltraWinTree, as long as the buffer in the dataset has a data-source attached, the data display as expected, i.e. nested, however when the data-source is detached, or no data-source is used, the display is flat (i.e. none of the rows have child relations). Issue Number: OE00194436 GetCellValue() fails when called from InitializeRow() Using GetCellValue() in an InitializeRow event is always successful when batching is turned off, however when using batching, in all batches after the first, it returns ?. ================================================ OpenEdge GUI for .NET User Interface ================================================ Issue Number: OE00193204 Dialog loses focus, may hang when editor called from .NET form If _edit.p is called through a chain that includes a .NET form, code syntax is checked with F2 or Shift-F2, and errors are found, the error dialog is hidden behind the procedure editor. If the user then presses F2 or Shift-F2 again, the dialog will come to the front, but neither keyboard or mouse input will make the buttons work, even though the dotted lines appear to show that they are selected. Issue Number: OE00193886 Unable to open the clipboard in an MDI Form If the CLIPBOARD system handle is accessed from an MDI form, error "Unable to open the clipboard (4481)" is raised. Issue Number: OE00195532 Extended characters handled incorrectly with .Net Extended characters are not displayed correctly in a regular ABL window when WAIT-FOR System.Windows.Forms.Application:Run() statement is used instead of WAIT-FOR CLOSE OF THIS-PROCEDURE Issue Number: OE00196730 Window focus changes prematurely on FormClosing event When there is code in the FormClosing event handler of a Progress.Windows.Form object, focus may switch to another form or window of the application prematurely. Issue Number: OE00196752 System.AccessViolationException on BROWSE:REFRESH() method When the browser's REFRESH method is executed in an application a System.AccessViolationException message is shown and the process hangs. The entire text of the message is: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. No protrace or log entries are logged and the process may consume the CPU. The only way to end the process is through Task Manager. Issue Number: OE00197676 Scrollwheel does not work reliably When an ADM2 application is launched in a .NET application, browse scrolling does not work reliably with the mouse scroll-wheel. Issue Number: OE00197698 HELP of fill-in not displayed correctly when using .NET WAIT-FOR Help strings are not displayed consistently in the status area of an ABL window when a .NET WAIT-FOR is used. When the user clicks in a fill-in, the help of the previously clicked fill-in is displayed. When the users tabs from one fill-in to another, the HELP displayed in the status area doesn't change. Issue Number: OE00198035 Child form does not display in VD due to design canvas exception Child form does not display in Visual Designer perspective due to design canvas exception if the parent class defines a variable that eventually refers back to itself. ================================================ OpenEdge Replication ================================================ Issue Number: OE00188358 FULL extents not emptied by AI archiver If OpenEdge Replication is running and the ai archiver is being used to manage the AI extents, if the replication server is terminated and replication is disabled, old FULL AI extents will not get emptied, only new FULL extents. Issue Number: OE00195716 Cannot start secondary login broker for target DB automatically When starting a secondary login broker for a target database before the Source and Target are synchronized, this will fail with errors 10830, 8619 being printed in AdminServer log. Issue Number: OE00198723 Re-enabling repl online after disabling repl breaks repl Disabling OpenEdge Replication online and then re-enabling online stops replication commands from working and also cannot be disabled online again. Issue Number: OE00199398 proutil describe not allowed on target db w/o repl plus proutil describe cannot be run online against a target database when using a Replication license instead of a Replication Plus license. Issue Number: OE00199400 Cannot online disable ai for target db w/o Repl Plus license AI is enabled on the target database after transitioning from secondary replication back to primary replication. If running with a non-Replication Plus license, users cannot disable after-imaging online. Issue Number: OE00204396 Online backup causes Monitor to give false latency number After an online backup, the latency time goes up, even if there are no transactions. Issue Number: OE00211593 Replication agent crashes with error 49 on linux platforms Replication agent ends with error (49), on linux platforms only. Issue Number: OE00217979 OpenEdge Replication not propagating schema change OpenEdge Replication did not propagate online schema change made to source database, resulting in 450 and 3191 errors. ================================================ OpenEdge Replication Agent ================================================ Issue Number: OE00190098 Startup parms on source and target need to match If the -L, -n, -M* parameters are different on the source and target, the database may eventually fail to synchronize. The argument on the target database must be greater than or equal to the arguments on the source database. Issue Number: OE00204109 Replication transtion fails with -252 and -263 errors on Windows OE Replication transition might fail with -252 and -263 errors when performing a recovery backup during a transition. This could happen when using (trying to backup) a "large" database. This is a problem only on Windows. ================================================ OpenEdge Replication Replication ================================================ Issue Number: OE00194230 Disabling Replication causes roll forward to fail Disable Replication utility changes the modification date of the database Issue Number: OE00196880 error 2329 when site replication is enabled. Unable to enable site replication, get system error 2329. ================================================ OpenEdge Replication Server ================================================ Issue Number: OE00198912 Replication error when repl-keep-alive <> 300 When replication is enabled and repl-keep-alive is used with a value other than the default (300 seconds) system error 10491 can be observed in the database log file. ================================================ Porting ================================================ Issue Number: OE00198300 Prowin32.exe cannot use XML on Win64 Install Installing 64-Bit OpenEdge on Windows causes the 32-Bit prowin32.exe to be installed but that executable cannot use XML. ================================================ Progress Developer Studio for OpenEdge Editing ================================================ Issue Number: OE00192398 Code templates insert excess blank lines When inserting code into editor via Source -> Add Procedure/Function/Method/Property, etc. or auto-generation of code in cases of interface implementations, etc. excessive numbers of blank lines are inserted in the editor code block. These appear below (and sometimes above) the group of equal blocks, for example after all internal procedures when procedures are added. Similarly, within a class file (.cls) spaces are inserted before the END CLASS statement. Issue Number: OE00192666 Add Procedure dialog missing the option to set PRIVATE option The "Add Procedure" dialog is missing a toggle to specify an internal procedure as private. As the ABL does support defining internal procedures as PRIVATE, this dialog should have a matching toggle as well. This is inconsistent with similar behavior in Add function Dialog, where we can mark a function as Private. Issue Number: OE00194386 Macro variable not selected after expansion After inserting a macro in architect the cursor is placed before the first variable but the variable is not selected. ================================================ Progress Developer Studio for OpenEdge Project ================================================ Issue Number: OE00192603 Launch Configuration logging level is set 1 level higher in AVM Setting a global logging level in a Run Configuration (at the top of the logging tab where log file etc. are specified) will result in the AVM using a logging level that is 1 higher than the one specified. For example, setting a logging level "Basic" results in the AVM setting the logging level to 3 where it should be 2. Setting the logging level per entry type does use the correct logging levels. ================================================ Progress Explorer ================================================ Issue Number: OE00196585 jvmStart.exe crashes in 10.2B with non-default install path jvmStart.exe crashes in 10.2B if a long, non-default install path is used Issue Number: OE00197333 AdminServer log can display user passwords in plain text When AdminServer starts a unified broker using username and password that password is visible in admserv.log file in plain text format. Issue Number: OE00202639 Changing case in ubroker.properties prevents Nameserver start Changing the case of an entry in the AppServer section in ubroker.properties prevents the Nameserver from starting. Issue Number: OE00206293 Admsrv.lock file is not removed on reboot of server The admsrv.lock file is not removed on reboot of server thus preventing the AdminServer from starting when the server restarts. Issue Number: OE00211679 root auth fails from remote host when running dbman query on RH6 Remote management of database that is on Redhat 6 using root user fails authentication. Though the problem was reported on RH6 it can occur on any Unix platform where password is NOT encoded in Unix's DES algorithm. (Note: For Linux the problem can occur if password is NOT encoded in DES or MD5) ERROR: Unable to connect to AdminServer. User authentication failed for user: root (DBMan014) ================================================ Report Builder ================================================ Issue Number: OE00196670 Report Engine 10.2B generates 5410 warnings in database log Report Engine 10.2B generates 5410 warnings in database log when running reports: WARNING: -D limit has been exceeded; automatically increasing to 0. (5410) Issue Number: OE00197549 Report Builder errors if table has a RAW or new data type field If a Report Builder report table has an INT64, DATETIME, DATETIME-TZ, BLOB, CLOB or a RAW field, then the report builder will generate an error similar to the following: Cannot access master table 'Customer' due to SQL error: Undefined data type 0 associated with column 19. (1699) Issue Number: OE00198385 Report Builder viewer window doesn't get focus Report Builder viewer is started multiple times from an ABL window. Focus sometimes ends up on the application's disabled form instead of on the Report Builder viewer window. Issue Number: OE00212473 _prlist.p shows wrong list ofprinters on windows 2008 citrix The Report Builder _prlist.p utility procedure may return more printers than expected when the session is run on a Windows 2008 Citrix server. The extra printers belong to other users running on the same server. ================================================ Security SSL ================================================ Issue Number: OE00197804 pkiutil verification fails when importing key on Windows Importing a signed SSL key using pkiutil.bat on Win 32 and win 64 causes the following error: %DLC%/bin/checkkey.exe: option requires an argument -- p 'heckkey.exe' is not recognized as an internal or external command, operable program or batch file. Incorrect digital certificate imported for ================================================ Server Technology ================================================ Issue Number: OE00195638 Some client messages may be written to dataserv.lg When connected to a DataServer for MSS schema, messages that are supposed to go the client or AppServer server's log file end up in the dataserv.lg after you run STORED-PROC with the LOAD-RESULT-INTO phrase. Issue Number: OE00198215 Memory leak in WSA monitoring A memory leak is seen in the AdminServer when WSA monitoring is enabled in OpenEdge Management. A Java out of memory exception can occur when the AdminServer process runs long enough. Issue Number: OE00200810 RUN ASYNC AppServer calls misbehave when client is run from OEA RUN ASYNC calls do not function properly from OpenEdge Architect. This only happens when the application is run from OEA configured for starting a new AVM, which is the default. It will operate properly when using the project runtime to start the client, or outside of OEA. Issue Number: OE00207569 LOGIN-EXPIRATION-TIMESTAMP functionality is broken The CLIENT-PRINCIPAL object continues to be valid after the LOGIN-EXPIRATION-TIMESTAMP expires. ================================================ SQL ================================================ Issue Number: OE00162612 Complex SELECT DISTINCT query returns internal error Complex SELECT DISTINCT query returns internal error, err. at 1985 in /vobs_sql/sql/src/rds/opt_sort.cxx Issue Number: OE00194688 Encounter internal error in SQL ENGINE at 852 in opt_anl2.cxx When a select statement contains BETWEEN expressions you might experience the following error: [DataDirect][OpenEdge JDBC Driver][OpenEdge] Encounter internal error in SQL ENGINE at 852 in Z:/vobs_sql/sql/src/opt_anl2.cxx. Contact Progress Technical Support This may happen when the BETWEEN predicate involves columns from 2 tables being joined, and there is no database index to directly support any relationship between the 2 columns used on the BETWEEN. Issue Number: OE00195048 Record is locked when a stored procedure is executed with ODBC. A stored procedure including an UPDATE or INSERT SQL statement executed through ODBC does not release locks. Connection has to be terminated and transaction is rolled back. Issue Number: OE00196187 SQL92 CREATE trigger not allowing to open cursors - grant needed If the required permission to use a sequence is not granted to a user, then that user can get an access denied error when a sQL92 CREATE trigger is trying to open a cursor and the sql statement uses a sequence. This is not a bug. Error "permission denied" is returned when a sequence is accessed from the trigger and trigger owner does not have permissions to update/access the sequence. In this case owner of the trigger "PUB" should be given update permissions on the sequence, then trigger should work: grant update on sequence pub.nextcustnum to pub; If the Create trigger is created under any user but PUB, and if this user has privilleges to update the sequence, then trigger will run fine. Issue Number: OE00196491 Stored Procedure fails to return SHOW CATALOGS result set A stored Procedure fails to return the result set of the SHOW CATALOGS SQL statement and the error "Connection reset ErrorCode=0 SQLState=08S01" is generated. Issue Number: OE00196695 _sqlsrv2 hangs while executing query on auxiliary catalog SQL queries hang under the following conditions: 1. Using a multi-database connection 2. Selecting from a table in an auxiliary catalog using a synonym. 3. A table of the same name does not exist in the primary catalog 4. A synonym is defined for the table. 5. The synonym is not qualified with the auxiliary catalog name in the query. Issue Number: OE00197805 Dead server when non-dba accesses dba owned sequence _sqlsrv2 process dies when a non-dba user attempts to access a sequence created by a DBA user. Issue Number: OE00197974 Wrong SELECT DISTINct result set after updating index stats When running a SELECT DISTINCT statement with WHERE clause all records in a table are returned instead of the ones that satisfy given condition only. This problem may occur for cases of SELECT DISTINCT where an index used for query execution can also provide needed uniqueness for result set rows. The sql optimizer was not handling the index use optimization correctly. Issue Number: OE00198693 SQL: Updating a character array field may corrupt its data Updating some elements of a character array using the SQL UPDATE statement corrupts all the array elements and renders them all to the unknown value. Issue Number: OE00199752 Character string is too long using double-byte characters. Extended characters are converted to Unicode/double-byte format when passed via SQLBindParameter ODBC API which can cause the data to exceed the column width and return error: Character string is too long (8184). Issue Number: OE00202509 Error code -210012 on haggr temp table when running a SQL query Error code -210012 on haggr temp table when running a complex SQL query that contains a GROUP BY clause. Issue Number: OE00206101 SQL client ignoring defaultSchema in odbc.ini All SQL clients appear to be ignoring the defined defaultSchema in odbc.ini. Issue Number: OE00208257 Specific BETWEEN predicate causes internal error in SQL ENGINE A specific NOT BETWEEN predicate in the WHERE clause causes a query to fail with the error: "Encountered internal error in SQL ENGINE at 2598 in Z:/vobs_sql/sql/src/rds/opt_anl1.cxx. Contact Progress Technical Support" Issue Number: OE00208258 The SQL scalar ROUND function fails with some rounding factors The SQL scalar function ROUND fails with error "Overflow error (7485)" if its rounding factor is zero or absent and returns wrong values if the absolute value of its negative rounding factor is greater than or equal to the number of digits in the decimal part of the number. Issue Number: OE00208260 Some Timestamp literal math expressions cause (7499) error A mathematical expression involving an SQL Timestamp literal and negative integer literal(or an expression whose result value is negative integer) causes the query to fail with "Invalid time value (7499)" error. Issue Number: OE00208266 SQL servers fail during memory allocation The SQL92 server process reports memory allocation failure when trying to execute certain types of complex queries, especially those in which a subquery performs aggregation (has a GROUP BY clause). Issue Number: OE00209655 INSERT error: String data, right truncated. Error in parameter 2 SQL INSERT of a 10 double byte characters into a VARCHAR(10) field of a table in a UTF-8 database generate the error: "[DataDirect][ODBC Progress OpenEdge Wire Protocol driver]String data, right truncated. Error in parameter 2." Issue Number: OE00209662 INSERT 31 digit in DECIMAL(31,0) field cause Overflow error (748 Trying to INSERT a 31 digit number into a DECIMAL(31,0) field generates the error: "[DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Overflow error (7485)" Issue Number: OE00210074 SQL query doesn't return data after migrating to OE 10.2B A SQL query that uses derived tables, and where the derived table sub-query uses outer joins, and where some outer join predicates reference tables in prior ON clauses, may not return correct results in OE 10.2B01 through 10.2B04. Such a query would have run correctly in OE 10.1C. Issue Number: OE00211193 Error 7864 persists after first occurance till connection closed Once the error " Column in table has value exceeding its max length or precision (7864) " is issued by a query, it persists for all subsequent queries executed on the same connection object if it references the offending column even when the data in that column of the subsequent queries does not exceed the SQL width. Issue Number: OE00211339 VIEW columns created with COALESCE function are case sensitive SQL VIEW columns created with the COALESCE function are case sensitive causing queries that are not aware of this fact to return wrong result sets. The COALESCE function is supposed to be a shorthand for the CASE statement, yet, the SQL VIEW columns created with the CASE statement are NOT case sensitive Issue Number: OE00212197 SQL query over views and containing multiple UNIONs crashes Queries with a large number (approaching 30) of SELECTs over views combined using UNION ALL crash with an internal error. Issue Number: OE00212964 'with (NO-LOCK)' parameter of an SQL query is not functionning When using the 'with (NO-LOCK)' parameter in an SQL select query a lot of database record locking still takes place, and often give the following error messages: Lock table is full. (7870) Issue Number: OE00216073 _SQLSRV2 crashes executing a query with multiple outer joins _SQLSRV2 crashes executing a query with multiple outer joins (more than 39 left outer joins) in OpenEdge 10.2B . Query worked previously in 10.1C04. Issue Number: OE00217904 NO EXISTS predicate in a view causes wrong result set in join When a Query joining a view with another view or another table is executed, it may return wrong result set and and bad column order if the view was created using multiple WHERE clause predicates one or more of which uses th SQL "NO EXISTS" predicate. ================================================ SQL ESQL92 ================================================ Issue Number: OE00183771 ESQL/C: SET TRANSACTION ISOLATION LEVEL fails w Static Statement ESQL/C: Once the TRANSACTION ISOLATION LEVEL has been set in an ESQL/C program, it can not be changed for subsequent Static SQL statements executed on the same Connection object. As of OE sql 10.2B01, the isolation level defined by an esql SET TRANSACTION ISOLATION LEVEL statement will be in effect at once, provided it is correctly defined. As per SQL standards, an isolation level can only be correctly defined before a transaction begins. Thus, if a transaction is in progress, and the SET TRANSACTION ISOLATION LEVEL statement is executed, this would cause an error to be raised. Previously, ESQL would not detect this error. As of Release 10.2B01, ESQL will detect this error. Note that the time immediately after a COMMIT or ROLLBACK is always before a new transaction begins, and is a suitable place for SET TRANSACTION ISOLATION LEVEL. Issue Number: OE00213010 crash while inserting empty string into char arrayas SQL engine crashes, if an empty string is provided as a value to a column of type CHAR array, and a word index is defined on this column. ================================================ SQL JDBC Drivers ================================================ Issue Number: OE00192426 Data from a CLOB field is truncated when accessed through JDBC Data from a CLOB field is truncated when fetched using the OpenEdge JDBC driver. Truncation does not occur when using the OpenEdge ODBC driver or the JDBC/ODBC bridge. ================================================ SQL ODBC Drivers ================================================ Issue Number: OE00205286 Crystal RDC File DSN connections fails after 10.2B03 Crystal RDC File DSN connections fails after 10.2B03; DataDirect v6 driver cannot handle full path to File DSN. ================================================ SQL Server ================================================ Issue Number: OE00194163 NEXTVAL generates an ACTIVE transaction A SELECTstatement containing NEXTVAL in READ_UNCOMMITED isolation level will create an ACTIVE transaction in the database. Issue Number: OE00194300 SQL query performing aggregation crashes _SQLSRV2 A SQL query containing a subquery and aggregation caused _SQLSRV2 to terminate abnormally. Issue Number: OE00196994 Incorrect view when JOIN clause in view definition If a view is defined with the JOIN clause, and "*" notation is used to select all columns in one of the joining tables, then an extra unnamed column is added incorrectly, and the last column in the referenced table is omitted. Issue Number: OE00199411 _SQLSRV2 crashes after disconnecting and re-running query After disconnecting and re-connecting to the same SQL server and re-running a query, the _SQLSRV2 process crashes. This may happen when a table has a combined number of index key components (key fields) greater than 250, and the second connection references that same table. Issue Number: OE00200269 Error in SQL ENGINE at 406 in /vobs_sql/sql/src/rds/opt_jfn1.cxx The error: " [DataDirect][OpenEdge JDBC Driver][OpenEdge] Encountered internal error in SQL ENGINE at 406 in /vobs_sql/sql/src/rds/opt_jfn1.cxx. " is generated while executing SQL queries containing UNION on right side of JOIN and an index is selected to retrieve rows from the UNION. ================================================ SQL SQL ================================================ Issue Number: OE00119231 SQL servers spawned by failed SQL connections cannot be reused If you exceed the -n setting for a broker and attempt to make a SQL-92 connection to the database, a SQL server will be spawned but the connection fails with "You have attempted to connect to a database with too many users connected to it. Retry the connection later, or increase -n on the server. (5291)" If you continue to attempt SQL-92 connections and fail, new SQL servers are spawned until the -Mn or the -Mpb is reached and then the error changes to "No SQL servers are available. Try again later. (8839)." If you Reduced of the number of connections to below the -n value and attempt a SQL connection, it will fail again with "No SQL servers are available. Try again later. (8839)" even though a number of sql servers are present. Issue Number: OE00182281 Wrong error message (10802) Running failing Java code in sql-92 trigger returns wrong error message [DataDirect][OpenEdge JDBC Driver][OpenEdge] Incompatable data type specified fo r Trigger OLDROW/NEWROW getValue/setValue method. (10802) although the failing code has nothing to do with the getValue/setValue method. As of OE 10.2B01, sql now returns an accurate message, saying "ClassCastException occured in trigger execution". Issue Number: OE00194245 SQL LIKE predicate returns inconsistent results SQL select statement using LIKE predicate returns too many records than expected. As of OE sql 10.2B01, the LIKE predicate returns consistent, correct results in situations where there are no wildcards, and in all other situations. Issue Number: OE00198305 UPDATE STATISTICS degrades query performance in 10.2B01 Certain queries' performance may degrade when the table, column and index statistics are updated. Issue Number: OE00208270 Different results when using 2 aggregates in a select statement When using more than one aggregate functions in a SELECT statement with sub-query in EXISTS clause, the results are wrong Issue Number: OE00211602 IN predicate & CASE statement do no work properly in WHERE claus SQL queries that use the IN predicate and the CASE statement in the WHERE clause may fail to return the correct result set. Some of these queries that worked properly in 10.0B stopped returning the correct result in later versions. Issue Number: OE00213343 Query performance drop after upgrade from 10.1B03 to 10.2B05 Performance of certain(details given below) queries drops dramatically after upgrade from 10.1B03 to 10.2B05 A query containing at least three table join statement which meets the following criteria takes lot of time to execute. - Tables with multi-component indexes in a database. - One of the table's conditions in WHERE clause must skip one component of some multi-component index and have conditions on other components (like a,b,c,d are columns of tab1; ABCD index spans across a,b,c,d. Where conditions must be a = and b = and d = . Note that c is missing. - All the conditions in WHERE clause are transitively related. Issue Number: OE00214760 Sqlsrv2 crashes - query uses GROUP BY /grouping keys/ 50 bytes Sqlsrv2 crashes when a query does grouping (GROUP BY phrase) and some of the grouping keys are larger than 50 bytes. This problem exists in release 10.2B05 only. Issue Number: OE00217412 More than 13 "IN" in WHERE statement causes huge performance dro When using WHERE IN statements in a complex SQL query for very large tables (millions of rows) , if 13 or more IN values are present the performance of the query execution drops. The time of execution goes from a couple of seconds (with less than 13 IN) to 10+ minutes (when adding 13 or more IN). If the same query is modified and the WHERE IN statement is replaced by WHERE OR then you can add more than 13 values and the query executes in a few seconds. This problem can occur when one (or more) of the tables has associated indexes which contain some index key values with many, many duplicate values and other index key values with many fewer key values. In other words, this problem is related to skewed key value distribution. Issue Number: OE00218222 UPDATE ALL COLUMN STATISTICS on big table fails UPDATE ALL COLUMN STATISTICS for big table fails with : [DataDirect][OpenEdge JDBC Driver][OpenEdge] Internal error -1 (see dsmret.h) in SQL from subsystem DSM SERVICES function dsmRecordGet called from sts_srtt_t::: scan_cursor on .SRTT_Temp_2 for . Save log for Progress technical support. This problem BEHAVIOR occurred when a character column in a database table contained many values larger than 3000 characters, and some of those large values could not be correctly handled by UPDATE ALL COLUMN STATISTICS. This incorrectly prevented UPDATE STATISTICS from completing. ================================================ TTY ================================================ Issue Number: OE00205537 Error 49 running code that displays editor widget on AIX On AIX, applications that use the SCROLL statement to scroll a frame containing an editor widget sometimes crash with error 49 (SYSTEM ERROR: Memory violation.) Protrace and core dump are generated. Issue Number: OE00214128 LABELS = FALSE on TTY doesn't hide BROWSE labels Using the LABELS attribute on a Dynamic Browse in TTY has no effect on the browse widget. This should hide/display the browser's column labels as long as it's set prior to widget realization. ================================================ TTY ABL ================================================ Issue Number: OE00193235 TTY browse widget leaks memory The browse widget leaks memory on TTY clients (Unix or char client on Windows). The leak will be bigger depending on whether you have an updatable browse and/or the number of rows with data. ================================================ UI Controls ================================================ Issue Number: OE00210255 UltraTreeNodes do not respond when label not fully visible Under certain conditions, double-clicking on the label of an UltraTreeNode in a navigation bar does not produce a response. ================================================ Web Services Adapter ================================================ Issue Number: OE00194999 WSA does not accept datetime-tz values with 'Z' timezone The WSA does not accept datetime-tz values with a 'Z' timezone when using an AppServer procedure with a ProDataSet as the input parameter ================================================ Web Services Client ================================================ Issue Number: OE00195598 Memory violation when Web service port is called with parameters Making WebService call to the initialization of the port type with parameters causes the session to crash. RUN portTypeName SET hPortType ON hWebService(INPUT parm1, OUTPUT parm2). Issue Number: OE00208111 UTF8 Client crashes calling a Webservice The AVM can crash when run with -cpinternal UTF-8, and accessing a Web Service which returns characters that take up 3 bytes when encoded as UTF-8. Issue Number: OE00208345 Web Service client unable to receive indeterminate EXTENT The OpenEdge Web Service client fails with error "Wrong parameter type: array (11798)" if a web service operation returns an indeterminate EXTENT. This can be either if the value is an OUTPUT parameter on a procedure or function, or a RETURN value of a function. Issue Number: OE00213876 Memory fault error trying to load a WSDL file using bprowsdldoc When trying to load a WSDL file using the command line tool "bprowsdldoc" to get the WebService call template crashes. ================================================ WebClient ================================================ Issue Number: OE00197688 10.2B WebClient fails to update to service pack. Once 10.2B WebClient is installed, WebClient will fail to update to a service pack version, if such an update is required by a new version of the application. This applies to any versions of WebClient installed e.g. if you have both 10.1C03 and 10.2B installed, it is not possible to update to 10.1C04. Issue Number: OE00217318 WebClient crashes using -q and program in an as-needed component WebClient will crash when using -q in the application startup parameters and having programs in an as-needed component that has not yet been downloaded. ================================================ WebSpeed ================================================ Issue Number: OE00194949 Webspeed data browse shows new sequence as ? Webspeed workshop data browser displays new sequence as "?" Issue Number: OE00199198 get-field in WHERE clause not matching record If you post an HTML form with a large number of fields in an HTML form, and the code uses get-field() with a valid field name in a WHERE clause of a FIND statement, get-field() will not return the field value. Issue Number: OE00200643 WebSpeed binary upload may cause error 5814 Uploading binary files with WebSpeed may cause error 6019 and 5814. Issue Number: OE00201837 WebSpeed get-field() function is case-sensitive with many fields The WebSpeed get-field() function in cgiutils.i becomes case-sensitive if the HTML form has a sufficiently large number of fields (500+). If the field name passed in does not match the case as defined in the HTML form, the function doesn't return a value. Issue Number: OE00208318 WSISA crashes application pool if agent returns no content If a WebSpeed agent does not write any content to the WebStream, the WSISA messenger can crash the IIS application pool. The situation can be avoided by ensuring that any application errors (e.g. ERROR or STOP conditions) in web objects are caught and handled by the web object, and ensuring the web object writes some output to the WebStream. Issue Number: OE00208575 HTML-mapped file w/ multi-byte UTF-8 chars displays incorrectly A HTML file for a HTML-mapped object may be encoded as UTF-8, and contain multi-byte UTF-8 characters. If this is requested from a WebSpeed agent with -cpinternal UTF-8, the output can display incorrectly. ================================================ WebSpeed Agent ================================================ Issue Number: OE00191338 Webspeed broker does not see certain environment variables When adding environment variables that need to be expanded for a given WebSpeed or AppServer broker, if you try to start it up it will report that it could not be started when in fact it did start up but broker could not expand one or more environment variables. Issue Number: OE00214721 WS agent memory leak with large number of fields on a page WebSpeed agent memory leak with large number of fields on a page ================================================ WebSpeed Messenger ================================================ Issue Number: OE00200642 WebSpeed Messenger may fail when uploading large files WebSpeed Messenger may fail when uploading large files and show error 5823 on the browser. The server log may show errors 6402 or 15634, plus 6397 and 6400. ================================================ WebSpeed Tools ================================================ Issue Number: OE00160917 Syntax checks of HTML files larger than 18KB hangs Webspeed Syntax checks of HTML files larger than 18KB hangs Webspeed Workshop. However, you can save compile without hanging. ================ PROGRESS TOOLING ================ ========================================= LIST OF ISSUES ADDRESSED IN THIS RELEASE: ========================================= DBNav Issue Number: UNUM00000709 DB Navigator>Edit Column>Finish button not enabled after Edit When using the Edit button > Text Editor to enter text into the View As or Validation fields in the Edit Column dialog of DB Navigator, the Finish button is not immediately enabled. ---------------------------------