RecontextVisitor(GroupSymbol group) { super(null); this.group = group; this.definition = group.getDefinition(); }
RecontextVisitor(GroupSymbol group) { super(null); this.group = group; this.definition = group.getDefinition(); }
RecontextVisitor(GroupSymbol group) { super(null); this.group = group; this.definition = group.getDefinition(); }
public String getNonCorrelationName() { if (this.definition == null) { return this.getName(); } return this.getDefinition(); }
public String getNonCorrelationName() { if (this.definition == null) { return this.getName(); } return this.getDefinition(); }
public String getNonCorrelationName() { if (this.definition == null) { return this.getName(); } return this.getDefinition(); }
private static boolean applyHint(List<PlanNode> nodes, String groupName, NodeConstants.Info hintProperty, Object value) { boolean appliedHint = false; for (PlanNode node : nodes) { GroupSymbol nodeGroup = node.getGroups().iterator().next(); String sDefinition = nodeGroup.getDefinition(); if (nodeGroup.getName().equalsIgnoreCase(groupName) || (sDefinition != null && sDefinition.equalsIgnoreCase(groupName)) ) { node.setProperty(hintProperty, value); appliedHint = true; } } return appliedHint; }
private static boolean applyHint(List<PlanNode> nodes, String groupName, NodeConstants.Info hintProperty, Object value) { boolean appliedHint = false; for (PlanNode node : nodes) { GroupSymbol nodeGroup = node.getGroups().iterator().next(); String sDefinition = nodeGroup.getDefinition(); if (nodeGroup.getName().equalsIgnoreCase(groupName) || (sDefinition != null && sDefinition.equalsIgnoreCase(groupName)) ) { node.setProperty(hintProperty, value); appliedHint = true; } } return appliedHint; }
private static boolean applyHint(List<PlanNode> nodes, String groupName, NodeConstants.Info hintProperty, Object value) { boolean appliedHint = false; for (PlanNode node : nodes) { GroupSymbol nodeGroup = node.getGroups().iterator().next(); String sDefinition = nodeGroup.getDefinition(); if (nodeGroup.getName().equalsIgnoreCase(groupName) || (sDefinition != null && sDefinition.equalsIgnoreCase(groupName)) ) { node.setProperty(hintProperty, value); appliedHint = true; } } return appliedHint; }
@Override public Expression replaceExpression( Expression element) { if (element instanceof ElementSymbol) { ElementSymbol es = (ElementSymbol)element; if (es.getGroupSymbol().getDefinition() == null && es.getGroupSymbol().getName().equalsIgnoreCase(this.definition)) { es.getGroupSymbol().setDefinition(group.getDefinition()); es.getGroupSymbol().setName(group.getName()); } } return element; } }
@Override public Expression replaceExpression( Expression element) { if (element instanceof ElementSymbol) { ElementSymbol es = (ElementSymbol)element; if (es.getGroupSymbol().getDefinition() == null && es.getGroupSymbol().getName().equalsIgnoreCase(this.definition)) { es.getGroupSymbol().setDefinition(group.getDefinition()); es.getGroupSymbol().setName(group.getName()); } } return element; } }
@Override public Expression replaceExpression( Expression element) { if (element instanceof ElementSymbol) { ElementSymbol es = (ElementSymbol)element; if (es.getGroupSymbol().getDefinition() == null && es.getGroupSymbol().getName().equalsIgnoreCase(this.definition)) { es.getGroupSymbol().setDefinition(group.getDefinition()); es.getGroupSymbol().setName(group.getName()); } } return element; } }
private boolean isSinglePart(GroupSymbol groupSymbol) { return (groupSymbol.getDefinition() != null || (!groupSymbol.isProcedure() && groupSymbol.getMetadataID() instanceof TempMetadataID && ((TempMetadataID) groupSymbol.getMetadataID()) .getMetadataType() != TempMetadataID.Type.SCALAR)); }
private boolean isSinglePart(GroupSymbol groupSymbol) { return (groupSymbol.getDefinition() != null || (!groupSymbol.isProcedure() && groupSymbol.getMetadataID() instanceof TempMetadataID && ((TempMetadataID) groupSymbol.getMetadataID()) .getMetadataType() != TempMetadataID.Type.SCALAR)); }
public void visit(GroupSymbol obj) { if (obj.equals(clone) && obj.getMetadataID() == group.getMetadataID()) { obj.setName(obj.getDefinition()); obj.setDefinition(null); } } });
public void visit(GroupSymbol obj) { if (obj.equals(clone) && obj.getMetadataID() == group.getMetadataID()) { obj.setName(obj.getDefinition()); obj.setDefinition(null); } } });
public void visit(GroupSymbol obj) { if (obj.equals(clone) && obj.getMetadataID() == group.getMetadataID()) { obj.setName(obj.getDefinition()); obj.setDefinition(null); } } });
@Test public void testSubqueryAliasWithPeriod() throws Exception { String sql = "select \"pm1.g2\".x from (select 1 as x) as \"pm1.g2\""; Query query = (Query)helpResolve(sql); SubqueryFromClause sfc = (SubqueryFromClause)query.getFrom().getClauses().get(0); GroupSymbol gs = sfc.getGroupSymbol(); assertEquals("pm1.g2", gs.getName()); assertNull(gs.getDefinition()); assertEquals("SELECT \"pm1.g2\".x FROM (SELECT 1 AS x) AS \"pm1.g2\"", query.toString()); assertEquals("SELECT \"pm1.g2\".x FROM (SELECT 1 AS x) AS \"pm1.g2\"", query.clone().toString()); assertEquals("[\"pm1.g2\".x]", query.getProjectedSymbols().toString()); }
@Test public void testTableAliasWithMultiplePeriods() throws Exception { String sql = "select \"pm1..g2\".e1 from pm1.g1 as \"pm1..g2\""; Query query = (Query)helpResolve(sql); UnaryFromClause ufc = (UnaryFromClause)query.getFrom().getClauses().get(0); GroupSymbol gs = ufc.getGroup(); assertEquals("pm1..g2", gs.getName()); assertEquals("pm1.g1", gs.getDefinition()); assertEquals("SELECT \"pm1..g2\".e1 FROM pm1.g1 AS \"pm1..g2\"", query.toString()); assertEquals("[\"pm1..g2\".e1]", query.getProjectedSymbols().toString()); }
@Test public void testTableAliasWithPeriod() throws Exception { String sql = "select \"pm1.g2\".*, e1, \"pm1.g2\".e2, pm1.g2.e2 from pm1.g1 as \"pm1.g2\""; Query query = (Query)helpResolve(sql); UnaryFromClause ufc = (UnaryFromClause)query.getFrom().getClauses().get(0); GroupSymbol gs = ufc.getGroup(); assertEquals("pm1.g2", gs.getName()); assertEquals("pm1.g1", gs.getDefinition()); assertFalse(gs.isTempTable()); assertEquals("SELECT \"pm1.g2\".*, e1, \"pm1.g2\".e2, \"pm1.g2\".e2 FROM pm1.g1 AS \"pm1.g2\"", query.toString()); assertEquals("[\"pm1.g2\".e1, \"pm1.g2\".e2, \"pm1.g2\".e3, \"pm1.g2\".e4, e1, \"pm1.g2\".e2, \"pm1.g2\".e2]", query.getProjectedSymbols().toString()); }