Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-6211

Make Optimizer trace logic pluggable.

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.11.1.1
    • Fix Version/s: None
    • Component/s: SQL
    • Urgency:
      Normal

      Description

      Right now the trace logic in the optimizer is hard-coded to produce a stream of diagnostics. It would be good to be able to plug alternative trace logic into the optimizer. This would make the following possible:

      1) Plug in trace logic which produces formats which are easier to study and which can be analyzed mechanically. E.g., xml formatted output.

      2) Plug in trace logic which can be used during unit testing to verify that the optimizer has picked the right plan. Over time this might make it easier to migrate canon-based tests to assertion-based tests.

        Attachments

        1. derby-6211-13-aa-SelectNode_optimizer.diff
          7 kB
          Rick Hillegas
        2. derby-6211-12-aa-traceEndOfQueryBlock.diff
          23 kB
          Rick Hillegas
        3. derby-6211-11-ab-moveTracerOutOfOptimizer.diff
          18 kB
          Rick Hillegas
        4. derby-6211-11-aa-moveTracerOutOfOptimizer.diff
          18 kB
          Rick Hillegas
        5. derby-6211-10-aa-makingCostEstimateObject.diff
          11 kB
          Rick Hillegas
        6. derby-6211-09-aa-addTests.diff
          35 kB
          Rick Hillegas
        7. derby-6211-08-aa-fixNPE.diff
          2 kB
          Rick Hillegas
        8. derby-6211-07-ab-useSchemaQualifiedNamesInSummaries.diff
          10 kB
          Rick Hillegas
        9. derby-6211-07-aa-useSchemaQualifiedNamesInSummaries.diff
          10 kB
          Rick Hillegas
        10. derby-6211-06-ab-packageProtect-XMLOptTrace.diff
          0.6 kB
          Rick Hillegas
        11. derby-6211-05-aa-xmlOptimizerTracer.diff
          46 kB
          Rick Hillegas
        12. derby-6211-04-aa-moveOptimizerTracerToEngineJar.diff
          15 kB
          Rick Hillegas
        13. derby-6211-03-aa-customTracer.diff
          17 kB
          Rick Hillegas
        14. derby-6211-02-ab-cleanup.diff
          28 kB
          Rick Hillegas
        15. derby-6211-02-aa-cleanup.diff
          28 kB
          Rick Hillegas
        16. derby-6211-01-aa-createPlugin.diff
          74 kB
          Rick Hillegas

          Issue Links

            Activity

              People

              • Assignee:
                rhillegas Rick Hillegas
                Reporter:
                rhillegas Rick Hillegas
              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: