|
|
|
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 2009.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 2009.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 2009.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 2009.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.
The first (and only) maintenance release for 2009.1 is 2009.1.1. Version 2009.1.1 of Caché includes the following changes:
- CSP.Gateway
- Documentation.Tutorials
- Ensemble
- Ensemble.Adapter
- Ensemble.HL7/EDI
- Ensemble.JavaGateway
- Ensemble.ManagementPortal
- Installation
- Installation.UNIX
- Installation.Windows
- Languages.COS
- Languages.MVCommands
- MgtPortal
- Migration.TSQL
- Object
- Object.Activate
- Object.Library
- Object.NETGateway
- Object.Soap
- Object.Sys
- Object.XML
- SQL.GateWay
- SQL.Query Processing
- Studio
- System
- System.Callin/Callout
- System.Journaling
- System.Lock
- System.Shadowing
- Utilities
Category: CSP.Gateway
Platforms: All
DevKey: CMT755
Summary: Correct Unicode character handling for UTF-8
Description:
This change ensures that escaped Unicode characters are
properly extracted and passed to the function that
un-escapes them and converts to UTF-8.
Previously, this issue could prevent query strings with embedded Unicode
characters from being decoded correctly.
Category: Documentation.Tutorials
Platforms: All
DevKey: DEN023, DEN024, DEN021, DEN022
Summary: Update Tutorials
Description:
These changes update the following tutorials:
- Web Applications Tutorial (TWEB) to show Web Form
Wizard launched from Studio Templates Menu
- Screen Captures for 2009.1 in Caché
QuickStart Tutorial (TQKS)
- CSP Tutorial to show launching Web Form Wizard
from Studio Templates
- CSP tutorial example to add warning so users do
not use code as a CSP login page
Category: Ensemble
Platforms: All
DevKey: DMC685
Summary: Ensemble: Fix Ens.DataType.Class for "extends self"
Description:
The datatype Ens.DataType.Class has a parameter
EXTENDS that allows the user to require that the value of the type
extend the indicated class. Before this change, however, if you tried to use the
EXTENDS class as the value, then the validation would fail because a
class isn't considered to be derived from itself (which isn't really
proper polymorphic behavior).
Category: Ensemble
Platforms: All
DevKey: HCR099
Summary: Ensemble upgrades to preserve previous CSP application settings
Description:
When upgrading Ensemble, the upgrade process
overwrote the CSP application definitions for each of the
Ensemble-enabled namespaces. In case the user had modified settings
such as resource required, matching roles, description, timeout, these
modifications would be lost upon an upgrade.
This change corrects that situation.
Now, if the CSP application for a namespace's Ensemble Portal already
exists, the upgrade process opens its definition and only sets the
following properties, keeping the previous values for all other properties:
CookiePath, LockCSPName, NameSpace, Path, Recurse, ServeFiles,
UseCookies, LoginPage.
Category: Ensemble
Platforms: All
DevKey: HCR101
Summary: Ensemble globals mapped from ENSLIB to be created with proper collation
Description:
This change corrects a problem that can occur on a Spanish system
during an Ensemble upgrade. The collation for Ensemble globals with
subscript level mapping from ENSLIB was not set correctly and could
cause a collation mismatch error depending on the default collation
for the database.
This would only happen on systems whose default collation is not
Caché Standard, and in namespaces created during installation or
post-installation such as ENSEMBLE (but not ENSDEMO which is created
later in the process).
This correction adds new entries for all Ensemble globals mapped from
ENSLIB with settings Collation = 5 (Caché Standard) and IsKeep
= 1. It also properly handles existing local data that may exist in
the local database for the globals that are mapped at the subscript
level only.
Category: Ensemble.Adapter
Platforms: All
DevKey: TAP843
Summary: Fix low-order byte stream cleanup logic in Snapshot class when SQL Adapter is finished with a low-order byte
Description:
This change fixes a bug that causes a stream storage
for low-order byte data retrieved by the SQL Adapters into a Snapshot object to
be killed improperly.
The stream data in question is stored in the ^CacheStream global.
Category: Ensemble.Adapter
Platforms: All
DevKey: TAP844
Summary: Fix IPv6 parsing for TCP, HTTP, and CST adapters
Description:
This change fixes a defect introduced with IPv6 parsing
in the TCP Inbound Adapter and its subclasses. The bug results in an
invalid IP address when a port is specified in both the Port setting
and as part of the AllowedIPAddresses setting.
The correct behavior when port is doubly specified is for the Port
setting value to be ignored and the AllowedIPAddresses value to take
precedence. This change restores the correct behavior.
Category: Ensemble.Adapter
Platforms: All
DevKey: TAP855
Summary: Fix EnsLib.SQL.Snapshot.ImportFromResultSet()
Description:
This change fixes errors in the method
ImportFromResultSet() in class EnsLib.SQL.Snapshot that prevented it
from working, in particular the use of an undefined variable
tGblRef.
Category: Ensemble.Adapter
Platforms: All
DevKey: TAP864
Summary: Tolerate whitespace in stored procedure queries invoked via SQL Adapters
Description:
This change enhances the parser used to determine
which Stored Procedure arguments are being used as parameters in an
invocation of ExecuteProcedure() on the SQL Inbound or Outbound
Adapter.
This change also improves disconnect detection around calls to DropStatement()
Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP861
Summary: Fix X12 Group Identifier and TypeVersion accessors to get correct GS field values
Description:
This change fixes the accessor methods used by X12
to get TypeValue and Identifier calculated property values in the case
where the document is an X12 Group, that is, starts with a GS segment.
Formerly these fields were extracted as if the document were a
TransactionSet starting with an ST segment; this yielded the wrong
field values.
Category: Ensemble.JavaGateway
Platforms: All
DevKey: TAP851
Summary: Return and check status codes from
initialization methods in SQL JDBC & Java Gateway adapters
Description:
This change makes the initialization methods return
status code values and makes the methods that call them check those
return values consistently. This improves behavior when an associated
JavaGateway configuration item cannot be located for an SQL Operation or
Service configured for JDBC.
Category: Ensemble.ManagementPortal
Platforms: All
DevKey: HCR098
Summary: Additional workaround to IE8 bug that causes blank screens in the Ensemble Mgmt Portal
Description:
Internet Explorer 8 has a bug that causes it to
acquire a wrong size in frameset.rows for the first frame in a
frameset.
IE8 bug report can be found at:
http://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=432864
It affects the Ensemble Management Portal as most of the pages contain frames.
There were other changes to workaround this situation.
This new version also introduces a new
behavior regarding resizing of the title frame, regardless of browser
version.
In case the title frame size is reduced we will keep the
chosen size. In case it's enlarged, it will be set back to its original
size of 100 pixels. There's nothing below so it's pointless to have
it larger than 100 pixels. This makes the workaround easier
and also it seems to be better than the previous behavior.
The
behavior
is also in effect for IE6 and IE7 in order to have all
users see the same regardless of browser version.
Category: Ensemble.ManagementPortal
Platforms: All
DevKey: TAP850
Summary: Don't count disabled conditions in MsgBrowser query optimization
Description:
Before this change, a previous correction modified
the queries generated by the Message Browser page when there is only
one simple equality SearchTable condition. This change fixes that
modification to work when there is only one *enabled* SearchTable
condition (and it is a simple equality condition). Disabled conditions
no longer count.
Category: Ensemble.ManagementPortal
Platforms: All
DevKey: TAP853
Summary: Fix UNDEFINED nActions in X12 & EDIFACT ReplyStandard.OnGetReplyAction()
Description:
This change fixes a case where the variable nActions
is defined after it is used. This change also removes an obsolete
property %ReplyActions.
Category: Installation
Platforms: Macintosh
DevKey: TRW678, IYB606
Summary: Support install of Perl/Python bindings on macx64
Description:
This change now enables the Perl/Python bindings to be installed on MACX64
Category: Installation.UNIX
Platforms: All
DevKey: TRW667
Summary: CSP Gateway regex workaround for OS X 10.4 Apache 2.2 bug
Description:
The regular expression used by the CSP gateway configuration in Apache's
httpd.conf file has been modified to work around a bug in the Mac OS X 10.4
provided Apache.
Category: Installation.Windows
Platforms: All
DevKey: ALE1766
Summary: Change custom setup type accelerator key in setup role dialog
Description:
This change alters the custom setup accelerator key in setup
role dialog to "u" to avoid conflict with "Server" setup type
key.
Category: Installation.Windows
Platforms: All
DevKey: ALE1782
Summary: Fix an access violation in setup bootstrapper when instance name is longer than directory length
Description:
This change corrects an access violation error in
the setup bootstrapper that was
happening when instance name was longer than installation directory
name.
Category: Installation.Windows
Platforms: All
DevKey: ALE1791
Summary: Update VC redistributables installation to include ATL security update
Description:
This change updates the Microsoft VC2008 SP1
redistributable packages to include
ATL security update.
Category: Languages.COS
Platforms: All
DevKey: CDS1571
Summary: Fix breakpoint handling with ;;comments
Description:
If a breakpoint was set on the line immediately following a ;;comment, the
breakpoint would be ignored. This is now corrected.
Category: Languages.MVCommands
Platforms: All
DevKey: GGC303
Summary: Better support for MV printing and transactions
Description:
This change makes the MultiValue spooler more robust
when it comes to handling printing with transactions, notably
transaction rollbacks.
All MultiValue print job updates are now performed outside of a
transaction. This means that any transaction rollbacks that occur in
the application will not affect the print job in any way and the data
in the print job will remain intact and uncorrupted.
Category: Languages.MVCommands
Platforms: All
DevKey: GGC306
Summary: Correct emulations for MultiValue KEYIN() function
Description:
The PICK emulation for KEYIN() was incorrect in that
it was echoing according to the ECHO ON/OFF status. In this emulation,
it should never echo. This change implements that behavior.
Category: MgtPortal
Platforms: All
DevKey: YSD2213
Summary: SMP - Configure Devices - Fix problems with loading SubType list and using IE8
Description:
This changes corrects problems in the Management Portal page:
[Home] > [Configuration] > [Device Settings] > [Devices]
namely,
- When editing device, some of the property values
may not be loaded when using IE8.
- The "SubType" drop-down list may not be populated, and the value
not shown as selected.
- After deleting a device item, it returned to the
Device Settings page. It should stay on the same page and just
refresh the tables for devices, magnetic tapes, and subtypes.
Category: Migration.TSQL
Platforms: All
DevKey: AGC1178
Summary: TSQL - Restore correct parsing of "%" operator now that "%" can begin a name
Description:
This change corrects an error in the TQSL parser that interpreted a
name beginning legally with "%" as an expression involving the "%"
operator.
Category: Object
Platforms: All
DevKey: MXT1172
Summary: Fix typo in IsString method of %SAML AttributeValue
Description:
This corrects a typographic error in the IsString
method of %SAML AttributeValue that negated a validity check.
Category: Object.Activate
Platforms: All
DevKey: YSD2243
Summary: ActivateWizard - Change $$$Text to $$$TextJS for javascript alerts
Description:
This change fixes a problem where a javascript error may occur when
the wizard tries to display a warning message and, (A) the user
clicked the Finish button without first selecting a row, or (B) the user
selected more than 10 rows.
Category: Object.Library
Platforms: All
DevKey: DMC678
Summary: ObjectiveCache: Support d_decimal type (D_DECIMAL_ID)
Description:
Another change added support for a new d_decimal type for %Numeric and %Decimal types to be projected via the
C++ binding.
Since the Objective-C binding uses the C++ binding for its underlying
connection to Caché, it was necessary to make additional changes to
the Objective-C binding to project d_decimal types as NSNumber
(actually, a subclass NSDecimalNumber).
Category: Object.NETGateway
Platforms: All
DevKey: AND1064
Summary: Java/.Net Gateway: Fix <COMMAND> error in Gateway.%ExpressImport
Description:
This changes corrects an error where an expected value from a method
call was not returned.
Category: Object.Soap
Platforms: All
DevKey: MXT1171
Summary: Fix Role element of SOAP 1.2 fault
Description:
This change corrects a Role element of SOAP 1.2
fault which was not properly terminated.
Category: Object.Sys
Platforms: All
DevKey: CDS1574
Summary: Fix misspelled nThreadsPerCore method name
Description:
The nThreadsPerCore method of the $SYSTEM.CPU class
was misspelled as nTheadsPerCore. This fixes the misspelling.
Category: Object.XML
Platforms: All
DevKey: MXT1174
Summary: Fix %XML.Reader to return SAX parser validation errors
Description:
This change alters the %XML.Reader to return SAX parser validation
errors. The SAX parser was reporting the error, but there was a
mismatch between %XML.Reader and the Caché interface to the parser.
Category: SQL.GateWay
Platforms: All
DevKey: MIT922
Summary: Correct error reporting for insert/update statements through JDBC Gateway
Description:
This change corrects an error introduced in 2009.1
where return value of executeUpdate was assigned to %ROWCOUNT.
The error manifests itself as the absence of error messages for an
unsuccessful operation.
Category: SQL.Query Processing
Platforms: All
DevKey: AK742
Summary: Recompute "needed for output" flag
Description:
An optimization was added identifying cases where
fields in certain views mentioned in a query were not actually
essential to processing the query, resulting in improved run-time
performance for those queries.
Category: SQL.Query Processing
Platforms: All
DevKey: AK744
Summary: Fix BSL with %INLIST condition
Description:
A correction was made to the code-generation of certain queries that use a
multi-index access strategy, for example queries that use the %INLIST
comparison operator, or queries of the form:
SELECT id FROM t WHERE x=:a OR (x IS NULL AND :a IS NULL)
where t.x has an index and t has a multi-field IDKEY.
Category: SQL.Query Processing
Platforms: All
DevKey: PVA179
Summary: Fix execution time <undefined> for a query with multiple opportunities for OR to UNION optimization
Description:
A problem has been fixed where an <undefined>
could occur during execution of query that had two or more WHERE
clauses, each of which has an OR that is subject to an OR to UNION
optimization.
For the problem to occur, one
of these OR conditions must be present in subquery of the
query/subquery containing the other OR.
It is also possible this problem could arise with only one OR to UNION
candidate. In that case, the query with an OR would have to also
contain a subquery against an irreducible FROM clause subquery that
had outer references to the query containing the OR.
Category: Studio
Platforms: All
DevKey: DVU2542
Summary: Disable syntax check related actions
Description:
This change implements the following: when a user
disables syntax checking (Options->Editor->Syntax Check and
Assist->Enable Syntax Checking "unchecked"), all syntax check
parser related actions, including studio assist, tooltips and context
sensitive menu for particular syntax element will be disabled.
Turning syntax checking in this way avoids unnecesaary work by Studio
when scrolling through a large document.
Category: System
Platforms: All
DevKey: JLC1287, JLC1291, JLC1312
Summary: Update core counting and detection of Hyper-Threading Technology on x86 chips
Description:
This change correctly identifies when HyperThreading Technology is
activated on recent Intel x86 chips (Nehalem-based), and how many cores
are present.
Category: System
Platforms: All
DevKey: JLC1301
Summary: Don't set multi-dimensional flag in $zobjexport if maxpropsize = 0
Description:
This change corrects the behavior of object export.
The multidimensional flag is only set if the property size is greater
than zero. This change allows the xDBC connections to optimize their
handling of properties only when they actually change.
Category: System
Platforms: All
DevKey: JO2283
Summary: Disable database truncation
Description:
This change disables the feature that returns unused space from a
database to the filesystem. An attempt to invoke this functionality
will have no effect, that is, no space will be returned.
This will remain disabled until there is a correction for a condition
where an attempt by different processes to truncate and to expand the
same database at the same time results in a hung system.
Category: System
Platforms: All
DevKey: RFD472
Summary: Fix <ACCVIO> when a process HALTs with an open XDEV device
Description:
This change corrects a situation, present only in 2009.1, that could
cause Caché to halt with an access violation error when a
process halts leaving an XDEV in an open state.
Category: System
Platforms: All
DevKey: RJW1728
Summary: Prevent access violation when inet_ntop() returns failure
Description:
The use of inet_ntop() to translate IP addresses was
introduced in the system code when IPV6 support was introduced in
Caché 2009.1. Checks for a zero return value
were not made everywhere, which could lead to an access violation if
inet_ntop() could not translate the binary address to display format.
This problem has been corrected.
Category: System.Callin/Callout
Platforms: All
DevKey: SAP1205
Summary: Use thread safe ttyname_r in threaded Callin
Description:
This change now makes starting up Caché work with a threaded
Callin application.
Category: System.Journaling
Platforms: All
DevKey: HYY1477
Summary: Fix <UNDEFINED> error in journal restore when a target database is not journaled
Description:
This change corrects a situation where an attempt to restore a journal
involving an unjournaled database could result in an
<UNDEFINED> error.
The problem was introduced in 2009.1.0.
Category: System.Lock
Platforms: All
DevKey: SML1150
Summary: Fix missing delock due to lock count update is delayed
Description:
This change fixes a problem where the delock (L -^A)
command might skip its operation and leave the lock in lock
table.
Category: System.Shadowing
Platforms: All
DevKey: HYY1465
Summary: Fix an <UNDEFINED> error on starting a non-cluster shadow
Description:
This changes addresses a defect that resulted in an
error like the following:
<UNDEFINED>zSourceEventsExecute+29^SYS.Shadowing.Shadow.1 *req("4"))
when the user started a non-cluster shadow after specifying
the name of the shadow to start, but before giving a
list of Source Events to choose to start shadowing at.
The problem is believed to be present in Caché 5.1 and forward (all
releases containing HYY1119).
Category: Utilities
Platforms: All
DevKey: STC1626, STC1637, STC1638, STC1639, STC1641, STC1650, STC1651, STC1660, SML1158
Summary: CPF Converter handles mappings as in 2008.2 and earlier
Description:
These changes properly handle the conversion of mappings present in
a 2008.2 (or earlier) configuration file to an equivalent set of
mappings in 2009.1. The major features of this conversion are:
- All mappings (globals, routines,
subscript-levels) are subject to the same rules.
- Any overlaps found are converted into
an equivalent, order-independent sequence of non-overlapped
mappings.
Category: Utilities
Platforms: All
DevKey: STC1641
Summary: Fix $ZEOF handling in Config.CPF
Description:
This change corrects an error in end-of-file checking when reading the
CPF file that could result in an infinite loop.
© 2009, InterSystems Corporation. All rights reserved.