Salesforce

Index Brackets Explained

« Go Back

Information

 
TitleIndex Brackets Explained
URL Name21094
Article Number000162640
EnvironmentProduct: OpenEdge
Version: All supported versions
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 Number
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
Keyword Phrase
Last Modified Date4/7/2022 8:36 PM

Powered by