Feedback
 
Did this article resolve your question/issue?

   

Your feedback is appreciated.

Please tell us how we can make this article more useful. Please provide us a way to contact you, should we need clarification on the feedback provided or if you need further assistance.

Characters Remaining: 1025

 


Article

Index Brackets Explained

« Go Back

Information

 
Article Number000030375
EnvironmentProduct: Progress
Version: 9.x
Product: OpenEdge
Version: 10.x, 11.x
OS: All supported platforms
Question/Problem Description
Index brackets and how Progress uses them to retrieve records explained.
What is an index bracket?
How does Progress uses index brackets to retrieve records?
Steps to Reproduce
Clarifying Information
Error Message
Defect/Enhancement Number
Cause
Resolution
An "index bracket" is a set of consecutive entries in an index.
  • A bracket is defined by an index identifier (index number), a low-key value, and a high-key value.
  • All the index entries starting with low-key value and ending with high-key value are included in the bracket.
  • A "bracket scan" is an operation which examines index entries from the low-key value to high-key value.
There are two types of brackets: equality brackets and range brackets.
  • Equality brackets define a set of consecutive index entries that have an equality match on a key. The low-key value and high-key values are the same for an equality match.
  • Range brackets define a set of consecutive index entries from the low-key value to high-key value.
Except when using a FIND BY ROWID, Progress always uses at least one index bracket to retrieve one or more rows.

At compile time, ABL determines which index or indexes to use for retrieving records from a table, based on the conditions in the Record phrase.
All records in the index may need to be scanned to find those meeting the conditions (not-optimal), or only a subset of the records are examined due to efficient index bracketing.

Once an index is selected, Progress examines each component as follows to see if the index can be bracketed:

a) If the component has an active equality match, Progress can bracket it, and it examines the next component for possible bracketing.

b) If the component has an active range match, Progress can bracket it, but it does not examine the remaining components for possible bracketing.

c) If the component does not have an active equality match or an active range match, Progress does not examine the remaining components for bracketing.

The ABL can be forced to use only one index by specifying the USE-INDEX option or by using the Version 6 Query (-v6q) parameter.
Workaround
Notes
Attachment 
Last Modified Date11/21/2018 11:30 AM