Restrictions on SET COLLATION
Although SET COLLATION enables you to change the collating order of the database server dynamically within a session, you should be aware of several limitations on the scope of what the SET COLLATION statement can accomplish.
- Only collation performed by the database server is affected. Client processes that sort data are not affected by SET COLLATION.
- Only the current session is affected. Other sessions are not affected directly by your SET COLLATION statements, but the database server will use their creation-time collating order to set any database objects that you create after SET COLLATION has run successfully.
- Changing the collating order does not change the code set. The database server always uses the code set specified by DB_LOCALE.
- Only NCHAR and NVARCHAR values are sorted in locale-specific order.
Processing characters from dissimilar code sets
- The GL_USEGLU environment variable was a set to 1 when the database server instance was started.
- The DB_LOCALE environment variable was set to a valid Unicode locale when the database was created.
- The CLIENT_LOCALE environment variable is set to valid Unicode locale that the DB_LOCALE setting of the database server supports.
For HCL Informix to use the International Components for Unicode (ICU) 4.8.1 libraries to support versions of Unicode up to 6.0, the GL_USEGLU environment variable must be set to a value of 1 (one) in the server environment before the server is started. This setting initializes conversion routines that enable Unicode collation and SQL operations in databases that use UTF-8 character encoding, including the Chinese GB18030-2000 code set. This conversion applies only to databases that were created with GL_USEGLU=1 already set.