#1512 - Invalid SQL with Postgres + order by nulls first/last + where() expression on ManyToMany

This commit is contained in:
rob bygrave
2018-10-24 23:26:19 +13:00
parent e06967ff4a
commit c1a479e1f4
2 changed files with 40 additions and 18 deletions
@@ -7,57 +7,58 @@ import static org.junit.Assert.*;
public class SqlTreeBuilderTest {
@Test
public void mergeOnDistinct_equal() throws Exception {
public void mergeOnDistinct_equal() {
assertEquals(SqlTreeBuilder.mergeOnDistinct("t0.id", "t0.id"), "t0.id");
}
@Test
public void mergeOnDistinct_add() throws Exception {
public void mergeOnDistinct_add() {
assertEquals(SqlTreeBuilder.mergeOnDistinct("t0.id", "t0.cre"), "t0.cre, t0.id");
}
@Test
public void mergeOnDistinct_contained() throws Exception {
public void mergeOnDistinct_contained() {
assertEquals(SqlTreeBuilder.mergeOnDistinct("t0.id", "t0.cre, t0.id"), "t0.cre, t0.id");
}
@Test
public void mergeOnDistinct_overlap() throws Exception {
public void mergeOnDistinct_overlap() {
assertEquals(SqlTreeBuilder.mergeOnDistinct("t0.id, t1.id", "t0.cre, t0.id"), "t0.cre, t0.id, t1.id");
}
@Test
public void mergeOnDistinct_overlapBoth() throws Exception {
public void mergeOnDistinct_overlapBoth() {
assertEquals(SqlTreeBuilder.mergeOnDistinct("t0.id, t1.id", "t0.cre, t1.id, t0.id"), "t0.cre, t1.id, t0.id");
}
@Test
public void mergeOnDistinct_inlineAscDesc() throws Exception {
public void mergeOnDistinct_inlineAscDesc() {
assertEquals(SqlTreeBuilder.mergeOnDistinct("t0.id", "t0.cre asc, t1.bb desc, t3.b"), "t0.cre, t1.bb, t3.b, t0.id");
}
@Test
public void mergeOnDistinct_inlineAscDesc2() throws Exception {
public void mergeOnDistinct_inlineAscDesc2() {
assertEquals(SqlTreeBuilder.mergeOnDistinct("t0.id", "t0.cre desc, t1.bb asc, t3.b"), "t0.cre, t1.bb, t3.b, t0.id");
}
@Test
public void mergeOnDistinct_trailingAsc() throws Exception {
public void mergeOnDistinct_trailingAsc() {
assertEquals(SqlTreeBuilder.mergeOnDistinct("t0.id", "t0.cre asc"), "t0.cre, t0.id");
}
@Test
public void mergeOnDistinct_trailingDesc() throws Exception {
public void mergeOnDistinct_trailingDesc() {
assertEquals(SqlTreeBuilder.mergeOnDistinct("t0.id", "t0.cre desc"), "t0.cre, t0.id");
}
@Test
public void mergeOnDistinct_trailingDescNullsFirst() {
assertEquals(SqlTreeBuilder.mergeOnDistinct("t0.id", "t0.cre desc nulls first"), "t0.cre, t0.id");
}
@Test
public void mergeOnDistinct_trailingDescNullsLast() {
assertEquals(SqlTreeBuilder.mergeOnDistinct("t0.id", "t0.cre desc nulls last"), "t0.cre, t0.id");
}
}