The following reason code has been added to message SQL0270N:
Reason code 40 Under "Cause": The function IDENTITY_VAL_LOCAL cannot be used in a trigger or SQL function. Under "Action": Remove the invocation of the IDENTITY_VAL_LOCAL function from the trigger definition or the SQL function definition.
The Explanation section for this message has been extended. It now reads as follows:
Explanation: A host variable could not be used as specified in the statement because its data type is incompatible with the intended use of its value. This error can occur as a result of specifying an incorrect host variable or an incorrect SQLTYPE value in a SQLDA on an EXECUTE or OPEN statement. In the case of a user-defined structured type, it may be that the associated built-in type of the host variable or SQLTYPE is not compatible with the parameter of the TO SQL transform function defined in the transform group for the statement. The statement cannot be processed.
The Explanation and User Response sections for this message have been extended. They now read as follows:
Explanation: An embedded SELECT or VALUES statement selects into a host variable, but the data type of the variable is not compatible with the data type of the corresponding SELECT-list or VALUES-list element. Both must be numeric, character, or graphic. For a user-defined data type, it is possible that the host variable is defined with an associated built-in data type that is not compatible with the result type of the FROM SQL transform function defined in the transform group for the statement. For example, if the data type of the column is date or time, the data type of the variable must be character with an appropriate minimum length. The statement cannot be processed. User Response: Verify that the table definitions are current and that the host variable has the correct data type. For a user-defined data type, verify that the associated built-in type of the host variable is compatible with the result type of the FROM SQL transform function defined in the transform group for the statement.
Reason code 26 Explanation: DATALINK value referenced file cannot be accessed for linking. It may be a directory, a symbolic link, a file with permission bit for set user ID (SUID) on, or set group ID (SGID) on, or a file owned by user nobody (uid = -2). User Response: Linking of directories is not allowed. Use the actual file name, not the symbolic link. If SUID or SGID is on, this file cannot be linked using a DATALINK type. If the file was owned by user nobody (uid = -2), this file cannot be linked using a DATALINK type with the READ PERMISSION DB option.
The Explanation and User Response sections for this message have been extended. They now read as follows:
Explanation: The data type of the value to be assigned to the column, parameter, SQL variable, or transition variable by the SQL statement is incompatible with the declared data type of the assignment target. Both must be: - Numeric - Character - Graphic - Dates or character - Times or character - Timestamps or character - Datalinks - The same distinct types - Reference types, where the target type of the value is a subtype of the target type of the column. - The same user-defined structured types. Or, the static type of the value must be a subtype of the static type (declared type) of the target. If a host variable is involved, the associated built-in type of the host variable must be compatible with the parameter of the TO SQL transform function defined in the transform group for the statement. The statement cannot be processed. User Response: Examine the statement and possibly the target table or view to determine the target data type. Ensure that the variable, expression, or literal value assigned has the proper data type for the assignment target. For a user-defined structured type, also consider the parameter of the TO SQL transform function defined in the transform group for the statement as an assignment target.
Locator variable "<variable-position>" does not currently represent any value. Explanation: A locator variable is in error. Either it has not had a LOB value assigned to it, the locator associated with the variable has been freed, or the result set cursor has been closed. If "<variable-position>" is provided, it gives the ordinal position of the variable in error in the set of variables specified. Depending on when the error is detected, the database manager may not be able to determine "<variable-position>". Instead of an ordinal position, "<variable-position>" may have the value "function-name RETURNS", which means that the locator value returned from the user-defined function identified by function-name is in error. User Response: If this was a LOB locator, correct the program so that the LOB locator variables used in the SQL statement have valid LOB values before the statement is executed. A LOB value can be assigned to a locator variable by means of a SELECT INTO statement, a VALUES INTO statement, or a FETCH statement. If this was a with return cursor, you must ensure that the cursor is opened before attempting to allocate it. sqlcode: -423 sqlstate: 0F001
Message SQL0670N refers to row length limits for tables defined in a CREATE TABLE or an ALTER TABLE statement, and to the regular table space in which these tables are created. However, SQL0670N also applies to the row lengths of declared temporary tables defined in a DECLARE GLOBAL TEMPORARY TABLE statement, and to the user temporary table spaces in which these declared temporary tables are created. If a DECLARE GLOBAL TEMPORARY TABLE statement fails with SQL0670N, it means that the user temporary table space cannot accommodate the row length defined in the DECLARE TEMPORARY TABLE statement.
Following is the revised message text:
The row length of the table exceeded a limit of "<length>" bytes. (Table space "<tablespace-name>".) Explanation: The row length of a table in the database manager cannot exceed: - 4005 bytes in a table space with a 4K page size. - 8101 bytes in a table space with an 8K page size. - 16293 bytes in a table space with an 16K page size. - 32677 bytes in a table space with an 32K page size. The length is calculated by adding the internal lengths of the columns. Details of internal column lengths can be found under CREATE TABLE in the SQL Reference. One of the following conditions can occur: - The row length for the table defined in the CREATE TABLE or ALTER TABLE statement exceeds the limit for the page size of the table space. The regular table space name "<tablespace-name>" identifies the table space from which the page size was used to determine the limit on the row length. - The row length for the table defined in the DECLARE GLOBAL TEMPORARY TABLE statement exceeds the limit for the page size of the table space. The user temporary table space name "<tablespace-name>" identifies the table space from which the page size was used to determine the limit on the row length. The statement cannot be processed. User Response: Depending on the cause, do one of the following: - In the case of CREATE TABLE, ALTER TABLE, or DECLARE GLOBAL TEMPORARY TABLE, specify a table space with a larger pagesize, if possible. - Otherwise, reduce the row length by eliminating one or more columns, or reducing the lengths of one or more columns. sqlcode: -670 sqlstate: 54010
Reason code 14 Explanation: Table has an invalid primary key or unique constraint. User Response: Table has an index that was erroneously used for a primary key or unique constraint. Drop the primary key or unique constraint that uses the index. This must be done in the release of the database manager in use prior to the current release. Resubmit the database migration command under the current release and then recreate the primary key or unique constraint. Reason code 15 Explanation: Table does not have a unique index on the REF IS column. User Response: Create a unique index on the REF IS column of the typed table using the release of the database manager in use prior to the current release. Resubmit the database migration command under the current release. Reason code 16 Explanation: Table is not logged but has a DATALINK column with file link control. User Response: Drop the table and then create the table without the not logged property. This must be done in the release of the database manager in use prior to the current release. Resubmit the database migration command under the current release. Reason Code 17 Explanation: Fail to allocate new page from the DMS system catalog table space. User Response: Restore database backup onto its previous database manager system. Add more containers to the table space. It is recommended to allocate 70% free space for database migration. Move back to the current release and migrate the database.
The Explanation and User Response sections for this message have been extended. They now read as follows:
Explanation: An embedded SELECT statement selects into a host variable "<name>", but the data type of the variable and the corresponding SELECT list element are not compatible. If the data type of the column is date and time, the data type of the variable must be character with an appropriate minimum length. Both must either be numeric, character, or graphic. For a user-defined data type, it is possible that the host variable is defined with an associated built-in data type that is not compatible with the result type of the FROM SQL transform function defined in the transform group for the statement. The function cannot be completed. User Response: Verify that the table definitions are current, and that the host variable has the proper data type. For a user-defined data type, it is possible that the host variable is defined with an associated built-in data type that is not compatible with the result type of the FROM SQL transform function defined in the transform group for the statement.
The following reason code has been changed for message SQL20117N:
Reason code 1 Under "Explanation": RANGE or ROWS is specified without an ORDER BY in the window specification. Under "User Response": Add a window ORDER BY clause to each window specification that specifies RANGE or ROWS.