|
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.6.
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.6: <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 following are the previous maintenance releases of Caché 2009.1:
- CSP.Gateway
- DeepSee
- Ensemble.Adapter
- Ensemble.HL7/EDI
- Object.CacheProvider
- Object.XML
- SQL
- SQL.GateWay
- SQL.ODBC
- SQL.Privileges
- System
- System.Cluster Specific
- System.Journaling
- System.Licensing
- System.Shadowing
- Utilities
- Utilities.Configuration
Category: CSP.Gateway
Platforms: All
DevKey: ALE1821
Summary: Do not reset password in CSP.ini for
external CSP Gateway on upgrade
Description:
This change stops the Windows installation so it no
longer reset passwords in the CSP Gateway for server connections in
CSP.ini for external web servers on upgrades.
Category: CSP.Gateway
Platforms: All
DevKey: CMT779
Summary: Ensure that the Gateway responds
gracefully to cases where access to further memory is denied by the
operating system (particularly when buffering large amounts of
response data)
Description:
This change ensures that the Gateway responds gracefully to cases
where requests for additional memory
are denied by the operating system.
This scenario occurs particularly when buffering huge amounts of
response data in order to generate a HTTP content-length header field.
Previous versions did not always handle this event cleanly and an
access violation followed by memory leakage could occur.
Category: CSP.Gateway
Platforms: All
DevKey: CMT808
Summary: Ensure 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
Description:
This build will ensure that the terminating CRLF is discarded from the
final output stream where response chunking is in operation between
CSPnsd and mod_csp, in cases where a chunked response is not expected
by the client.
Category: CSP.Gateway
Platforms: All
DevKey: CMT809
Summary: Protect against a problem in the IIS v7
Native Modules interface that could cause a memory access violation to
occur if an invalid query string was submitted
Description:
This change protects against a problem in the IIS v7 Native Modules
interface that could cause a memory access violation to occur if an
invalid query string was submitted.
In particular, URLs containing empty query strings after the
introducing '?' character could cause access violations in the hosting
application pool.
Category: CSP.Gateway
Platforms: All
DevKey: CMT811
Summary: Resolve an access violation that could
occur if a connection reserved for a state-aware session closed
unexpectedly
Description:
This change resolves an access violation that could occur if a
connection reserved for a state-aware session closed unexpectedly.
This error is reported in the Event Log as:
Error Condition
Exception caught in f:cspTCPIPOpenSession: c0000005|62; etc ...
In addition to this fix, the logic for testing the health of
state-aware connections has been strengthened. The periodic test will
be suppressed if there is heavy user activity against the connection
in question. If a connection reports a network error, the Gateway
will perform the full round-trip test before marking the connection as
defunct and closing its (client) side of the connection.
Category: DeepSee
Platforms: All
DevKey: DPV3594
Summary: DEEPSEE: Correction for Excel Export
Description:
This change corrects a defect that could prevent data from being
properly exported to Microsoft Excel spreadsheets.
Category: Ensemble.Adapter
Platforms: All
DevKey: TAP973
Summary: Make SQL Adapter properly drop statement
handle after xDBC SP call
Description:
This change fixes an error where the statement
handle of a Stored Procedure call through the SQL Adapter is not
correctly dropped. This leads to resource leakage in the target JDBC
or ODBC driver.
Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP856
Summary: Fix bugs with VDoc BuildMap() behavior
Description:
This change fixes several systemic bugs in HL7 and
other VDoc classes, and makes the DTL compiler generate a
PokeDocType() for new target objects instead of setting DocType
directly. A new object generally is missing segments it needs to pass
schema
validation so there's no point in triggering a BuildMap() on it
immediately. The DTL change arranges this.
The changes are:
- Make CopyValues() generate cloned segment objects in the target, not
just copy object references or segment ID's. This prevents a bug where
if the target object produced by a DTL is deleted without ever being
saved, it could delete the segment storage referred to by the source
object.
- Make buildRuntimeIndexFromPath() populate the
"bidirectionalLink"
map. This prevents duplicate segment object allocation when retrieving
segments by path and by index.
- Fix code that was intended to clear BuildMapStatus whenever a
new
segment is added or removed, but was mis-coded so that it didn't. This
could cause the segment map to fail to be re-built in the course of a
DTL when it should have been.
- Specify pKeepParsingAfterError=0 in calls to BuildMap() that are
invoked internally in the course of adding or removing segments in a
document. This should make DTL operations faster by avoiding
looping. It also means that BuildMapStatus values in the final target
object from a DTL may be less verbose than those from Validation or
HTML display of a complete message.
Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP912
Summary: Fix PokeDocType for VDoc Segment classes
Description:
This change fixes the method PokeDocType() of the
various VDoc Segment classes to be the same as DocTypeSet().
PokeDocType() is useful for Document classes to avoid the overhead of
the BuildMap() invocation that is implicit in a normal Set of the
DocType property. However, for Segment classes there is no BuildMap(),
but some helper shadow properties do need to get set.
Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP978
Summary: Fix HL7 schema loader to allow 'Any' as
wildcard seg, prevent circular base reference loop
Description:
This change fixes two bugs in the XML HL7 schema
loader:
- Allow wildcard segment references named 'Any'.
- Do not hang the job in an infinite loop if someone saves a schema
with base
referring to itself.
Category: Object.CacheProvider
Platforms: All
DevKey: JCN1092
Summary: Avoid nested lock in connection pool logic
Description:
Under extreme connection situations on multiple
threads (50+ simultanious connections), resource issues at the socket
layer
cause failures which can end up causing a freeze in the connection
pooling logic, blocking all threads. The failure is machine dependent
in terms of the number of connections needed to cause this, but the
fix is the same for all platforms.
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 fails to get very long CDATA
value. This will also apply to any character, comment or cdata.
Category: SQL
Platforms: All
DevKey: JLF305
Summary: Fix flattenExists to allow for missing
mt("f",*) node
Description:
This change corrects a situation where an SQL parsing error was
reported for the case
where it expected an EXISTS
clause but none was found.
Category: SQL.GateWay
Platforms: All
DevKey: MIT872
Summary: Add explicit removal of LOBs in
CreateStreamJ^%apiGTW
Description:
This change fixes a problem specific to
the Microsoft SQL
Server. Stream retrieval for multiple rows caused JVM memory to
grow. Now, we do not rely on garbage collection but instead explicitly
remove large objects.
Category: SQL.ODBC
Platforms: All
DevKey: AND1084
Summary: ODBC: Fix misplaced curly brace in
Statement::Drop
Description:
This change corrects a <STORE> error caused by
a misplaced curly brace internally in the ODBC driver.
Category: SQL.Privileges
Platforms: All
DevKey: DPV3536
Summary: SQL: Correct display of some schemas in SMP
when using Czech Unicode locale
Description:
A problem has been corrected where some schema names
would not display properly in the Management Portal when Czech Unicode
Locale was
installed.
Category: SQL.Privileges
Platforms: All
DevKey: DPV3580
Summary: SQL Privileges: Correct issue compiling a
view when view owner has select privileges on the view queries columns
via a role
Description:
A problem has been corrected where a view would not
compile even when the owner of the view has all the necessary
privileges on the view query's table(s) granted to the owner via a
role.
Category: System
Platforms: All
DevKey: GK824
Summary: Process routine cache release algorithm
change
Description:
This change addresses how Caché
handles the situation of having cached queries and being out of
routine buffers.
If a process attempts to allocate another routine buffer but all
system routine buffers are in-use, it will now reduce its own cached
routines down to 10% of its allowed maximum. If still no routine
buffer is available then Caché then drops the system wide
number of routines cached per process.
Category: System
Platforms: All
DevKey: GK825
Summary: Modified job creation to check and do some
house cleaning when waiting for a job to start
Description:
While waiting for a job to start, this change
allows Caché to handle
various cleanup work to prevent possible future deadlocks
involving resource shortages.
Category: System
Platforms: All
DevKey: HYY1479
Summary: Build zlib library on Linux platforms
Description:
On Linux distributions where the zlib library
(libz.so) was not installed in the searchable path (by default or by
user's choice), one would get <DYNAMIC LIBRARY LOAD> error
running Cache compression/decompression utility (e.g.,
$System.Util.Compress() etc.). This change addressed that by including
a copy of the zlib library in the Caché installation.
Category: System
Platforms: Windows
DevKey: JO2310
Summary: Fix problem where clearing wdstop could
cause a list of gaccupd waiters to be dropped
Description:
This change corrects
a rare problem on Windows systems where when the control process
resumes a system that had been suspended due to lack of write daemon
activitiy (for example, a long backup). In this
circumstance, it was possible for a small number of jobs
to be permenently left suspended.
Category: System
Platforms: Windows
DevKey: SAP1229
Summary: Fix problem with duplicate cconsole messages
ending in newline
Description:
This corrects an issues where
duplicate console messages on which a newline has been supplied were not
being suppressed.
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 accessing a shared disk, confusion
can
arise. One symptom of this was false status messages being sent which
caused the partner node to crash.
Category: System
Platforms: All
DevKey: SAP1289
Summary: Windows message hang when target terminates
Description:
A message transmission that requires a reply (such
as JOBEXAM) may hang forever if the target of the message exits after
receiving the message but before responding to the request. This has
now been fixed.
Category: System.Cluster Specific
Platforms: All
DevKey: GK827
Summary: Modified Cluster session not to track jrn
position
Description:
The inter-cluster ECP session activity is not a
regular session, and journal position is not tracked. But the session
is
started with the current journal position, and if the slave did not stay
idle for more than 60 seconds (time enough for it to clear the old
journal position), it
prevented purging the old journal files.
This is now handled correctly.
Category: System.Cluster Specific
Platforms: All
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.Cluster Specific
Platforms: All
DevKey: JO2316
Summary: Add missing interlocks for reading pij label
into gcommon buffer
Description:
This correction resolves a
rare problem during cluster recovery after the
cluster master shuts down or fails. This defect prevents subsequent
attempts
to join the cluster. The problem can occur any
time the master leaves the cluster, gracefully or not and required
restarting all of the cluster nodes to resolve it.
Category: System.Journaling
Platforms: All
DevKey: HYY1544
Summary: Addressed an issue of data lost in 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.Journaling
Platforms: All
DevKey: SML1203
Summary: Handle Bitset rollback when a new global was
created
Description:
This change fixed a transaction rollback problem
when there are BITSET and Global SET journal records on the same global
node. Under some circumstances, the SET journal record might not be
rolled back
when it should be.
Category: System.Licensing
Platforms: All
DevKey: RJW1798
Summary: ODBC connection consumes a license with web
add-on
Description:
This change corrects a situation that would cause
anonymous ODBC connections originating from a Windows terminal server
session to incorrectly consume a license unit when a web add-on
license is used.
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: STC1751
Summary: Do not validate collation of globals during
system startup
Description:
Previously releases, when a new global subscript-level mapping was
detected at startup, Caché validated that the collation of the
physical global in the database matched the collation, if the global
was populated with data. If the collation did not match, Caché
reported an error, and did not save the global SLM mapping.
If the configuration file
was edited by hand, this could cause problems at startup when
Caché attempted to mount the database.
This has been changed so that
Caché only checks the collation when it is entered
via the Management Portal.
Futhermore, it only checks the collation of the physical global when the
mapping entered is a subscript-level mapping.
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.
- CSP.Gateway
- DeepSee
- Ensemble.Adapter
- Ensemble.HL7/EDI
- Installation.UNIX
- Migration.TSQL
- Networking.ECP
- Object.CacheProvider
- Object.LanguageBindings
- SQL.Query Processing
- Studio
- System
- System.Cluster Specific
- System.I/O
- System.Journaling
- Utilities
- Utilities.Configuration
Category: CSP.Gateway
Platforms: UNIX
DevKey: CMT736
Summary: Ensure that the contents of the Gateway's
shared memory block are not reset in the event that Apache re-reads its
configuration
Description:
This change prevents the reset of the contents of
the Gateway shared memory block in the case where an Apache web server
re-reads its configuration file.
The reset only occurs on UNIX-based Apache installations.
Category: CSP.Gateway
Platforms: All
DevKey: CMT800
Summary: Fix a problem that could result in the
Apache DSO module 'mod_csp' hanging and erroneously timing-out when
processing response messages containing empty content
Description:
This change fixes a problem that could result in the Apache DSO module
hanging and erroneously timing-out when processing response
messages containing no content body.
Category: DeepSee
Platforms: All
DevKey: DPV3542
Summary: DeepSee: Multiple corrections
Description:
This change represents multiple corrections to DeepSee involving:
- Changes in roles causing established filters and subject areas to
be lost
- Increases in the limitations on the number of globals that can be
imported
- Pivot table handling that prevented details from
being properly printed
- Premature session timeouts and subsequent logouts
and other miscellaneous fixes.
Category: DeepSee
Platforms: All
DevKey: DPV3564
Summary: DeepSee: Remove %BI.SOAP classes
Description:
This change removes the classes, %BI.SOAP, from the
product as a fix to a security hole.
Category: Ensemble.Adapter
Platforms: All
DevKey: TAP917
Summary: Fix SQL adapter handling of JDBC return values from execProc() and execUpdate() and getUpdateCount()
Description:
This change corrects problems in the SQL Adapter JDBC
support arising from failure to handle return values from the
underlying JDBC method invocations other than 0 or -1. In fact, these
methods return values indicating row counts and the presence of Stored
Procedure output ResultSet data.
Category: Ensemble.Adapter
Platforms: All
DevKey: TAP950
Summary: Fix SQL Adapter to not drop the statement
while iterating through stored procedure results
Description:
This change corrects behavior in the SQL Adapters that
resulted in erroneous errors when checking for multiple stored
procedure results.
Previously, the adapter would drop the current statement handle prematurely.
Category: Ensemble.Adapter
Platforms: All
DevKey: TAP951
Summary: Fix SQL Adapter calling a stored procedure
over JDBC when configured with a named management portal SQL Gateway
Connection
Description:
The SQL Adapter supports JDBC configurations either
by specifying a JDBC URL in the DSN config value, or by configuring
the DSN value as the name of a "SQL Gateway Connection" configuration
block configured in the System Management Portal.
When calling a Stored Procedure via an adapter whose DSN value is
configured using a named configuration block, the SP would fail with
<INVALID OREF> zgetProcColumnsJ+3^EnsLib.SQL.CommonJ.1. This
change corrects that problem.
Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP965
Summary: Fix getReplyCode() handling in HL7
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
NackErrorCode=ContentE.
Category: Installation.UNIX
Platforms: UNIX
DevKey: SAP1259
Summary: Install sets wrong permissions on cconsole.log
Description:
This change corrects behavior by the
upgrade installer that makes existing cconsole.log files
rw-rw--- (no one but owner and cacheusr can access). The correct
permission is rw-rw-r-- (everyone can read the file).
Category: Migration.TSQL
Platforms: All
DevKey: DPV3569
Summary: TSQL: Correction for statement level triggers
Description:
A problem has been corrected that occurred
- when a row was deleted from a table with
a statement level AFTER DELETE trigger with TSQL code, and
- the trigger
code deleted a row in other table which did not have a TSQL statement
level AFTER DELETE trigger, but did have a TSQL statement level AFTER
UPDATE trigger.
The error may have resulted in the DELETE in the
trigger code returning an error, most likely SQLCODE=-29, field not
found.
Category: Networking.ECP
Platforms: All
DevKey: GK801
Summary: Prevent ECP data loss during recovery
Description:
In a rare condition, ECP recovery dropped a series of
client requests. It may happen if the server processed a partially
received request buffer with many requests and the state
synchronization between the app-server and the db-server was
wrong.
This is now corrected.
Category: Object.CacheProvider
Platforms: All
DevKey: JCN1087
Summary: Fix connection pooling performance in multithreaded applications
Description:
Connection pooling was critically slowed down in
multithreaded situations, due to excessive locking.
The locking has been changed to improve performance.
Category: Object.LanguageBindings
Platforms: All
DevKey: JSL2908
Summary: Fix concurrency issue in Java binding due to lost locks
Description:
This change corrects an error in the
Java binding. Under some circumstances, the binding code could
release locks that it should have held.
Category: SQL.Query Processing
Platforms: All
DevKey: JLF272
Summary: Reorder final DISTINCT when the driving map is a collection map
Description:
The semantics of FOR SOME %ELEMENT have an implicit DISTINCT BY %ID
for the corresponding stream. The parser inserted the implied DISTINCT,
but the location of this code caused it to
apply only when the master map was also accessed for some reason. The
code has now been moved, ensuring that it will be
executed in this case, and whenever a single-collection-map strategy
is chosen for a stream by the optimizer.
Category: Studio
Platforms: All
DevKey: MC1055, MC1056
Summary: Change handling of class indexes
Description:
The Caché version 2008 server only supports version 1 of the class index cache which
does not contain class timestamps in the class index. This means Caché is unable
to detect a class has been changed on the server. This change forces a reload of the class definition once
when an attempt is made to load a class definition. The change also causes Caché to
properly handle locked classes.
Category: Studio
Platforms: All
DevKey: MC976
Summary: GetClassDefinition to check for index up-to-date first
Description:
GetClassDefinition now checks whether the class index
is up-to-date before beginning processing of the class in Studio.
Category: Studio
Platforms: All
DevKey: SAP1269
Summary: Studio hangs accessing Stack variables in Watch window
Description:
On a Unicode system, clicking on
Call Stack to get variables causes Studio to hang forever. This is now fixed.
Category: System
Platforms: All
DevKey: CDS1658
Summary: Fix <SYSTEM> error after CATCH of nested error
Description:
If a TRY/CATCH construct catches an error in a
subroutine or method that is invoked
as part of building the argument list
for another subroutine or method, there would be a <SYSTEM> error
when the subroutine with the CATCH quits. This has been corrected.
Category: System
Platforms: All
DevKey: CDS1651
Summary: Fix vulnerability when classes are closed during HALT
Description:
This change fixes a rare condition that could cause
a memory access violation when a process halts after using many
objects.
Category: System
Platforms: All
DevKey: JLC1346
Summary: Avoid <ACCVIO> during MERGE
Description:
This change corrects a problem that could cause a crash when
executing a MERGE command in low memory conditions, especially on
64-bit Windows platforms.
Category: System
Platforms: 64-bit Windows
DevKey: JLC1349
Summary: Fix class compilation issue on 64-bit Windows
Description:
This change fixes a problem on 64-bit Windows that
could cause a system crash when compiling a very large number of
classes.
Category: System
Platforms: OpenVMS
DevKey: JO2302
Summary: Fix terminal disconnect handling on OpenVMS 8.3
Description:
This change corrects a problem that occurs on OpenVMS where
an asynchronous terminal disconnect was not handled properly possibly resulting in a process termination.
Category: System
Platforms: All
DevKey: JO2308
Summary: Fix handling of GIFs via CSP interfaces
Description:
A bug has been resolved in loading a GIF file
through a CSP interface, or code which emulates a CSP interface, which
sometimes reported a <DATABASE> error. There
was no underlying database error, the code improperly referenced a
process-private global when a normal global shold have been accessed.
Category: System
Platforms: All
DevKey: RJW1762
Summary: Unable to resolve existing <STORE> error
Description:
This change fixes a problem where an attempt to enlarge the symbol
table size following a <STORE> error failed to increase the memory
available to the process because there was no location to hold the new memory.
The change ensures that there is always at least one location
available for this purpose whenever memory is expanded.
Category: System
Platforms: All
DevKey: SML1182
Summary: Fix reverse $ORDER() error on subscript-level mapped global
Description:
This change fixed a problem that reverse $ORDER on a
subscript-level mapped global could return a wrong answer.
Category: System.Cluster Specific
Platforms: All
DevKey: JO2304
Summary: Correct write-image journal recovery during cluster failover
Description:
A problem has been resolved which could result in
some databases not being restored from the write-image journal during cluster
failover. This does not affect the restore during Caché startup, just
during the recovery performed by the cluster master during
failover.
Since the journal data is also restored during cluster failover this
problem does not result in data loss. However, it can result in
database degradation which could show up during the journal restore
phase of cluster failover. It also could show up some time later
such as when
the degraded block(s) later referenced in
circumstances involving block splitting.
Category: System.I/O
Platforms: All
DevKey: RJW1777
Summary: SSL connection hangs Caché with retained buffer
Description:
A problem has been corrected which could cause TCP
communication with SSL to hang the system if the SSL connect or accept
blocks while the process holds a global block, and the write daemon
requires that block to continue.
Category: System.Journaling
Platforms: All
DevKey: HYY1507
Summary: Address issues of transaction rollback performed at the end of journal restore
Description:
In releases prior to 2009.1, if open or incomplete transactions
were detected during a journal restore, the operator would be asked at the
end of the journal restore whether to have the open transactions
rolled back.
This behavior has been changed. Now, the operator is not given the
rollback
option.
Transaction rollback is not performed, even if there are open
transactions detected during the journal restore.
Category: Utilities
Platforms: All
DevKey: STC1720
Summary: Fix <UNDEFINED> error in ^INSTALL
Description:
This fixes an undefined error in ^INSTALL when
upgrading from version 5.0. It would only occur if the first database defined
in the CPF file (in alphabetical order) was either an ECP or DCP
database.
Note: This does not interrupt the install.
It will complete with
the error message written to the cconsole.log. However, all user
databases will not be labeled with their database resource, but will
get the default %DB_%DEFAULT database resource instead.
Category: Utilities.Configuration
Platforms: All
DevKey: SML1189
Summary: Fix mapping when beginning point overlapped with an end point
Description:
This change fixes an inconsistency in processing
mapped %-globals. in an overlap between two range such as:
%Z:%ZeUTT -> DBA
%ZeUTT -> DBB
%ZeUTTX:%a ->DBA
the mapping of %ZeUTT would be mapped to %SYS instead of DBB
Note: This error is only present in 2009.1.
- Caché Direct
- CSP.Gateway
- Ensemble
- Ensemble.HL7/EDI
- Ensemble.ManagementPortal
- Installation
- Installation.UNIX
- Installation.Windows
- Networking.ECP
- Object.LanguageBindings
- SQL.Query Processing
- Studio
- System
- System.Callin/Callout
- System.I/O
- System.Journaling
- System.Licensing
- System.Lock
- Terminal
- Utilities
- Utilities.Configuration
- Zen.ZenReports
Category: Caché Direct
Platforms: All
DevKey: RAW821
Summary: Caché Direct client: recognize user cancel in server dialog, and report properly
Description:
If the user cancels in the server selection dialog,
the error code was misreported. This has been fixed.
Category: CSP.Gateway
Platforms: All
DevKey: CMT781
Summary: Improve the protection in, and resilience
of, the code responsible for determining the requested file type in the
Apache DSO modules
Description:
This change improves the protection in, and resilience of, the code
responsible for determining the requested file type in the Apache DSO
modules. It enables the CSP module to cleanly reject requests
destined to be processed by the WebLogic module (provided the 'CSP On'
directive is not specified for the path).
Category: CSP.Gateway
Platforms: All
DevKey: CMT787
Summary: Add protection to prevent the Gateway exceeding the current maximum file size in force for the Event Log file (CSP.log)
Description:
This change adds protection to prevent the Gateway exceeding the
current maximum file size in force for the Event Log file (CSP.log).
Failure to do this check can result in the CSPnsd process terminating
abnormally during normal operation and/or at
initialization (since it cannot write the startup entry in the
log).
Category: Ensemble
Platforms: All
DevKey: MC1016
Summary: Remove killing of ^ERRORS from Ens.Purge:PurgeAll
Description:
This change prevents the removal of errors
when ##class(Ens.Purge).PurgeAll() is called.
Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP888
Summary: Fix message browser support for body property queries with . and () in them
Description:
This change quotes the characters ".", "(", and ")" in Message
Browser generated queries against message body fields. This allows
sub-properties and array elements to be specified without generating
invalid SQL field names.
Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP929
Summary: Improve HL7 Parser's handling of corrupt segment data
Description:
This change prevents an infinite loop that would
occur if HL7 input was malformed and random data in the message happened to contain
the sequences "MSH", "BHS" or "FHS" which the HL7 parser looks for in
attempting to recognize HL7 data with unspecified "Flexible"
framing.
Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP934
Summary: Fix use of $ZTime in X12 and EDIFACT NewReply... methods
Description:
This change fixes an error that resulted in invalid
time codes being constructed for timestamp fields in EDI reply
documents. The 4-digit time was always generated as "1708" instead of
the actual time.
Category: Ensemble.ManagementPortal
Platforms: All
DevKey: TAP908
Summary: Add support for SQL -> syntax in Message Browser for msg body persistent sub-properties
Description:
This change adds support for SQL -> syntax in the
Message Browser when using detailed filter conditions of type Body
Property. When the selected message body class has properties whose
type is a persistent object class, the Message Browser's Value
Selector popup dialog box shows the values of all the nested
sub-properties, with a dot ('.') separating them from their respective
main parent properties.
Formerly, selecting one of these nested sub-properties would cause
invalid SQL to be generated and thus cause a page error upon clicking
the Search button.
This change causes the Message Browser to generate SQL arrow
('->')syntax for references to such sub-properties, resulting in
SQL that is valid if the sub-property belongs to a persistent class
type.
This change also generates a valid SQL 'AS' name for the column
displaying the sub-property values. It does this whether the
sub-property is named using a dot separator or if it is named using an
arrow separator entered by hand.
Category: Installation
Platforms: All
DevKey: ALE1816
Summary: Do not allow to install Caché server on Windows if CPU does not support SSE2 instructions
Description:
Windows installation will now check for SSE2 support
in the underlying
CPU and will display a warning that only client components will be
installed. It will enforce a "client" setup role if the SSE2 instruction
set is not available.
Category: Installation.UNIX
Platforms: All
DevKey: TRW714
Summary: Avoid jam deletion of packages in the installer
Description:
Before this change, interrupting an install via
Ctrl-C on some Unix platforms could corrupt the install kit if it was
on a writeable file system. The interrupt behavior is now correct.
Category: Installation.Windows
Platforms: All
DevKey: ALE1834
Summary: Properly register mscomctl.ocx when any feature using it is installed
Description:
In previous releases, the "InProcServer32" default
registry value for all classes exported by mscomctl.ocx was not
populated when the "activex" feature was not installed. This isnow fixed and
this value is populated whenever the mscomctl.ocx component is
installed.
Category: Networking.ECP
Platforms: All
DevKey: GK771
Summary: Recover app-server "Connection in Progress" state
Description:
CP establishes its connection on the first
reference to any remote global. While establishing a connection,
if the ECP client daemon creation fails, it may leave the connection
in "in progress" state.
This change detects the errors associated with this
situation and attempts to recover from it.
It also attempts to
fix itself when daemon creation fails.
Category: Networking.ECP
Platforms: All
DevKey: GK778, GK779
Summary: Fixed a couple of issues with long string set recovery across ECP
Description:
This change fixes a rare condition where a
long string could be dropped or lost if the database server was restarted right
after the last data transmission, but before the journal became
durable.
It also fixes issues with long string SET command
recovery across ECP. If the server or connection fails in the middle
of a SET involving a long string, the assignment may fail with
<NETWORK> error
or the SET may be dropped altogether.
Category: Networking.ECP
Platforms: All
DevKey: GK780
Summary: ECP session cleanup to invalidate any Q-ed activity
Description:
In rare cases, when the ECP work daemons cannot keep up with activity,
and there are many activities queued, the session that
originated the work in the background may go away.
It may also reconnect with leftover activity from the previous
session.
This modification prevents any old or stale work from being processed
after a disconnect (and/or reconnect)
by removing it from the work queue during session cleanup.
Category: Networking.ECP
Platforms: All
DevKey: GK788
Summary: Unicode strings are not converted to the ECP client's endian
Description:
Under very rare conditions, if
- The ECP server is a
different endianness than the application server;
- There is a SET in the process of being
propagated to the client;
- The SET involves a
non-compact Unicode string;
- The block that the SET will modify has
arrived at the client;
then the cache may be updated with the wrong endian value.
Category: Object.LanguageBindings
Platforms: All
DevKey: IYB627
Summary: Binding server, increased the buffer size to store variables for output redirection
Description:
This change corrects a situation
that caused memory corruption when the binding server was used by Java.
Category: SQL.Query Processing
Platforms: All
DevKey: AK740
Summary: Find correlated fields in noagf/lvtree search
Description:
This change corrects a situtaion where the SQL processor would ignore
fields that could be used to optimize the query processing when those
fields occurred in subqueries.
Category: SQL.Query Processing
Platforms: All
DevKey: AK759
Summary: Get uncollated field if collated needed
Description:
This change fixes a situation where an <UNDEFINED>
error could occur while running a query that involves collection
fields or when row-level-security is used.
Category: SQL.Query Processing
Platforms: All
DevKey: BJB426
Summary: Make sure %READERLIST is added to mt and mts array in pre parser
Description:
A problem has been corrected that would cause an
<UNDEFINED> error if you did an OUTER JOIN into a table that had
Row Level Security
Category: SQL.Query Processing
Platforms: All
DevKey: JLF301
Summary: Test and clear viewSpConds(joinLog) in removeUnnecessaryStreams
Description:
This devlog fixes an error that caused a
<SUBSCRIPT> error to be raised at prepare time when DISTINCT was
used in combination with an ON clause, as exemplified by this query:
SELECT DISTINCT b.id AS id
FROM sample.person b
LEFT OUTER JOIN sample.employee v ON b.id = v.spouse
LEFT OUTER JOIN sample.employee uv ON v.id = uv.id
AND uv.home_state =
(select office_state from sample.employee where v.id=uv.id)
Category: SQL.Query Processing
Platforms: All
DevKey: JLF310
Summary: Reduce max subscript length in buildCanonical to 85 characters
Description:
This change fixes an issue internal to the SQL
compiler where a string was stored that exceeded the maximum
subscript length on an array.
Category: SQL.Query Processing
Platforms: All
DevKey: JLF323
Summary: Restrict redirectRef to transform only val ("v") type operands
Description:
This change fixes a defect in SQL optimization
that, though rare, could
potentially occur in any moderately complex query resulting in
incorrect results.
Category: SQL.Query Processing
Platforms: All
DevKey: PVA192
Summary: Inhibit 'removal of unnecessary distinct' in cases likely to make performance worse
Description:
Certain quantified or EXISTS subqueries involving
aggregation within a FROM clause subquery of the given subquery could
have much worse performance in later releases compared to Caché 5.0.4. This
rare regression is fixed by this change.
Category: Studio
Platforms: All
DevKey: DVU2565
Summary: Changes to temporary dir name for class cache files
Description:
This correction changes Studio behavior on start up
to remove class cache files with different build numbers. These files
was caused a problem if two Studios from different builds were run
simultaneously in the same instance.
Category: Studio
Platforms: All
DevKey: MAK2750
Summary: CSP templates could run in the wrong namespace on initial page
Description:
Studio passes the namespace the Studio template page
should run in as a URL parameter on the initial page. This is then
stored in the %session object and used to set the
'RunNamespace'.
However, the code that then switched this page into
this namespace was not using the value passed in, but the value from
the %session.RunNamespace which was incorrect at
this point. This change uses the correct value.
It appears when you have password authentication this is
not a problem, but it does effect systems that are using the
Unknownuser.
Category: System
Platforms: Windows
DevKey: JLC1336
Summary: Fix unwinding information for narrow() on winx64
Description:
This change fixes a problem in Caché for Windows/x64
Unicode that could cause the process to crash if the user tried to set
a global whose name included a wide character. The correct behavior is
to get a <WIDE CHAR> error.
Category: System
Platforms: OpenVMS
DevKey: JO2298
Summary: Update ld_sys_data() for OpenVMS 8.3 so we correctly handle terminal disconnection events
Description:
Some internal OpenVMS data structures changed between
OpenVMS 8.2 and 8.3. This in turn prevented the Caché handler which deals with
process termination when a connection is lost (eg. telnet window is
closed) from properly dealing with this condition. The
result would be a process stuck in Caché in a COM state at priority
zero. This change resolves this problem.
Category: System
Platforms: All
DevKey: SAP1197
Summary: If Event.Signal with message fails, the message is not deallocated
Description:
This corrects an issue where signalling a message
for an undefined event, or
undefined
process id will cause the event to be allocated but never used. This
could cause a memory leak.
Category: System
Platforms: OpenVMS
DevKey: SML1143
Summary: Work around a OpenVMS compiler optimization bug
Description:
This correction fixes a possible access violation crash during
Caché upgrade on OpenVMS alpha platform if an empty 'Z' routine exists in
the CACHESYS database.
Category: System
Platforms: All
DevKey: SML1172
Summary: Fix cluster failover error
Description:
This changes correct a situation where a
new ECP master could hang while waiting for slave to establish the ECP
connection.
Category: System.Callin/Callout
Platforms: All
DevKey: JO2290
Summary: $ZF() for OpenVMS was calling routines with instead of without privs
Description:
This changes corrects a problem where $ZF functions were calling out
to external routines at the wrong privilege level.
Category: System.I/O
Platforms: All
DevKey: RFD484
Summary: Fix <ACCVIO> when a process HALTs with an open XDEV device
Description:
This corrects a situation where a process that HALTs could generate
an access violation error if there were XDEV devices open at the time
the process stopped.
Category: System.Journaling
Platforms: All
DevKey: HYY1491
Summary: Fix journal restore when switch 10 is set
Description:
This submission addresses an issue that caused journal restore to
fail if switch 10 is set (e.g., as continuation from database restore
where switch 10 is set).
Category: System.Journaling
Platforms: All
DevKey: HYY1498
Summary: Fix journal restore with selected globals on Unicode systems
Description:
This change addresses an issue where journal restore with
selected globals on Unicode systems fails to restore the specified
globals.
Category: System.Licensing
Platforms: All
DevKey: RJW1752
Summary: Correct error in %SYSTEM.License.LicenseServerKeyList query
Description:
This corrects a situation that could cause the
%SYSTEM.License.LicenseServerKeyList() query to fail.
The
problem was reproducible the first time the query was run following
system startup, but could not be reproduced on subsequent
invocations.
Category: System.Lock
Platforms: All
DevKey: SML1168
Summary: Fix ECP recovery could send extra lock request on lock_pending lock
Description:
This change corrects an ECP lock inconsistency during ECP
recovery when ECP server restarted.
Category: Terminal
Platforms: Windows
DevKey: RJW1770
Summary: Caché Windows LAT daemon does not process config file settings
Description:
The [LAT] section of the config.cpf file is incomplete in Caché
versions 2009.1 and 2010.1. The System Management Portal does not
configure the advertised services (ServiceName, ServiceDescription,
ServiceRating). This change alters the LAT daemon (lat.exe) so it
reads its startup parameters from a lat.ini file in the installation
directory instead of from the cache.cpf configuration file.
Users can
copy the [LAT] section from an existing cache.cpf file into the new
lat.ini file or you can enter the information with a text editor.
The LAT service will be deprecated in Caché 2010.2.
Category: Utilities
Platforms: All
DevKey: STC1683
Summary: Handle $$$OSDelegatedAuthenticationFailed error correctly
Description:
When using OS authentication in combination with
delegated authentication and Caché Password authentication, if the
ZAUTHENTICATE routine returns the error
$$$OSDelegatedAuthenticationFailed, the security subsystem is supposed
to NOT continue on and prompt for username/pw using Caché
Authentication. It is supposed to audit the login failure, and
halt. This was not happening, the user was then getting prompted for a
username/pw.
This change implements the correct behavior.
Category: Utilities
Platforms: All
DevKey: STC1684
Summary: Update CPF Validator to allow for a "." in a routine mapping range
Description:
This change allows a valid routine name range
mapping to end in a ".". For example,
When converting to 2009.1.x, it could cause an installation to fail as
mappings could be generated in the CPF file to remove overlapped
mapping ranges.
Category: Utilities
Platforms: OpenVMS
DevKey: STC1694
Summary: Fix &SQL(SELECT * FROM %SYS.ProcessQuery) on OpenVMS
Description:
This change fixes a problem with using embedded SQL
on OpenVMS only when using it with the %SYS.ProcessQuery class. For
example, the embedded SQL command
&SQL(SELECT * FROM %SYS.ProcessQuery)
would fail on an OpenVMS system, but would work fine on
Windows and Unix.
Category: Utilities
Platforms: All
DevKey: STC1696
Summary: Fix com port login and mnemonic namespaces
Description:
This fixes a problem when logging in on a com port,
that the W /mnemonics commands would not work, and would cause a
<MNEMONICSPACE> error to occur.
Category: Utilities
Platforms: All
DevKey: STC1703
Summary: Fix CPF conversion problem with routine mappings
Description:
This fixes a bug in the CPF conversion routine where
if there is an overlapping routine mapping as follows:
The mapping is not converted to
%Z:%ZDTOOL==>DB2
%ZDTOOL==>DB1
%ZDTOOL.:%a==>DB2
Category: Utilities
Platforms: All
DevKey: STC1704
Summary: Hang maximum of 20 seconds on login failure
Description:
When Caché is configured with an invalid
login limit set to something other than 0, if a user account hits
this login failure limit, Caché would cause the process to
HANG for invalidloginattempts-loginfailurelimit seconds.
Thus for
every failed login attempt, Caché would hang 1 second longer, until a
valid login attempt would occur. On an account that could generate
hundreds of invalid login attempts, the hang could last a long
time. The code has been updated to hang for a maximum of 20
seconds.
Category: Utilities
Platforms: All
DevKey: STC1705
Summary: Handle end of % range mappings better
Description:
This updates the routine mapping conversion at the
end of the "%" range so that if you have a routine mapping such as:
%zquiet* -> DB1
%z* -> DB2
It will convert this to
%zquiet* ->DB1
%z:%zquiet ->DB2
%zquietu:&->DB2
rather than
%zquiet* ->DB1
%z:%zquiet ->DB2
%zquietu:.->DB2
When the last mapping was loaded it would be ignored by the system,
and the mappings would go to the CACHESYS database rather than
DB2.
Category: Utilities
Platforms: All
DevKey: STC1706
Summary: Process config file setting for Caché Windows LAT daemon
Description:
When converting to 2009.1, the configuration
settings for the Windows LAT daemon are now stored in the lat.ini file
rather than in the CPF file. Users who wish to customize their LAT
setting should now edit this file.
Category: Utilities
Platforms: All
DevKey: STC1708
Summary: Shell access no longer blocked by auditing
Description:
When auditing is turned on, and direct mode commands
are being audited, if the user entered a "!" at the command prompt,
they would be blocked from entering the Unix or OpenVMS shell. This
problem has been fixed.
Category: Utilities
Platforms: All
DevKey: STC1716
Summary: Activate all namespaces when Config.CPF.Activate() called
Description:
This change fixes a problem where, when calling the
API method Config.CPF.Activate(), not all the namespaces would get
activated, only the one last modified.
Category: Utilities.Configuration
Platforms: All
DevKey: SML1173
Summary: Fix remapping %* routine could get wrong DB location
Description:
This change fixes a situation where %-routine re-mapping could
result in the wrong destination database.
Category: Zen.ZenReports
Platforms: All
DevKey: JSL2880
Summary: Allow truly big Report Displays
Description:
This change corrects a situation where
a report display that compiled in
2008.2 failed to compile in 2009.1.
- CSP.Gateway
- Ensemble
- Ensemble.Adapter
- Ensemble.DTL
- Installation.Windows
- Languages
- Networking.ECP
- Object.C++
- Object.DotNet
- Object.Java
- Object.LanguageBindings
- Object.Library
- Object.XML
- SQL.GateWay
- SQL.Server
- SQL.SQLFiler/TableCompiler
- Studio
- System
- System.Cluster Specific
- System.I/O
- System.Monitoring
- System.Shadowing
- Utilities
- Utilities.Configuration
Category: CSP.Gateway
Platforms: Macintosh
DevKey: CMT762, CMT763
Summary: Build universal bundles for the x86-64 Mac OS X platform
Description:
This change modifies the compiler/link settings such that universal
bundles will be built for the x86-64 Mac OS X platform.
The previous settings prevented the Management Portal from working
properly on 64-bit systems.
Category: Ensemble
Platforms: All
DevKey: MC986
Summary: Restore transaction level in user error traps
Description:
This change restores the transaction level in user
error traps.
When application code errs with a transaction level > 0,
Caché does a TROLLBACK in
the error trap. Otherwise, the transaction level will never go down to
0 and this will cause inconsistencies in processing afterwards.
This change added TROLLBACK for the user callback in Business
Services, Processes and Operations.
Category: Ensemble
Platforms: All
DevKey: TAP874
Summary: Fix SQL queries used in MessageHeader Purge() when KeepIntegrity = true
Description:
This change fixes the SQL queries used in the
Ens.MessageHeader Purge() method when that method is called with the
argument KeepIntegrity = 1. Because of a subtle SQL syntax problem
the previous form of the query did not correctly identify rows to
purge that should be purged.
Category: Ensemble.Adapter
Platforms: All
DevKey: TAP842
Summary: Account for long key subscripts that may contain Unicode in SQL Adapter cache tables
Description:
This change improves the previous truncation algorithm
used for turning query strings into cache table keys. It now uses a
shorter truncation limit in order to avoid <SUBSCRIPT> errors
even when the allowed subscript length is halved due to the text
containing Unicode characters.
This change also fixes three other places where similar cache table subscripts are
used.
Category: Ensemble.Adapter
Platforms: All
DevKey: TAP882
Summary: Fix SQL adapter Large Object issues
Description:
This change fixes three issues with SQL Large Object
support:
- Large Object detection was not recognizing
certain SQL Server types properly.
- JDBC calls to the removeLOB() cleanup function were missing an
argument and therefore failing.
- The Large Object byte position appendage to the field ID in
GetData/GetDataW() was not being tested properly, causing a failure to
fetch all field data.
This change also adds Java type definitions to EnsSQLTypes.inc and
adds new methods each to EnsLib.SQL.GatewayConnection and
EnsLib.SQL.Snapshot:
- GetColumnSQLType - Returns the SQLtype integer of column 'pColumn'
in the result set.
- GetColumnIsLOB - Returns whether column 'pColumn'
is a LOB (Stream) column.
- GetColumnIsBinary - Returns whether column
'pColumn' contains binary data.
Category: Ensemble.Adapter
Platforms: All
DevKey: TAP892
Summary: Fix SQL Adapter ExecuteProcedure with both OutputParam and Result Snapshot nullifies Snapshot list
Description:
This change fixes a bug that causes the SQL Adapter
to eliminate some or all output result snapshots generated from a
stored procedure call if the SP also had any scalar output
parameters.
Category: Ensemble.DTL
Platforms: All
DevKey: DDP030
Summary: Don't modify %session.AppTimeout for Ensemble SVG in Studio
Description:
This changes forces Ensemble to respect the default
CSP application timeout when opening DTL in Studio. Previously,
this was overridden to be set to "never", which caused CSP session
licenses to be held in perpetuity; only manual intervention or an
Ensemble restart would release the licenses.
Category: Installation.Windows
Platforms: All
DevKey: ALE1809
Summary: Correct name for Caché startup shortcut created on non-English systems
Description:
In version 2009.1, a Windows installation on non-English systems
would create a Start Menu shortcut in the Startup folder as "Launcher"
rather than <INSTANCENAME>. As a result, after a reboot users could
have two cubes for the same instance, if it was an upgrade from 2008.2
or below. This change
fixes the problem.
Category: Languages
Platforms: x86
DevKey: SJ2588, SJ2589, SJ2590
Summary: Fix a problem in assembly language optimization on Intel x86 platforms with addition
Description:
This change corrects a problem when adding two large
numbers. If each number has 19 digits, and each has
a single digit after the decimal point, and the sum will not
fit in a 64-bit signed number, the application can get a <SYSTEM> or
other error when trying to save or use the result.
Category: Networking.ECP
Platforms: All
DevKey: GK713
Summary: Fixed an ECP hang
Description:
This change corrects an issue where, in rare
conditions, ECP daemons might be out of sync and search for locally
cached blocks. This caused an unexpected delay in responding to
various requests.
Category: Object.C++
Platforms: All
DevKey: IYB607
Summary: C++ binding, mark all zobjval client nodes as valid after the zobjval client value gets updated from the server
Description:
Sometimes, when processing a client request, the server did not send
cache updates for properties that were modified on the client. Thus
resulted in excessive calls to the server instead of getting the value
from the cache.
This change forces the client to assume that after a
roundtrip to the server the client cache must be valid, even if the
server didn't send any updates. As a result, the client should not send
extra messages to the server.
Category: Object.DotNet
Platforms: All
DevKey: IYB610, IYB611
Summary: CacheProvider, don't use Shadow in Open() methods of generated VB code
Description:
VisualBasic and C# have slightly different rules regarding how methods
are shadowed and/or overloaded. This change adjusts for the
differences in the two languages thus removing VisualBasic compiler errors.
Category: Object.DotNet
Platforms: All
DevKey: IYB612
Summary: Dotnet_generator: report compiler errors when generating an assembly
Description:
Prior to this change, the .NET code generator did not report compiler errors
when generating an assembly; it always reported a successful completion even
when an assembly was not generated. With this change, any errors or
warnings that
occur
are reported back to the user.
Category: Object.Java
Platforms: All
DevKey: MAB836
Summary: Fix deadlock in collections for Full Java Binding
Description:
This change corrects a problem where connection
pooling by multiple Java applications accessing the same Caché
data could result in a deadlock.
Category: Object.LanguageBindings
Platforms: All
DevKey: DMC688
Summary: ObjectiveCache: More precise conversion of NSDecimalNumber to d_decimal
Description:
This correction resolves an issue where large
integer values were not being properly converted from NSNumbers into
d_decimal.
Category: Object.Library
Platforms: All
DevKey: MIT927
Summary: Fix normalization code for %currency and %Decimal
Description:
In some cases $DOUBLE values could be stored in
these datatypes. With this change, the proper datatype is used.
Category: Object.XML
Platforms: HP-UX
DevKey: JN781
Summary: Correct workaround of Virtual Memory Deallocation on HP Itanium
Description:
On HP-UX Itanium, virtual memory was not being
deallocated correctly. This became apparent when using
%XML.Adaptor::XmlExportToString(). This change corrects the
deallocation issues.
Category: SQL.GateWay
Platforms: All
DevKey: MIT933
Summary: Honor delimited id setting for linked tables in joins
Description:
The bug was fixed that the delimited ids setting was
not honored in joins.
Category: SQL.Server
Platforms: All
DevKey: DPV3481
Summary: SQL: Correct problem that did not allow {%row} to resolve properly
Description:
A problem has been corrected where the use
of {%row} in %CacheSQLStorage definitions would cause a class compiler
failure.
Category: SQL.SQLFiler/TableCompiler
Platforms: All
DevKey: DPV3473
Summary: SQL Filer: Perform immediate unlock of shared lock acquired on foreign key referenced row after this row has been filed
Description:
When inserting or updating a row into a table that
has a foreign key, Caché acquires a lock on the referenced row that
is released when the transaction ends. This
lock is required to check the referential integrity of the foreign key
constraint and ensure the row still exists from the time the lock is
acquired until the time this row is inserted or updated.
If there are many rows
inserted or updated in a single transaction and many foreign keys on
the table, this could hold many locks in the lock table.
With this change, Caché will no longer hold the lock for the duration
of the transaction, but will release the lock after the row has been
inserted or updated. By this time the system has ensured referential
integrity and the row in the referenced table cannot be updated or
deleted during the course of this transaction because the referential
action on the foreign key constraint will prevent the update or
delete on the referenced table from occurring.
Category: Studio
Platforms: All
DevKey: ALE1806
Summary: Set blank username/password for Studio server connection in minimal security install
Description:
With this change, Windows installation will set the username and
password to blanks when a minimal security setting is used to install a
product.
Category: Studio
Platforms: All
DevKey: MC988
Summary: Fix memory leak caused by stringlist.cpp
Description:
This change corrects a memory leak that occurred
under certain uses of $LISTBUILD, $LISTGET and $LISTGETNEXT.
Category: System
Platforms: All
DevKey: JLC1321
Summary: Fix hang in terminal read when pasting a UTF-8 string
Description:
This change corrects a problem that could cause a
process to hang when trying to read text pasted into the input stream
that uses a multi-byte encoding such as UTF-8 or JIS.
Category: System
Platforms: Macintosh
DevKey: JLC1323
Summary: Identify Mac OS X with 64-bit kernel in cplatname
Description:
This change allows Caché to properly
recognize when it is running on the MAC OS 10.6 ("Snow Leopard") kernel.
Category: System
Platforms: All
DevKey: JLC1324
Summary: Redirect standard file descriptors to /dev/null in $zf(-2)
Description:
External programs started with $zf(-2,<path>)
on Unix platforms now run with the standard file descriptors 0, 1 and
2 redirected to /dev/null. Previously these three descriptors were
closed before starting the program.
Category: System
Platforms: All
DevKey: JO2274
Summary: Release retained gbuf in use cmd before we issue any system calls
Description:
This correction resolves a defect where a process could get
blocked in a USE command by the operating system and cause
Caché to
hang if it had retained ownership of a global buffer.
Category: System
Platforms: All
DevKey: SML1165
Summary: Namespace re-activation protection
Description:
This change fixes a possible <NAMESPACE> or
<DIRECTORY> error that could occur while
the system is re-activating the namespace
table while a namespace is edited.
Category: System
Platforms: All
DevKey: SOH120
Summary: Fix loop bound in LocToUTC, $ZU(193,xxx,1)
Description:
$ZUTIL(193,x,1) converts a date X to UTC. If X
represents the first day of the year, where (year mod 4)=1, the result
might be incorrect. This bug has been fixed.
Category: System
Platforms: All
DevKey: SJ2577
Summary: Fix core dump with $zu(70,4,"")
Description:
This change fixes a problem where a core dump can
occur when running the INTEGRIT utility.
Category: System.Cluster Specific
Platforms: All
DevKey: RJW1738
Summary: Cluster resource, ISCCres2003.dll, not working on 64 bit Windows clusters
Description:
A problem has been corrected that could cause the
Caché cluster resource to fail.
The symptom is that the cluster
manager would become unresponsive and the Caché cluster resource will
not work. This problem has been seen on 64-bit Windows, but may
also occur on 32-bit Windows clusters.
Category: System.I/O
Platforms: All
DevKey: HYY1485
Summary: Fix stream READs on a device opened with compression/decompression enabled (/GZIP)
Description:
This correction addresses an issue that could cause READs on a
device opened with /GZIP (i.e., with stream compression/decompression
enabled) to fail to read data. The problem is most prominent when the
READ length is 32767, the default for stream READS without
terminators or length specifier.
Category: System.I/O
Platforms: OpenVMS
DevKey: RFD477
Summary: Fix check for OPEN pipe device on OpenVMS
Description:
Trying to OPEN a TCP device with the letter "Q" in
the hostname was failing with an <UNIMPLEMENTED> error. This was
due to a faulty check for a "pipe" on OpenVMS. It has now been corrected.
Category: System.Monitoring
Platforms: HP-UX
DevKey: RFD471
Summary: Fix Caché Diagnostic Report for HP-UX
Description:
The Caché Diagnostic Report was using an unsupported
option for the process list on HP-UX. This has been corrected.
Category: System.Shadowing
Platforms: All
DevKey: HYY1486
Summary: Write shadow copy of journal file in RAW mode on OpenVMS
Description:
This change corrects an issue that could cause a shadow server
to produce corrupted copies of source journal files on OpenVMS if process
default I/O table is not RAW (for example, the I/O table is EUC in locale 'jpuw').
The problem is believed to be present in all supported Caché releases.
Category: Utilities
Platforms: All
DevKey: STC1668
Summary: Delete mappings when deleting a namespace
Description:
When a namespace is now deleted, all the cached
mappings for it are also deleted. Previously, when the same name
mapping was re-added, the cached mappings would be applied to the
namespace.
Category: Utilities
Platforms: All
DevKey: STC1669
Summary: Fix COMM port handling with new config classes
Description:
With this change, the comm port server process now start and will
handle comm port logins. Previously, the comm port server process would
not start.
Category: Utilities
Platforms: All
DevKey: STC1670
Summary: Allow IP address to be used as server name
Description:
When upgrading to 2009.1, if an ECP server name was
defined to be an IP address of the form n.n.n.n (for example,
127.0.0.1, the loopback address), the installation would fail during
the conversion of the CPF file. This has been fixed.
Category: Utilities
Platforms: All
DevKey: STC1672
Summary: Don't fail installation if we can't update the CPF file
Description:
Previously, if there was a problem converting the
CPF file during an upgrade, the installation would fail. The only
recourse was to correct the CPF file, then re-install.
Now the installation will complete, allowing administrators to fix the
CPF file, and restart to be upgraded to the new version.
Category: Utilities
Platforms: All
DevKey: STC1678
Summary: Allow null device name for DDP
Description:
This fixes a problem where the system would not
start if it was using DDP, and the DDP device name was left as null
(which means use the default device.)
Category: Utilities.Configuration
Platforms: All
DevKey: SML1161
Summary: Fix SLM mapping when user defined mapping override system default mapping
Description:
This change fixes an issue where
a user overrode a system default mapping such as %Z* routine
resulting in the wrong destination for the %Z* mapping.
Category: Utilities.Configuration
Platforms: All
DevKey: SML1164
Summary: Fix mapping got <UNDEFINED> error when index needs to be re-aligned
Description:
This change fixes a situation where
an attempt to activate mappings resulted in an
<UNDEFINED> error. This occurred when there were many mapping entries and
internally Caché attempted to re-index the mapping array.
- 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, 2010, InterSystems Corporation. All rights reserved.