Project

General

Profile

Bug #2176

exceptions to rereadnolock

Added by Ovidiu Maxiniuc over 10 years ago. Updated over 1 year ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:
version:

Related issues

Related to Database - Feature #2175: add support for -rereadnolock startup parameter Closed

History

#1 Updated by Ovidiu Maxiniuc over 10 years ago

This looks like an optimization of some kind that Progress uses to reduce accesses to db.

When the search for a record is done using the ROWID or RECID, the record is not re-fetched from db, instead the value found in any existing buffer. Only if there is only one buffer the value is refreshed from db.
In other words if a record is looked up using its ROWID or RECID Progress will behave like the rereadnolock is off even if it was explicitly added to command-line.
Current implementation does not honor this.
I am thinking of checking for these functions ROWID or RECID in the hql parser. The difficulty here is to detect the form of the where hql expression the ROWID or RECID appear in order to qualify as the above exception.
For example:
FIND FIRST person WHERE crecid EQ RECID(person) NO-LOCK. - will not re-fetch in rereadnolock and multi-buffer
FIND FIRST person WHERE crecid EQ RECID(person) OR person.id EQ 0 NO-LOCK. - will not re-fetch in rereadnolock and multi-buffer
but
FIND FIRST person WHERE crecid EQ RECID(person) OR otherid EQ RECID(person) NO-LOCK. - will do re-fetch in rereadnolock and multi-buffer.

#2 Updated by Eric Faulhaber about 8 years ago

  • Target version set to Milestone 17

Possible candidate for performance improvement.

#3 Updated by Greg Shah over 7 years ago

  • Target version changed from Milestone 17 to Performance and Scalability Improvements

#4 Updated by Greg Shah over 1 year ago

  • Parent task deleted (#2175)
  • Target version deleted (Performance and Scalability Improvements)

#5 Updated by Greg Shah over 1 year ago

  • Related to Feature #2175: add support for -rereadnolock startup parameter added

Also available in: Atom PDF