You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jh...@apache.org on 2017/05/31 22:26:59 UTC

calcite git commit: [CALCITE-1816] JaninoRelMetadataProvider generated classes leak ACTIVE nodes on exception (Remus Rusanu)

Repository: calcite
Updated Branches:
  refs/heads/master 83cef58b2 -> d4b0acdd3


[CALCITE-1816] JaninoRelMetadataProvider generated classes leak ACTIVE nodes on exception (Remus Rusanu)

GeneratedMetadataHandler_XXX methods now remove ACTIVE guard nodes from
mq.map for any exception, not just NoHandler.

Close apache/calcite#461


Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/d4b0acdd
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/d4b0acdd
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/d4b0acdd

Branch: refs/heads/master
Commit: d4b0acdd32552360f983013aa1ab7505e19f4a28
Parents: 83cef58
Author: Remus Rusanu <re...@apache.org>
Authored: Wed May 31 02:15:59 2017 -0700
Committer: Julian Hyde <jh...@apache.org>
Committed: Wed May 31 15:26:25 2017 -0700

----------------------------------------------------------------------
 .../org/apache/calcite/rel/metadata/JaninoRelMetadataProvider.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/d4b0acdd/core/src/main/java/org/apache/calcite/rel/metadata/JaninoRelMetadataProvider.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/metadata/JaninoRelMetadataProvider.java b/core/src/main/java/org/apache/calcite/rel/metadata/JaninoRelMetadataProvider.java
index 42de769..73baf77 100644
--- a/core/src/main/java/org/apache/calcite/rel/metadata/JaninoRelMetadataProvider.java
+++ b/core/src/main/java/org/apache/calcite/rel/metadata/JaninoRelMetadataProvider.java
@@ -293,7 +293,7 @@ public class JaninoRelMetadataProvider implements RelMetadataProvider {
           .append("      mq.map.put(key, x);\n")
           .append("      return x;\n")
           .append("    } catch (")
-          .append(NoHandler.class.getName())
+          .append(Exception.class.getName())
           .append(" e) {\n")
           .append("      mq.map.remove(key);\n")
           .append("      throw e;\n")