The Algorithm--I
Input:
- FBP: Table of forbidden binding patterns
- Constructed from $ annotations
- HTBP: High traffic binding patterns
- A conjunction of m subgoals making up the query plan
Data Structures:
- C[1…m] C[i] lists source calls (source, BP) to be done at stage i
- More than one source call possible at each stage
- P[1…m] where P[i] list of sources postponed at stage i
- Postponement is done if there is no binding pattern for a source that is both feasible, and not contained in HTBP
- V is the list of variables for which bindings exist
- initialized to the variables bound in the query