Release 10.1A: OpenEdge Deployment:
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.

> Operating system and syntax | UNIX Windows | `-rereadnolock`
> Use with | Maximum value | Minimum value | Single-user default | Multi-user default
> Client Session | – | – | – | –

> 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 the `ubroker.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. Set `NO-PREFETCH` only if it is critical to retrieve the most current version of a record.

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