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

Make Optimizer trace logic pluggable.

    XMLWordPrintableJSON

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

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: