Structure of the System Catalog

In case-sensitive databases that use the default database locale (U. S. English, ISO 8859-1 code set), character columns in these tables are CHAR and VARCHAR data types. For all other locales, character columns are the NLS data types, NCHAR and NVARCHAR. For information about differences in the collation order of character data types, see the HCL OneDB GLS User's Guide. See also theData types chapter of this publication.

Character columns in databases that are not case-sensitive

In databases that are created with the NLSCASE INSENSITIVE keywords and that use the default database locale (U. S. English, ISO 8859-1 code set), character columns in system catalog tables are CHAR and VARCHAR data types, which support case-sensitive queries. For all other database locales, character column data types in the system catalog tables are the NLS data types, NCHAR and NVARCHAR, but with the following specific exceptions:
Table_name.Column_name Data type
sysams.am_sptype CHAR(3)
syscolauth.colauth CHAR(3)
sysdefaults.class CHAR(1)
sysfragauth.fragauth CHAR(6)
sysinherits.class CHAR(1)
syslangauth.langauth CHAR(1)
sysprocauth.procauth CHAR(1)
sysprocedures.mode CHAR(1)
systabauth.tabauth CHAR(9)
systriggers.event CHAR(1)
sysxtdtypeauth.auth CHAR(2)

In each of these columns, case-sensitive encoding can record information that utilities of the database server require in queries on those system catalog tables. In a database that is case-insensitive, queries might return incorrect results from data stored in NCHAR or NVARCHAR columns, if different attributes of database objects are encoded as different cases of the same letter. To avoid the loss of information, CHAR data types are used for the system catalog columns listed above.