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")