Release 10.1A: OpenEdge Data Management:
DataServer for ORACLE

> ## Defining the ROWID

> When you create or update a schema image, the DataServer uses the following guidelines when determining how to support the `ROWID` function:

> - If the ORACLE table has a `PROGRESS_RECID` column, the DataServer selects it. This column provides the optimal support for the `ROWID` function. You cannot select an alternative to it.

> - If the ORACLE table does not have a `PROGRESS_RECID` column, the DataServer selects a unique index on a mandatory `NUMBER` column with precision < 10 or undefined and a scale of 0 or undefined.

> - If none of the above is available, the DataServer uses the native `ROWID`.

> The Data Dictionary allows you to select the native `ROWID` or an alternative index to support the `ROWID` function. The alternative index should be a stable one.

> Note: If you are connected to an ORACLE database and you change how the `ROWID` is supported for a table, you must reconnect to the database to avoid inconsistent row identifiers.

> An index that you select must be defined to meet at least these criteria:

> - The index consists of a single field.

> - The indexed column is a `NUMBER` data type.

> Your application must address these additional criteria if the index definition does not meet them:

> - The index must be treated as unique by your application.

> - The indexed column must be mandatory in your application.

> - The indexed column is a `NUMBER` data type and allows only values with less than ten digits.

> For example, your application might access an indexed column defined as a `NUMBER` column, but the scale might not be specified. If your application assigns only values between 1 and 214783647 to this column, it meets one of the additional criteria. Your application must ensure that the indexed column meets the other two criteria as well. If you do not meet all three criteria, you risk corrupting your database.

> | To select an index to support the ROWID function, in the Data Dictionary:

> 1. Select the table from the Tables list.

> 2. Choose the Table Properties button.

> 3. Choose the DataServer button. If the ORACLE table contains a `PROGRESS_RECID` column, the following message appears:

> 4. If the `PROGRESS_RECID` message did not appear, the ROWID Choices dialog box appears:

> 5. Choose <native ROWID> or an index to support the `ROWID` function. Choose OK to return to the Table Properties dialog box.

> 6. Choose OK to return to the Data Dictionary.

> 7. If you referenced the table during the current session, you must disconnect from ORACLE, then reconnect, for the `ROWID` selection to take effect.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095