),
GenericTestCaseBase.<String, FieldDef>map(
"roleTypeId", new FieldDef(new FieldValue("d", "roleTypeId"), null),
"roleDescription", new FieldDef(new FieldValue("d", "description"), "roleDescription"),
"SUM", new FieldDef(new AggregateFunction("SUM", false, new FieldValue("a", "partyId")), null),
"baz", new FieldDef(new FunctionCall("FOO", GenericTestCaseBase.<Value>list(new FieldValue("a", "partyId"), new NumberValue<Integer>(Integer.valueOf(1)))), "baz"),
"one", new FieldDef(new MathValue("||", list(new FieldValue("a", "partyId"), new StringValue("-"), new FieldValue("a", "partyTypeId"))), "one"),
"cnt1", new FieldDef(new AggregateFunction("COUNT", false, new FieldValue("a", "partyId")), "cnt1"),
"cnt2", new FieldDef(new AggregateFunction("COUNT", false, new FieldValue(null, "partyId")), "cnt2"),
"cnt3", new FieldDef(new AggregateFunction("COUNT", true, new FieldValue("a", "partyId")), "cnt3")
),
new Table(
new TableName("Party", "a"),
new Joined(true, new TableName("Person", "b"), list(new KeyMap("partyId", "partyId")),
new Joined(true, new TableName("PartyGroup", "c"), list(new KeyMap("partyId", "partyId")),
new Joined(false, new TableName("PartyRole", "d"), list(new KeyMap("partyId", "partyId"), new KeyMap("partyId", "partyId")))
)
)
),
GenericTestCaseBase.<String, Relation>map(
"MainAPerson", new Relation("one", "MainA", "Person", list(new KeyMap("partyId", "partyId"))),
"MainBPerson", new Relation(null, "MainB", "Person", list(new KeyMap("partyId", "partyId"))),
"Person", new Relation("one", null, "Person", list(new KeyMap("partyId", "partyId"))),
"PartyGroup", new Relation(null, null, "PartyGroup", list(new KeyMap("partyId", "partyId")))
),
new ConditionList(
Joiner.OR,
GenericTestCaseBase.<Condition>list(
new ConditionList(
Joiner.AND,
list(
new BooleanCondition(new FieldValue("a", "partyTypeId"), "=", new StringValue("PERSON")),
new BooleanCondition(new FieldValue("b", "lastName"), "LIKE", new ParameterValue("lastName")),
new BetweenCondition(new FieldValue("b", "birthDate"), new StringValue("1974-12-01"), new StringValue("1974-12-31"))
)
),
new ConditionList(
Joiner.AND,
list(
new ListCondition(new FieldValue("b", "partyId"), "IN", GenericTestCaseBase.<Value>list(
new StringValue("1"),
new StringValue("2"),
new StringValue("3"),
new StringValue("4")
)),
new BooleanCondition(new FieldValue("b", "gender"), "=", new StringValue("M"))
)
)
)
),
new BooleanCondition(new FieldValue("b", "firstName"), "LIKE", new StringValue("%foo%")),
null,
list(
new OrderByItem(OrderByItem.Order.DEFAULT, OrderByItem.Nulls.DEFAULT, new FunctionCall("LOWER", GenericTestCaseBase.<Value>list(new FieldValue(null, "lastName")))),
new OrderByItem(OrderByItem.Order.DEFAULT, OrderByItem.Nulls.DEFAULT, new FieldValue(null, "firstName")),
new OrderByItem(OrderByItem.Order.DESCENDING, OrderByItem.Nulls.DEFAULT, new FieldValue(null, "birthDate"))
),
5,
10