uniqueprogress-4glprogress-dbrowid

Is ROWID unique across all Progress database tables?


Is Progress ROWID unique across the whole Progress database?

Meaning the same ROWID cannot exist in other tables - it's always unique? So you could fetch a single record from a big database by only knowing it's ROWID if you just search every table?


Solution

  • According to the documentation :

    a RowID is not an absolutely reliable pointer to a record. In addition, RowIDs are unique only within a single database storage area. Therefore, the same RowID might occur for records in different tables that happen to be in different storage areas.

    Thus, if all your tables are in the (default) schema area, or if you created a storage area for all your tables, you could technically fetch any record by knowing its ROWID.

    Note that a ROWID can change if its corresponding record is modified or if a column of its table is modified.