InterSystems Documentation 
Caché and Ensemble Maintenance Kit Release Notes


This document provides a list of the changes between versions 2010.1.2 and 2010.1.3 for Caché and Ensemble.
The release notes are available in the \Docs subdirectory of your installation.

Late-breaking information about this kit can be found in: \relnotes\readme.1st

Topics in this document include:


General Announcements
Upgrading From Prior Released Versions
Customers running on any prior released version of Caché may upgrade to this version of Caché during installation. When upgrading across multiple versions, intermediate upgrade steps may be necessary depending on the inter-release compatibility requirements. The release notes for the intervening releases will contain that information.

After each upgrade step, the following conditions apply:

Upgrading ECP Configurations
The following guidelines apply to the process of upgrading ECP configurations:
If your database or application servers hold local transaction information until the transactions are completed, or if you have questions or concerns about how to upgrade your ECP configuration, please contact InterSystems Worldwide Customer Support.

Restricted Rights Legend
Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013.
InterSystems Corporation
One Memorial Drive
Cambridge, MA 02142
When acquired by the Government, commercial computer software and related documentation bearing this legend are subject to the following:

  1. Title to and ownership of the software and documentation shall remain with the Contractor.
  2. Use of the software and documentation shall be limited to the facility for which it is acquired.
  3. The Government shall not provide or otherwise make available the software or documentation, or any portion thereof, in any form, to any third party without the prior written approval of the Contractor. Third parties do not include prime contractors, subcontractors and agents of the Government who have the Government's permission to use the licensed software and documentation at the facility, and who have agreed to use the licensed software and documentation only in accordance with these restrictions. This provision does not limit the right of the Government to use software, documentation, or information therein, which the Government has or may obtain without restrictions.
  4. The Government shall have the right to use the computer software and documentation with the computer for which it is acquired at any other facility to which that computer may be transferred; to use the computer software and documentation with a backup computer when the primary computer is inoperative; to copy computer programs for safekeeping (archives) or backup purposes; and to modify the software and documentation or combine it with other software. Provided that the unmodified portions shall remain subject to these restrictions.
END OF LEGEND

InterSystems News, Alerts and Advisories
From time to time, InterSystems publishes items of immediate importance to users of our software. These include alerts, mission critical issues, important updates, fixes, and release announcements.

The most current list can be obtained from the InterSystems Website.

Users should check this list periodically to obtain the latest information on issues that may have an effect on the operation of their site.


Online Documentation
As a convenience to our users, InterSystems provides online access to documentation for recent product versions at the InterSystems Website. From the home page, choose the Support & Education tab, then choose the Support menu item for the product you are interested in, for example, Caché Support. Links to the available documentation can be found on the support page for each product.

Description of a Change Report
To help you assess the impact of this maintenance kit on your applications, the remaining topics in this document describe each modification in detail.
If you need assistance evaluating the effect on your application(s), system(s), or related plans, please contact the InterSystems Worldwide Support Center:

  • Phone:  +1  617  621-0700
  • Fax:  +1  617  734-9391
  • Email:  support@intersystems.com


Category: CSP.Gateway
Platforms: All
DevKey: CMT804
Summary: Fix a problem that could lead to the Gateway Management form for Application Access not displaying properly

Description:

This change corrects a situation that could lead to the Gateway Management form for Application Access not displaying properly.

Category: CSP.Gateway
Platforms: All
DevKey: CMT845
Summary: Ensure that CSP pages cached in the Gateway can be served as the first page in an application

Description:

A change has been applied to correct a situation that prevented a cached CSP page from being displayed as the first page in an application.

Category: CSP.Gateway
Platforms: All
DevKey: CMT846
Summary: Improve the handlers for the 'client interrupt' event (only relevant to the IIS v7 Native Modules)

Description:

This change corrects a problem that prevented the gateway from responding to interrupts in IIS version 7 native modules.

Category: Ensemble
Platforms: All
DevKey: HCR127
Summary: Allow compilation of Rules that reference uncompiled functions (fix in-place upgrade of Ensemble Rules)

Description:

The problem addressed by this change only affects users who have user-defined functions in their Rules. In this case, such Rules would not be properly recompiled during an in-place upgrade; in an upgraded system, "Unknown Function" errors would be seen in all Rules that made use of custom functions. This change modifies the way that the functions are retrieved at compile time, fixing this problem.

Category: Ensemble.Adapter
Platforms: All
DevKey: DDP088
Summary: Correct default parameter binding for ODBC drivers which don't implement SQLDescribeParam()

Description:

This change corrects a minor regression introduced in a prior version. The issue involves queries and stored procedures with input parameters where the Execute[Operation]ParmArray() methods are used to allow for detailed specification of the expected input parameters, and either the "SqlType" subscripts or both the "SqlType" and "CType" subscripts were not being populated.

