@Override public DerivedColumn clone() { DerivedColumn clone = new DerivedColumn(alias, (Expression)this.expression.clone()); clone.propagateName = propagateName; return clone; }
@Override public DerivedColumn clone() { DerivedColumn clone = new DerivedColumn(alias, (Expression)this.expression.clone()); clone.propagateName = propagateName; return clone; }
@Override public DerivedColumn clone() { DerivedColumn clone = new DerivedColumn(alias, (Expression)this.expression.clone()); clone.propagateName = propagateName; return clone; }
final public DerivedColumn derivedColumn(ParseInfo info) throws ParseException { Expression expression = null; String alias = null; // Expression expression = expression(info); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case AS: jj_consume_token(AS); alias = id(Boolean.FALSE); break; default: jj_la1[111] = jj_gen; ; } {if (true) return new DerivedColumn(alias, expression);} throw new Error("Missing return statement in function"); }
final public DerivedColumn derivedColumn(ParseInfo info) throws ParseException { Expression expression = null; String alias = null; // Expression expression = expression(info); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case AS: jj_consume_token(AS); alias = id(Boolean.FALSE); break; default: jj_la1[110] = jj_gen; ; } {if (true) return new DerivedColumn(alias, expression);} throw new Error("Missing return statement in function"); }
final public DerivedColumn derivedColumn(ParseInfo info) throws ParseException { Expression expression = null; String alias = null; // Expression expression = expression(info); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case AS: jj_consume_token(AS); alias = id(Boolean.FALSE); break; default: jj_la1[110] = jj_gen; ; } {if (true) return new DerivedColumn(alias, expression);} throw new Error("Missing return statement in function"); }
@Test public void testXmlElementWithAttributes() throws Exception { XMLElement f = new XMLElement("y", new ArrayList<Expression>()); f.setAttributes(new XMLAttributes(Arrays.asList(new DerivedColumn("val", new Constant("a"))))); helpTestExpression("xmlelement(y, xmlattributes('a' as val))", "XMLELEMENT(NAME y, XMLATTRIBUTES('a' AS val))", f); }
@Test public void testXmlForest() throws Exception { XMLForest f = new XMLForest(Arrays.asList(new DerivedColumn("table", new ElementSymbol("a")))); helpTestExpression("xmlforest(a as \"table\")", "XMLFOREST(a AS \"table\")", f); }
@Test public void testJSONObject() throws Exception { JSONObject f = new JSONObject(Arrays.asList(new DerivedColumn("table", new ElementSymbol("a")))); helpTestExpression("jsonObject(a as \"table\")", "JSONOBJECT(a AS \"table\")", f); }
@Test public void testXmlNamespaces() throws Exception { XMLForest f = new XMLForest(Arrays.asList(new DerivedColumn("table", new ElementSymbol("a")))); f.setNamespaces(new XMLNamespaces(Arrays.asList(new XMLNamespaces.NamespaceItem(), new XMLNamespaces.NamespaceItem("http://foo", "x")))); helpTestExpression("xmlforest(xmlnamespaces(no default, 'http://foo' as x), a as \"table\")", "XMLFOREST(XMLNAMESPACES(NO DEFAULT, 'http://foo' AS x), a AS \"table\")", f); }
@Test public void testTextAggWithOrderBy() throws Exception { List<DerivedColumn> expressions = new ArrayList<DerivedColumn>(); expressions.add(new DerivedColumn("col1", new ElementSymbol("e1"))); expressions.add(new DerivedColumn("col2", new ElementSymbol("e2"))); TextLine tf = new TextLine(); tf.setExpressions(expressions); tf.setDelimiter(new Character(',')); tf.setIncludeHeader(true); AggregateSymbol as = new AggregateSymbol(NonReserved.TEXTAGG, false, tf); as.setOrderBy(new OrderBy(Arrays.asList(new ElementSymbol("e2")))); Query query = new Query(); query.setSelect(new Select(Arrays.asList(as))); String sql = "SELECT TextAgg(FOR e1 as col1, e2 as col2 delimiter ',' header order by e2)"; //$NON-NLS-1$ helpTest(sql, "SELECT TEXTAGG(FOR e1 AS col1, e2 AS col2 DELIMITER ',' HEADER ORDER BY e2)", query); }
@Test public void testXmlQuery() throws Exception { XMLQuery f = new XMLQuery(); f.setXquery("/x"); f.setEmptyOnEmpty(false); f.setPassing(Arrays.asList(new DerivedColumn(null, new ElementSymbol("foo")))); helpTestExpression("xmlquery('/x' passing foo null on empty)", "XMLQUERY('/x' PASSING foo NULL ON EMPTY)", f); }
@Test public void testObjectTable1() throws Exception { Query query = new Query(); query.setSelect(new Select(Arrays.asList(new MultipleElementSymbol()))); ObjectTable objectTable = new ObjectTable(); objectTable.setRowScript("y"); objectTable.setPassing(Arrays.asList(new DerivedColumn("y", new ElementSymbol("e1")))); objectTable.setColumns(Arrays.asList(new ObjectTable.ObjectColumn("z", "time", "now()", null))); objectTable.setName("x"); query.setFrom(new From(Arrays.asList(objectTable))); helpTest("select * from objecttable('y' passing e1 as y columns z time 'now()') as x", "SELECT * FROM OBJECTTABLE('y' PASSING e1 AS y COLUMNS z time 'now()') AS x", query); }
XMLQuery xmlQuery = new XMLQuery(); xmlQuery.setXquery("$i"); //$NON-NLS-1$ xmlQuery.setPassing(Arrays.asList(new DerivedColumn("i", cast.getExpression()))); //$NON-NLS-1$ xmlQuery.compileXqueryExpression(); return xmlQuery;
XMLQuery xmlQuery = new XMLQuery(); xmlQuery.setXquery("$i"); //$NON-NLS-1$ xmlQuery.setPassing(Arrays.asList(new DerivedColumn("i", cast.getExpression()))); //$NON-NLS-1$ xmlQuery.compileXqueryExpression(); return xmlQuery;
XMLQuery xmlQuery = new XMLQuery(); xmlQuery.setXquery("$i"); //$NON-NLS-1$ xmlQuery.setPassing(Arrays.asList(new DerivedColumn("i", cast.getExpression()))); //$NON-NLS-1$ xmlQuery.compileXqueryExpression(); return xmlQuery;