This statement creates a new BYTE or TEXT value, but some unexpected error prevented the creation of that value. Roll back the current transaction. Check the accompanying ISAM error code for more information. Possibly the storage space or tbspace has filled up, or you are not referring to a valid storage space. If the error recurs, please note all circumstances and contact Informix Technical Support.
This statement replaces or deletes a BYTE or TEXT value, but some unexpected error prevented the deletion of the old value. Roll back the current transaction. Check the accompanying ISAM error code for more information. Possibly a hardware error or data corruption of the storage space or tblspace occurred. If the error recurs, please note all circumstances and contact Informix Technical Support.
This statement refers to a BYTE or TEXT value, but some unexpected error prevented locating the value. Roll back the current transaction. Check the accompanying ISAM error code for more information. Possibly a hardware error or data corruption of the storage space or tblspace occurred. If the error recurs, please note all circumstance, and contact Informix Technical Support.
This statement writes a BYTE or TEXT value, but some unexpected error prevented finishing the creation of the value. Roll back the current transaction. Check the accompanying ISAM error code for more information. Possibly a hardware error or data corruption of the storage space or tblspace occurred. If the error recurs, please note all circumstances and contact Informix Technical Support.
This statement refers to a BYTE or TEXT value, but some unexpected error prevented access to the value. Roll back the current transaction. Check the accompanying ISAM error code for more information; possibly a hardware error or data corruption of the storage space or tblspace occurred. If the error recurs, please note all circumstances and contact Informix Technical Support.
This statement writes a BYTE or TEXT value, but some unexpected error prevented the creation of the value. Roll back the current transaction. Check the accompanying ISAM error code for more information; possibly a hardware error or data corruption of the storage space or tblspace occurred. One possible cause is that the storage space for this column is full. Another is that although a new chunk has been assigned to the storage space, pages cannot be allocated in it until the addition of the chunk has been logged and the log file closed. The database server administrator can use the tbmode -l or onmode -l command to force a log file to be closed. If the error recurs, please note all circumstances and contact Informix Technical Support.
If this statement refers to a storage space (for example, the CREATE TABLE statement might create a column with type TEXT IN blobspace-name), the name is invalid or does not exist. Review the identifiers intended as storage-space names. If they are spelled as you intended, consult with the database server administrator to find out whether they exist and are on-line. If the statement does not refer to a storage space, this is an internal error. If the error recurs, please note all circumstances and contact Informix Technical Support.
This statement refers to a TEXT or BYTE value that uses substring notation (numbers in square brackets that follow the name). However, the substring is not correctly written. Review all uses of substrings, and make sure that the first number in each is greater than zero but not greater than the length of the value; the second number is not less than the first; and the numbers are separated by a comma.
This statement is written to imply a conversion from a TEXT or BYTE value to another data type, for example, by combining it with other types in an expression or by inserting it into a column of another type. This action is not supported; TEXT and BYTE columns can only be selected or be copied into other columns of the same type. Check that the statement names the columns you intended and that they have the data types you thought.
This statement uses a host variable that is a TEXT or BYTE locator structure but combines it with data of some other type (for instance, in an expression or by inserting it into a column of another type). This action is not supported; host variables of these types may only be used for selecting from, creating, or inserting into columns of the same type.
This CREATE INDEX statement names a column of the TEXT or BYTE type; however, these types are not supported for indexing. Because no defined lexical ordering exists for these types, the database server does not know how to sort or compare them. Therefore it cannot build an inverted index. Possibly you understand the data well enough to understand how to extract an ordered set of key values from it. If so, perform the extraction into a separate column in the same table, and index that column.
The cursor that is named in this statement is associated with a SELECT statement that returns one or more TEXT or BYTE columns. Also, the cursor is declared with the SCROLL keyword. This action is not supported.Rows that are fetched through a scroll cursor are also stored in a temporary table. Because of the bulk of TEXT and BYTE values, this action would produce an unacceptable cost in time and disk space. Revise the declaration of the cursor to select the desired columns of other types and also the ROWID. After you fetch a row through the scrolling cursor, use a separate, nonscrolling cursor to fetch the BYTE or TEXT value(s), WHERE ROWID=host-var.
This SELECT statement selects one or more BYTE or TEXT values and also specifies those columns in the GROUP BY clause. This action is not supported. Since no defined lexical order to BYTE or TEXT values exists, the database server cannot order or compare them. Therefore it cannot group rows on their values. (This condition is true even of substrings selected from a BYTE or TEXT column.) Review your SELECT statement to ensure that the correct columns are named in the GROUP BY clause.
This statement specifies DISTINCT values, but it also selects a BYTE or TEXT value. The database server does not know how to compare or order these values, so it cannot sort them, and it cannot locate duplicate values. You cannot use the DISTINCT keyword when these data types are selected. Reword your SELECT statement to either remove the keyword or select only normal columns.
This SELECT statement selects one or more BYTE or TEXT values, and also specifies those columns in the ORDER BY clause. This action is not supported. Because no defined lexical order to BYTE or TEXT values exists, the database server cannot order them. (This is true even of substrings selected from a BYTE or TEXT column.) Review your SELECT statement to ensure that he correct columns are named in the ORDER BY clause.
This statement uses an aggregate function, such as COUNT, SUM, MIN, MAX, or AVG, but applies it to a column that has the BYTE or TEXT data type. This action is not supported.
Review the use of each aggregate function to make sure that it is not applied to a BYTE or TEXT column.
This UPDATE or INSERT statement specifies a subscripted column of BYTE or TEXT data type as a destination. Subscript notation is not allowed in this context; a BYTE or TEXT (or any other) value must be replaced in full. Revise the statement to assign into whole columns.
This statement assigns a value that is not a simple large object to a BYTE or TEXT column or assigns a BYTE or TEXT column to a column that is not a simple large object. Neither action is supported. BYTE and TEXT values must be assigned as whole units to columns of the same type. Check that the statement specifies the columns that you intended.
This statement copies a BYTE or TEXT value from one row to another, but some unexpected error interfered with the operation. Roll back the current transaction. Check the accompanying ISAM error code for more information; possibly a hardware error, data corruption of the storage space or tblspace, or a shortage of disk space exists, or an invalid storage space was named. If the error recurs, please note all circumstances and contact Informix Technical Support.
This statement transfers a BYTE or TEXT value between the database and the user program, but something has happened to prevent that. For example, perhaps it was not possible to allocate a buffer for a value that was located in memory. Check the accompanying ISAM error code for more information.
This internal error indicates the database server cannot change an internal data structure (not a system catalog) that is stored in the root dbspace. Check the accompanying ISAM error code for more information. Possibly corruption of the root dbspace occurred. Have the database server administrator run the oncheck, onutil, or tbcheck utility.
This internal error indicates that the database server is unable to convert a lock from shared to exclusive. Check the accompanying ISAM error code for more information. Possibly a hardware error or a problem with shared memory exists. If the error recurs, please note all circumstances and contact Informix Technical Support.
This internal error shows that the database server is trying to test a new or updated row for uniqueness under a UNIQUE or PRIMARY KEY constraint, but the index that implements the constraint cannot be found. Check the accompanying ISAM error code for more information. Corruption of the system catalog tables or the root dbspace or a hardware problem might have occurred. If the error recurs, please note all circumstances and contact Informix Technical Support.
The constraint specified in this statement cannot be found. Review the spelling of the name shown. If it is as you intended, check the names of existing named constraints by querying the sysconstraints table as shown in the following example. If the owner name shown for the desired constraint is not yours, you need to be a Database Administrator to reference it (and, if this database is ANSI compliant, you need to qualify the name with its owner-name).
SELECT constrname, owner FROM informix.sysconstraints
This internal error shows that the database server had an unexpected error while dropping a constraint or the index that implemented it. Check the accompanying ISAM error code for more information. Corruption of the system catalogs or the root dbspace might have occurred, or a hardware problem might exist. If the error recurs, please note all circumstances and contact Informix Technical Support.
The constraint name already exists. Review the spelling. If it is as you intended, you must select another name, or drop and redefine the existing constraint. See the discussion of error -623 for a way to list all constraints.
This internal error message does not refer to a problem with a SERIAL column in a table that you defined. The database server uses unique integer values for many purposes (for example, the table ID number for a new or altered table). An internal error has made it impossible to generate a new, unique number. For example, in host systems that use files for locking, something might have prevented the creation of a lock file. Check the accompanying ISAM error code for more information. If the error recurs, please note all circumstances and contact Informix Technical Support.
Because the coordinator cannot prepare this INFORMIX-STAR two-phase commit transaction, all participants eventually roll back all work that is associated with the transaction. No administrative intervention is required. See the ISAM error for more information about why the database server could not prepare to commit the local transaction.
The database server acting as coordinator for the transaction cannot end this INFORMIX-STAR two-phase commit transaction, and the transaction remains open. Eventually, INFORMIX-STAR automatic recovery mechanics will end the transaction. No administrative intervention is required. See the ISAM error for more information about why the database server could not end the transaction properly.
The database server acting as coordinator for the transaction cannot end this INFORMIX-STAR two-phase commit transaction, and the transaction remains open. Eventually, INFORMIX-STAR automatic recovery mechanics will end it. No administrative intervention is required. See the ISAM error for more information about why the database server could not end the transaction properly.
The specified database server cannot prepare the local transaction associated with this INFORMIX-STAR two-phase commit transaction. Eventually, all participants roll back all work associated with the transaction. No administrative intervention is required. See the ISAM error for more information about why the database server could not prepare to commit the local transaction.
You can only create optical clusters on columns of TEXT or BYTE data type. The column name is some other type. Check that the column is the one you meant to specify, and review the definition of the table.
An attempt to create an optical cluster has failed. See the ISAM error for more information.
An attempt to drop an optical cluster has failed. See the ISAM error for more information.
You are trying to drop a trigger that does not exist. Check that you are spelling the name of the trigger correctly. Also, you might query the systriggers system catalog table to review the names of triggers in the database.
You are trying to drop a database object that you do not own. You might query the appropriate system catalog table to see who owns the object. (For example, for a trigger, query the systriggers table.) You probably need to ask the owner of the database object or the database administrator to drop the object.
You have violated one of the following constraints on the cluster key that is specified in the ON clause of the CREATE OPTICAL CLUSTER statement:
An attempt to alter the size of an optical cluster has failed. See the ISAM error for more information.
You can create an optical cluster only on TEXT or BYTE columns that are stored on optical media. Check that you have not specified the name of a TEXT or BYTE column that is stored in a storage space.
All of the TEXT or BYTE columns specified in the FOR clause of the CREATE OPTICAL CLUSTER statement must belong to the same optical family. Check that the columns that are specified for an optical cluster do not belong to different families.
Running UPDATE STATISTICS might fix this internal error. If the error recurs, please note all circumstances and contact Informix Technical Support.
The family name that is specified in the RESERVE or RELEASE statement must exist on optical media. Check that you have not specified a storage space with either of these statements.
The optical family name that is specified in the RESERVE or RELEASE statement must be either a character string, or a host or procedural variable that evaluates to a character string. If you specified a character string, check that you enclosed it in quotes.
The volume argument in the RESERVE or RELEASE statements must be INTEGER or SMALLINT.
The argument to the FAMILY(), VOLUME(), or DESCR() function must be a TEXT or BYTE column that is stored on optical media. Check that you have not specified a column of a different data type or a TEXT or BYTE column that is stored in a storage space.
An attempt to reserve an optical volume with the RESERVE statement has failed. See the error from the optical subsystem (an error in the -7000 to -7199 range) for more information.
An attempt to release a requested optical volume with the RELEASE statement has failed. See the error from the optical subsystem (an error in the -7000 to -7199 range) for more information.
The data type of the argument is correct, but the value passed to the function is not appropriate for the math function. Check that you are passing a legitimate value to the function.
An error occurred trying to open DEBUG trace file. This error can occur when one of the directories in the specified debug file name does not exist, or the directory is write protected. Check that the directory path is valid and that group informix can write to the directory.
The argument that is specified for the debug file in the SET DEBUG statement must be a character data type.
This statement specifies a VARCHAR(m, r) column with a maximum width m greater than allowed (255). Check the punctuation of the column definition. If it is as you intended, redesign the table to use a VARCHAR width that ranges from 1 character to 255 characters.
This statement specifies a VARCHAR(m, r) column with a reserved width r that is greater than the maximum width m. Check the punctuation of the column definition. If it is as you intended, revise the statement so that m is greater than or equal to r.
An attempt was made to define a local variable with a default value. Only global variables and parameters can have default values.
An example of the error follows:
DEFINE var INT DEFAULT 10;error
The correction is as follows:
DEFINE var INT; LET var = 10;
A global variable was defined as LIKE. LIKE variables must be local variables.
An example of the error follows:
DEFINE GLOBAL var LIKE tab.col;error
Correction: Do not use the LIKE keyword with global variables. Instead, specify the data type explicitly.
The procedure declaration was used either in the parameters or the RETURNING clause. SPL routines cannot accept or return procedures.
An example of the error follows:
CREATE PROCEDURE testproc (proc1 procedure)error RETURNING procedure; — error … END PROCEDURE
Correction: Do not attempt to use the procedure declaration type within a parameter or the RETURNING clause.
The number of values that a procedure was declared to return in the RETURNING clause does not match the number of values in a RETURN clause.
An example of the error follows:
CREATE PROCEDURE testproc () RETURNING INT, INT; … RETURN 1,2,3; — error … RETURN 1; — error END PROCEDURE
Correction: In this example, return exactly two arguments.
When the routine was declared, it did not contain a RETURNING clause to indicate that the routine would not return any value, but then a RETURN statement was found in the body of the routine.
An example of the error follows:
CREATE ROUTINE testproc() DEFINE a INT; LET a = 10; RETURN a + 1; — error END ROUTINE
Correction: Add a RETURNING clause before the DEFINE statement, or remove the RETURN statement.
You cannot have a CREATE PROCEDURE statement within a CREATE PROCEDURE statement.
A global variable was not given a default value. Global variables require a default value.
Example of error:
DEFINE GLOBAL glob INT;error
Correction:
DEFINE GLOBAL glob INT DEFAULT 10;
A SELECT statement did not specify where to put the returned values. SELECT statements within a procedure require either an INTO TEMP clause or an INTO clause that references the appropriate procedural variables.
Example of error:
CREATE PROCEDURE testproc() … SELECT col1, col2 FROM tab; — error END PROCEDURE
Correction:
CREATE PROCEDURE testproc() … SELECT col1, col2 INTO var1, var2 FROM tab; SELECT col1, col2 FROM tab INTO TEMP another_table; END PROCEDURE
An attempt was made to modify the value of a loop variable in a FOR statement. Loop variables cannot be modified inside a loop.
Example of error:
FOR i IN (1,2,3,4) LET i = i + 1; — error END FOR
Correction: Use another variable in the LET statement.
The number of variables on the left side of a LET statement does not match the number of values on the right side.
Example of error:
LET a,b = 10,20,39; LET i,j = proc1()+proc2(); LET a,b = (SELECT c1 FROM tab)
Correction: Match the number of expressions on both sides of the LET statement.
A loop variable was used more than once in a FOREACH statement.
Example of error:
FOREACH SELECT col1, col2 INTO var, var FROM taberror … END FOREACH
Correction:
FOREACH SELECT col1, col2 INTO var1, var2 FROM tab … END FOREACH
While calling a procedure, some of the arguments were named, but others were not.
Example of error:
LET var = proc (arg1 = 10, 20, arg3 = 30);error
Correction:
LET var = proc (arg1 = 10, arg2 = 20, arg3 = 30); –correct LET var = proc (10,20,30);–correct
You have specified an incorrect number of arguments for the function function_name. Check that you are passing the correct number of arguments to the function.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
In a FOR statement, loop variables that contain ranges must be declared to be INT or SMALLINT.
Example of error:
DEFINE var CHAR(10); FOR var IN (e1, e2 TO e3, e4) — error … END FOR;
Correction: Because the FOR statement contains a range operator (the TO clause), var must be declared as INT or SMALLINT.
The specified variable was not declared. Check the spelling of the undeclared variable to ensure that it is not causing the error.
A system call failed in the operating system. The following example shows a statement that might cause an error:
SYSTEM ‘hello’;
Make sure that the system command is not trying to run something that is not in your path or that is not applicable to the environment.
Make sure that you have provided a user-id and password when connecting to the database server. The database server must have the user’s password in order to execute a command on behalf of that user.
On Windows NT platforms, make sure the following Advanced User Rights have been assigned to user “informix”: Act as part of the operating system; Increase quotas; replace a process level token.
A variable has been declared twice in the same scope. See the Informix Guide to SQL: Tutorial, Chapter 12, for an explanation of the scope of procedural variables.
The SERIAL data type is not a legal procedure type. Use the INTEGER data type to match the SQL SERIAL data type.
A routine call named a parameter more than once.
Example of error:
LET var = proc (arg1 = 10, arg2 = 20, arg1 = 30);– error
Procedure call procedure-name has duplicate parameter name.
A procedure call named a parameter more than once.
Example of error:
LET var = proc (arg1 = 10, arg2 = 20, arg1 = 30);– error
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
You attempted to create a routine that already exists in the database. If you want to create a new version of the routine, use the DROP ROUTINE statement to drop the routine before you attempt to create the new version of the routine.
You called a routine that does not exist in the database, you do not have permission to execute the routine, or you called the routine with too few or too many arguments. If a prepared statement invokes a user-defined routine and your application or another application drops the routine before the prepared statement is executed, you will receive this error.
You might also see this error message if you write an expression that calls an SPL routine (stored procedure) that returns no values. For an SPL routine to be usable in an expression, the routine must return a value.
Check that the name of the routine is correct, that you have execute permission, and that you specified the correct number of arguments to execute a routine. For a prepared statement that refers to the routine, make sure that the routine still exists when you execute the statement.
An SQL statement that is not allowed in an SPL routine was executed. This error occurs when a routine is called from an SQL data manipulation statement.
Example of error:
CREATE PROCEDURE testproc (arg INT, id INT) RETURNING INT; UPDATE tab SET col = arg WHERE key = id; — error RETURN id; END PROCEDURE;
SELECT col FROM tab WHERE testproc(tab.col, tab.key) = 10;
Do not use statements such as the preceding UPDATE statement in SPL routines.
A check constraint that is specified at the column level can reference only that column. To specify a check constraint that spans more than one column, specify the check constraint at the table level. You cannot create a check constraint for columns across tables.
A check constraint cannot contain a subquery or a procedure. Subqueries are disallowed in check constraints because they depend on the state of the database. For data integrity, the evaluation of a check constraint must not vary or depend on the state of the database.
Example of error:
CREATE TABLE new_stock ( stock_num SERIAL PRIMARY KEY, unit_price MONEY CHECK (unit_price >= (SELECT unit_price FROM stock WHERE manu_code =HRO
)), manu_code CHAR(3));
Verify that your statement does not have a subquery or procedure in a check constraint.
A subscripted column in a check constraint has subscripts outside the bounds of the column. Check that the bounds specified in the subscripted column do not exceed the maximum length of the column. If you know the table name of the column, use the following subquery to query the system-catalog tables to find out the maximum length of the column:
SELECT collength FROM syscolumns WHERE colname = column-name AND tabid = (SELECT tabid FROM systables WHERE tabname = table-name)
See the ISAM error for more information. If this internal error recurs, please note all circumstances and contact Informix Technical Support.
See the ISAM error for more information. If this internal error recurs, please note all circumstances and contact Informix Technical Support.
The error occurs if the user specifies a column name more than once in the INSERT column list.
The system was unable to validate the constraint. See the ISAM error for more information. If this internal error recurs, please note all circumstances and contact Informix Technical Support.
The evaluated value of the STEP expression in the FOR statement will lead to an infinite loop.
Example of error:
FOR i = 10 TO 20 STEP -1; — error … END FOR
Correction: Correct either the range or the step expressions so that the incremented values are within the range.
The number of returned values from a function is more than the number of values that the caller expects.
Example of error:
CREATE ROUTINE testroutine(arg INT) RETURNING INT, INT; RETURN 1,2; END ROUTINE
SELECT col FROM tab WHERE col = testroutine(1);error
The number of returned values from a function is less than the number of values that the caller expects.
Example of error:
CREATE ROUTINE testroutine (arg INT) RETURNING INT, INT; RETURN 1,2; END ROUTINE
UPDATE tab SET (c1, c2, c3) = (testroutine(1));error
A function returned more than one row of values (for example, it executed RETURN…WITH RESUME) when the caller expected only one row of values.
Example of error:
CREATE FUNCTION testroutine (limit INT) RETURNING INT; DEFINE i INT; FOR i IN (1 TO limit) RETURN i WITH RESUME; END FOR END FUNCTION;
CREATE FUNCTION gettest() RETURNING INT; DEFINE var INT; LET var = testroutine (10); — error RETURN var; END FUNCTION;
A TRACE statement was executed before a SET DEBUG FILE statement. The destination of the output of the TRACE statement is unknown. This error can also apply to the TRACE OFF statement.
Example of error:
TRACE procedure;error
Correction:
SET DEBUG FILE TO ‘trace.out’; TRACE procedure;
You declared the variable as a data type other than CHAR or VARCHAR. Correct the declaration, and try again.
Two or more procedures were executed that defined the same global variable with different data types.
Example of error:
CREATE PROCEDURE test1() DEFINE GLOBAL glob INT DEFAULT 10; … END PROCEDURE
CREATE PROCEDURE test2() DEFINE GLOBAL glob CHAR (9) DEFAULT USER; … END PROCEDURE
Correction: Declare global variables consistently. (Using appropriate naming conventions would be useful.) Two variables of the same data type but different lengths are considered inconsistent.
The referential constraint could not be validated. See the ISAM error for more information. If you are using cascading deletes, database logging must be on.
A referential constraint has been violated. This condition usually occurs when you are trying to insert a value into or update the value of a column that is part of a referential constraint. The value you are trying to enter does not exist in the referenced (parent-key) column(s). If you are using cascading deletes, database logging must be on.
You have violated a referential constraint. This situation usually occurs when you are trying to delete a row in a column (parent key) that another row (child key) is referencing. If you are using cascading deletes, database logging must be on.
A null value was passed to the SYSTEM statement.
Example of error:
DEFINE c CHAR(100); LET c = NULL; … SYSTEM c; — error
More arguments were passed to a procedure than a procedure was declared to accept.
A named parameter was passed to a procedure, but the named parameter does not exist.
Example of error:
CREATE PROCEDURE testproc (arg1 INT, arg2 INT) RETURNING INT; … RETURN 1; END PROCEDURE
SELECT col FROM tab WHERE testproc (arg1 = 10, arg5 = 20);error
An SPL variable was referenced or a row field was set before a value was assigned.
Example of error:
DEFINE my_row_var1 (last_name CHAR(20), id INTEGER); DEFINE i, j INT;
LET i = j + 1;error LET my_row_var1.id = new_id; — error
While
LET my_row_var1 = ROW(NULL::CHAR(20), NULL::INTEGER)::person_rt; LET my_row_var1.id = new_id; — success
Correction: Assign all variables and parameters valid values before you use them.
Row type variables are allowed in SPL routines. Such variables must be initialized before they are used. To initialize a row type variable, you must initialize the entire variable. Initializing each field will not substitute for initializing the entire variable, and in fact you cannot initialize the individual fields until after you have initialized the entire variable. The following example shows correct and incorrect initialization of row type variables in SPL.
— Example showing that row type variables in SPL must have the entire variable initialized. It is not sufficient to initialize the fields — without initializing the entire variable.CREATE DATABASE tango;
drop table table1; drop row type person_rt restrict; drop function create_person_rt;
CREATE ROW TYPE person_rt (last_name CHAR(20), id INTEGER);
CREATE FUNCTION create_person_rt(new_name CHAR(20), new_id INTEGER) RETURNING person_rt; DEFINE my_row_var1 person_rt; — You cannot initialize the individual fields of the variable until you — have initialized the entire variable. If the following statement were — executed at this point, it would fail with error -696. — LET my_row_var1.id = new_id; — Initialize the entire variable. LET my_row_var1 = ROW(NULL::CHAR(20), NULL::INTEGER)::person_rt; — Now set the individual fields. LET my_row_var1.id = new_id; LET my_row_var1.last_name = new_name; RETURN my_row_var1; END FUNCTION;
— Sample usage:
CREATE TABLE table1 (person_column person_rt); INSERT INTO table1 (person_column) VALUES (create_person_rt(Uhuru
, 128));
CLOSE DATABASE;
You must initialize the entire variable because the engine can track whether or not the entire variable has been initialized but cannot track initialization on a field-by-field basis.
The STEP expression of a FOR statement evaluated to zero.
Example of error:
LET e = -1; FOR i = 10 TO 20 STEP e+1; — error … END FOR
Correction: Change the STEP expression so that it evaluates to a nonzero value.
This message is returned if an INFORMIX-STAR two-phase commit or a distributed transaction is implemented with a mixed result. That is, some database servers participating in the transaction rolled back their parts of the global transaction, but other database servers committed their parts of the global transaction. The number of database servers that rolled back work is always accurate, but the list of server names (specified by DBSERVERNAME values) can be incomplete. If a large number of servers rolled back work, the list might be truncated to save space. Refer to the message log of the coordinator database server for a complete list of server names. If this error message is returned, you must determine whether your networked database system is in an inconsistent state. This procedure is described in detail in your Administrator’s Guide.
This message is returned if all participating database servers heuristically roll back an INFORMIX-STAR two-phase commit transaction. Because all database servers rolled back the transaction, the networked database system remains consistent.