Constraint Check Error #012: Unique index is missing

Last update: 13 November 2020

Information

Fabasoft Folio COO-Services do a check of it's default database indexes on every startup, and tries to create these indexes if they are missing. These indexes are required for performance and consistency.

If a COO-Service detects a missing index, and cannot create it if missing, the error Constraint Check Error #012 is logged. 

In the case a missing index could not be created, the COO-Service does not stop to operate, but ignores the missing index and continues. The operation of your environment is ensured.

Solution

This is an example message that is logged by the COO-Service:

Error: COOSTD-00117: Unique index 'ind_aggval_ataggval' on 'ataggval(objid,aggval)' is missing. For more information, please refer to the Fabasoft Support Knowledge Base using the event ID #012

The message contains the name of the index that is missing, and the database table and columns included to this index.

Double-check the existence of the index directly on your database system.

Manually create the index

Take care! Before starting changes on your production environment, test this in a test or clone environment.

To get information about the problem, try to create the index manually. This is an example statement for the above error message. Change the example to fit the information of the error message in your system. 

Consider that the syntax may vary depending on the database system. Select the correct database/tablespace creating the index.

Use the database login of your COO-Services to reproduce any permission problems.

CREATE UNIQUE INDEX ind_aggval_ataggval ON ataggval (objid, aggval);

Permission problems

In case of permission problems, check the permissions of the COO-Service user to create and alter table indexes.

Unique constraint problems

If the index creation fails because of unique constraint / duplicate key error, this indicates inconsistency in the table data.

The Fabasoft COO-Services only creates unique indexes on data that by design are unique. The unique indexes also ensure consistency on inserting and updating data by the COO-Service.

As the circumstances that lead to these inconsistencies vary, we suggest to contact Fabasoft Enterprise Support via a Support Ticket, including the type of system (production, clone, test,...), the database system, the error message, and every further information you've already collected.

 

Applies to

  • Fabasoft Folio 2020 (and above)
  • Fabasoft eGov-Suite 2020 (and above)