/** Do the recursive work for visit */ private static void _visit(Object t, Object parent, int childIndex, ContextVisitor visitor) { if (t == null) { return; } visitor.visit(t, parent, childIndex, null); int n = ParseDriver.adaptor.getChildCount(t); for (int i = 0; i < n; i++) { Object child = ParseDriver.adaptor.getChild(t, i); _visit(child, t, i, visitor); } }
@Override public Object pre(Object t) { if (ParseDriver.adaptor.getType(t) == HiveParser.TOK_TABLE_OR_COL) { Object c = ParseDriver.adaptor.getChild(t, 0); if (c != null && ParseDriver.adaptor.getType(c) == HiveParser.Identifier && ParseDriver.adaptor.getText(c).equals(aliasToCheck)) { aliasReferences.add(t); } } return t; }
/** Do the recursive work for visit */ private static void _visit(Object t, Object parent, int childIndex, ContextVisitor visitor) { if (t == null) { return; } visitor.visit(t, parent, childIndex, null); int n = ParseDriver.adaptor.getChildCount(t); for (int i = 0; i < n; i++) { Object child = ParseDriver.adaptor.getChild(t, i); _visit(child, t, i, visitor); } }
@Override public Object pre(Object t) { if (ParseDriver.adaptor.getType(t) == HiveParser.TOK_TABLE_OR_COL) { Object c = ParseDriver.adaptor.getChild(t, 0); if (c != null && ParseDriver.adaptor.getType(c) == HiveParser.Identifier && ParseDriver.adaptor.getText(c).equals(aliasToCheck)) { aliasReferences.add(t); } } return t; }
ASTNode root = (ASTNode) t; if (root.getType() == HiveParser.TOK_FUNCTION) { ASTNode func = (ASTNode) ParseDriver.adaptor.getChild(root, 0); if (func.getText().equals("grouping") && func.getChildCount() == 0) { int numberOperands = ParseDriver.adaptor.getChildCount(root); ASTNode c = (ASTNode) ParseDriver.adaptor.getChild(root, i); for (int j = 0; j < grpByAstExprs.size(); j++) { ASTNode grpByExpr = grpByAstExprs.get(j);
Object c = ParseDriver.adaptor.getChild(t, 0); if (c != null && ParseDriver.adaptor.getType(c) == HiveParser.TOK_TABLE_OR_COL) { aliasNodes.put(((ASTNode) t).toStringTree(), t);
/** Do the recursive work for visit */ private static void _visit(Object t, Object parent, int childIndex, ContextVisitor visitor) { if (t == null) { return; } visitor.visit(t, parent, childIndex, null); int n = ParseDriver.adaptor.getChildCount(t); for (int i = 0; i < n; i++) { Object child = ParseDriver.adaptor.getChild(t, i); _visit(child, t, i, visitor); } }
ASTNode root = (ASTNode) t; if (root.getType() == HiveParser.TOK_FUNCTION && root.getChildCount() == 2) { ASTNode func = (ASTNode) ParseDriver.adaptor.getChild(root, 0); if (func.getText().equals("grouping")) { ASTNode c = (ASTNode) ParseDriver.adaptor.getChild(root, 1); visited.setValue(true); for (int i = 0; i < grpByAstExprs.size(); i++) {
/** ^(A B C): emit create A, create B, add child, ...*/ protected void simulateTreeConstruction(Object t) { dbg.createNode(t); int n = adaptor.getChildCount(t); for (int i=0; i<n; i++) { Object child = adaptor.getChild(t, i); simulateTreeConstruction(child); dbg.addChild(t, child); } }
Object c = ParseDriver.adaptor.getChild(t, 0); if (c != null && ParseDriver.adaptor.getType(c) == HiveParser.TOK_TABLE_OR_COL) { aliasNodes.put(((ASTNode) t).toStringTree(), t);
/** ^(A B C): emit create A, create B, add child, ...*/ protected void simulateTreeConstruction(Object t) { dbg.createNode(t); int n = adaptor.getChildCount(t); for (int i=0; i<n; i++) { Object child = adaptor.getChild(t, i); simulateTreeConstruction(child); dbg.addChild(t, child); } }
@Override public Object getChild(Object parent, int index){ return adaptor.getChild(parent, index); }
/** ^(A B C): emit create A, create B, add child, ...*/ protected void simulateTreeConstruction(Object t) { dbg.createNode(t); int n = adaptor.getChildCount(t); for (int i=0; i<n; i++) { Object child = adaptor.getChild(t, i); simulateTreeConstruction(child); dbg.addChild(t, child); } }
@Override public Object getChild(Object t, int i) { return adaptor.getChild(t, i); }
/** ^(A B C): emit create A, create B, add child, ...*/ protected void simulateTreeConstruction(Object t) { dbg.createNode(t); int n = adaptor.getChildCount(t); for (int i=0; i<n; i++) { Object child = adaptor.getChild(t, i); simulateTreeConstruction(child); dbg.addChild(t, child); } }
@Override public Object getChild(Object t, int i) { return adaptor.getChild(t, i); }
/** ^(A B C): emit create A, create B, add child, ...*/ protected void simulateTreeConstruction(Object t) { dbg.createNode(t); int n = adaptor.getChildCount(t); for (int i=0; i<n; i++) { Object child = adaptor.getChild(t, i); simulateTreeConstruction(child); dbg.addChild(t, child); } }
@Override public Object getChild(Object parent, int index){ return adaptor.getChild(parent, index); }
/** ^(A B C): emit create A, create B, add child, ...*/ protected void simulateTreeConstruction(Object t) { dbg.createNode(t); int n = adaptor.getChildCount(t); for (int i=0; i<n; i++) { Object child = adaptor.getChild(t, i); simulateTreeConstruction(child); dbg.addChild(t, child); } }
@Override public Object pre(Object t) { if (ParseDriver.adaptor.getType(t) == HiveParser.TOK_TABLE_OR_COL) { Object c = ParseDriver.adaptor.getChild(t, 0); if (c != null && ParseDriver.adaptor.getType(c) == HiveParser.Identifier && ParseDriver.adaptor.getText(c).equals(aliasToCheck)) { aliasReferences.add(t); } } return t; }