private static Expression mapExpression(GroupSymbol varGroup, ArrayList<Expression> selectSymbols, int i, Expression ex) { String name = "s_" +i; //$NON-NLS-1$ selectSymbols.add(new AliasSymbol(name, ex)); ex = new ElementSymbol(name, varGroup.clone()); return ex; }
private static Expression mapExpression(GroupSymbol varGroup, ArrayList<Expression> selectSymbols, int i, Expression ex) { String name = "s_" +i; //$NON-NLS-1$ selectSymbols.add(new AliasSymbol(name, ex)); ex = new ElementSymbol(name, varGroup.clone()); return ex; }
private static Expression mapExpression(GroupSymbol varGroup, ArrayList<Expression> selectSymbols, int i, Expression ex) { String name = "s_" +i; //$NON-NLS-1$ selectSymbols.add(new AliasSymbol(name, ex)); ex = new ElementSymbol(name, varGroup.clone()); return ex; }
private void updateSymbolName(List<Expression> projectCols, int i, ElementSymbol virtualElem, Expression projectedSymbol) { if (projectedSymbol instanceof AliasSymbol) { ((AliasSymbol)projectedSymbol).setShortName(Symbol.getShortName(virtualElem)); } else { projectCols.set(i, new AliasSymbol(Symbol.getShortName(virtualElem), projectedSymbol)); } }
private void updateSymbolName(List<Expression> projectCols, int i, ElementSymbol virtualElem, Expression projectedSymbol) { if (projectedSymbol instanceof AliasSymbol) { ((AliasSymbol)projectedSymbol).setShortName(Symbol.getShortName(virtualElem)); } else { projectCols.set(i, new AliasSymbol(Symbol.getShortName(virtualElem), projectedSymbol)); } }
private void updateSymbolName(List<Expression> projectCols, int i, ElementSymbol virtualElem, Expression projectedSymbol) { if (projectedSymbol instanceof AliasSymbol) { ((AliasSymbol)projectedSymbol).setShortName(Symbol.getShortName(virtualElem)); } else { projectCols.set(i, new AliasSymbol(Symbol.getShortName(virtualElem), projectedSymbol)); } }
/** * Return a copy of this object. */ public Object clone() { Expression symbolCopy = (Expression) this.symbol.clone(); AliasSymbol result = new AliasSymbol(getName(), getShortName(), symbolCopy); result.outputName = this.outputName; return result; }
/** * Return a copy of this object. */ public Object clone() { Expression symbolCopy = (Expression) this.symbol.clone(); AliasSymbol result = new AliasSymbol(getName(), getShortName(), symbolCopy); result.outputName = this.outputName; return result; }
/** * Return a copy of this object. */ public Object clone() { Expression symbolCopy = (Expression) this.symbol.clone(); AliasSymbol result = new AliasSymbol(getName(), getShortName(), symbolCopy); result.outputName = this.outputName; return result; }
@Test public void testGeometryAlias() { String sql = "SELECT y AS geometry"; AliasSymbol as = new AliasSymbol("geometry", new ElementSymbol("y")); //$NON-NLS-1$ //$NON-NLS-2$ Query query = new Query(); query.setSelect(new Select(Arrays.asList(as))); helpTest(sql, sql, query); //$NON-NLS-1$ }
@Test public void testUnderscoreAlias() { String sql = "SELECT y AS _name"; AliasSymbol as = new AliasSymbol("_name", new ElementSymbol("y")); //$NON-NLS-1$ //$NON-NLS-2$ Query query = new Query(); query.setSelect(new Select(Arrays.asList(as))); helpTest(sql, "SELECT y AS \"_name\"", query); //$NON-NLS-1$ }
@Test public void testGeographyAlias() { String sql = "SELECT y AS geography"; AliasSymbol as = new AliasSymbol("geography", new ElementSymbol("y")); //$NON-NLS-1$ //$NON-NLS-2$ Query query = new Query(); query.setSelect(new Select(Arrays.asList(as))); helpTest(sql, sql, query); //$NON-NLS-1$ }
@Test public void testAliasEquals() { AliasSymbol a1 = new AliasSymbol("X", new ExpressionSymbol("x", new Constant(1))); //$NON-NLS-1$ //$NON-NLS-2$ AliasSymbol a2 = new AliasSymbol("X", new ExpressionSymbol("x", new Constant(2))); //$NON-NLS-1$ //$NON-NLS-2$ AliasSymbol a3 = new AliasSymbol("x", new ExpressionSymbol("x", new Constant(1))); //$NON-NLS-1$ //$NON-NLS-2$ assertFalse(a1.equals(a3)); //just a different case for the alias assertFalse(a1.equals(a2)); //different express }
@Test public void testOrderBy2() { OrderBy ob = new OrderBy(); ob.addVariable(new ElementSymbol("e1")); //$NON-NLS-1$ ob.addVariable(new AliasSymbol("x", new ElementSymbol("e2"))); //$NON-NLS-1$ //$NON-NLS-2$ helpTest(ob, "ORDER BY e1, x"); //$NON-NLS-1$ }
public void testVisitOrderBy() { OrderBy ob = new OrderBy(); ob.addVariable(exampleElement(true, 0)); ob.addVariable(exampleElement(true, 1)); ob.addVariable(new AliasSymbol("abc", exampleElement(true, 2))); //$NON-NLS-1$ helpTest(ob, getSymbolMap()); }
public static final Select sample2() { Select select = new Select(); select.addSymbol(new ElementSymbol("a")); //$NON-NLS-1$ select.addSymbol(new ElementSymbol("b")); //$NON-NLS-1$ select.addSymbol(new ElementSymbol("c")); //$NON-NLS-1$ select.addSymbol(new AliasSymbol("Z", new ElementSymbol("ZZ 9 Plural Z Alpha"))); //$NON-NLS-1$ //$NON-NLS-2$ return select; }
@Test public void testClone() { AliasSymbol a1 = new AliasSymbol("X", new ExpressionSymbol("x", new Constant(1))); //$NON-NLS-1$ //$NON-NLS-2$ a1.setOutputName("foo"); //$NON-NLS-1$ AliasSymbol clone = (AliasSymbol)a1.clone(); assertEquals(a1, clone); assertEquals(a1.getOutputName(), clone.getOutputName()); }
@Test public void testScalarSubqueryExpressionInComplexExpression2() throws QueryParserException{ Select s2 = new Select(); s2.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$ s2.addSymbol(new AliasSymbol("X", QueryParser.getQueryParser().parseExpression("3 + (SELECT e1 FROM m.g1)"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ From f2 = new From(); f2.addGroup(new GroupSymbol("m.g2")); //$NON-NLS-1$ Query q2 = new Query(); q2.setSelect(s2); q2.setFrom(f2); helpTest("SELECT e1, (3 + (SELECT e1 FROM m.g1)) as X FROM m.g2", //$NON-NLS-1$ "SELECT e1, (3 + (SELECT e1 FROM m.g1)) AS X FROM m.g2", //$NON-NLS-1$ q2); }
@Test public void testScalarSubqueryExpressionInFunction() throws QueryParserException{ Select s2 = new Select(); s2.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$ s2.addSymbol(new AliasSymbol("X", QueryParser.getQueryParser().parseExpression("length((SELECT e1 FROM m.g1))"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ From f2 = new From(); f2.addGroup(new GroupSymbol("m.g2")); //$NON-NLS-1$ Query q2 = new Query(); q2.setSelect(s2); q2.setFrom(f2); helpTest("SELECT e1, length((SELECT e1 FROM m.g1)) as X FROM m.g2", //$NON-NLS-1$ "SELECT e1, length((SELECT e1 FROM m.g1)) AS X FROM m.g2", //$NON-NLS-1$ q2); }
@Test public void testScalarSubqueryExpressionInComplexExpression3() throws QueryParserException{ Select s2 = new Select(); s2.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$ s2.addSymbol(new AliasSymbol("X", QueryParser.getQueryParser().parseExpression("(SELECT e1 FROM m.g1) + (SELECT e3 FROM m.g3)"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ From f2 = new From(); f2.addGroup(new GroupSymbol("m.g2")); //$NON-NLS-1$ Query q2 = new Query(); q2.setSelect(s2); q2.setFrom(f2); helpTest("SELECT e1, ((SELECT e1 FROM m.g1) + (SELECT e3 FROM m.g3)) as X FROM m.g2", //$NON-NLS-1$ "SELECT e1, ((SELECT e1 FROM m.g1) + (SELECT e3 FROM m.g3)) AS X FROM m.g2", //$NON-NLS-1$ q2); }