Progress
Startup Command and Parameter
Reference
Reread Nolock (-rereadnolock)
Use Reread Nolock (
-rereadnolock
) to tell Progress that when it attempts to find a record with NO-LOCK, to re-read the record from the database, even if the record is already in a buffer. You can use this parameter to resolve client-server currency conflicts. You can also use it to resolve server-to-server currency conflicts by using it as an AppServer startup parameter via the Progress Explorer or by setting the srvrStartupParam property in theubroker.properties
file for the appropriate AppServer.Keep the following in mind when you use
-rereadnolock
:
- It has no affect on records that are retrieved via RECID or ROWID. In that case, Progress will not re-read the record. Instead, it uses the copy of the record already stored in the buffer. If you need the most current version of the record, use the RELEASE statement on all buffers that contain a copy of the record before reading the record, or use the FIND CURRENT or GET CURRENT statement to re-read the record.
- It has no affect on the behavior of the query cache used for a query with NO-LOCK that is specified via the CACHE phrase of the DEFINE QUERY statement. To force Progress to always re-read the record, set the cache size to zero (0). However, this may significantly degrade performance if the database is accessed across a network. Set the cache size to zero only when it is critical to retrieve the most current version of a record.
- It has no affect on the behavior of the prefetch cache that is used by default when retrieving records NO-LOCK across the network. By default, when executing a CAN-FIND function or a FIND, FOR, or OPEN QUERY statement on a database that is accessed across a network, Progress fetches several records at a time and stores them in a prefetch cache. Progress will only send a request to the database server to fetch more records if the requested record is not in the current prefetch cache. If the record is in the current cache, Progress will not read a new copy of that record even if -rereadnolock is set. To eliminate this cache so that the most current version of the record is always read, use the NO-PREFETCH keyword in the appropriate statements. However, using the NO-PREFETCH keyword may significantly degrade performance. Only set NO-PREFETCH if it is critical to retrieve the most current version of a record.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |