Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-187

Add clear() to RelOptPlanner. PlannerImpl.transform() call clear().

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      Hi Julian,

      This is the code we modified in optiq, to address the issue when developing code in Apache Drill. Specifically, when Drill wants to call planner.transform() multiple times, each with different rulesets and different conventions, optiq might throw CanNotPlanException during the second call, because it still has the status from the first call of transform().

      I added a unit test case in PlannerTest:testPlanTransformWithDiffRulesetAndConvention(). This testcase will fail with CanNotPlanException, if we comment out the line of planner.clear() in PlannerImpl.transform() method.

      Please take a look and see if there is any problem in the fix. Thanks a lot!

      BTW: Originally, the issue was reported in issue (#162 | FLINK-162). But it was accidentally closed, because I deleted my local branch.

      ---------------- Imported from GitHub ----------------
      Url: https://github.com/julianhyde/optiq/pull/187
      Created by: jinfengni
      Labels:
      Created at: Mon Mar 17 05:55:57 CET 2014
      State: closed

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              github-import GitHub Import
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: