Consultor Eletrônico



Kbase 19276: How INDEXED-REPOSITION Works For Oracle DataServer
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/6/2008
Status: Verified

GOAL:

Considerations when using indexed-reposition with Oracle DataServer

GOAL:

Limitations of indexed-reposition against DataServers?

FACT(s) (Environment):

All Supported Operating Systems
Progress 8.x
Progress 9.x
OpenEdge 10.x
Oracle DataServer

FIX:

Starting with these versions, Oracle DataServer supports indexed-reposition on queries. The option allows you to scroll through a query result set. This solution discusses some considerations in the use of the indexed-reposition option.

Considerations about the implementation:

- The DataServer generates a new result set when a reposition is requested to the query. This means you cannot scroll back the query to previous rows because the query is usually a new one when a new reposition request is issued.

- You might want to scroll back the query in the following situation however:

The DataServer query first looks in the cache. If the record to reposition is found in the cache, the DataServer does not issue a new query and you can scroll it back. But this is not reliable because you cannot predict when a particular reposition request finds its target in the cache.

Consider a customer table with 10000 rows and a query ordered by cust-num:

If you do a GET PREVIOUS to cust-num 5 and then REPOSITION to 5000, you cannot get previous (customer with cust-num < 5000).

If you reposition to cust-num 7, DataServer most likely finds it in the cache. Then you might be able to get previous all the way back to cust-num 1.

In the first example (repos to 5000), you can issue another reposition to cust-num 5 and then get next from the start of the new query.