Warehouse Release 3.00.1400

12/01/2003


The features in the 3.00.1400 release are:

Enhanced Character Set support : string data types may now be associated with a character set. To assign
a character set, append CHARSET "charset-name" when specifying a data type. The character set name must be enclosed in quotation marks.

Examples:
DEFINE MYVAR : ORACLE VARCHAR2(20) CHARSET "ISO8859-1"
DEFINE CNAME : ODBC CHAR(10) ALLOW NULLS CHARSET "ANSI_X3.4-1968"

When specifying both a CHARSET and ALLOW NULLS, the keywords may appear in either order.

When operations with strings of differing character sets are performed, an automatic character set conversion is done using the CMAP function.

The operations that can generate an automatic CMAP are:

Comparison operators <, <=, =, >=, >, <>, ==
String assignment SETVAR statement, UPDATE statement
String concatenation ||

Strings may or may not have a character set. When a string operation is performed, no character set conversion is done if either string has no character set or if the the strings have the same character set. Conversion is only done when both strings have a character set and the two character sets differ.

Automatic character set conversion may be overridden using the CONVERT or FIELD functions using a target type with no character set or a different character set.

For example, the following two code snippets have the result in the same value in TGTNAM:

Snippet 1:
DEFINE SRCNAM : IMAGE X8
DEFINE TGTNAM : ODBC CHAR(8)
SETVAR TGTNAM = CMAP(SRCNAM,"HP-ROMAN8", "ISO8859-1")

Snippet 2:
DEFINE SRCNAM : IMAGE X8 CHARSET "HP-ROMAN8"
DEFINE TGTNAM : ODBC CHAR(8) CHARSET "ISO8859-1"
SETVAR TGTNAM = SRCNAM // Auto CMAP done here


Databases may be assigned a character with the SET statement. When a database is assigned a character set, all character items from the database will be interpreted as belonging to the specified character set.

The syntax is: SET db-tag CHARSET "charset-name"

OPEN SRCDB IMAGE ...
SET SRCDB CHARSET CHARSET "ANSI_X3.4-1968"

SET CHARSET must be issued after the OPEN but *BEFORE* any other statements access the database.

Release 3.00.1400 is available now on all supported platforms.