Question re "get record with Uuid"

get record with uuid requires the UUID as parameter (obviously). It also accepts another parameter specifying the database to search in.

I’d have assumed that the UUID is unique across all databases. If it is, why would one want to provide the database in this method? If the UUID were not unique, shouldn’t the method then return a list of records instead of a single one (i.e. those matching the UUID in all databases)?

I could only imagine to speed up the search; but on second thoughts: if the UUID doesn’t encode the database (and only then would it make sense to define the database in the search), then the UUID is only unique to each database, not to the installation (else DT would have to keep a list of UUIDs so as to avoid duplicating then when the database already containing said UUID is closed; there is no such list to my knowledge).

If so, then yes :eyes:

They are not truly unique but the odds of creating two with the same identifier are extraordinarily unusual. It’s sort of like saying everyone’s DNA or fingerprints are unique - in theory someday it may be duplicated randomly, but it’s a sufficient assumption for any current security purpose on the planet.

That said, you can manually duplicate an item to another database(s). So by that mechanism, you could have duplicate UUIDs in different databases.

As a separate but related question - if you execute a “Get record” on a specified database that is not open, will DT3 open the database and search? Presumably that would not occur if the database were closed.