@Test public void testAlias() throws Exception { Statement statement = new SqlParser().createStatement("select a as b from test"); assertEquals(formatQuery(statement, name -> "dummy", '"').trim(), "SELECT \"a\" \"b\"\n" + " FROM\n" + " dummy"); }
@Test public void testJoinQuery() throws Exception { Statement statement = new SqlParser().createStatement ("select * from testcollection join anothercollection on (anothercollection.test = testcollection.test)"); // TODO: decide if we should also format expressions in QueryFormatter assertEquals(formatQuery(statement, name -> "dummy", '"').trim(), "SELECT *\n" + " FROM\n" + " (dummy\n" + " INNER JOIN dummy ON (\"anothercollection\".\"test\" = \"testcollection\".\"test\"))"); }
@Test public void testSimpleQuery() throws Exception { Statement statement = new SqlParser().createStatement("select * from testcollection"); assertEquals(formatQuery(statement, name -> "dummy", '"').trim(), "SELECT *\n" + " FROM\n" + " dummy"); }
@Test public void testQueryWithCTEDuplicateName() throws Exception { Statement statement = new SqlParser().createStatement("with test as (select * from collection) select * from collection.test"); assertEquals(formatQuery(statement, name -> "dummy", '"').trim(), "WITH\n" + " \"test\" AS (\n" + " SELECT *\n" + " FROM\n" + " dummy\n" + " ) \n" + " SELECT *\n" + " FROM\n" + " dummy"); }
@Test public void testQueryWithCTE() throws Exception { Statement statement = new SqlParser().createStatement("with test as (select * from collection) select * from test"); assertEquals(formatQuery(statement, name -> "dummy", '"').trim(), "WITH\n" + " \"test\" AS (\n" + " SELECT *\n" + " FROM\n" + " dummy\n" + " ) \n" + " SELECT *\n" + " FROM\n" + " test"); }