index on trim(upper(surname))+trim(upper(firstnames)) tag NAME UNIQUE FOR internal=1 CANDIDATE
I fixed what I think was a typing error in your post. UNIQUE and CANDIDATE are mutually exclusive, an index cannot be both. CANDIDATE forces uniqueness on the index and TABLE
UNIQUE (not CANDIDATE) should be avoided at all costs as they do not function as advertised. If you need a unique index then you need to create it, use it, and then erase it as it will not be updated dependably. For example, say you create a UNIQUE index on state for a table that has 1,000 entries for New York, New York will be reflected in the index. Now if someone edits that one record that is reflected in the index for NY and changes the state to CT, NY disappears from your index even though there are 999 other records for NY and it will stay gone until somebody edits a record that has a state of NY.