[Join Optimization] Introduce core types + JoinPlanCache skeleton

XMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Query Optimization
    • Fully Compatible
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Define all data structures and the JoinPlanCache class with a working put/lookup API backed by a simple StringMap (will be replaced with LRU and proper memory accounting later). Set up the cache as a ServiceContext decoration.

      Types we need to define: CachedAccessPath, CachedInljNode, CachedJoinNode, CachedJoinPlan, JoinPlanCacheEntry, JoinPlanCacheKey and JoinPlanCache.

      We can add unit tests to verify an empty cache returns nullptr on lookup, put+lookup roundtrips and put overwrites an existing entry.

            Assignee:
            Ben Shteinfeld
            Reporter:
            Ben Shteinfeld
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: