Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-4175

Certain nested dependent join structure will cause fewer results than expected

    Details

      Description

      With a query such as:

      SELECT pm1.g1.e1, pm1.g2.e2 from /*+ makeind */ pm1.g1 inner join /*+ preserve */ (/*+ makeind */ pm1.g2 inner join pm1.g3 on pm1.g2.e2 = pm1.g3.e2) on pm1.g1.e1 = pm1.g2.e1
      

      There will be a join structure like:

        JoinNode(1) [Dependent] 
          AccessNode(2) 
          JoinNode(3) [Dependent] [MERGE JOIN (ALREADY_SORTED/ALREADY_SORTED)]
            DependentAccessNode(4) 
            DependentAccessNode(5) 
      

      Such that there is a dependent join as a left child of a merge join that is marked as having that child already sorted. When there is more than 1 query needed for DependentAccessNode(4), the DependentAccessNode will mistakenly mark the right child as needing to be sorted.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                shawkins Steven Hawkins
                Reporter:
                shawkins Steven Hawkins
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: