blob: d9f40a38185e5b9d9b1e77172056138431a3d94e [file] [log] [blame]
/*
* Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation
//
package org.eclipse.persistence.jpa.tests.jpql.tools.model;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.persistence.jpa.jpql.parser.TrimExpression.Specification;
import org.eclipse.persistence.jpa.jpql.tools.model.IConditionalExpressionStateObjectBuilder;
import org.eclipse.persistence.jpa.jpql.tools.model.ISelectExpressionStateObjectBuilder;
import org.eclipse.persistence.jpa.jpql.tools.model.query.AdditionExpressionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.AndExpressionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.AvgFunctionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.ComparisonExpressionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.ConcatExpressionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.CountFunctionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.DeleteStatementStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.DerivedPathIdentificationVariableDeclarationStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.ExistsExpressionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.IdentificationVariableDeclarationStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.IdentificationVariableStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.InExpressionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.JPQLQueryStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.KeywordExpressionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.LikeExpressionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.LocateExpressionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.MaxFunctionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.MinFunctionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.NumericLiteralStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.ObjectExpressionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.SelectClauseStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.SelectStatementStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.SimpleSelectStatementStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.StateFieldPathExpressionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.StringLiteralStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.SubstringExpressionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.SumFunctionStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.UpdateStatementStateObject;
import org.eclipse.persistence.jpa.jpql.tools.model.query.WhereClauseStateObject;
import org.eclipse.persistence.jpa.tests.jpql.UniqueSignature;
import org.junit.Test;
import static org.eclipse.persistence.jpa.jpql.parser.Expression.*;
import static org.eclipse.persistence.jpa.tests.jpql.JPQLQueries1_0.*;
/**
* This tests the manual creation of a {@link StateObject} that can be parsed by the JPQL grammar
* defined in JPA 1.0.
*
* @version 2.5
* @since 2.4
* @author Pascal Filion
*/
@UniqueSignature
@SuppressWarnings("nls")
public final class ManualCreationStateObjectTest1_0 extends AbstractStateObjectTest1_0 {
protected JPQLQueryStateObject buildJPQLQueryStateObject() throws Exception {
return new JPQLQueryStateObject(getQueryBuilder(), getPersistenceUnit());
}
@Test
public void test_Query_001() throws Exception {
// SELECT e FROM Employee e
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_001(), jpqlStateObject, query_001());
}
@Test
public void test_Query_002() throws Exception {
// SELECT e\nFROM Employee e
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_002(), jpqlStateObject, query_002());
}
@Test
public void test_Query_003_a() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.department.name = 'NA42' AND
// e.address.state IN ('NY', 'CA')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder
.path("e.department.name").equal("'NA42'")
.and(
builder.path("e.address.state").in("'NY'", "'CA'")
)
.commit();
test(stateObject_003(), jpqlStateObject, query_003());
}
@Test
public void test_Query_003_b() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.department.name = 'NA42' AND
// e.address.state IN ('NY', 'CA')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
select.addWhereClause().parse("e.department.name = 'NA42' AND e.address.state IN ('NY', 'CA')");
test(stateObject_003(), jpqlStateObject, query_003());
}
@Test
public void test_Query_003_c() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.department.name = 'NA42' AND
// e.address.state IN ('NY', 'CA')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
WhereClauseStateObject whereClause = select.addWhereClause();
// e.department.name = 'NA42'
StateFieldPathExpressionStateObject left = new StateFieldPathExpressionStateObject(select, "e.department.name");
StringLiteralStateObject right = new StringLiteralStateObject(select, "'NA42'");
ComparisonExpressionStateObject comparison = new ComparisonExpressionStateObject(select, left, EQUAL, right);
// e.address.state IN ('NY', 'CA')
InExpressionStateObject in = new InExpressionStateObject(select);
in.setStateObject(new StateFieldPathExpressionStateObject(in, "e.address.state"));
in.addItem(new StringLiteralStateObject(in, "'NY'"));
in.addItem(new StringLiteralStateObject(in, "'CA'"));
// x AND y
whereClause.setConditional(new AndExpressionStateObject(select, comparison, in));
test(stateObject_003(), jpqlStateObject, query_003());
}
@Test
public void test_Query_004_a() throws Exception {
// SELECT p.number
// FROM Employee e, Phone p
// WHERE e = p.employee
// AND e.department.name = 'NA42'
// AND p.type = 'Cell'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addRangeDeclaration("Phone", "p");
select.addSelectItem("p.number");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder
.variable("e").equal(builder.path("p.employee"))
.and(
builder.path("e.department.name").equal("'NA42'")
)
.and(
builder.path("p.type").equal("'Cell'")
)
.commit();
test(stateObject_004(), jpqlStateObject, query_004());
}
@Test
public void test_Query_004_b() throws Exception {
// SELECT p.number
// FROM Employee e, Phone p
// WHERE e = p.employee
// AND e.department.name = 'NA42'
// AND p.type = 'Cell'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addRangeDeclaration("Phone", "p");
select.addSelectItem("p.number");
select.addWhereClause().parse("e = p.employee AND e.department.name = 'NA42' AND p.type = 'Cell'");
test(stateObject_004(), jpqlStateObject, query_004());
}
@Test
public void test_Query_005_a() throws Exception {
// SELECT d, COUNT(e), MAX(e.salary), AVG(e.salary)
// FROM Department d JOIN d.employees e
// GROUP BY d
// HAVING COUNT(e) >= 5
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addSelectItem("d");
select.addSelectItem(new CountFunctionStateObject(select, "e"));
select.addSelectItem(new MaxFunctionStateObject(select, "e.salary"));
select.addSelectItem(new AvgFunctionStateObject(select, "e.salary"));
select.addRangeDeclaration("Department", "d").
addJoin("d.employees", "e");
select.addGroupByClause().addGroupByItem("d");
select.addHavingClause().getBuilder().count("e").greaterThanOrEqual(5).commit();
test(stateObject_005(), jpqlStateObject, query_005());
}
@Test
public void test_Query_005_b() throws Exception {
// SELECT d, COUNT(e), MAX(e.salary), AVG(e.salary)
// FROM Department d JOIN d.employees e
// GROUP BY d
// HAVING COUNT(e) >= 5
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Department", "d").
parseJoin("JOIN d.employees e");
select.addGroupByClause().addGroupByItem("d");
select.addHavingClause().parse("COUNT(e) >= 5");
SelectClauseStateObject selectClause = select.getSelectClause();
selectClause.parse("d");
selectClause.parse("COUNT(e)");
selectClause.parse("MAX(e.salary)");
selectClause.parse("AVG(e.salary)");
test(stateObject_005(), jpqlStateObject, query_005());
}
@Test
public void test_Query_005_c() throws Exception {
// SELECT d, COUNT(e), MAX(e.salary), AVG(e.salary)
// FROM Department d JOIN d.employees e
// GROUP BY d
// HAVING COUNT(e) >= 5
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Department", "d").
parseJoin("JOIN d.employees e");
select.addGroupByClause().addGroupByItem("d");
select.addHavingClause().parse("COUNT(e) >= 5");
ISelectExpressionStateObjectBuilder builder = select.getSelectBuilder();
builder.variable("d")
.append().count("e")
.append().max("e.salary")
.append().avg("e.salary").
commit();
test(stateObject_005(), jpqlStateObject, query_005());
}
@Test
public void test_Query_005_d() throws Exception {
// SELECT d, COUNT(e), MAX(e.salary), AVG(e.salary)
// FROM Department d JOIN d.employees e
// GROUP BY d
// HAVING COUNT(e) >= 5
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.parseSelect("d, COUNT(e), MAX(e.salary), AVG(e.salary)");
select.addRangeDeclaration("Department", "d").
parseJoin("JOIN d.employees e");
select.addGroupByClause().addGroupByItem("d");
select.addHavingClause().parse("COUNT(e) >= 5");
test(stateObject_005(), jpqlStateObject, query_005());
}
@Test
public void test_Query_006() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.department = ?1
// AND e.salary > ?2
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder
.path("e.deparment").equal("?1")
.and(
builder.path("e.salary").greaterThan("?2")
)
.commit();
test(stateObject_006(), jpqlStateObject, query_006());
}
@Test
public void test_Query_007() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.department = :dept
// AND e.salary > :base
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder
.path("e.deparment").equal(":dept")
.and(
builder.path("e.salary").greaterThan(":base")
)
.commit();
test(stateObject_007(), jpqlStateObject, query_007());
}
@Test
public void test_Query_008() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.department = 'NA65'
// AND e.name = 'UNKNOWN'' OR e.name = ''Roberts'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder
.path("e.deparment").equal("'NA65'")
.and(
builder.path("e.name").equal(builder.string("'UNKNOWN'' OR e.name = ''Roberts'"))
)
.commit();
test(stateObject_008(), jpqlStateObject, query_008());
}
@Test
public void test_Query_009() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.startDate BETWEEN ?1 AND ?2
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder
.path("e.startDate")
.between(
builder.parameter("?1"),
builder.parameter("?2")
)
.commit();
test(stateObject_009(), jpqlStateObject, query_009());
}
@Test
public void test_Query_010() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.department = :dept AND
// e.salary = (SELECT MAX(e.salary)
// FROM Employee e
// WHERE e.department = :dept)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem(new MaxFunctionStateObject(subquery, "e.salary"));
subquery.addRangeDeclaration("Employee", "e");
IConditionalExpressionStateObjectBuilder subBuilder = subquery.addWhereClause().getBuilder();
subBuilder.path("e.department").equal(subBuilder.parameter(":dept")).commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("e.department").equal(builder.parameter(":dept"))
.and(
builder.path("e.salary").equal(builder.sub(subquery))
)
.commit();
test(stateObject_010(), jpqlStateObject, query_010());
}
@Test
public void test_Query_011() throws Exception {
// SELECT e
// FROM Project p JOIN p.employees e
// WHERE p.name = ?1
// ORDER BY e.name
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Project", "p").
addJoin("p.employees", "e");
select.addSelectItem("e");
select.addWhereClause().getBuilder().path("p.name").equal("?1").commit();
select.addOrderByClause().addItem("e.name");
test(stateObject_011(), jpqlStateObject, query_011());
}
@Test
public void test_Query_012() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.projects IS EMPTY";
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
select.addWhereClause().getBuilder().isEmpty("e.projects").commit();
test(stateObject_012(), jpqlStateObject, query_012());
}
@Test
public void test_Query_013() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.projects IS NOT EMPTY";
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
select.addWhereClause().getBuilder().isNotEmpty("e.projects").commit();
test(stateObject_013(), jpqlStateObject, query_013());
}
@Test
public void test_Query_014() throws Exception {
// UPDATE Employee e
// SET e.manager = ?1
// WHERE e.department = ?2
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
UpdateStatementStateObject update = jpqlStateObject.addUpdateStatement();
update.setDeclaration("Employee", "e");
update.addItem("e.manager", "?1");
update.addWhereClause().getBuilder().path("e.department").equal("?1").commit();
test(stateObject_014(), jpqlStateObject, query_014());
}
@Test
public void test_Query_015() throws Exception {
// DELETE FROM Project p
// WHERE p.employees IS EMPTY
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
DeleteStatementStateObject delete = jpqlStateObject.addDeleteStatement();
delete.setDeclaration("Project", "p");
delete.addWhereClause().getBuilder().isEmpty("p.employees").commit();
test(stateObject_015(), jpqlStateObject, query_015());
}
@Test
public void test_Query_016() throws Exception {
// DELETE FROM Department d
// WHERE d.name IN ('CA13', 'CA19', 'NY30')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
DeleteStatementStateObject delete = jpqlStateObject.addDeleteStatement();
delete.setDeclaration("Department", "d");
IConditionalExpressionStateObjectBuilder builder = delete.addWhereClause().getBuilder();
builder.path("d.name").in("'CA13'", "'CA19'", "'NY30'").commit();
test(stateObject_016(), jpqlStateObject, query_016());
}
@Test
public void test_Query_017() throws Exception {
// UPDATE Employee e
// SET e.department = null
// WHERE e.department.name IN ('CA13', 'CA19', 'NY30')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
UpdateStatementStateObject update = jpqlStateObject.addUpdateStatement();
update.setDeclaration("Employee", "e");
update.addItem("e.department", new KeywordExpressionStateObject(update, NULL));
update.addWhereClause().getBuilder().
path("e.department.name").in("'CA13'", "'CA19'", "'NY30'")
.commit();
test(stateObject_017(), jpqlStateObject, query_017());
}
@Test
public void test_Query_018() throws Exception {
// SELECT d
// FROM Department d
// WHERE d.name LIKE 'QA\\_%' ESCAPE '\\'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Department", "d");
select.addSelectItem("d");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("d.name").like(builder.string("'QA\\_%'"), "'\\'").commit();
test(stateObject_018(), jpqlStateObject, query_018());
}
@Test
public void test_Query_019() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.salary = (SELECT MAX(e2.salary) FROM Employee e2)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem(new MaxFunctionStateObject(subquery, "e2.salary"));
subquery.addRangeDeclaration("Employee", "e2");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("e.salary").equal(builder.sub(subquery)).commit();
test(stateObject_019(), jpqlStateObject, query_019());
}
@Test
public void test_Query_020() throws Exception {
// SELECT e
// FROM Employee e
// WHERE EXISTS (SELECT p FROM Phone p WHERE p.employee = e AND p.type = 'Cell')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("p");
subquery.addRangeDeclaration("Phone", "p");
IConditionalExpressionStateObjectBuilder subBuilder = subquery.addWhereClause().getBuilder();
subBuilder.path("p.employee").equal(subBuilder.variable("e"))
.and(
subBuilder.path("p.type").equal("'Cell'")
)
.commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.exists(subquery).commit();
test(stateObject_020(), jpqlStateObject, query_020());
}
@Test
public void test_Query_021() throws Exception {
// SELECT e
// FROM Employee e
// WHERE EXISTS (SELECT p FROM e.phones p WHERE p.type = 'Cell')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("p");
subquery.addDerivedPathDeclaration("e.phones", "p");
subquery.addWhereClause().getBuilder().path("p.type").equal("'Cell'").commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.exists(subquery).commit();
test(stateObject_021(), jpqlStateObject, query_021());
}
@Test
public void test_Query_022() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.department IN (SELECT DISTINCT d
// FROM Department d JOIN d.employees de JOIN de.projects p
// WHERE p.name LIKE 'QA%')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.getSelectClause().setDistinct(true);
subquery.setSelectItem("d");
subquery.addRangeDeclaration("Department", "d")
.addJoin("d.employees", "de").getParent()
.addJoin("de.projects", "p");
subquery.addWhereClause().getBuilder().path("p.name").like("'QA%'").commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("e.department").in(subquery).commit();
test(stateObject_022(), jpqlStateObject, query_022());
}
@Test
public void test_Query_023() throws Exception {
// SELECT p
// FROM Phone p
// WHERE p.type NOT IN ('Office', 'Home')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Phone", "p");
select.addSelectItem("p");
select.addWhereClause().getBuilder().path("p.type").notIn("'Office'", "'Home'").commit();
test(stateObject_023(), jpqlStateObject, query_023());
}
@Test
public void test_Query_024() throws Exception {
// SELECT m
// FROM Employee m
// WHERE (SELECT COUNT(e)
// FROM Employee e
// WHERE e.manager = m) > 0
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "m");
select.addSelectItem("m");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem(new CountFunctionStateObject(subquery, "e"));
subquery.addRangeDeclaration("Employee", "e");
IConditionalExpressionStateObjectBuilder subBuilder = subquery.addWhereClause().getBuilder();
subBuilder.path("e.manager").equal(subBuilder.variable("m")).commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.sub(subquery).greaterThan(0).commit();
test(stateObject_024(), jpqlStateObject, query_024());
}
@Test
public void test_Query_025() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e MEMBER OF e.directs
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
select.addWhereClause().getBuilder().variable("e").memberOf("e.directs").commit();
test(stateObject_025(), jpqlStateObject, query_025());
}
@Test
public void test_Query_026() throws Exception {
// SELECT e
// FROM Employee e
// WHERE NOT EXISTS (SELECT p
// FROM e.phones p
// WHERE p.type = 'Cell')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("p");
subquery.addDerivedPathDeclaration("e.phones", "p");
subquery.addWhereClause().getBuilder().path("p.type").equal("'Cell'").commit();
select.addWhereClause().getBuilder().notExists(subquery).commit();
test(stateObject_026(), jpqlStateObject, query_026());
}
@Test
public void test_Query_027() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.directs IS NOT EMPTY AND
// e.salary < ALL (SELECT d.salary FROM e.directs d)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("d.salary");
subquery.addDerivedPathDeclaration("e.directs", "d");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.isNotEmpty("e.directs")
.and(
builder.path("e.salary").lowerThan(builder.all(subquery))
)
.commit();
test(stateObject_027(), jpqlStateObject, query_027());
}
@Test
public void test_Query_028() throws Exception {
// SELECT e
// FROM Employee e
// WHERE e.department = ANY (SELECT DISTINCT d FROM Department d JOIN d.employees de JOIN de.projects p
// WHERE p.name LIKE 'QA%')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.getSelectClause().toggleDistinct();
subquery.setSelectItem("d");
subquery.addRangeDeclaration("Department", "d").
addJoin("d.employees", "de").getParent().
addJoin("de.projects", "p");
subquery.addWhereClause().getBuilder().path("p.name").like("'QA%'").commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("e.department").equal(builder.any(subquery))
.commit();
test(stateObject_028(), jpqlStateObject, query_028());
}
@Test
public void test_Query_029() throws Exception {
// SELECT d
// FROM Department d
// WHERE SIZE(d.employees) = 2
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Department", "d");
select.addSelectItem("d");
select.addWhereClause().getBuilder().size("d.employees").equal(2).commit();
test(stateObject_029(), jpqlStateObject, query_029());
}
@Test
public void test_Query_030() throws Exception {
// SELECT d
// FROM Department d
// WHERE (SELECT COUNT(e)
// FROM d.employees e) = 2
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Department", "d");
select.addSelectItem("d");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem(new CountFunctionStateObject(subquery, "e"));
subquery.addDerivedPathDeclaration("d.employees", "e");
select.addWhereClause().getBuilder().sub(subquery).equal(2).commit();
test(stateObject_030(), jpqlStateObject, query_030());
}
@Test
public void test_Query_031() throws Exception {
// SELECT e
// FROM Employee e
// ORDER BY e.name DESC
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
select.addOrderByClause().addItemDesc("e.name");
test(stateObject_031(), jpqlStateObject, query_031());
}
@Test
public void test_Query_032() throws Exception {
// SELECT e
// FROM Employee e JOIN e.department d
// ORDER BY d.name, e.name DESC
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e").addJoin("e.department", "d");
select.addSelectItem("e");
select.addOrderByClause().
addItem("d.name").getParent().
addItemDesc("e.name");
test(stateObject_032(), jpqlStateObject, query_032());
}
@Test
public void test_Query_033_a() throws Exception {
// SELECT AVG(e.salary) FROM Employee e
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem(new AvgFunctionStateObject(select, "e.salary"));
test(stateObject_033(), jpqlStateObject, query_033());
}
@Test
public void test_Query_033_b() throws Exception {
// SELECT AVG(e.salary) FROM Employee e
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.getSelectClause().parse("AVG(e.salary");
test(stateObject_033(), jpqlStateObject, query_033());
}
@Test
public void test_Query_033_c() throws Exception {
// SELECT AVG(e.salary) FROM Employee e
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.getSelectClause().getBuilder().avg("e.salary").commit();
test(stateObject_033(), jpqlStateObject, query_033());
}
@Test
public void test_Query_034_a() throws Exception {
// SELECT d.name, AVG(e.salary)
// FROM Department d JOIN d.employees e
// GROUP BY d.name
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Department", "d").addJoin("d.employees", "e");
select.addSelectItem("d.name");
select.addSelectItem(new AvgFunctionStateObject(select, "e.salary"));
select.addGroupByClause().addGroupByItem("d.name");
test(stateObject_034(), jpqlStateObject, query_034());
}
@Test
public void test_Query_034_b() throws Exception {
// SELECT d.name, AVG(e.salary)
// FROM Department d JOIN d.employees e
// GROUP BY d.name
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Department", "d").addJoin("d.employees", "e");
select.addGroupByClause().addGroupByItem("d.name");
ISelectExpressionStateObjectBuilder builder = select.getSelectClause().getBuilder();
builder.path("d.name").append().avg("e.salary").commit();
test(stateObject_034(), jpqlStateObject, query_034());
}
@Test
public void test_Query_035_a() throws Exception {
// SELECT d.name, AVG(e.salary)
// FROM Department d JOIN d.employees e
// WHERE e.directs IS EMPTY
// GROUP BY d.name
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Department", "d").addJoin("d.employees", "e");
select.addSelectItem("d.name");
select.addSelectItem(new AvgFunctionStateObject(select, "e.salary"));
select.addWhereClause().getBuilder().isEmpty("e.directs").commit();
select.addGroupByClause().addGroupByItem("d.name");
test(stateObject_035(), jpqlStateObject, query_035());
}
@Test
public void test_Query_036() throws Exception {
// SELECT d.name, AVG(e.salary)
// FROM Department d JOIN d.employees e
// WHERE e.directs IS EMPTY
// GROUP BY d.name
// HAVING AVG(e.salary) > 50000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Department", "d").addJoin("d.employees", "e");
select.addSelectItem("d.name");
select.addSelectItem(new AvgFunctionStateObject(select, "e.salary"));
select.addWhereClause().getBuilder().isEmpty("e.directs").commit();
select.addGroupByClause().addGroupByItem("d.name");
select.addHavingClause().getBuilder().avg("e.salary").greaterThan(50000).commit();
test(stateObject_036(), jpqlStateObject, query_036());
}
@Test
public void test_Query_037_a() throws Exception {
// SELECT e, COUNT(p), COUNT(DISTINCT p.type)
// FROM Employee e JOIN e.phones p
// GROUP BY e
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e").addJoin("e.phones", "p");
select.addSelectItem("e");
select.addSelectItem(new CountFunctionStateObject(select, "p"));
select.addSelectItem(new CountFunctionStateObject(select, true, "p.type"));
select.addGroupByClause().addGroupByItem("e");
test(stateObject_037(), jpqlStateObject, query_037());
}
@Test
public void test_Query_037_b() throws Exception {
// SELECT e, COUNT(p), COUNT(DISTINCT p.type)
// FROM Employee e JOIN e.phones p
// GROUP BY e
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e").addJoin("e.phones", "p");
select.addGroupByClause().addGroupByItem("e");
select.getSelectBuilder()
.variable("e").append()
.count("p").append()
.countDistinct("p.type")
.commit();
test(stateObject_037(), jpqlStateObject, query_037());
}
@Test
public void test_Query_038() throws Exception {
// SELECT d.name, e.salary, COUNT(p)
// FROM Department d JOIN d.employees e JOIN e.projects p
// GROUP BY d.name, e.salary
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Department", "d").
addJoin("d.employees", "e").getParent().
addJoin("e.projects", "p");
select.addSelectItem("d.name");
select.addSelectItem("e.salary");
select.addSelectItem(new CountFunctionStateObject(select, "p"));
select.addGroupByClause().addGroupByItem("d.name");
select.getGroupByClause().addGroupByItem("e.salary");
test(stateObject_038(), jpqlStateObject, query_038());
}
@Test
public void test_Query_039() throws Exception {
// SELECT e, COUNT(p)
// FROM Employee e JOIN e.projects p
// GROUP BY e
// HAVING COUNT(p) >= 2
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e").addJoin("e.projects", "p");
select.addSelectItem("e");
select.addSelectItem(new CountFunctionStateObject(select, "p"));
select.addHavingClause().getBuilder().count("p").greaterThanOrEqual(2).commit();
select.addGroupByClause().addGroupByItem("e");
test(stateObject_039(), jpqlStateObject, query_039());
}
@Test
public void test_Query_040() throws Exception {
// UPDATE Employee e
// SET e.salary = 60000
// WHERE e.salary = 55000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
UpdateStatementStateObject update = jpqlStateObject.addUpdateStatement();
update.setDeclaration("Employee", "e");
update.addItem("e.salary", new NumericLiteralStateObject(update, "60000"));
update.addWhereClause().getBuilder().path("e.salary").equal(55000).commit();
test(stateObject_040(), jpqlStateObject, query_040());
}
@Test
public void test_Query_041() throws Exception {
// UPDATE Employee e
// SET e.salary = e.salary + 5000
// WHERE EXISTS (SELECT p
// FROM e.projects p
// WHERE p.name = 'Release1')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
UpdateStatementStateObject update = jpqlStateObject.addUpdateStatement();
update.setDeclaration("Employee", "e");
update.addItem(
"e.salary",
new AdditionExpressionStateObject(
update,
new StateFieldPathExpressionStateObject(update, "e.projects"),
new NumericLiteralStateObject(update, 5000)
)
);
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(update);
subquery.setSelectItem("p");
subquery.addDerivedPathDeclaration("e.projects", "p");
subquery.addWhereClause().getBuilder().path("p.name").equal("'Release1'").commit();
update.addWhereClause().getBuilder().exists(subquery).commit();
test(stateObject_041(), jpqlStateObject, query_041());
}
@Test
public void test_Query_042() throws Exception {
// UPDATE Phone p
// SET p.number = CONCAT('288', SUBSTRING(p.number, LOCATE(p.number, '-'), 4)),
// p.type = 'Business'
// WHERE p.employee.address.city = 'New York' AND p.type = 'Office'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
List<StateObject> stateObjects = new ArrayList<>();
stateObjects.add(new StringLiteralStateObject(jpqlStateObject, "'288'"));
stateObjects.add(new SubstringExpressionStateObject(
jpqlStateObject,
new StateFieldPathExpressionStateObject(jpqlStateObject, "p.number"),
new LocateExpressionStateObject(
jpqlStateObject,
new StateFieldPathExpressionStateObject(jpqlStateObject, "p.number"),
new StringLiteralStateObject(jpqlStateObject, "'-'")
),
new NumericLiteralStateObject(jpqlStateObject, 4)
));
UpdateStatementStateObject update = jpqlStateObject.addUpdateStatement();
update.setDeclaration("Phone", "p");
update.addItem("p.number", new ConcatExpressionStateObject(update, stateObjects));
update.addItem("p.type", "'Business'");
IConditionalExpressionStateObjectBuilder builder = update.addWhereClause().getBuilder();
builder.
path("p.employee.address.city").equal("'New York'")
.and(
builder.path("p.type").equal("'Office'")
)
.commit();
test(stateObject_042(), jpqlStateObject, query_042());
}
@Test
public void test_Query_043() throws Exception {
// DELETE FROM Employee e
// WHERE e.department IS NULL
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
DeleteStatementStateObject delete = jpqlStateObject.addDeleteStatement();
delete.setDeclaration("Employee", "e");
delete.addWhereClause().getBuilder().isNull("e.department").commit();
test(stateObject_043(), jpqlStateObject, query_043());
}
@Test
public void test_Query_044() throws Exception {
// Select Distinct object(c)
// From Customer c, In(c.orders) co
// Where co.totalPrice >= Some (Select o.totalPrice
// From Order o, In(o.lineItems) l
// Where l.quantity = 3)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().toggleDistinct();
select.addSelectItem(new ObjectExpressionStateObject(select, "c"));
select.addRangeDeclaration("Customer", "c");
select.addCollectionDeclaration("c.orders", "co");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("o.totalPrice");
subquery.addRangeDeclaration("Order", "o");
subquery.addCollectionDeclaration("o.lineItems", "l");
subquery.addWhereClause().getBuilder().path("l.quantity").equal(3).commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("co.totalPrice")
.greaterThanOrEqual(
builder.some(subquery))
.commit();
test(stateObject_044(), jpqlStateObject, query_044());
}
@Test
public void test_Query_045() throws Exception {
// SELECT DISTINCT object(c)
// FROM Customer c, IN(c.orders) co
// WHERE co.totalPrice <= SOME (Select o.totalPrice
// FROM Order o, IN(o.lineItems) l
// WHERE l.quantity = 3)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().toggleDistinct();
select.addSelectItem(new ObjectExpressionStateObject(select, "c"));
select.addRangeDeclaration("Customer", "c");
select.addCollectionDeclaration("c.orders", "co");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("o.totalPrice");
subquery.addRangeDeclaration("Order", "o");
subquery.addCollectionDeclaration("o.lineItems", "l");
subquery.addWhereClause().getBuilder().path("l.quantity").equal(3).commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("co.totalPrice")
.lowerThanOrEqual(
builder.some(subquery))
.commit();
test(stateObject_045(), jpqlStateObject, query_045());
}
@Test
public void test_Query_046() throws Exception {
// SELECT Distinct object(c)
// FROM Customer c, IN(c.orders) co
// WHERE co.totalPrice = ANY (Select MAX(o.totalPrice) FROM Order o)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().toggleDistinct();
select.addSelectItem(new ObjectExpressionStateObject(select, "c"));
select.addRangeDeclaration("Customer", "c");
select.addCollectionDeclaration("c.orders", "co");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem(new MaxFunctionStateObject(subquery, "o.totalPrice"));
subquery.addRangeDeclaration("Order", "o");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("co.totalPrice").equal(builder.any(subquery)).commit();
test(stateObject_046(), jpqlStateObject, query_046());
}
@Test
public void test_Query_047() throws Exception {
// SELECT Distinct object(c)
// FROM Customer c, IN(c.orders) co
// WHERE co.totalPrice < ANY (Select o.totalPrice
// FROM Order o, IN(o.lineItems) l
// WHERE l.quantity = 3)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().toggleDistinct();
select.addSelectItem(new ObjectExpressionStateObject(select, "c"));
select.addRangeDeclaration("Customer", "c");
select.addCollectionDeclaration("c.orders", "co");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("o.totalPrice");
subquery.addRangeDeclaration("Order", "o");
subquery.addCollectionDeclaration("o.lineItems", "l");
subquery.addWhereClause().getBuilder().path("l.quantity").equal(3).commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("co.totalPrice").lowerThan(builder.any(subquery)).commit();
test(stateObject_047(), jpqlStateObject, query_047());
}
@Test
public void test_Query_048() throws Exception {
// SELECT Distinct object(c)
// FROM Customer c, IN(c.orders) co
// WHERE co.totalPrice > ANY (Select o.totalPrice
// FROM Order o, IN(o.lineItems) l
// WHERE l.quantity = 3)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().toggleDistinct();
select.addSelectItem(new ObjectExpressionStateObject(select, "c"));
select.addRangeDeclaration("Customer", "c");
select.addCollectionDeclaration("c.orders", "co");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("o.totalPrice");
subquery.addRangeDeclaration("Order", "o");
subquery.addCollectionDeclaration("o.lineItems", "l");
subquery.addWhereClause().getBuilder().path("l.quantity").equal(3).commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("co.totalPrice").greaterThan(builder.any(subquery)).commit();
test(stateObject_048(), jpqlStateObject, query_048());
}
@Test
public void test_Query_049() throws Exception {
// SELECT Distinct object(c)
// FROM Customer c, IN(c.orders) co
// WHERE co.totalPrice <> ALL (Select MIN(o.totalPrice) FROM Order o)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().toggleDistinct();
select.addSelectItem(new ObjectExpressionStateObject(select, "c"));
select.addRangeDeclaration("Customer", "c");
select.addCollectionDeclaration("c.orders", "co");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem(new MinFunctionStateObject(select, "o.totalPrice"));
subquery.addRangeDeclaration("Order", "o");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("co.totalPrice").different(builder.all(subquery)).commit();
test(stateObject_049(), jpqlStateObject, query_049());
}
@Test
public void test_Query_050() throws Exception {
// SELECT Distinct object(c)
// FROM Customer c, IN(c.orders) co
// WHERE co.totalPrice >= ALL (Select o.totalPrice
// FROM Order o, IN(o.lineItems) l
// WHERE l.quantity >= 3)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().toggleDistinct();
select.addSelectItem(new ObjectExpressionStateObject(select, "c"));
select.addRangeDeclaration("Customer", "c");
select.addCollectionDeclaration("c.orders", "co");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("o.totalPrice");
subquery.addRangeDeclaration("Order", "o");
subquery.addCollectionDeclaration("o.lineItems", "l");
subquery.addWhereClause().getBuilder().path("l.quantity").greaterThanOrEqual(3).commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("co.totalPrice").greaterThanOrEqual(builder.all(subquery)).commit();
test(stateObject_050(), jpqlStateObject, query_050());
}
@Test
public void test_Query_051() throws Exception {
// SELECT Distinct object(c)
// FROM Customer c, IN(c.orders) co
// WHERE co.totalPrice <= ALL (Select o.totalPrice
// FROM Order o, IN(o.lineItems) l
// WHERE l.quantity > 3)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().toggleDistinct();
select.addSelectItem(new ObjectExpressionStateObject(select, "c"));
select.addRangeDeclaration("Customer", "c");
select.addCollectionDeclaration("c.orders", "co");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("o.totalPrice");
subquery.addRangeDeclaration("Order", "o");
subquery.addCollectionDeclaration("o.lineItems", "l");
subquery.addWhereClause().getBuilder().path("l.quantity").greaterThanOrEqual(3).commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("co.totalPrice").lowerThanOrEqual(builder.all(subquery)).commit();
test(stateObject_051(), jpqlStateObject, query_051());
}
@Test
public void test_Query_052() throws Exception {
// SELECT DISTINCT object(c)
// FROM Customer c, IN(c.orders) co
// WHERE co.totalPrice = ALL (Select MIN(o.totalPrice) FROM Order o)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().toggleDistinct();
select.addSelectItem(new ObjectExpressionStateObject(select, "c"));
select.addRangeDeclaration("Customer", "c");
select.addCollectionDeclaration("c.orders", "co");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem(new MinFunctionStateObject(subquery, "o.totalPrice"));
subquery.addRangeDeclaration("Order", "o");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("co.totalPrice").equal(builder.all(subquery)).commit();
test(stateObject_052(), jpqlStateObject, query_052());
}
@Test
public void test_Query_053() throws Exception {
// SELECT DISTINCT object(c)
// FROM Customer c, IN(c.orders) co
// WHERE co.totalPrice < ALL (Select o.totalPrice
// FROM Order o, IN(o.lineItems) l
// WHERE l.quantity > 3)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().toggleDistinct();
select.addSelectItem(new ObjectExpressionStateObject(select, "c"));
select.addRangeDeclaration("Customer", "c");
select.addCollectionDeclaration("c.orders", "co");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("o.totalPrice");
subquery.addRangeDeclaration("Order", "o");
subquery.addCollectionDeclaration("o.lineItems", "l");
subquery.addWhereClause().getBuilder().path("l.quantity").greaterThan(3).commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("co.totalPrice").lowerThan(builder.all(subquery)).commit();
test(stateObject_053(), jpqlStateObject, query_053());
}
@Test
public void test_Query_054() throws Exception {
// SELECT DISTINCT object(c)
// FROM Customer c, IN(c.orders) co
// WHERE co.totalPrice > ALL (Select o.totalPrice
// FROM Order o, IN(o.lineItems) l
// WHERE l.quantity > 3)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().toggleDistinct();
select.addSelectItem(new ObjectExpressionStateObject(select, "c"));
select.addRangeDeclaration("Customer", "c");
select.addCollectionDeclaration("c.orders", "co");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("o.totalPrice");
subquery.addRangeDeclaration("Order", "o");
subquery.addCollectionDeclaration("o.lineItems", "l");
subquery.addWhereClause().getBuilder().path("l.quantity").greaterThan(3).commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("co.totalPrice").greaterThan(builder.all(subquery)).commit();
test(stateObject_054(), jpqlStateObject, query_054());
}
@Test
public void test_Query_055() throws Exception {
// SELECT DISTINCT c
// FROM Customer c JOIN c.orders o
// WHERE EXISTS (SELECT l
// FROM o.lineItems l
// where l.quantity > 3)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().toggleDistinct();
select.addRangeDeclaration("Customer", "c").addJoin("c.orders", "o");
select.addSelectItem("c");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem(new IdentificationVariableStateObject(subquery, "l"));
subquery.addDerivedPathDeclaration("o.lineItems", "l");
subquery.addWhereClause().getBuilder().path("l.quantity").greaterThan(3).commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.exists(subquery).commit();
test(stateObject_055(), jpqlStateObject, query_055());
}
@Test
public void test_Query_056() throws Exception {
// SELECT DISTINCT c
// FROM Customer c JOIN c.orders o
// WHERE EXISTS (SELECT o
// FROM c.orders o
// where o.totalPrice BETWEEN 1000 AND 1200)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().toggleDistinct();
select.addRangeDeclaration("Customer", "c").addJoin("c.orders", "o");
select.addSelectItem("c");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem(new IdentificationVariableStateObject(subquery, "o"));
subquery.addDerivedPathDeclaration("c.orders", "o");
IConditionalExpressionStateObjectBuilder subBuilder = subquery.addWhereClause().getBuilder();
subBuilder.path("o.totalPrice").between(subBuilder.numeric(1000), subBuilder.numeric(1200)).commit();
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.exists(subquery).commit();
test(stateObject_056(), jpqlStateObject, query_056());
}
@Test
public void test_Query_057_a() throws Exception {
// SELECT DISTINCT c
// from Customer c
// WHERE c.home.state IN(Select distinct w.state
// from c.work w
// where w.state = :state)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().setDistinct(true);
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c");
select.addWhereClause("c.home.state IN(Select distinct w.state from c.work w where w.state = :state)");
test(stateObject_057(), jpqlStateObject, query_057());
}
@Test
public void test_Query_057_b() throws Exception {
// SELECT DISTINCT c
// from Customer c
// WHERE c.home.state IN(Select distinct w.state
// from c.work w
// where w.state = :state)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(jpqlStateObject);
subquery.getSelectClause().setDistinct(true);
subquery.setSelectItem("w.state");
subquery.addDerivedPathDeclaration("c.work", "w");
subquery.addWhereClause().getBuilder().path("w.state").equal(":state").commit();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().setDistinct(true);
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("c.home.state").in(subquery).commit();
test(stateObject_057(), jpqlStateObject, query_057());
}
@Test
public void test_Query_058_a() throws Exception {
// Select Object(o)
// from Order o
// WHERE EXISTS (Select c
// From o.customer c
// WHERE c.name LIKE '%Caruso')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(jpqlStateObject);
subquery.setSelectItem(new IdentificationVariableStateObject(subquery, "c"));
WhereClauseStateObject where = subquery.addWhereClause();
where.setConditional(new LikeExpressionStateObject(
where,
new StateFieldPathExpressionStateObject(where, "c.name"),
new StringLiteralStateObject(where, "'%Caruso'")
));
DerivedPathIdentificationVariableDeclarationStateObject derivedPath = subquery.addDerivedPathDeclaration();
derivedPath.setRootPath("o.customer");
derivedPath.setIdentificationVariable("c");
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o");
select.addSelectItem(new ObjectExpressionStateObject(select, "o"));
where = select.addWhereClause();
where.setConditional(new ExistsExpressionStateObject(where, subquery));
test(stateObject_058(), jpqlStateObject, query_058());
}
@Test
public void test_Query_058_b() throws Exception {
// Select Object(o)
// from Order o
// WHERE EXISTS (Select c
// From o.customer c
// WHERE c.name LIKE '%Caruso')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addSelectItem("Object(o)");
select.getFromClause().parse("Order o");
select.addWhereClause("EXISTS (Select c From o.customer c WHERE c.name LIKE '%Caruso')");
test(stateObject_058(), jpqlStateObject, query_058());
}
@Test
public void test_Query_058_c() throws Exception {
// Select Object(o)
// from Order o
// WHERE EXISTS (Select c
// From o.customer c
// WHERE c.name LIKE '%Caruso')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addSelectItem("Object(o)");
select.addRangeDeclaration("Order", "o");
select.addWhereClause().parse("EXISTS (Select c From o.customer c WHERE c.name LIKE '%Caruso')");
test(stateObject_058(), jpqlStateObject, query_058());
}
@Test
public void test_Query_058_d() throws Exception {
// Select Object(o)
// from Order o
// WHERE EXISTS (Select c
// From o.customer c
// WHERE c.name LIKE '%Caruso')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addSelectItem("OBJECT(o)");
select.getFromClause().parse("Order o");
ExistsExpressionStateObject exists = new ExistsExpressionStateObject(select);
exists.parse("Select c From o.customer c WHERE c.name LIKE '%Caruso'");
select.addWhereClause().setConditional(exists);
test(stateObject_058(), jpqlStateObject, query_058());
}
@Test
public void test_Query_059_a() throws Exception {
// SELECT DISTINCT c
// FROM Customer c
// WHERE EXISTS (SELECT o
// FROM c.orders o
// where o.totalPrice > 1500)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().setDistinct(true);
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c");
select.addWhereClause("EXISTS (SELECT o FROM c.orders o where o.totalPrice > 1500)");
test(stateObject_059(), jpqlStateObject, query_059());
}
@Test
public void test_Query_059_b() throws Exception {
// SELECT DISTINCT c
// FROM Customer c
// WHERE EXISTS (SELECT o
// FROM c.orders o
// where o.totalPrice > 1500)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().setDistinct(true);
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("o");
subquery.addDerivedPathDeclaration("c.orders", "o");
subquery.addWhereClause().getBuilder().path("o.totalPrice").greaterThan(1500).commit();
select.addWhereClause().getBuilder().exists(subquery).commit();
test(stateObject_059(), jpqlStateObject, query_059());
}
@Test
public void test_Query_060() throws Exception {
// SELECT c
// FROM Customer c
// WHERE NOT EXISTS (SELECT o1 FROM c.orders o1)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("o1");
subquery.addDerivedPathDeclaration("c.orders", "o1");
select.addWhereClause().getBuilder().notExists(subquery).commit();
test(stateObject_060(), jpqlStateObject, query_060());
}
@Test
public void test_Query_061() throws Exception {
// select object(o)
// FROM Order o
// Where SQRT(o.totalPrice) > :doubleValue
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o");
select.addSelectItem(new ObjectExpressionStateObject(select, "o"));
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.sqrt(builder.path("o.totalPrice")).greaterThan(builder.parameter(":doubleValue")).commit();
test(stateObject_061(), jpqlStateObject, query_061());
}
@Test
public void test_Query_062() throws Exception {
// select sum(o.totalPrice)
// FROM Order o
// GROUP BY o.totalPrice
// HAVING ABS(o.totalPrice) = :doubleValue
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectBuilder().sum("o.totalPrice").commit();
select.addRangeDeclaration("Order", "o");
select.addGroupByClause().addGroupByItem("o.totalPrice");
IConditionalExpressionStateObjectBuilder builder = select.addHavingClause().getBuilder();
builder.abs(builder.path("o.totalPrice")).greaterThan(builder.parameter(":doubleValue")).commit();
test(stateObject_062(), jpqlStateObject, query_062());
}
@Test
public void test_Query_063() throws Exception {
// select c.name
// FROM Customer c
// Group By c.name
// HAVING trim(TRAILING from c.name) = ' David R. Vincent'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c.name");
select.addGroupByClause().addGroupByItem("c.name");
IConditionalExpressionStateObjectBuilder builder = select.addHavingClause().getBuilder();
builder.trim(Specification.TRAILING, builder.path("c.name"))
.equal(
builder.string("' David R. Vincent'")
)
.commit();
test(stateObject_063(), jpqlStateObject, query_063());
}
@Test
public void test_Query_064() throws Exception {
// select c.name
// FROM Customer c
// Group By c.name
// Having trim(LEADING from c.name) = 'David R. Vincent '
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c.name");
select.addGroupByClause().addGroupByItem("c.name");
IConditionalExpressionStateObjectBuilder builder = select.addHavingClause().getBuilder();
builder.trim(Specification.LEADING, builder.path("c.name"))
.equal(
builder.string("'David R. Vincent '")
)
.commit();
test(stateObject_064(), jpqlStateObject, query_064());
}
@Test
public void test_Query_065() throws Exception {
// select c.name
// FROM Customer c
// Group by c.name
// HAVING trim(BOTH from c.name) = ' David R. Vincent'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c.name");
select.addGroupByClause().addGroupByItem("c.name");
IConditionalExpressionStateObjectBuilder builder = select.addHavingClause().getBuilder();
builder.trim(Specification.BOTH, builder.path("c.name"))
.equal(
builder.string("'David R. Vincent'")
)
.commit();
test(stateObject_065(), jpqlStateObject, query_065());
}
@Test
public void test_Query_066() throws Exception {
// select c.name
// FROM Customer c
// GROUP BY c.name
// HAVING LOCATE('Frechette', c.name) > 0
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c.name");
select.addGroupByClause().addGroupByItem("c.name");
IConditionalExpressionStateObjectBuilder builder = select.addHavingClause().getBuilder();
builder.locate(builder.string("'Frechette'"), builder.path("c.name")).greaterThan(0).commit();
test(stateObject_066(), jpqlStateObject, query_066());
}
@Test
public void test_Query_067() throws Exception {
// select a.city
// FROM Customer c JOIN c.home a
// GROUP BY a.city
// HAVING LENGTH(a.city) = 10
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c").addJoin("c.home", "a");
select.addSelectItem("a.city");
select.addGroupByClause("a.city");
IConditionalExpressionStateObjectBuilder builder = select.addHavingClause().getBuilder();
builder.length(builder.path("a.city")).equal(10).commit();
test(stateObject_067(), jpqlStateObject, query_067());
}
@Test
public void test_Query_068_a() throws Exception {
// select count(cc.country)
// FROM Customer c JOIN c.country cc
// GROUP BY cc.country
// HAVING UPPER(cc.country) = 'ENGLAND'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c").addJoin("c.country", "cc");
select.addSelectItem(new CountFunctionStateObject(select, "cc.country"));
select.addGroupByClause("cc.country");
select.addHavingClause("UPPER(cc.country) = 'ENGLAND'");
test(stateObject_068(), jpqlStateObject, query_068());
}
@Test
public void test_Query_068_b() throws Exception {
// select count(cc.country)
// FROM Customer c JOIN c.country cc
// GROUP BY cc.country
// HAVING UPPER(cc.country) = 'ENGLAND'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c").addJoin("c.country", "cc");
select.addSelectItem(new CountFunctionStateObject(select, "cc.country"));
select.addGroupByClause("cc.country");
IConditionalExpressionStateObjectBuilder builder = select.addHavingClause().getBuilder();
builder.upper(builder.path("cc.country")).equal(builder.string("'ENGLAND'")).commit();
test(stateObject_068(), jpqlStateObject, query_068());
}
@Test
public void test_Query_069() throws Exception {
// select count(cc.country)
// FROM Customer c JOIN c.country cc
// GROUP BY cc.code
// HAVING LOWER(cc.code) = 'gbr'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addSelectItem(new CountFunctionStateObject(select, "cc.code"));
select.addRangeDeclaration("Customer", "c").addJoin("c.country", "cc");
select.addGroupByClause("cc.code");
IConditionalExpressionStateObjectBuilder builder = select.addHavingClause().getBuilder();
builder.lower(builder.path("cc.code")).equal(builder.string("'gbr'")).commit();
test(stateObject_069(), jpqlStateObject, query_069());
}
@Test
public void test_Query_070_a() throws Exception {
// select c.name
// FROM Customer c
// Group By c.name
// HAVING c.name = concat(:fmname, :lname)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c.name");
select.addGroupByClause().addGroupByItem("c.name");
select.addHavingClause("c.name = concat(:fmname, :lname)");
test(stateObject_070(), jpqlStateObject, query_070());
}
@Test
public void test_Query_070_b() throws Exception {
// select c.name
// FROM Customer c
// Group By c.name
// HAVING c.name = concat(:fmname, :lname)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c.name");
select.addGroupByClause().addGroupByItem("c.name");
IConditionalExpressionStateObjectBuilder builder = select.addHavingClause().getBuilder();
builder.path("c.name")
.equal(
builder.concat(builder.parameter(":fmname"), builder.parameter(":lname"))
)
.commit();
test(stateObject_070(), jpqlStateObject, query_070());
}
@Test
public void test_Query_071_a() throws Exception {
// select count(c)
// FROM Customer c JOIN c.aliases a
// GROUP BY a.alias
// HAVING a.alias = SUBSTRING(:string1, :int1, :int2)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c").addJoin("c.aliases", "a");
select.addSelectItem(new CountFunctionStateObject(select, "c"));
select.addGroupByClause().addGroupByItem("a.alias");
select.addHavingClause("a.alias = SUBSTRING(:string1, :int1, :int2)");
test(stateObject_071(), jpqlStateObject, query_071());
}
@Test
public void test_Query_071_b() throws Exception {
// select count(c)
// FROM Customer c JOIN c.aliases a
// GROUP BY a.alias
// HAVING a.alias = SUBSTRING(:string1, :int1, :int2)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c").addJoin("c.aliases", "a");
select.addSelectItem(new CountFunctionStateObject(select, "c"));
select.addGroupByClause().addGroupByItem("a.alias");
IConditionalExpressionStateObjectBuilder builder = select.addHavingClause().getBuilder();
builder.path("a.alias")
.equal(
builder.substring(
builder.parameter(":string1"),
builder.parameter(":int1"),
builder.parameter(":int2")
)
)
.commit();
test(stateObject_071(), jpqlStateObject, query_071());
}
@Test
public void test_Query_072_a() throws Exception {
// select c.country.country
// FROM Customer c
// GROUP BY c.country.country
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c.country.country");
select.addGroupByClause("c.country.country");
test(stateObject_072(), jpqlStateObject, query_072());
}
@Test
public void test_Query_072_b() throws Exception {
// select c.country.country
// FROM Customer c
// GROUP BY c.country.country
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c.country.country");
select.addGroupByClause().addGroupByItem("c.country.country");
test(stateObject_072(), jpqlStateObject, query_072());
}
@Test
public void test_Query_073_a() throws Exception {
// select Count(c)
// FROM Customer c JOIN c.country cc
// GROUP BY cc.code
// HAVING cc.code IN ('GBR', 'CHA')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c").addJoin("c.country", "cc");
select.addSelectItem("Count(c)");
select.addGroupByClause("cc.code");
select.addHavingClause("cc.code IN ('GBR', 'CHA')");
test(stateObject_073(), jpqlStateObject, query_073());
}
@Test
public void test_Query_073_b() throws Exception {
// select Count(c)
// FROM Customer c JOIN c.country cc
// GROUP BY cc.code
// HAVING cc.code IN ('GBR', 'CHA')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c").addJoin("c.country", "cc");
select.addSelectItem(new CountFunctionStateObject(select, "c"));
select.addGroupByClause().addGroupByItem("cc.code");
IConditionalExpressionStateObjectBuilder builder = select.addHavingClause().getBuilder();
builder.path("cc.code").in(builder.string("'GBR'"), builder.string("'CHA'")).commit();
test(stateObject_073(), jpqlStateObject, query_073());
}
@Test
public void test_Query_074_a() throws Exception {
// select c.name
// FROM Customer c JOIN c.orders o
// WHERE o.totalPrice BETWEEN 90 AND 160
// GROUP BY c.name
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c").addJoin("c.orders", "o");
select.addSelectItem("c.name");
select.addGroupByClause().addGroupByItem("c.name");
select.addWhereClause("o.totalPrice BETWEEN 90 AND 160");
test(stateObject_074(), jpqlStateObject, query_074());
}
@Test
public void test_Query_074_b() throws Exception {
// select c.name
// FROM Customer c JOIN c.orders o
// WHERE o.totalPrice BETWEEN 90 AND 160
// GROUP BY c.name
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c").addJoin("c.orders", "o");
select.addSelectItem("c.name");
select.addGroupByClause().addGroupByItem("c.name");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("o.totalPrice")
.between(
builder.numeric(90),
builder.numeric(160)
)
.commit();
test(stateObject_074(), jpqlStateObject, query_074());
}
@Test
public void test_Query_075_a() throws Exception {
// select Object(o)
// FROM Order AS o
// WHERE o.customer.id = '1001' OR o.totalPrice > 10000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
select.addWhereClause("o.customer.id = '1001' OR o.totalPrice > 10000");
test(stateObject_075(), jpqlStateObject, query_075());
}
@Test
public void test_Query_075_b() throws Exception {
// select Object(o)
// FROM Order AS o
// WHERE o.customer.id = '1001' OR o.totalPrice > 10000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("o.customer.id").equal(builder.string("'1001'"))
.or(
builder.path("o.totalPrice").greaterThan(10000)
)
.commit();
test(stateObject_075(), jpqlStateObject, query_075());
}
@Test
public void test_Query_076_a() throws Exception {
// select Distinct Object(o)
// FROM Order AS o
// WHERE o.customer.id = '1001' OR o.totalPrice < 1000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().setDistinct(true);
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
select.addWhereClause("o.customer.id = '1001' OR o.totalPrice < 1000");
test(stateObject_076(), jpqlStateObject, query_076());
}
@Test
public void test_Query_076_b() throws Exception {
// select Distinct Object(o)
// FROM Order AS o
// WHERE o.customer.id = '1001' OR o.totalPrice < 1000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().setDistinct(true);
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("o.customer.id").equal(builder.string("'1001'"))
.or(
builder.path("o.totalPrice").lowerThan(1000)
)
.commit();
test(stateObject_076(), jpqlStateObject, query_076());
}
@Test
public void test_Query_077_a() throws Exception {
// select Object(o)
// FROM Order AS o
// WHERE o.customer.name = 'Karen R. Tegan' OR o.totalPrice > 10000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
select.addWhereClause("o.customer.name = 'Karen R. Tegan' OR o.totalPrice > 10000");
test(stateObject_077(), jpqlStateObject, query_077());
}
@Test
public void test_Query_077_b() throws Exception {
// select Object(o)
// FROM Order AS o
// WHERE o.customer.name = 'Karen R. Tegan' OR o.totalPrice > 10000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("o.customer.name").equal(builder.string("'Karen R. Tegan'"))
.or(
builder.path("o.totalPrice").lowerThan(10000)
)
.commit();
test(stateObject_077(), jpqlStateObject, query_077());
}
@Test
public void test_Query_078_a() throws Exception {
// select DISTINCT o
// FROM Order AS o
// WHERE o.customer.name = 'Karen R. Tegan' OR o.totalPrice > 5000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().setDistinct(true);
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("o");
select.addWhereClause("o.customer.name = 'Karen R. Tegan' OR o.totalPrice > 5000");
test(stateObject_078(), jpqlStateObject, query_078());
}
@Test
public void test_Query_078_b() throws Exception {
// select DISTINCT o
// FROM Order AS o
// WHERE o.customer.name = 'Karen R. Tegan' OR o.totalPrice > 5000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.getSelectClause().setDistinct(true);
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("o");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("o.customer.name").equal(builder.string("'Karen R. Tegan'"))
.or(
builder.path("o.totalPrice").greaterThan(5000)
)
.commit();
test(stateObject_078(), jpqlStateObject, query_078());
}
@Test
public void test_Query_079_a() throws Exception {
// select Object(o)
// FROM Order AS o
// WHERE o.customer.id = '1001' AND o.totalPrice > 10000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
select.addWhereClause("o.customer.id = '1001' AND o.totalPrice > 10000");
test(stateObject_079(), jpqlStateObject, query_079());
}
@Test
public void test_Query_079_b() throws Exception {
// select Object(o)
// FROM Order AS o
// WHERE o.customer.id = '1001' AND o.totalPrice > 10000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("o.customer.id").equal(builder.string("'1001'"))
.and(
builder.path("o.totalPrice").greaterThan(10000)
)
.commit();
test(stateObject_079(), jpqlStateObject, query_079());
}
@Test
public void test_Query_080_a() throws Exception {
// select Object(o)
// FROM Order AS o
// WHERE o.customer.id = '1001' AND o.totalPrice < 1000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
select.addWhereClause("o.customer.id = '1001' AND o.totalPrice < 1000");
test(stateObject_080(), jpqlStateObject, query_080());
}
@Test
public void test_Query_080_b() throws Exception {
// select Object(o)
// FROM Order AS o
// WHERE o.customer.id = '1001' AND o.totalPrice < 1000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("o.customer.id").equal(builder.string("'1001'"))
.and(
builder.path("o.totalPrice").lowerThan(1000)
)
.commit();
test(stateObject_080(), jpqlStateObject, query_080());
}
@Test
public void test_Query_081_a() throws Exception {
// select Object(o)
// FROM Order AS o
// WHERE o.customer.name = 'Karen R. Tegan' AND o.totalPrice > 10000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
select.addWhereClause("o.customer.name = 'Karen R. Tegan' AND o.totalPrice > 10000");
test(stateObject_081(), jpqlStateObject, query_081());
}
@Test
public void test_Query_081_b() throws Exception {
// select Object(o)
// FROM Order AS o
// WHERE o.customer.name = 'Karen R. Tegan' AND o.totalPrice > 10000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("o.customer.name").equal(builder.string("'Karen R. Tegan'"))
.and(
builder.path("o.totalPrice").greaterThan(10000)
)
.commit();
test(stateObject_081(), jpqlStateObject, query_081());
}
@Test
public void test_Query_082_a() throws Exception {
// select Object(o)
// FROM Order AS o
// WHERE o.customer.name = 'Karen R. Tegan' AND o.totalPrice > 500
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
select.addWhereClause("o.customer.name = 'Karen R. Tegan' AND o.totalPrice > 500");
test(stateObject_082(), jpqlStateObject, query_082());
}
@Test
public void test_Query_082_b() throws Exception {
// select Object(o)
// FROM Order AS o
// WHERE o.customer.name = 'Karen R. Tegan' AND o.totalPrice > 500
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Order", "o").getRangeVariableDeclaration().setAs(true);
select.addSelectItem("Object(o)");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("o.customer.name").equal(builder.string("'Karen R. Tegan'"))
.and(
builder.path("o.totalPrice").greaterThan(500)
)
.commit();
test(stateObject_082(), jpqlStateObject, query_082());
}
//@Test
public void test_Query_083() throws Exception {
// SELECT DISTINCT p
// From Product p
// where p.shelfLife.soldDate NOT BETWEEN :date1 AND :newdate
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_083(), jpqlStateObject, query_083());
}
//@Test
public void test_Query_084() throws Exception {
// SELECT DISTINCT o
// From Order o
// where o.totalPrice NOT BETWEEN 1000 AND 1200
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_084(), jpqlStateObject, query_084());
}
//@Test
public void test_Query_085() throws Exception {
// SELECT DISTINCT p
// From Product p
// where p.shelfLife.soldDate BETWEEN :date1 AND :date6
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_085(), jpqlStateObject, query_085());
}
//@Test
public void test_Query_086() throws Exception {
// SELECT DISTINCT a
// from Alias a LEFT JOIN FETCH a.customers
// where a.alias LIKE 'a%'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_086(), jpqlStateObject, query_086());
}
//@Test
public void test_Query_087() throws Exception {
// select Object(o)
// from Order o LEFT JOIN FETCH o.customer
// where o.customer.name LIKE '%Caruso'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_087(), jpqlStateObject, query_087());
}
//@Test
public void test_Query_088() throws Exception {
// select o
// from Order o LEFT JOIN FETCH o.customer
// where o.customer.home.city='Lawrence'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_088(), jpqlStateObject, query_088());
}
//@Test
public void test_Query_089() throws Exception {
// SELECT DISTINCT c
// from Customer c LEFT JOIN FETCH c.orders
// where c.home.state IN('NY','RI')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_089(), jpqlStateObject, query_089());
}
//@Test
public void test_Query_090() throws Exception {
// SELECT c
// from Customer c JOIN FETCH c.spouse
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Customer", "c");
select.addSelectItem("c");
test(stateObject_090(), jpqlStateObject, query_090());
}
//@Test
public void test_Query_091() throws Exception {
// SELECT Object(c)
// from Customer c INNER JOIN c.aliases a
// where a.alias = :aName
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_091(), jpqlStateObject, query_091());
}
//@Test
public void test_Query_092() throws Exception {
// SELECT Object(o)
// from Order o INNER JOIN o.customer cust
// where cust.name = ?1
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_092(), jpqlStateObject, query_092());
}
//@Test
public void test_Query_093() throws Exception {
// SELECT DISTINCT object(c)
// from Customer c INNER JOIN c.creditCards cc
// where cc.type='VISA'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_093(), jpqlStateObject, query_093());
}
//@Test
public void test_Query_094() throws Exception {
// SELECT c
// from Customer c INNER JOIN c.spouse s
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_094(), jpqlStateObject, query_094());
}
//@Test
public void test_Query_095() throws Exception {
// select cc.type
// FROM CreditCard cc JOIN cc.customer cust
// GROUP BY cc.type
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_095(), jpqlStateObject, query_095());
}
public void test_Query_096() throws Exception {
// select cc.code
// FROM Customer c JOIN c.country cc
// GROUP BY cc.code
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_096(), jpqlStateObject, query_096());
}
public void test_Query_097() throws Exception {
// select Object(c)
// FROM Customer c JOIN c.aliases a
// where LOWER(a.alias)='sjc'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_097(), jpqlStateObject, query_097());
}
public void test_Query_098() throws Exception {
// select Object(c)
// FROM Customer c JOIN c.aliases a
// where UPPER(a.alias)='SJC'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_098(), jpqlStateObject, query_098());
}
public void test_Query_099() throws Exception {
// SELECT c.id, a.alias
// from Customer c LEFT OUTER JOIN c.aliases a
// where c.name LIKE 'Ste%'
// ORDER BY a.alias, c.id
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_099(), jpqlStateObject, query_099());
}
public void test_Query_100() throws Exception {
// SELECT o.id, cust.id
// from Order o LEFT OUTER JOIN o.customer cust
// where cust.name=?1
// ORDER BY o.id
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_100(), jpqlStateObject, query_100());
}
public void test_Query_101() throws Exception {
// SELECT DISTINCT c
// from Customer c LEFT OUTER JOIN c.creditCards cc
// where c.name LIKE '%Caruso'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_101(), jpqlStateObject, query_101());
}
public void test_Query_102() throws Exception {
// SELECT Sum(p.quantity)
// FROM Product p
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_102(), jpqlStateObject, query_102());
}
public void test_Query_103() throws Exception {
// Select Count(c.home.city)
// from Customer c
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_103(), jpqlStateObject, query_103());
}
public void test_Query_104() throws Exception {
// SELECT Sum(p.price)
// FROM Product p
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_104(), jpqlStateObject, query_104());
}
public void test_Query_105() throws Exception {
// SELECT AVG(o.totalPrice)
// FROM Order o
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_105(), jpqlStateObject, query_105());
}
public void test_Query_106() throws Exception {
// SELECT DISTINCT MAX(l.quantity)
// FROM LineItem l
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_106(), jpqlStateObject, query_106());
}
public void test_Query_107() throws Exception {
// SELECT DISTINCT MIN(o.id)
// FROM Order o
// where o.customer.name = 'Robert E. Bissett'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_107(), jpqlStateObject, query_107());
}
public void test_Query_108() throws Exception {
// SELECT NEW com.sun.ts.tests.ejb30.persistence.query.language.schema30.Customer(c.id, c.name)
// FROM Customer c
// where c.work.city = :workcity
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_108(), jpqlStateObject, query_108());
}
public void test_Query_109() throws Exception {
// SELECT DISTINCT c
// FROM Customer c
// WHERE SIZE(c.orders) > 100
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_109(), jpqlStateObject, query_109());
}
public void test_Query_110() throws Exception {
// SELECT DISTINCT c
// FROM Customer c
// WHERE SIZE(c.orders) >= 2
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_110(), jpqlStateObject, query_110());
}
public void test_Query_111() throws Exception {
// select Distinct c
// FROM Customer c LEFT OUTER JOIN c.work workAddress
// where workAddress.zip IS NULL
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_111(), jpqlStateObject, query_111());
}
public void test_Query_112() throws Exception {
// SELECT DISTINCT c
// FROM Customer c, IN(c.orders) o
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_112(), jpqlStateObject, query_112());
}
public void test_Query_113() throws Exception {
// Select Distinct Object(c)
// from Customer c
// where c.name is null
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_113(), jpqlStateObject, query_113());
}
public void test_Query_114() throws Exception {
// Select c.name
// from Customer c
// where c.home.street = '212 Edgewood Drive'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_114(), jpqlStateObject, query_114());
}
public void test_Query_115() throws Exception {
// Select s.customer
// from Spouse s
// where s.id = '6'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_115(), jpqlStateObject, query_115());
}
public void test_Query_116() throws Exception {
// Select c.work.zip
// from Customer c
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_116(), jpqlStateObject, query_116());
}
public void test_Query_117() throws Exception {
// SELECT Distinct Object(c)
// From Customer c, IN(c.home.phones) p
// where p.area LIKE :area
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_117(), jpqlStateObject, query_117());
}
public void test_Query_118() throws Exception {
// SELECT DISTINCT Object(c)
// from Customer c, in(c.aliases) a
// where NOT a.customerNoop IS NULL
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_118(), jpqlStateObject, query_118());
}
public void test_Query_119() throws Exception {
// select distinct object(c)
// fRoM Customer c, IN(c.aliases) a
// where c.name = :cName OR a.customerNoop IS NULL
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_119(), jpqlStateObject, query_119());
}
public void test_Query_120() throws Exception {
// select Distinct Object(c)
// from Customer c, in(c.aliases) a
// where c.name = :cName AND a.customerNoop IS NULL
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_120(), jpqlStateObject, query_120());
}
public void test_Query_121() throws Exception {
// sElEcT Distinct oBJeCt(c)
// FROM Customer c, IN(c.aliases) a
// WHERE a.customerNoop IS NOT NULL
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_121(), jpqlStateObject, query_121());
}
public void test_Query_122() throws Exception {
// select distinct Object(c)
// FROM Customer c, in(c.aliases) a
// WHERE a.alias LIKE '%\\_%' escape '\\'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_122(), jpqlStateObject, query_122());
}
public void test_Query_123() throws Exception {
// Select Distinct Object(c)
// FROM Customer c, in(c.aliases) a
// WHERE a.customerNoop IS NULL
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_123(), jpqlStateObject, query_123());
}
public void test_Query_124() throws Exception {
// Select Distinct o.creditCard.balance
// from Order o
// ORDER BY o.creditCard.balance ASC
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_124(), jpqlStateObject, query_124());
}
public void test_Query_125() throws Exception {
// Select c.work.zip
// from Customer c
// where c.work.zip IS NOT NULL
// ORDER BY c.work.zip ASC
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_125(), jpqlStateObject, query_125());
}
public void test_Query_126() throws Exception {
// SELECT a.alias
// FROM Alias AS a
// WHERE (a.alias IS NULL AND :param1 IS NULL) OR a.alias = :param1
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_126(), jpqlStateObject, query_126());
}
public void test_Query_127() throws Exception {
// Select Object(c)
// from Customer c
// where c.aliasesNoop IS NOT EMPTY or c.id <> '1'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_127(), jpqlStateObject, query_127());
}
public void test_Query_128() throws Exception {
// Select Distinct Object(p)
// from Product p
// where p.name = ?1
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_128(), jpqlStateObject, query_128());
}
public void test_Query_129() throws Exception {
// Select Distinct Object(p)
// from Product p
// where (p.quantity > (500 + :int1)) AND (p.partNumber IS NULL)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_129(), jpqlStateObject, query_129());
}
public void test_Query_130() throws Exception {
// Select Distinct Object(o)
// from Order o
// where o.customer.name IS NOT NULL
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_130(), jpqlStateObject, query_130());
}
public void test_Query_131() throws Exception {
// Select DISTINCT Object(p)
// From Product p
// where (p.quantity < 10) OR (p.quantity > 20)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_131(), jpqlStateObject, query_131());
}
public void test_Query_132() throws Exception {
// Select DISTINCT Object(p)
// From Product p
// where p.quantity NOT BETWEEN 10 AND 20
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_132(), jpqlStateObject, query_132());
}
public void test_Query_133() throws Exception {
// Select DISTINCT OBJECT(p)
// From Product p
// where (p.quantity >= 10) AND (p.quantity <= 20)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_133(), jpqlStateObject, query_133());
}
public void test_Query_134() throws Exception {
// Select DISTINCT OBJECT(p)
// From Product p
// where p.quantity BETWEEN 10 AND 20
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_134(), jpqlStateObject, query_134());
}
public void test_Query_135() throws Exception {
// Select Distinct OBJECT(c)
// from Customer c, IN(c.creditCards) b
// where SQRT(b.balance) = :dbl
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_135(), jpqlStateObject, query_135());
}
public void test_Query_136() throws Exception {
// Select Distinct OBJECT(c)
// From Product p
// where MOD(550, 100) = p.quantity
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_136(), jpqlStateObject, query_136());
}
public void test_Query_137() throws Exception {
// SELECT DISTINCT Object(c)
// from Customer c
// WHERE (c.home.state = 'NH') OR (c.home.state = 'RI')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_137(), jpqlStateObject, query_137());
}
public void test_Query_138() throws Exception {
// SELECT DISTINCT Object(c)
// from Customer c
// where c.home.state IN('NH', 'RI')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_138(), jpqlStateObject, query_138());
}
@Test
public void test_Query_139() throws Exception {
// SELECT o
// FROM Customer c JOIN c.orders o JOIN c.address a
// WHERE a.state = 'CA'
// ORDER BY o.quantity DESC, o.totalcost
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addSelectItem("o");
IdentificationVariableDeclarationStateObject range = select.addRangeDeclaration("Customer", "c");
range.addJoin("c.orders", "o");
range.addJoin("c.address", "a");
select.addWhereClause().getBuilder().path("a.state").equal("'CA'").commit();
select.addOrderByClause().addItemDesc("o.quantity");
select.getOrderByClause().addItem("o.totalcost");
test(stateObject_139(), jpqlStateObject, query_139());
}
public void test_Query_140() throws Exception {
// SELECT c
// from Customer c
// where c.home.city IN(:city)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_140(), jpqlStateObject, query_140());
}
public void test_Query_141() throws Exception {
// Select Distinct Object(o)
// from Order o, in(o.lineItems) l
// where l.quantity NOT IN (1, 5)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_141(), jpqlStateObject, query_141());
}
public void test_Query_142() throws Exception {
// Select Distinct Object(o)
// FROM Order o
// WHERE o.sampleLineItem MEMBER OF o.lineItems
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_142(), jpqlStateObject, query_142());
}
public void test_Query_143() throws Exception {
// Select Distinct Object(o)
// FROM Order o
// WHERE :param NOT MEMBER o.lineItems
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_143(), jpqlStateObject, query_143());
}
public void test_Query_144() throws Exception {
// Select Distinct Object(o)
// FROM Order o, LineItem l
// WHERE l MEMBER o.lineItems
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_144(), jpqlStateObject, query_144());
}
public void test_Query_145() throws Exception {
// select distinct Object(c)
// FROM Customer c, in(c.aliases) a
// WHERE a.alias LIKE 'sh\\_ll' escape '\\'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_145(), jpqlStateObject, query_145());
}
public void test_Query_146() throws Exception {
// Select Distinct Object(a)
// FROM Alias a
// WHERE a.customerNoop NOT MEMBER OF a.customersNoop
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_146(), jpqlStateObject, query_146());
}
public void test_Query_147() throws Exception {
// Select Distinct Object(a)
// FROM Alias a
// WHERE a.customerNoop MEMBER OF a.customersNoop
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_147(), jpqlStateObject, query_147());
}
public void test_Query_148() throws Exception {
// Select Distinct Object(a)
// from Alias a
// where LOCATE('ev', a.alias) = 3
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_148(), jpqlStateObject, query_148());
}
public void test_Query_149() throws Exception {
// Select DISTINCT Object(o)
// From Order o
// WHERE o.totalPrice > ABS(:dbl)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_149(), jpqlStateObject, query_149());
}
public void test_Query_150() throws Exception {
// Select Distinct OBjeCt(a)
// From Alias a
// WHERE LENGTH(a.alias) > 4
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_150(), jpqlStateObject, query_150());
}
public void test_Query_151() throws Exception {
// Select Distinct Object(a)
// From Alias a
// WHERE a.alias = SUBSTRING(:string1, :int2, :int3)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_151(), jpqlStateObject, query_151());
}
public void test_Query_152() throws Exception {
// Select Distinct Object(a)
// From Alias a
// WHERE a.alias = CONCAT('ste', 'vie')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_152(), jpqlStateObject, query_152());
}
public void test_Query_153() throws Exception {
// Select Distinct Object(c)
// FROM Customer c
// WHERE c.work.zip IS NOT NULL
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_153(), jpqlStateObject, query_153());
}
public void test_Query_154() throws Exception {
// sELEct dIsTiNcT oBjEcT(c)
// FROM Customer c
// WHERE c.work.zip IS NULL
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_154(), jpqlStateObject, query_154());
}
public void test_Query_155() throws Exception {
// Select Distinct Object(c)
// FROM Customer c
// WHERE c.aliases IS NOT EMPTY
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_155(), jpqlStateObject, query_155());
}
public void test_Query_156() throws Exception {
// Select Distinct Object(c)
// FROM Customer c
// WHERE c.aliases IS EMPTY
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_156(), jpqlStateObject, query_156());
}
public void test_Query_157() throws Exception {
// Select Distinct Object(c)
// FROM Customer c
// WHERE c.home.zip not like '%44_'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_157(), jpqlStateObject, query_157());
}
public void test_Query_158() throws Exception {
// Select Distinct Object(c)
// FROM Customer c
// WHERE c.home.zip LIKE '%77'"
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_158(), jpqlStateObject, query_158());
}
public void test_Query_159() throws Exception {
// Select Distinct Object(c)
// FROM Customer c Left Outer Join c.home h
// WHERE h.city Not iN ('Swansea', 'Brookline')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_159(), jpqlStateObject, query_159());
}
public void test_Query_160() throws Exception {
// select distinct c
// FROM Customer c
// WHERE c.home.city IN ('Lexington')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_160(), jpqlStateObject, query_160());
}
public void test_Query_161() throws Exception {
// sElEcT c
// FROM Customer c
// Where c.name = :cName
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_161(), jpqlStateObject, query_161());
}
public void test_Query_162() throws Exception {
// select distinct Object(o)
// From Order o
// WHERE o.creditCard.approved = FALSE
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_161(), jpqlStateObject, query_161());
}
public void test_Query_163() throws Exception {
// SELECT DISTINCT Object(o)
// From Order o
// where o.totalPrice NOT bETwEeN 1000 AND 1200
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_163(), jpqlStateObject, query_163());
}
public void test_Query_164() throws Exception {
// SELECT DISTINCT Object(o)
// From Order o
// where o.totalPrice BETWEEN 1000 AND 1200
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_164(), jpqlStateObject, query_164());
}
public void test_Query_165() throws Exception {
// SELECT DISTINCT Object(o)
// FROM Order o, in(o.lineItems) l
// WHERE l.quantity < 2 AND o.customer.name = 'Robert E. Bissett'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_165(), jpqlStateObject, query_165());
}
public void test_Query_166() throws Exception {
// select distinct Object(o)
// FROM Order AS o, in(o.lineItems) l
// WHERE (l.quantity < 2) AND ((o.totalPrice < (3 + 54 * 2 + -8)) OR (o.customer.name = 'Robert E. Bissett'))
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_166(), jpqlStateObject, query_166());
}
public void test_Query_167() throws Exception {
// SeLeCt DiStInCt oBjEcT(o)
// FROM Order AS o
// WHERE o.customer.name = 'Karen R. Tegan' OR o.totalPrice < 100
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_167(), jpqlStateObject, query_167());
}
public void test_Query_168() throws Exception {
// Select Distinct Object(o)
// FROM Order o
// WHERE NOT o.totalPrice < 4500
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_168(), jpqlStateObject, query_168());
}
public void test_Query_169() throws Exception {
// Select DISTINCT Object(P)
// From Product p
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_169(), jpqlStateObject, query_169());
}
public void test_Query_170() throws Exception {
// SELECT DISTINCT c
// from Customer c
// WHERE c.home.street = :street OR c.home.city = :city OR c.home.state = :state or c.home.zip = :zip
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_170(), jpqlStateObject, query_170());
}
public void test_Query_171() throws Exception {
// SELECT c
// from Customer c
// WHERE c.home.street = :street AND c.home.city = :city AND c.home.state = :state and c.home.zip = :zip
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_171(), jpqlStateObject, query_171());
}
public void test_Query_172() throws Exception {
// SELECT c
// from Customer c
// WHERE c.home.street = :street AND c.home.city = :city AND c.home.state = :state and c.home.zip = :zip
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_172(), jpqlStateObject, query_172());
}
public void test_Query_173() throws Exception {
// Select Distinct Object(c)
// FrOm Customer c, In(c.aliases) a
// WHERE a.alias = :aName
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_173(), jpqlStateObject, query_173());
}
public void test_Query_174() throws Exception {
// Select Distinct Object(c)
// FROM Customer AS c
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_174(), jpqlStateObject, query_174());
}
public void test_Query_175() throws Exception {
// Select Distinct o
// from Order AS o
// WHERE o.customer.name = :name
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_175(), jpqlStateObject, query_175());
}
public void test_Query_176() throws Exception {
// UPDATE Customer c SET c.name = 'CHANGED'
// WHERE c.orders IS NOT EMPTY
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_176(), jpqlStateObject, query_176());
}
public void test_Query_177() throws Exception {
// UPDATE DateTime SET date = CURRENT_DATE
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
UpdateStatementStateObject update = jpqlStateObject.addUpdateStatement();
update.setEntityName("DateTime");
test(stateObject_177(), jpqlStateObject, query_177());
}
public void test_Query_178() throws Exception {
// SELECT c
// FROM Customer c
// WHERE c.firstName = :first AND
// c.lastName = :last
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_178(), jpqlStateObject, query_178());
}
public void test_Query_179() throws Exception {
// SELECT OBJECT ( c ) FROM Customer AS c
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_179(), jpqlStateObject, query_179());
}
public void test_Query_180() throws Exception {
// SELECT c.firstName, c.lastName
// FROM Customer AS c
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_180(), jpqlStateObject, query_180());
}
public void test_Query_181() throws Exception {
// SELECT c.address.city
// FROM Customer AS c
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_181(), jpqlStateObject, query_181());
}
public void test_Query_182() throws Exception {
// SELECT new com.titan.domain.Name(c.firstName, c.lastName)
// FROM Customer c
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_182(), jpqlStateObject, query_182());
}
public void test_Query_183() throws Exception {
// SELECT cbn.ship
// FROM Customer AS c, IN ( c.reservations ) r, IN ( r.cabins ) cbn
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_183(), jpqlStateObject, query_183());
}
public void test_Query_184() throws Exception {
// Select c.firstName, c.lastName, p.number
// From Customer c Left Join c.phoneNumbers p
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_184(), jpqlStateObject, query_184());
}
public void test_Query_185() throws Exception {
// SELECT r
// FROM Reservation AS r
// WHERE (r.amountPaid * .01) > 300.00
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_185(), jpqlStateObject, query_185());
}
public void test_Query_186() throws Exception {
// SELECT s
// FROM Ship AS s
// WHERE s.tonnage >= 80000.00 AND s.tonnage <= 130000.00
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_186(), jpqlStateObject, query_186());
}
public void test_Query_187() throws Exception {
// SELECT r
// FROM Reservation r, IN ( r.customers ) AS cust
// WHERE cust = :specificCustomer
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_187(), jpqlStateObject, query_187());
}
public void test_Query_188() throws Exception {
// SELECT s
// FROM Ship AS s
// WHERE s.tonnage BETWEEN 80000.00 AND 130000.00
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_188(), jpqlStateObject, query_188());
}
public void test_Query_189() throws Exception {
// SELECT s
// FROM Ship AS s
// WHERE s.tonnage NOT BETWEEN 80000.00 AND 130000.00
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_189(), jpqlStateObject, query_189());
}
public void test_Query_190() throws Exception {
// SELECT c
// FROM Customer AS c
// WHERE c.address.state IN ('FL', 'TX', 'MI', 'WI', 'MN')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_190(), jpqlStateObject, query_190());
}
public void test_Query_191() throws Exception {
// SELECT cab
// FROM Cabin AS cab
// WHERE cab.deckLevel IN (1,3,5,7)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_191(), jpqlStateObject, query_191());
}
public void test_Query_192() throws Exception {
// SELECT c
// FROM Customer c
// WHERE c.address.state IN(?1, ?2, ?3, 'WI', 'MN')
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_192(), jpqlStateObject, query_192());
}
public void test_Query_193() throws Exception {
// SELECT c
// FROM Customer c
// WHERE c.address IS NULL
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_193(), jpqlStateObject, query_193());
}
public void test_Query_194() throws Exception {
// SELECT c
// FROM Customer c
// WHERE c.address.state = 'TX' AND
// c.lastName = 'Smith' AND
// c.firstName = 'John'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_194(), jpqlStateObject, query_194());
}
public void test_Query_195() throws Exception {
// SELECT crs
// FROM Cruise AS crs, IN(crs.reservations) AS res, Customer AS cust
// WHERE
// cust = :myCustomer
// AND
// cust MEMBER OF res.customers
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_196(), jpqlStateObject, query_196());
}
public void test_Query_196() throws Exception {
// SELECT c
// FROM Customer AS c
// WHERE LENGTH(c.lastName) > 6
// AND
// LOCATE( c.lastName, 'Monson' ) > -1
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_196(), jpqlStateObject, query_196());
}
public void test_Query_197() throws Exception {
// SELECT c
// FROM Customer AS C
// ORDER BY c.lastName
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_197(), jpqlStateObject, query_197());
}
public void test_Query_198() throws Exception {
// SELECT c
// FROM Customer AS C
// WHERE c.address.city = 'Boston' AND c.address.state = 'MA'
// ORDER BY c.lastName DESC
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_198(), jpqlStateObject, query_198());
}
public void test_Query_199() throws Exception {
// SELECT cr.name, COUNT (res)
// FROM Cruise cr LEFT JOIN cr.reservations res
// GROUP BY cr.name
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_199(), jpqlStateObject, query_199());
}
public void test_Query_200() throws Exception {
// SELECT cr.name, COUNT (res)
// FROM Cruise cr LEFT JOIN cr.reservations res
// GROUP BY cr.name
// HAVING count(res) > 10
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_200(), jpqlStateObject, query_200());
}
//@Test
public void test_Query_201() throws Exception {
// SELECT COUNT (res)
// FROM Reservation res
// WHERE res.amountPaid >
// (SELECT avg(r.amountPaid) FROM Reservation r)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Employee", "e");
select.addSelectItem("e");
test(stateObject_201(), jpqlStateObject, query_201());
}
@Test
public void test_Query_202() throws Exception {
// SELECT cr
// FROM Cruise cr
// WHERE 100000 < (
// SELECT SUM(res.amountPaid) FROM cr.reservations res
// )
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Cruise", "cr");
select.addSelectItem("cr");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem(new SumFunctionStateObject(subquery, "res.amountPaid"));
subquery.addDerivedPathDeclaration("cr.reservations", "res");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.numeric(100000).lowerThan(builder.sub(subquery)).commit();
test(stateObject_202(), jpqlStateObject, query_202());
}
@Test
public void test_Query_203() throws Exception {
// SELECT cr
// FROM Cruise cr
// WHERE 0 < ALL (
// SELECT res.amountPaid from cr.reservations res
// )
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addRangeDeclaration("Cruise", "cr");
select.addSelectItem("cr");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("res.amountPaid");
subquery.addDerivedPathDeclaration("cr.reservations", "res");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.numeric(0).lowerThan(builder.all(subquery)).commit();
test(stateObject_203(), jpqlStateObject, query_203());
}
@Test
public void test_Query_204() throws Exception {
// UPDATE Reservation res
// SET res.name = 'Pascal'
// WHERE EXISTS (
// SELECT c
// FROM res.customers c
// WHERE c.firstName = 'Bill' AND c.lastName='Burke'
// )
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
UpdateStatementStateObject update = jpqlStateObject.addUpdateStatement();
update.setDeclaration("Reservation", "res");
update.addItem("res.name", "'Pascal'");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(update);
subquery.setSelectItem("c");
subquery.addDerivedPathDeclaration("res.customers", "c");
IConditionalExpressionStateObjectBuilder builder = subquery.addWhereClause().getBuilder();
builder.
path("c.firstName").equal("'Bill'")
.and(
builder.path("c.lastName").equal("'Burke'")
)
.commit();
update.addWhereClause().getBuilder().exists(subquery).commit();
test(stateObject_204(), jpqlStateObject, query_204());
}
@Test
public void test_Query_205() throws Exception {
// SELECT o.quantity, a.zipcode
// FROM Customer c JOIN c.orders o JOIN c.address a
// WHERE a.state = 'CA'
// ORDER BY o.quantity, a.zipcode
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addSelectItem("o.quantity");
select.addSelectItem("a.zipcode");
IdentificationVariableDeclarationStateObject range = select.addRangeDeclaration("Customer", "c");
range.addJoin("c.orders", "o");
range.addJoin("c.address", "a");
select.addWhereClause().getBuilder().path("a.state").equal("'CA'").commit();
select.addOrderByClause().
addItem("o.quantity").getParent().
addItem("a.zipcode");
test(stateObject_205(), jpqlStateObject, query_205());
}
@Test
public void test_Query_219() throws Exception {
// DELETE
// FROM Customer c
// WHERE c.status = 'inactive'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
DeleteStatementStateObject delete = jpqlStateObject.addDeleteStatement();
delete.setDeclaration("Customer", "c");
IConditionalExpressionStateObjectBuilder builder = delete.addWhereClause().getBuilder();
builder.path("c.status").equal("'inactive'").commit();
test(stateObject_219(), jpqlStateObject, query_206());
}
@Test
public void test_Query_220_a() throws Exception {
// DELETE
// FROM Customer c
// WHERE c.status = 'inactive'
// AND
// c.orders IS EMPTY
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
DeleteStatementStateObject delete = jpqlStateObject.addDeleteStatement();
delete.setDeclaration("Customer", "c");
IConditionalExpressionStateObjectBuilder builder = delete.addWhereClause().getBuilder();
builder.path("c.status").equal("'inactive'")
.and(
builder.isEmpty("c.orders")
)
.commit();
test(stateObject_220(), jpqlStateObject, query_207());
}
@Test
public void test_Query_220_b() throws Exception {
// DELETE
// FROM Customer c
// WHERE c.status = 'inactive'
// AND
// c.orders IS EMPTY
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
DeleteStatementStateObject delete = jpqlStateObject.addDeleteStatement();
delete.setDeclaration("Customer", "c");
WhereClauseStateObject where = delete.addWhereClause();
where.parse("c.status = 'inactive'");
where.andParse("c.orders IS EMPTY");
test(stateObject_220(), jpqlStateObject, query_207());
}
@Test
public void test_Query_221_a() throws Exception {
// UPDATE customer c
// SET c.status = 'outstanding'
// WHERE c.balance < 10000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
UpdateStatementStateObject update = jpqlStateObject.addUpdateStatement();
update.setDeclaration("customer", "c");
update.addItem("c.status", new StringLiteralStateObject(update, "'outstanding'"));
IConditionalExpressionStateObjectBuilder builder = update.addWhereClause().getBuilder();
builder.path("c.balance").lowerThan(10000).commit();
test(stateObject_221(), jpqlStateObject, query_208());
}
@Test
public void test_Query_221_b() throws Exception {
// UPDATE customer c
// SET c.status = 'outstanding'
// WHERE c.balance < 10000
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
UpdateStatementStateObject update = jpqlStateObject.addUpdateStatement();
update.setDeclaration("customer", "c");
update.addItem("c.status", "'outstanding'");
update.addWhereClause().parse("c.balance < 10000");
test(stateObject_221(), jpqlStateObject, query_208());
}
@Test
public void test_Query_228_a() throws Exception {
// Select e
// from Employee e join e.phoneNumbers p
// where e.firstName = 'Bob'
// and e.lastName like 'Smith%'
// and e.address.city = 'Toronto'
// and p.areaCode <> '2'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addSelectItem("e");
select.addRangeDeclaration("Employee", "e").
addJoin("e.phoneNumbers", "p");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.path("e.firstName").equal("'Bob'")
.and(
builder.path("e.lastName").like("'Smith%'")
)
.and(
builder.path("e.address.city").equal("'Toronto'")
)
.and(
builder.path("p.areaCode").different("'2'")
)
.commit();
test(stateObject_228(), jpqlStateObject, query_209());
}
@Test
public void test_Query_228_b() throws Exception {
// Select e
// from Employee e join e.phoneNumbers p
// where e.firstName = 'Bob'
// and e.lastName like 'Smith%'
// and e.address.city = 'Toronto'
// and p.areaCode <> '2'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addSelectItem("e");
select.addRangeDeclaration("Employee", "e").
addJoin("e.phoneNumbers", "p");
select.addWhereClause("e.firstName = 'Bob' and e.lastName like 'Smith%' and e.address.city = 'Toronto' and p.areaCode <> '2'");
test(stateObject_228(), jpqlStateObject, query_209());
}
@Test
public void test_Query_228_c() throws Exception {
// Select e
// from Employee e join e.phoneNumbers p
// where e.firstName = 'Bob'
// and e.lastName like 'Smith%'
// and e.address.city = 'Toronto'
// and p.areaCode <> '2'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addSelectItem("e");
select.addRangeDeclaration("Employee", "e").
addJoin("e.phoneNumbers", "p");
select.addWhereClause().parse("e.firstName = 'Bob' and e.lastName like 'Smith%' and e.address.city = 'Toronto' and p.areaCode <> '2'");
test(stateObject_228(), jpqlStateObject, query_209());
}
@Test
public void test_Query_228_d() throws Exception {
// Select e
// from Employee e join e.phoneNumbers p
// where e.firstName = 'Bob'
// and e.lastName like 'Smith%'
// and e.address.city = 'Toronto'
// and p.areaCode <> '2'
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addSelectItem("e");
select.addRangeDeclaration("Employee", "e").
addJoin("e.phoneNumbers", "p");
WhereClauseStateObject where = select.addWhereClause();
where.parse("e.firstName = 'Bob'");
where.andParse("e.lastName like 'Smith%'");
where.andParse("e.address.city = 'Toronto'");
where.andParse("p.areaCode <> '2'");
test(stateObject_228(), jpqlStateObject, query_209());
}
@Test
public void test_Query_229() throws Exception {
// Select e
// From Employee e
// Where Exists(Select a From e.address a Where a.zipCode = 27519)
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addSelectItem("e");
select.addRangeDeclaration("Employee", "e");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("a");
subquery.addDerivedPathDeclaration("e.address", "a");
subquery.addWhereClause("a.zipCode = 27519");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.exists(subquery).commit();
test(stateObject_229(), jpqlStateObject, query_210());
}
@Test
public void test_Query_230() throws Exception {
// Select e
// From Employee e
// Where Exists(Where Exists(Select e.name From In e.phoneNumbers Where e.zipCode = 27519))
JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
SelectStatementStateObject select = jpqlStateObject.addSelectStatement();
select.addSelectItem("e");
select.addRangeDeclaration("Employee", "e");
SimpleSelectStatementStateObject subquery = new SimpleSelectStatementStateObject(select);
subquery.setSelectItem("e.name");
subquery.addDerivedCollectionDeclaration("e.phoneNumbers");
subquery.addWhereClause("e.zipCode = 27519");
IConditionalExpressionStateObjectBuilder builder = select.addWhereClause().getBuilder();
builder.exists(subquery).commit();
test(stateObject_230(), jpqlStateObject, query_211());
}
}