Caché 3.2.3 Release Notes
Last Revision Date: 10 October 2000
This document describes the enhancements in Caché 3.2.3 and is intended
to supplement the Caché 3.2 Release
Notes that were shipped as part of Caché 3.2.1.
The Caché 3.2.3 maintenance release is available on the following platforms:
- Windows 95, Windows 98, Windows 2000, and Windows NT Versions 4, 5, and 6A (Intel)
- IBM PowerPC AIX 4.3.2, 4.3.3
- Sun Solaris (SPARC 64 bit)
These are the only platforms on which this maintenance release will be made available;
general Caché releases are available on a wide variety of other operating systems.
Caché now suppports the use of parentheses in the FROM clause,
thereby allowing you to group JOIN expressions. (Note that this change
only allows such a query to work if the result would be the same
without the parentheses.)
The CONVERT scalar function syntax is:
CONVERT ( expression, data-type )
Previously, you could specify only SQL_TIMESTAMP as the keyword for the data type. Now you can
also specify the keywords SQL_DATE, SQL_INTEGER, SQL_TIME, and SQL_VARCHAR.
Caché 3.2.3 includes additional SET OPTION statements that you can use to make
changes to configuration settings through ODBC.
The first statement enables or disables ODBC BLOB support:
- SET OPTION BLOB_SUPORT = { 1 | 0 }
- If 1, sets a flag in the namespace to disable ODBC BLOB support. Fields are then treated as
VARCHAR or VARBINARY fields. The default is 1 (BLOBs are supported).
The SET OPTION statements below all correspond with Caché Locale settings.
If any of the Locale options is set to an invalid value, an SQLCODE=-130 error
(Illegal value for SET OPTION locale property) will be returned. Note that changing
the value for each of the Locale SET OPTION statements below is equivalent to calling:
$$SetDCFormat^%NLS(<property>,<value>).
The Caché Locale setting statements are:
- SET OPTION AM = <literal>
- The suffix which may optionally be appended to time values prior to 12 noon.
The default is 'AM'.
- SET OPTION DATE_FORMAT = <literal>
- The DateFormat code used whenever a $ZDATE, $ZDATEH, $ZDATETIME, or
$ZDATETIMEH function call omits its second parameter, or specifies a second
parameter value of -1. The default is 1.
- SET OPTION DATE_MAXIMUM = <literal>
- The numeric value that specifies the upper limit of the range of valid dates
used whenever a $ZDATE, $ZDATEH, $ZDATETIME, or $ZDATETIMEH function omits
its maxdate parameter or specifies a maxdate parameter value of -1.
The default is 2980013.
- SET OPTION DATE_MINIMUM = <literal>
- The numeric value that specifies the lower limit of the range of valid dates
used whenever a $ZDATE, $ZDATEH, or $ZDATETIMEH function omits its mindate
parameter or specifies a mindate parameter value of -1.
The default is 0.
- SET OPTION DATE_SEPARATOR = <literal>
- The character used to delimit the months, days, and years of those dates
which are otherwise entirely numeric. The default is '/'.
- SET OPTION DECIMAL_SEPARATOR = <literal>
- The character used by the $FNUMBER and $INUMBER functions to separate the
whole part of a number from the fractional part of the number.
The default is '.'.
- SET OPTION MIDNIGHT = <literal>
- The suffix which may optionally be appended to time values corresponding to
exactly 12 midnight. The default is 'MIDNIGHT'.
- SET OPTION MINUS_SIGN = <literal>
- The character which may precede or follow a negative numeric quantity
formatted by the $FNUMBER or $INUMBER function.
The default is '-'.
- SET OPTION MONTH_ABBR = <literal>
- The abbreviations of the names of the twelve months, used whenever a $ZDATE,
$ZDATEH, $ZDATEIME, or $ZDATETIMEH function call omits its MonthNameList
parameter, or specifies a MonthNameList parameter value of -1, and the
selected date format uses month name abbreviations (i.e., the effective
DateFormat code is 0, 2, 5, 6, or 7). The default is
' Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.
- SET OPTION MONTH_NAME = <literal>
- The full names of the twelve months used whenever a $ZDATE, $ZDATEH,
$ZDATEIME, or $ZDATETIMEH function call omits its MonthNameList parameter, or
specifies a MonthNameList parameter value of -1, and the selected date
format uses full month names (i.e., the effective DateFormat code is 9).
The default is ' January February March April May June ... November December'
- SET OPTION NOON = <literal>
- The suffix which may optionally be appended to time values corresponding to
exactly 12 noon. The default is 'NOON'
- SET OPTION NUMERIC_GROUP_SEPARATOR = <literal>
- The character used to separate groups of numeric digits within the whole
number portion of a number formatted by the $FNUMBER or $INUMBER function.
The default is ','.
- SET OPTION NUMERIC_GROUP_SIZE = <literal>
- The number of digits in a numeric group formatted by the $FNUMBER or
$INUMBER function. The default is 3.
- SET OPTION PM = <literal>
- The suffix which may optionally be appended to time values at or after 12
noon. The default is 'PM'.
- SET OPTION PLUS_SIGN = <literal>
- The character which may optionally precede or follow a non-negative numeric
quantity formatted by the $FNUMBER or $INUMBER function. The default is '+'.
- SET OPTION TIME_FORMAT = <literal>
- The TimeFormat code used whenever a $ZDATETIME, $ZDATETIMEH, $ZTIME, or
$ZTIMEH function call omits its TimeFormat parameter, or specifies a
TimeFormat parameter value of -1.
The default is 1.
- SET OPTION TIME_PRECISION = <literal>
- The number of fractional digits displayed in a time value whenever a
$ZDATETIME or $ZTIME function call omits its Precision parameter, or
specifies a Precision parameter value of -1. The default is 0.
- SET OPTION TIME_SEPARATOR = <literal>
- The character used to delimit the hours, minutes and seconds in a time
value. The default is ':'.
- SET OPTION WEEKDAY_ABBR = <literal>
- The abbreviations of the names of the seven days of the week, starting with
Sunday and ending with Saturday, used whenever a $ZDATE or $ZDATEIME
function call selects a date format which uses weekday name
abbreviations (i.e., the effective DateFormat code is 11).
The default is ' Sun Mon Tue Wed Thu Fri Sat'.
- SET OPTION WEEKDAY_NAME = <literal>
- The full names of the seven days of the week, starting with Sunday and
ending with Saturday, used whenever a $ZDATE or $ZDATEIME function
call selects a date format which uses full weekday names (i.e., the
effective DateFormat code is 12).
The default is ' Sunday Monday Tuesday Wednesday Thursday Friday Saturday'
- SET OPTION YEAR_OPTION = <literal>
- The YearOption code used whenever a $ZDATE, $ZDATEH, $ZDATETIME or
$ZDATETIMEH function call omits its YearOption parameter, or specifies a
YearOption parameter value of -1. The default is 0.
A new switch has been added to the $ZUTIL(68) and $ZUTIL(69) functions.
The new switch controls whether changing namespaces will change the directory at the operating
system level. The new switch is especially useful for customers who prefer sequential IO files
to be put wherever the user was logged in.
Previously, when you changed to a different namespace, Caché changed the
directory at the operating system level to the default directory for that namespace. This
change makes that behavior optional. The default behavior is the same as the previous one
(that is, the OS directory will be changed).
To cause the directory to be changed to the default directory associated with the new
namespace, use the following:
$ZUTIL(68,51,1)
$ZUTIL(69,51,1)
To revert to the default behavior (prevent switching the OS directory), use the following:
$ZUTIL(68,51,0)
$ZUTIL(69,51,0)
A new function:
$ZUTIL(168,dirname)
is now available to explicitly switch to a directory at the OS level. If the directory cannot
be set as the current working directory, you will get a <DIRECTORY> error, and
^SYSLOG will show the cause of the error.
If you do not specify a directory:
$ZUTIL(168)
the function returns the name of your current working directory, but makes no other changes.
In addition, the Advanced->Miscellaneous section of the Caché Configuration Manager
has a new option: "Switch OS directory when changing namespace" that corresponds to
$ZUTIL(69,51).
The $ZCRC function has been extended to operate on wide characters in all modes. Previously,
modes 2 through 7 could not operate on these characters.
On UNIX systems, Caché now has a larger queue size when opening
the TCP port. This should alleviate prior issues related to
unavailable license servers on this platofrm.
On UNIX systems, user-defined startup processes (such as ZSTU or %ZSTART)
now run under the userid of the Caché manager (rather than as root);
this also applies to any jobs or processes initiated by ZSTU, %ZSTART, or
the Super Server. In this context, the Caché Manager is any member of the
UNIX group that can start and stop Caché , as defined by the user
at installation time.
In previous versions of Caché, there have been issues related
to transaction rollback when there is a Windows 95/98 machine as a
client and a UNIX machine as its server. All combinations of
platforms as client and server are now fully supported.
Caché 3.2.3 includes a UNIX client ODBC driver. This driver does not
support Unicode data (you get connection errors if you try to connect to a Unicode database
with the UNIX ODBC driver). You can, however, use the Windows client ODBC driver to
access Unicode data on a Caché for UNIX database server. Note that this driver cannot
be used against pre-3.2.2 versions of Caché.
You can now configure the number of DDP daemons in the Caché Configuration Manager.
The DSM-DDP section (in the Advanced tab) has a "Number of DDP Daemons" parameter,
with a default of 3. The minimum setting is 0, which means to use the system default
value (currently 3). This parameter is in the "DDP Master" field, which is for OpenVMS
systems only.
A new parameter, NUMHWBUFS, has been added to the configuration files on OpenVMS systems.
This parameter specifies the number of hardware buffers the Ethernet device will use.
The behavior of fixed-length $ZF function argument descriptors on OpenVMS has been brought
into conformity with the comments in our distributed czf.c file:
"For output strings by descriptor, the return space is the same as size of the argument
in the $ZF statement unless the argument is omitted in which case the size is the size
of the largest string, approx 32 KB."
The user's $ZF functions should never exceed the maximum string length for a return value.
The limit is set in the Caché Configuration Manager, in the "$ZF String (bytes)"
parameter (in the Process section of the Advanced tab). Note that the size limit is
really "characters".
The $ZIO special variable now returns the physical device name for sequential files. It
returns the full file name with disk and directory (and version, on OpenVMS systems).
Caché 3.2.1 included an enhanced COM port interface the Windows NT platform. The
interface, however, was limited to COM ports up to COM9. Caché 4.0 now allows
COM ports numbered higher than 9 to be opened.
Filename Length for Sequential Files
The maximum filename length for sequential files on Caché for OpenVMS has been
increased from 64 to 255.
Top of Page