Category: Ensemble.Adapter
Platforms: All
DevKey: TAP975
Summary: Support SetAutoCommit(), Commit() and Rollback() in SQL Adapter JDBC mode

Description:

This change adds support to the SQL Adapters in JDBC mode for the methods SetAutoCommit(), Commit() and Rollback(). Formerly these methods were not implemented for JDBC mode.

Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP1002
Summary: Enable setting HL7 segments by path where path contains 'Any', 'Zxx' or 'Hxx'

Description:

This change allows setting a segment into an HL7 message by path where the path uses a wildcard. Formerly an error would result because the name of the segment being set did not exactly match the DocType name corresponding to the path- specified segment position. It could not match because of the wildcard segment name. Supported wildcard segment names are 'Any', 'Zxx' or 'Hxx'.

Category: Ensemble.ManagementPortal
Platforms: All
DevKey: DDP094
Summary: Handle stream data in Message Resend

Description:

This change resolves a bug in the Message Resend which is triggered by a list of IDs to resend which exceeds 32K in lengthy. Arbitrarily long lists of IDs are now accepted.

Category: Ensemble.ManagementPortal
Platforms: All
DevKey: DDP095
Summary: Correctly pass query parameters to Message Resend page with Resend All

Description:

This change addresses a problem whereby some search restrictions applied in the Message Search page would not be passed through to the message resend page. The problem would only occur if the search terms were added using the dynamic terms interface and results not present on the page are selected for resend.

Category: Ensemble.ManagementPortal
Platforms: All
DevKey: TAP1016
Summary: Re-Fix HL7 Schema loader to both allow implicit base references and prevent base looping

Description:

This change allows elements in a custom HL7 schema to be used without specifying explicitly that they refer to elements from the declared base schema. If they are found in the custom schema they will be automatically enriched to refer to it; if they are found in the base schema they will be automatically enriched to refer to it. If they are not found at all, that remains an error.

Category: Ensemble.RulesEngine
Platforms: All
DevKey: HCR138
Summary: Check for duplicate function names in Ensemble

Description:

Since Business Rules were introduced in Ensemble, users were allowed to extend the built-in set of functions, creating their own user-defined custom functions that can be used in Rules or Transformations. However, users were never warned about duplicate function names existing in more than one class. The behavior so far has been to silently ignore the duplicates and select the first definition found.

Starting with this change, Ensemble now reports errors in upgrades within file ensinstall.log, and offer a method that users can invoke to check for such duplicates so they can resolve these conflicts: >Write $SYSTEM.OBJ.DisplayError(##class(Ens.Rule.Utils).GetAllFunctions(.func))

After an upgrade, users should now check inside file ensinstall.log, under subdirectory mgr, and ensure that the Rules upgrade went well without any errors.


Category: Global Module
Platforms: All
DevKey: SAP1322
Summary: GCOMPACT results in database corruption in presence of <FILEFULL> errors

Description:

This corrects a circumstance where, if GCOMPACT was run on a database while it was experiencing <FILEFULL> errors, the resulting database had a corrupted bottom pointer block with loss of data.

Category: Object.Class Compiler
Platforms: All
DevKey: MAK2859
Summary: Handle class parameter reference inside a $$$Text macro

Description:

Class parameters are now dynamic elements of a class. $$$Text("Text") can only accept string literals as an argument. This meant that the class changes in 2010.1 prevented the following from working anymore:
Parameter PAGETITLE As STRING = "Page Title"; Property PageTitle As
%String [ InitialExpression = {$$$Text(..#PAGETITLE)} ];
Because the ..#PAGETITLE was resolved to $parameter(,"PAGETITLE") and $$$Text did not allow an expression here. This caused an <OBJECT DISPATCH> error at compile time.

Now Caché detects the reference to a class parameter inside a $$$Text macro and replaces the parameter with the current classes value for this and also marks this method as needing to be recompiled in every subclass so they will also get the correct parameter value if the subclass has modified the class parameter.


Category: Object.DotNet
Platforms: All
DevKey: IYB670
Summary: CacheProvider, do not use superclasses to get inherited properties

Description:

This change fixes a problem with accessing inherited properties in generated proxy classes.

Category: Object.Library
Platforms: All
DevKey: DLP2549
Summary: Objects - Update %Library.ResultSet query binding to support swizzled objects

Description:

Linked tables with stream columns use stream OREFS for transporting the stream value. When using %Library.ResultSet to query linked tables, a bug caused the stream OREF to be converted to a string value that effectively caused the stream value to be lost. This bug is now fixed.

Category: SQL
Platforms: All
DevKey: MIT916
Summary: Handle constant replacement in the IN clause for dynamic queries

Description:

This corrects a problem where IN lists were not properly accessing their parameters when they occurred in OR clauses.

Category: Studio
Platforms: All
DevKey: DVU2744
Summary: Lock document after check out

Description:

When using Source Control for checkout Studio never locked the document for editing, instead relying on the checkout mechanism to lock as needed. This change will execute a Lock after checkout succeeds.

Category: System
Platforms: All
DevKey: GK839
Summary: Fixed the current routine namespace tracking issue

Description:

A routine invocation allocated and left the frame stack uninitialized, and if there was an error which required cleanup during the current namespace search, the result was unpredictable. This has been corrected.

Category: System
Platforms: All
DevKey: GK842
Summary: Fixed an object definition ref count issue

Description:

In very rare conditions, during the method cache resolution, a class cache definition reference count might not be tracked accurately and the system may release the object definition while it is still in use. This change makes the reference count accurate.

Category: System
Platforms: All
DevKey: GK847
Summary: Upgrade to canonize the journal names with a prefix correctly

Description:

This change corrects an error in handling journal files that had a specified prefix. Under some conditions, the prefix was erroneously treated as the name of a directory. This is now fixed.

Category: System
Platforms: All
DevKey: SAP1331
Summary: <ACCVIO> on $SYSTEM.Event.Signal("0")

Description:

This change corrects a problem where supplying a quoted string value of zero ("0") when signalling an event caused the process to crash.

Category: System.Backup/Restore
Platforms: All
DevKey: STC1800
Summary: Fix locking of CSP pages in studio

Description:

This corrects a problem that occurred when a lock was not taken out while editing a CSP page. If two people were editing the same page, then when one user changed it, the other user would immediately be presented with a message:
'***.csp' has changed, would you like to reload it? 
This no longer will happen, the second user will now be notified that someone else is editing it and that they can open it up read only.

Category: System.Journaling
Platforms: All
DevKey: GK849
Summary: Fixed a typo in journal history conversion

Description:

This change corrects a problem during the upgrade that caused an < ILLEGAL VALUE> error when converting the journal history global to a journal log.

Category: System.Journaling
Platforms: All
DevKey: HYY1549
Summary: Tolerate blank lines in journal.log

Description:

This correction addresses an issue where journaling would fail if there was a blank line anywhere in journal.log (journal history log file).

Category: System.Journaling
Platforms: OpenVMS
DevKey: HYY1559
Summary: Simplifying journal log write operation to address jrnswitch hang on OpenVMS

Description:

This change fixes a situation on OpenVMS where a journal switch might hang. The issue has been identified as a OpenVMS bug, for which HP has produced a patch (unofficial at the time of writing). This change bypasses the OpenVMS issue without requiring customers to have the HP patch install.

Category: System.Journaling
Platforms: All
DevKey: HYY1561
Summary: Addressed issues of converting journal history global to journal history log during Caché upgrade

Description:

This fix corrects issues of converting journal history global to journal history log ("journal.log") during Caché upgrade that could cause journal files created by automatic journal switches or task manager to be missing from the newly created journal log.

Category: System.Licensing
Platforms: All
DevKey: RJW1815
Summary: Fix possible exception in $SYSTEM.License.Login

Description:

This avoids a potential exception that could occur if $SYSTEM.License.Login($SYSTEM.License.GetUserId()) was called repeatedly.

Category: System.Licensing
Platforms: All
DevKey: RJW1832
Summary: Wrong license Id in jobbed process from CSP page and $username=UnknownUser

Description:

This change corrects a problem which caused a process jobbed from a CSP page not to share a license unit with the CSP session.

Category: System.Monitoring
Platforms: All
DevKey: RFD545
Summary: Fix 'zero statistics' option in ^GLOSTAT

Description:

Using the "zero statistics" option in ^GLOSTAT can cause the status of databases to become "read-only", and the Caché instance must be restarted to restore them to the original status. This is now fixed.

Category: System.Shadowing
Platforms: All
DevKey: STC1796
Summary: Add [Shadows] section to the CPF file

Description:

There is a new section in the CPF file,
[Shadows]
<SystemName>=<Value>
where <Value> can be 0 (stop) or 1 (start). Upon startup, if set to 0, the shadow will not start; if 1, the shadow will start.

Category: System.Shutdown
Platforms: All
DevKey: SAP1332
Summary: MONAPP remains after shutdown on slow system

Description:

The MONAPP process always remains after system shutdown. This is now corrected.

Category: Utilities
Platforms: All
DevKey: STC1812
Summary: Update test for [Shadows] section already being added to CPF file

Description:

This corrects the checking for whether a [Shadows] section exists in the CPF file, and will prevent a duplicate section from being added.

Category: Utilities.Globals
Platforms: All
DevKey: SML1223
Summary: Fix GBLOCKCOPY batch mode with existing globals

Description:

This change corrects a situation where the copying of a global with a different collation would not always properly resolve whether the global should be skipped or not. Now, it batch mode, it is always skipped; in interactive mode, the user is queried to decide if it should be skipped.