Avoid extractor calls for ordering cursor in join cursor

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Done
    • Priority: Major - P3
    • WT2.8.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • None
    • None

      Hi!
      I found that during condition checks on ordering cursor in join cursor, called extractor. This greatly reduce performance of join cursor, especially if cardinality of ordering cursor is big. As I understand, for checks on ordering cursor, calling of extractor can be avoided, using for comparing with conditions current value of ordering cursor key. Attached program demonstrate the problem. It has next output:

      $ LD_LIBRARY_PATH=wt-2382-join-collator_libs/ ./jcursor_ord_extr                                                                                                                                                               
      value from jcursor: key = 8, v1 = 8, v2 = 8
      value from jcursor: key = 18, v1 = 18, v2 = 8
      value from jcursor: key = 28, v1 = 28, v2 = 8
      value from jcursor: key = 38, v1 = 38, v2 = 8
      value from jcursor: key = 48, v1 = 48, v2 = 8
      value from jcursor: key = 58, v1 = 58, v2 = 8
      value from jcursor: key = 68, v1 = 68, v2 = 8
      value from jcursor: key = 78, v1 = 78, v2 = 8
      value from jcursor: key = 88, v1 = 88, v2 = 8
      value from jcursor: key = 98, v1 = 98, v2 = 8
      Error: extractor for ordering index should not be called. s_extractor1_calls = 100
      

        1. jcurs_ordering_extractor.c
          4 kB
        2. jcursor_read_table_lt.c
          4 kB

            Assignee:
            Donald Anderson
            Reporter:
            Denis Shkirya
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: