ROWID characteristics
- Last Updated: May 30, 2024
- 2 minute read
- OpenEdge
- Version 12.2
- Documentation
ROWID characteristics
The ROWID value is not stored directly
in the MS SQL Server data source, but it is represented by a unique
index key in your database. If you migrated your database to a MS
SQL Server and elected to use the Create RECID Field option
during the migration, a unique 8-byte integer column named PROGRESS_RECID and
a corresponding seed column named PROGRESS_RECID_IDENT will
have been automatically generated in your database tables along
with a corresponding Index containing the PROGRESS_RECID value
as its key.
PROGRESS_RECID_IDENT column
is not used to resolve the ROWID value, it is important to recognize
the presence of this column for purposes of the following discussion.
(This point is especially significant because its physical presence
is unknown to the schema holder definition that represents this
table to the client.)Databases that are only pulled from the native environment or
are migrated without the Create RECID Field option
must choose a unique index key from each table to represent the PROGRESS_RECID to
support the RECID and ROWID functions,
and forward and backward scrolling within their ABL sessions. ABL
will internally map the selected unique key to the Progress RECID and ROWID functions.
REPOSITION-BACKWARDS and REPOSITION-TO-ROW typically
use ROWID to identify records and functions of
this type require integer expressions which, beginning with OpenEdge
Release 10.1B, can be either INTEGER or INT64.It is important to note that the unique index key used to derive
the Progress ROWID must be a single component index
for it to map to the ROWID of a temp-table as described
in the following discussion. For more details, see the ROWID function discussion
in Initial Programming Considerations.
Starting in OpenEdge Release 10.1B, the default external representation of
ROWID enables the MS SQL Server DataServer to use a 64-bit integer
value for ROWID. Also, before discussing ROWID as it
relates to the RUN STORED-PROC statement, it is important to understand
an important property of the OpenEdge ROWID. For information see ROWID: Standard ABL behavior.