IFX_LONGID environment variable

The IFX_LONGID environment variable setting and the version number of the client application determine whether a given client application is capable of handling long identifiers. (Older versions of HCL OneDB™ restricted SQL identifiers to 18 or fewer bytes; long identifiers can have up to 128 bytes when IFX_LONGID is set.) Valid IFX_LONGID values are 1 and 0.

1  setenv IFX_LONGID
2.1 1
2.1 0
1
Client supports long identifiers.
0
Client cannot support long identifiers.

When IFX_LONGID is set to zero, applications display only the first 18 bytes of long identifiers, without indicating (by + ) that truncation has occurred.

If IFX_LONGID is unset or is set to a value other than 1 or 0, the determination is based on the internal version of the client application. If the (server-based) version is not less than 9.0304, or is in the (CSDK-based) range 2.90 ≤ version < 4.0, the client is considered capable of handling long identifiers. Otherwise, the client application is considered incapable.

The IFX_LONGID setting overrides the internal version of the client application. If the client cannot handle long identifiers despite a newer version number, set IFX_LONGID to 0. If the client version can handle long identifiers despite an older version number, set IFX_LONGID to 1.

If you set IFX_LONGID on the client, the setting affects only that client. If you start the database server with IFX_LONGID set, all client applications use that setting by default. If IFX_LONGID is set to different values on the client and on the database server, however, the client setting takes precedence.
Important: ESQL executables that have been built with the -static option using the libos.a library version that does not support long identifiers cannot use the IFX_LONGID environment variable. You must recompile such applications with the new libos.a library that includes support for long identifiers. Executables that use shared libraries (no -static option) can use IFX_LONGID without recompilation provided that they use the new libifos.so that provides support for long identifiers. For details, see your ESQL product publication.