/** SELECT a FROM db.g WHERE b = aString order by c desc*/ @Test public void testOrderByDesc(){ ArrayList<ElementSymbol> elements = new ArrayList<ElementSymbol>(); elements.add(new ElementSymbol("c")); //$NON-NLS-1$ ArrayList<Boolean> orderTypes = new ArrayList<Boolean>(); orderTypes.add(Boolean.FALSE); OrderBy orderBy = new OrderBy(elements, orderTypes); Query query = getOrderByQuery(orderBy); helpTest("SELECT a FROM db.g WHERE b = aString ORDER BY c desc", //$NON-NLS-1$ "SELECT a FROM db.g WHERE b = aString ORDER BY c DESC", //$NON-NLS-1$ query); } private Query getOrderByQuery(OrderBy orderBy) {
/** SELECT a FROM db.g WHERE b = aString order by c desc,d*/ @Test public void testMixedOrderBys(){ ArrayList<ElementSymbol> elements = new ArrayList<ElementSymbol>(); elements.add(new ElementSymbol("c")); //$NON-NLS-1$ elements.add(new ElementSymbol("d")); //$NON-NLS-1$ ArrayList<Boolean> orderTypes = new ArrayList<Boolean>(); orderTypes.add(Boolean.FALSE); orderTypes.add(Boolean.TRUE); OrderBy orderBy = new OrderBy(elements, orderTypes); Query query = getOrderByQuery(orderBy); helpTest("SELECT a FROM db.g WHERE b = aString ORDER BY c desc,d", //$NON-NLS-1$ "SELECT a FROM db.g WHERE b = aString ORDER BY c DESC, d", //$NON-NLS-1$ query); }
/** SELECT a FROM db.g WHERE b = aString order by c desc,d desc*/ @Test public void testOrderBysDesc(){ ArrayList<ElementSymbol> elements = new ArrayList<ElementSymbol>(); elements.add(new ElementSymbol("c")); //$NON-NLS-1$ elements.add(new ElementSymbol("d")); //$NON-NLS-1$ ArrayList<Boolean> orderTypes = new ArrayList<Boolean>(); orderTypes.add(Boolean.FALSE); orderTypes.add(Boolean.FALSE); OrderBy orderBy = new OrderBy(elements, orderTypes); Query query = getOrderByQuery(orderBy); helpTest("SELECT a FROM db.g WHERE b = aString ORDER BY c desc,d desc", //$NON-NLS-1$ "SELECT a FROM db.g WHERE b = aString ORDER BY c DESC, d DESC", //$NON-NLS-1$ query); }
@Test public void testWithClause() throws Exception { Query query = getOrderByQuery(null); query.setWith(Arrays.asList(new WithQueryCommand(new GroupSymbol("x"), null, getOrderByQuery(null)))); helpTest("WITH x AS (SELECT a FROM db.g WHERE b = aString) SELECT a FROM db.g WHERE b = aString", "WITH x AS (SELECT a FROM db.g WHERE b = aString) SELECT a FROM db.g WHERE b = aString", query); //$NON-NLS-1$ //$NON-NLS-2$ }
/** SELECT a FROM db.g WHERE b = aString order by c,d*/ @Test public void testOrderBys(){ ArrayList<ElementSymbol> elements = new ArrayList<ElementSymbol>(); elements.add(new ElementSymbol("c")); //$NON-NLS-1$ elements.add(new ElementSymbol("d")); //$NON-NLS-1$ OrderBy orderBy = new OrderBy(elements); Query query = getOrderByQuery(orderBy); helpTest("SELECT a FROM db.g WHERE b = aString ORDER BY c,d", //$NON-NLS-1$ "SELECT a FROM db.g WHERE b = aString ORDER BY c, d", //$NON-NLS-1$ query); }
@Test public void testOrderByNullOrdering(){ OrderBy orderBy = new OrderBy(); OrderByItem item = new OrderByItem(new ElementSymbol("c"), true); item.setNullOrdering(NullOrdering.FIRST); orderBy.getOrderByItems().add(item); item = new OrderByItem(new ElementSymbol("d"), false); item.setNullOrdering(NullOrdering.LAST); orderBy.getOrderByItems().add(item); Query query = getOrderByQuery(orderBy); helpTest("SELECT a FROM db.g WHERE b = aString ORDER BY c NULLS FIRST,d desc nulls last", //$NON-NLS-1$ "SELECT a FROM db.g WHERE b = aString ORDER BY c NULLS FIRST, d DESC NULLS LAST", //$NON-NLS-1$ query); }