|
|
|
InterSystems Documentation
|
|
Caché and Ensemble Maintenance
Kit Release Notes Archive
|
Welcome and thank you for using InterSystems
products.
The current maintenance kits are Caché and Ensemble 2010.1.2.
This document is only part of the available maintenance kit
documentation.
The full set of documents is available in the
docs subdirectory
of the product installation
directory. Release notes and related material are available as follows:
-
Late-breaking information about the release: <install-dir>\docs\cache\en-us\relnotes\cache\readme.1st
or <install-dir>\docs\cache\en-us\relnotes\ensemble\readme.1st
-
Release notes for 2010.1.2: <install-dir>\docs\cache\en-us\relnotes\cache\relnotes.htm
or <install-dir>\docs\cache\en-us\relnotes\ensemble\relnotes.htm
-
Release notes for the previous maintenance kits since 2010.1: <install-dir>\docs\cache\en-us\relnotes\cache\prenotes.htm
or <install-dir>\docs\cache\en-us\relnotes\ensemble\prenotes.htm
(this document)
This document is a historical archive of changes since the original
2010.1 release, but prior to the current maintenance kit.
Changes unique to the current maintenance kit are described in relnotes.htm.
This document includes the following sections:
InterSystems advises all users to recompile their application classes as
part
of the upgrade process so as to take advantage of all the performance
improvements as well as other changes that may affect them in this
release.
Anyone
upgrading from a Caché release at or before 5.0
will need a new license key.
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
Web site.
Users should check this list periodically to obtain the latest
information on
issues that may have an effect on the operation of their site.
- CSP.Gateway
- DeepSee
- Ensemble.HL7/EDI
- Languages.COS
- Languages.MVQuery
- Migration.TSQL
- Networking.ECP
- Object.Class Compiler
- Object.LanguageBindings
- Object.Storage
- Object.XML
- SQL
- SQL.ODBC
- SQL.Statement
- Studio
- System
- System.Cluster Specific
- System.Journaling
- System.Licensing
- System.Shadowing
- Utilities
- Utilities.Configuration
- Zen
- Zen.ZenReports
Category: CSP.Gateway
Platforms: All
DevKey: CMT808
Summary: Ensure proper termination of output stream
Description:
This change ensures that the terminating CRLF is
discarded from the final output stream where response chunking is in
operation between CSPnsd and mod_csp, but a chunked response is not
expected by the client.
For cases where the client is not expecting a chunked response, the
final closing CRLF (after the optional message trailers) will be
discarded and not sent to the client.
Category: CSP.Gateway
Platforms: All
DevKey: CMT811
Summary: Resolve an access violation on session close
Description:
This change resolves an access violation that could
occur if a connection reserved for a state-aware session closed
unexpectedly.
Category: DeepSee
Platforms: All
DevKey: DPV3594
Summary: DEEPSEE: Correction for Excel Export
Description:
This change corrects an issue that prevented DeepSee from exporting
data to Microsoft Excel spreadsheets.
Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP965
Summary: Fix $CASE handling in HL7 getReplyCode()
Description:
This change fixes an erroneous but syntactically legal construction in the
getReplyCode() method of the class EnsLib.HL7.Service.Standard. This bug resulted
in an <ILLEGAL VALUE> error when an HL7 service is configured
with
NakErrorCode=ContentE.
Category: Languages.COS
Platforms: All
DevKey: CDS1671
Summary: Add support for NEW $NAMESPACE in %STACK
Description:
When the execution stack is shown for a program that has NEW $NAMESPACE, the
NEW was shown as Unknown. This has been corrected.
Category: Languages.MVQuery
Platforms: All
DevKey: JPL1169
Summary: Fix CMQL routine that generates COS string source to handle trailing MV delimiters
Description:
This item corrects a situation where a terminating quote
character was always being appended when building a query string,
even if it was not needed. The quote is now added only if needed.
Category: Migration.TSQL
Platforms: All
DevKey: DPV3569
Summary: TSQL: Correction for statement level triggers
Description:
A problem has been corrected where a DELETE trigger
could return SQLCODE = -29, field not found under the following
circumstance:
- a row was deleted
from a table with a statement level AFTER DELETE trigger containing TSQL
code
- the trigger code deleted a row in other table
which did not have a TSQL statement AFTER DELETE trigger
- the trigger code
did have a TSQL
statement level AFTER UPDATE trigger
Category: Networking.ECP
Platforms: All
DevKey: GK828
Summary: On background block read job Q-ing failure, remove the block from the read blk list
Description:
This correction fixes a situation where the ECP
server could hang. The circumstance is that
a block appears to be queued up to be read by another requestor when,
in fact, there is no requestor and the read will never be completed.
Category: Object.Class Compiler
Platforms: All
DevKey: MAK2841
Summary: Rework %RoutineMgr algorithm to find related routines/classes
Description:
This change addresses two issues with Caché
routine and class handling:
- If the class was created from a
CSP compile, Caché did not detect that the routines generated were
derived from the class created by the CSP compile; this prevented the
class descriptor from automatically being regenerated when the class
was
saved in Studio.
- If a generated class routine was renamed,
Studio would still think it was part of this class and
so could attempt to lock the class when editing this routine even
though it was not totally separate.
Category: Object.Class Compiler
Platforms: All
DevKey: MAK2844
Summary: Make sure to report an error if a calculated property is overridden in a persistent or serial class
Description:
You can not override a calculated property in a
serial or a persistent class because it breaks assumptions about
storage for this class. This attempt now results in an error
message during compilation.
Category: Object.LanguageBindings
Platforms: All
DevKey: JSL2908
Summary: Fix concurrency issue in Java binding due to lost locks
Description:
This change corrects a situation
where an attempt to unlock object locks could result in
some of them being removed from the lock table while still locking the
object they refer to.
Category: Object.Storage
Platforms: All
DevKey: DLP2428
Summary: Object Storage - change the suspense structure for triggered stream delete
Description:
Streams are queued for deletion when their container
object is deleted. The queue of streams to be deleted is maintained in
a global. If the stream OID was long, a <SUBSCRIPT> error
would be generated. This structure now uses a simple integer
subscript to prevent <SUBSCRIPT> errors.
Category: Object.XML
Platforms: All
DevKey: JN857
Summary: %XML.TextReader fails to get very long CDATA value
Description:
This change corrects a situation where
%XML.TextReader failed to read a very long CDATA
value. This will also apply to any character, comment or CDATA value.
Category: Object.XML
Platforms: All
DevKey: JN861
Summary: Fix whitespace processing for %XML.TextReader
Description:
When using %XML.TextReader with the remove
whitespace option (the default) leading and trailing whitespace is
removed. However, in certain circumstances, whitespace which was
interior to the string could also be removed. This has been corrected.
Category: SQL
Platforms: All
DevKey: DPV3568
Summary: SQL: correct string search handling
Description:
This corrects an error that could occur when searching
a string for a matching substring and using default boundaries as
limits for the search.
Category: SQL.ODBC
Platforms: All
DevKey: AND1119
Summary: ODBC: Fix <STORE> error in static cursors
Description:
This change rectifies a defect where mismanagement
of static cursors could result in a <STORE> error.
Category: SQL.Statement
Platforms: All
DevKey: DLP2441
Summary: Dynamic SQL - fix public variable leak in old %ResultSet.SQL class
Description:
A bug in %ResultSet.SQL processing caused random
failures when a SELECT statement invoked a computed column that also
used %ResultSet.SQL for its calculation. The defect caused the value of a public variable,
%objqacn, to be inadvertently updated by nested statements. The error is
now fixed.
Category: Studio
Platforms: All
DevKey: DVU2694
Summary: Fix crash in attempt to FIND when no documents open
Description:
This corrects an error where, if the user kept the
Find dialog open but closed all document windows, clicking "Find"
would cause Studio to fail.
Category: Studio
Platforms: All
DevKey: RAW839
Summary: Studio editor: error underlining in 64-bit is slow
Description:
Due to a change in the Windows SDK for Vista and
Windows 7 64-bit, the GetPixel and SetPixel functions makes response
very slow when a user is entering code that temporarily has a lot of
errors. This change mitigates that problem.
Category: System
Platforms: All
DevKey: CDS1658
Summary: Fix <SYSTEM> error after CATCH of nested error
Description:
If a TRY/CATCH catches an error in a subroutine or method that is called as
an argument for another subroutine or method, there would be a <SYSTEM> error
when the subroutine with the CATCH quit. This change corrects that error.
Category: System
Platforms: All
DevKey: JO2310
Summary: Fix problem where clearing wdstop could cause jobs to be left stopped
Description:
A rare problem on Windows systems has been fixed.
The circumstances are that the control process
resumes a system that had been suspended due to lack of write daemon
activity (such as occurs during a long backup), but never wakes up a
small number of the jobs
that were waiting.
Category: System
Platforms: All
DevKey: RJW1762
Summary: $zu(163) doesn't help resolve existing <STORE> error
Description:
A problem existed where calling $zu(163) to
increase the symbol table size following a <STORE> error did
not increase the memory ($Storage) available to the process. The
problem occurred because a table of internal pointers to available
memory segments was exhausted.
The problem is mitigated by reserving
one element of the table to insure that $zu(163) is able to increase
memory available to the process following a <STORE> error.
NOTE: One
caveat is that this will work only one time for the process because
only one memory segment pointer is reserved. Calling $zu(163) a
second time following a <STORE> error will have no effect
because the one reserved memory block pointer will have already been
used.
Category: System
Platforms: All
DevKey: SAP1282
Summary: Use /tmp on cache.ids shared memory object to insure invisible to other nodes
Description:
In cases where CacheIDS<device #>.<inode
#> has same value on both nodes using a shared disk, confusion can
arise and a false status indicating a crash can be sent to the other
node. This is now fixed.
Category: System
Platforms: All
DevKey: SJ2603
Summary: Fix INTEGRIT to detect degradation where lower block doesn't have a right link, but pointer block does
Description:
This change fixes a problem where INTEGRIT did not
detect the case where a lower block did not have a right link, even
though the upper pointer blocks showed that more data followed. A new
error (36) will be reported by INTEGRIT in this case.
Category: System.Cluster Specific
Platforms: OpenVMS
DevKey: JO2314
Summary: Corrections for recovery of cluster mounted encrypted databases
Description:
A problem affecting OpenVMS Clusters and cluster mounted
encrypted databases has been resolved which would have resulted in
database degradation if blocks from an encrypted database were
recovered from the pij during cluster failover or during cluster
recovery at startup.
This change is compatible with the existing cluster code so that a
running cluster can be upgraded one node at a time without shutting
down the entire cluster. However, it is crucial that encrypted
databases must not not be cluster mounted until ALL of clustered
instances (for that Caché cluster) have been updated to this version.
CAUTION: A mistake in upgrading the cluster may damage cluster-mounted encrypted databases
during the next cluster failover/recovery.
Category: System.Journaling
Platforms: All
DevKey: HYY1533
Summary: Treat header-only journal.log as normal
Description:
This change addresses an issue where journaling would
fail to start during Caché startup if the journal.log (journal history log
file) contained only a log header, that is,
without any journal file entries.
In this case, the only message on cconsole.log would be, "Journaling
NOT started."
Category: System.Journaling
Platforms: All
DevKey: HYY1544
Summary: Cluster journal restore
Description:
This change corrects an error that could occur during a
journal restore of an ECP cluster. Under some circumstances,
the last journal records in the restore would not be posted to the
database because of an error in waiting for all the records to be
written
to disk.
Category: System.Licensing
Platforms: All
DevKey: RJW1810
Summary: Fix weblink license acquisition
Description:
A change to the way licenses were reported in
2010.1.0 by
$System.License.Login() interfered with license acquisition by
Weblink. This is now corrected.
Category: System.Shadowing
Platforms: All
DevKey: HYY1517
Summary: Prevent cluster shadow with filter from applying an update twice
Description:
This corrects an issue that caused cluster shadows
with a
filter to apply an update twice in a row. This unnecessarily inflated
the journal files on the shadow side and degraded shadowing
performance. It did not affect data integrity, however, as the
duplicate followed the original record immediately.
Category: System.Shadowing
Platforms: All
DevKey: HYY1532
Summary: Address a case of shadow corruption/hanging when journaling is restarted on the source side
Description:
This corrects a defect that could cause a shadow to
create a corrupted copy of source journal file and hang in certain
circumstances involving stopping and starting journaling on the source
side.
Category: Utilities
Platforms: All
DevKey: SML1197
Summary: Fix %SYS.Namespaces.GetGlobalDest() with single level subscript
Description:
A previous change caused %SYS.Namespaces.GetGlobalDest()
to fail if a single-level subscript was used as the third argument,
and it was not enclosed in quotes. This change restores the previous
capability.
Category: Utilities.Configuration
Platforms: All
DevKey: SML1189
Summary: Fix mapping when beginning point overlapped with an end point
Description:
This change fixes a mapping error with %-global and an overlap between two range such as:
%Z:%ZeUTT -> DBA
%ZeUTT -> DBB
%ZeUTTX:%a ->DBA
The mapping of %ZeUTT global would be mapped to %SYS instead of DBB.
Category: Utilities.Configuration
Platforms: All
DevKey: STC1744
Summary: Handle change password better for Delegated authentication
Description:
The ZAUTHENTICATE routine has been updated with
information regarding how to change passwords when using Delegated
Authentication. A new entry point has been added to the ZAUTHENTICATE
routine which handles changing passwords. See the updated
ZAUTHENTICATE routine in the SAMPLES namespace for
this information.
Category: Utilities.Configuration
Platforms: All
DevKey: STC1755
Summary: Changing CPF parameter locksiz should not require a restart
Description:
The "locksiz" entry in the CPF file contains the
size (in bytes) of memory allocated for locks. The startup activity rounds up
the value to the next multiple of 64 kilobytes. The default is 1,179,648
bytes.
On the HP platform, the default is four times the usual
default or 4,718,592 bytes.
The range is 65536 bytes up
to the gmheap size. If a system needs more room for the lock table, increase
the gmheap parameter as well.
The change takes effect immediately without the need for a restart.
Category: Utilities.Configuration
Platforms: All
DevKey: STC1759
Summary: Entering a null password using LDAP will no longer authenticate the user
Description:
When using LDAP for user authentication, if a user
entered a username, with a null password, they would always be
authenticated and allowed into the system. This is because the
operating system LDAP libraries treat this as an "anonymous" bind, and
uses the LDAP simple_bind_s function to succeed with a null
password.
With this change, Caché tests to see if a null password has been entered, and
reject the attempt.
This is a problem only on the following client to server connections:
- Unix or OpenVMS client to any LDAP server
- Windows client to non active directory LDAP
server
It is not a problem on a Windows client to a Windows Active Directory
LDAP server connection.
Category: Zen
Platforms: All
DevKey: SAM072
Summary: Correct keyboard event trapping under Internet Explorer
Description:
Other changes in Caché modified the way
events are routed to the zenPageEventHandler, specifically by defining
window level on{event} functions. This means that, under Internet
Explorer, keyboard events do not propagate up to the window level; any
unhandled events that make it past the <body> level of the DOM
are discarded from a JScript perspective.
The result is that the default keyboard handler that would be
routing keystrokes to individual onkeydownHandler() methods is,
itself, never seeing the keyboard events. This is does not happen
when using
FireFox, but the W3C specification about what is to be done is
ambiguous
in this area.
This fix modifies the initialization code for Zen Windows to detect
the case where
Internet Explorer is in use and
installs the keyboard event trap at the level of window.document.body so that it is within the
chain of handling the raw events.
Category: Zen.ZenReports
Platforms: All
DevKey: JSL2925
Summary: Fix problems with ZEN Reports displaying international characters on both UNICODE and 8-bit systems
Description:
This changes corrects the problem of improperly
displayed characters by
always using National Language support for character display.
© 2010, InterSystems Corporation. All rights reserved.