EUID - A Summary
Copyright © 2020 EarthSoft, Inc • Modified: 24 Feb 2020
The concept of the EUID [yoo-id] is to provide an EQuIS Unique Identifier to tables in the database, e.g. every record in the database can have a unique ID that distinguishes it from any other record in the database, regardless of what table it is in. This is different from IDs in the past (version 5 and earlier) that have been unique within a table (and sometimes the combination of table and facility).
EUID columns are not always required. In some cases, a EUID column can exist on a table that allows NULL values. This is not the case with the IDs that have been converted, such as SAMPLE_ID, TEST_ID, etc.; they are already required fields in the database. Additionally, when auditing is turned on for a table, the EUID field will be populated for every record in that table, and then the EUID will become a required field in that table. This is done with the EQUIS.POPULATE_EUID stored procedure, which also adds a trigger that insures EUIDs are populated. Not requiring EUIDs to be populated on every table reduces the number of IDs that are assigned and the overhead on the database for such.
The EQUIS.FIND_EUID procedure will find the primary data object based on the EUID. You execute the procedure and pass in a EUID value and it will return the details of the primary data object to which that EUID is assigned (e.g. a record in DT_LOCATION or DT_SAMPLE or some other primary table).
The EQUIS.ADD_EUID_INDEX function will add the index (to increase performance) to the table, regardless of whether or not the EUID column is computed. If the EUID column is computed, the index is added on the underlying ***_ID column.