Support inner and left outer joins

XMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Query
    • None
    • 8
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Add JOIN support to the MQL translator. Supported join shapes:

      • INNER JOIN with a single-field equijoin ON condition
      • LEFT OUTER JOIN with a single-field equijoin ON condition
      • JOIN FETCH (transparent — produces the same SQL AST as a plain JOIN)
      • Chained joins (A→B→C)

      Implementation: Each join translates to a $lookup + $unwind stage pair prepended to the aggregation pipeline. Joined-table columns are referenced as dotted paths (e.g., o1_0.total) in all downstream stages.

      Out of scope (throws FeatureNotSupportedException with a Jira ticket reference): RIGHT OUTER JOIN, FULL OUTER JOIN, CROSS JOIN, compound equijoin ON conditions (composite PKs), non-equijoin ON conditions, non-column ON expressions, LATERAL UNNEST joins, and subquery joins. Follow-up tickets are filed for each.

            Assignee:
            Jeffrey Yemin
            Reporter:
            Ajay Tandon
            Slav Babanin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: