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.
-
Routines
Compiled routines are upward-compatible from version to version and do
not need to be recompiled unless specified otherwise in the upgrade
notes for a specific release.
Because most versions contain improvements in the routine compiler, in
the generated code, and/or efficiencies in the runtime support,
customers may decide to recompile their routines to take advantage of
new features and meta-routine information. Those customers whose
actions implicitly access this underlying information must recompile
their routines. An example of such access is source-level debugging on
version X of code compiled on version earlier than X.
If you recompile routines, they should be recompiled after classes are
recompiled.
- Classes, SQL, Projections, Proxy Classes
InterSystems requires that all classes be recompiled after an
upgrade. The following command will upgrade and compile the class
dictionaries in every namespace:
Do $SYSTEM.OBJ.CompileAllNamespaces("u")
You must regenerate any proxy classes used in the upgraded instance by
following the instructions in the appropriate guide(s) in
the Caché Language Bindings set. You must also purge any cached
queries in any upgraded namespace by issuing the command:
Do $SYSTEM.SQL.Purge()
in that namespace.
- Exported XML
Unless specified in the upgrade notes for a specific release, exported
XML files can be imported into later releases.
The reverse is NOT true. Later versions could be using new features
not present in earlier versions, and could have a different class
dictionary version number which alters how these classes are stored
internally that can not be undone when importing to a previous
version.
-
Debugging
InterSystems also recommends recompiling routines and classes for
applications under development. This synchronizes the debugger with
the expected format of the compiled code.
-
Caveat
Because recompiling necessarily updates system data associated with
the routine, users who recompile classes or routine must have write
access to this data (^ROUTINE) in each namespace where the object
being compiled is mapped. Failure to observe this requirement will
result in
ERROR #302: the database is read-only.
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:
- Title to and ownership of the software and documentation shall
remain with the Contractor.
- Use of the software and documentation shall be limited to the
facility for which it is acquired.
- 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.
- 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
- CSP.Gateway
- Ensemble
- Ensemble.Adapter
- Ensemble.HL7/EDI
- Ensemble.ManagementPortal
- Ensemble.RulesEngine
- Global Module
- Object.Class Compiler
- Object.DotNet
- Object.Library
- SQL
- Studio
- System
- System.Backup/Restore
- System.Journaling
- System.Licensing
- System.Monitoring
- System.Shadowing
- System.Shutdown
- Utilities
- Utilities.Globals
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.