sharelock

FIND/FOR/OPEN QUERY [recordname] has no NO-LOCK/EXCLUSIVE-LOCK

Rule "sharelock" gives this warning when it finds a "FIND", "FOR" or "OPEN QUERY" statement where no explicit NO-LOCK or EXCLUSIVE-LOCK is specified.

the risc:

Progress will use the default lock, which is SHARE-LOCK (unless the program is compiled using the -NL session parameter).


SHARE-LOCK is more expensive than NO-LOCK in terms of server resources. Anyway it's always better to explicitly specify the lock type and not rely on default behavior for this matter.

how to solve this:

Specify the type you want: NO-LOCK, SHARE-LOCK or EXCLUSIVE-LOCK.

How to suppress these warnings:

You can put directive {&_proparse_ prolint-nowarn(sharelock)} directly before the statement.
See also: suppress warnings.