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

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • None

    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

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

            Dates

              Created:
              Updated:
              Resolved: