CS_HIDDEN_KEYS determines whether or not Client-Library exposes any “hidden keys” that are part of a result set. Hidden keys are columns that are not explicitly selected in a query, but which are returned to a client because they make up part or all of a table’s key.
Ordinarily, the presence of these columns is suppressed. The client is not aware that they are a part of the result set.
A client exposes hidden keys by setting the CS_HIDDEN_KEYS property to CS_TRUE.
Once hidden keys are exposed, they are returned as ordinary columns. If an application calls ct_res_info to retrieve the number of columns in a result set, for example, the number will include exposed columns. An application binds and fetches the row values of exposed columns.
If a column is an exposed hidden key, ct_describe includes CS_HIDDEN in the status field bitmask describing the column.
An application uses ct_keydata with a table’s keys to change a cursor’s position. For information about how to do this, see ct_keydata on page 521.
An application cannot set the CS_HIDDEN_KEYS property at the command level if results are pending or a cursor is open.