From e7848bba2cb3744846bc46c512b4ded538c66480 Mon Sep 17 00:00:00 2001 From: Ashutosh Chauhan Date: Thu, 16 Jul 2015 08:05:55 -0700 Subject: [PATCH] HIVE-11281 : Memoize toStringTree() for ASTNode (Ashutosh Chauhan via Prasanth J, Hari Sankar) --- ql/src/java/org/apache/hadoop/hive/ql/parse/ASTNode.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/ASTNode.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/ASTNode.java index c8dbe97..bd8bee6 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/ASTNode.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/ASTNode.java @@ -31,7 +31,7 @@ */ public class ASTNode extends CommonTree implements Node,Serializable { private static final long serialVersionUID = 1L; - + private transient String astStr; private transient ASTNodeOrigin origin; public ASTNode() { @@ -81,6 +81,7 @@ public Tree dupNode() { * * @see org.apache.hadoop.hive.ql.lib.Node#getName() */ + @Override public String getName() { return (Integer.valueOf(super.getToken().getType())).toString(); } @@ -126,4 +127,13 @@ private StringBuilder dump(StringBuilder sb, String ws) { } return sb; } + + @Override + public String toStringTree() { + + if (null != astStr) { + return astStr; + } + return astStr = super.toStringTree(); + } } -- 1.7.12.4 (Apple Git-37)