public SubSelectExpression() { super(); subQuery = new ReportQuery(); }
public SubSelectExpression() { super(); subQuery = new ReportQuery(); }
/** * Helper method to simplify creating a native ReportQuery using the entity * type name (descriptor alias) */ public ReportQuery newReportQuery(String typeName, ExpressionBuilder builder) { DynamicType type = getType(typeName); if (type == null) { throw new IllegalArgumentException("DynamicHelper.createQuery: Dynamic type not found: " + typeName); } return new ReportQuery(type.getJavaClass(), builder); }
/** * Helper method to simplify creating a native ReportQuery using the entity * type name (descriptor alias) */ public ReportQuery newReportQuery(String typeName, ExpressionBuilder builder) { DynamicType type = getType(typeName); if (type == null) { throw new IllegalArgumentException("DynamicHelper.createQuery: Dynamic type not found: " + typeName); } return new ReportQuery(type.getJavaClass(), builder); }
/** * Helper method to simplify creating a native ReportQuery using the entity * type name (descriptor alias) */ public ReportQuery newReportQuery(String typeName, ExpressionBuilder builder) { DynamicType type = getType(typeName); if (type == null) { throw new IllegalArgumentException("DynamicHelper.createQuery: Dynamic type not found: " + typeName); } return new ReportQuery(type.getJavaClass(), builder); }
private void initializeReportQuery() { ReportQuery query = new ReportQuery(); query.returnWithoutReportQueryResult(); query.dontUseDistinct(); this.query = query; }
private void initializeReportQuery() { ReportQuery query = new ReportQuery(); query.returnWithoutReportQueryResult(); query.dontUseDistinct(); this.query = query; }
/** * Returns a DatabaseQuery instance representing the owning * ParseTree. This implementation returns a ReadAllQuery for simple SELECT * queries and a ReportQuery otherwise. */ public DatabaseQuery createDatabaseQuery(ParseTreeContext context) { // TODO: This optimization needs to be revisited because it causes GlassFish issues: 2084 and 2171 // These issues have been solve in GlassFish by always generating a ReportQuery // The same fix has not been made in Oracle TopLink because it disables some advanced JPA Query Hints ObjectLevelReadQuery query; if (isReadAllQuery(context)) { query = new ReadAllQuery(); } else { query = new ReportQuery(); } query.dontUseDistinct(); //gf bug 1395- prevents using distinct unless user specified return query; }
/** * Returns a DatabaseQuery instance representing the owning * ParseTree. This implementation returns a ReadAllQuery for simple SELECT * queries and a ReportQuery otherwise. */ public DatabaseQuery createDatabaseQuery(ParseTreeContext context) { // TODO: This optimization needs to be revisited because it causes GlassFish issues: 2084 and 2171 // These issues have been solve in GlassFish by always generating a ReportQuery // The same fix has not been made in Oracle TopLink because it disables some advanced JPA Query Hints ObjectLevelReadQuery query; if (isReadAllQuery(context)) { query = new ReadAllQuery(); } else { query = new ReportQuery(); } query.dontUseDistinct(); //gf bug 1395- prevents using distinct unless user specified return query; }
/** * Returns a DatabaseQuery instance representing the owning * ParseTree. This implementation returns a ReadAllQuery for simple SELECT * queries and a ReportQuery otherwise. */ public DatabaseQuery createDatabaseQuery(ParseTreeContext context) { // TODO: This optimization needs to be revisited because it causes GlassFish issues: 2084 and 2171 // These issues have been solve in GlassFish by always generating a ReportQuery // The same fix has not been made in Oracle TopLink because it disables some advanced JPA Query Hints ObjectLevelReadQuery query; if (isReadAllQuery(context)) { query = new ReadAllQuery(); } else { query = new ReportQuery(); } query.dontUseDistinct(); //gf bug 1395- prevents using distinct unless user specified return query; }
public SubQueryImpl(Metamodel metamodel, Class result, CriteriaBuilderImpl queryBuilder, CommonAbstractCriteria parent){ super(metamodel, ResultType.OTHER, queryBuilder, result); this.subQuery = new ReportQuery(); TypeImpl queryType = ((MetamodelImpl)metamodel).getType(result); if (queryType != null && queryType.getPersistenceType() == PersistenceType.ENTITY){ this.subQuery.setReferenceClass(result); } this.subQuery.setDistinctState(ObjectLevelReadQuery.DONT_USE_DISTINCT); this.correlatedJoins = new HashSet(); this.correlations = new HashSet(); this.currentNode = new SubSelectExpression(subQuery, new ExpressionBuilder()); this.parent = parent; }
/** */ public ReportQuery getReportQuery(GenerationContext context) { ReportQuery innerQuery = new ReportQuery(); GenerationContext innerContext = subqueryParseTree.populateSubquery(innerQuery, context); Expression joins = innerContext.joinVariables(outerVars); if (joins != null) { Expression where = innerQuery.getSelectionCriteria(); where = appendExpression(where, joins); innerQuery.setSelectionCriteria(where); } return innerQuery; }
/** */ public ReportQuery getReportQuery(GenerationContext context) { ReportQuery innerQuery = new ReportQuery(); GenerationContext innerContext = subqueryParseTree.populateSubquery(innerQuery, context); Expression joins = innerContext.joinVariables(outerVars); if (joins != null) { Expression where = innerQuery.getSelectionCriteria(); where = appendExpression(where, joins); innerQuery.setSelectionCriteria(where); } return innerQuery; }
/** */ public ReportQuery getReportQuery(GenerationContext context) { ReportQuery innerQuery = new ReportQuery(); GenerationContext innerContext = subqueryParseTree.populateSubquery(innerQuery, context); Expression joins = innerContext.joinVariables(outerVars); if (joins != null) { Expression where = innerQuery.getSelectionCriteria(); where = appendExpression(where, joins); innerQuery.setSelectionCriteria(where); } return innerQuery; }
protected SQLSelectStatement createSQLSelectStatementForModifyAllForTempTable(HashMap databaseFieldsToValues) { ExpressionBuilder builder = ((ModifyAllQuery)getQuery()).getExpressionBuilder(); Expression whereClause = getSelectionCriteria(); ReportQuery reportQuery = new ReportQuery(getDescriptor().getJavaClass(), builder); reportQuery.setDescriptor(getDescriptor()); reportQuery.setSelectionCriteria(whereClause); reportQuery.setSession(getSession()); reportQuery.setShouldRetrievePrimaryKeys(true); if(databaseFieldsToValues != null) { Iterator itValues = databaseFieldsToValues.values().iterator(); while(itValues.hasNext()) { reportQuery.addAttribute("", (Expression)itValues.next()); } } SQLSelectStatement selectStatement = ((ExpressionQueryMechanism)reportQuery.getQueryMechanism()).buildReportQuerySelectStatement(false); reportQuery.setSession(null); return selectStatement; }
protected SQLSelectStatement createSQLSelectStatementForModifyAllForTempTable(HashMap databaseFieldsToValues) { ExpressionBuilder builder = ((ModifyAllQuery)getQuery()).getExpressionBuilder(); Expression whereClause = getSelectionCriteria(); ReportQuery reportQuery = new ReportQuery(getDescriptor().getJavaClass(), builder); reportQuery.setDescriptor(getDescriptor()); reportQuery.setSelectionCriteria(whereClause); reportQuery.setSession(getSession()); reportQuery.setShouldRetrievePrimaryKeys(true); if(databaseFieldsToValues != null) { Iterator itValues = databaseFieldsToValues.values().iterator(); while(itValues.hasNext()) { reportQuery.addAttribute("", (Expression)itValues.next()); } } SQLSelectStatement selectStatement = ((ExpressionQueryMechanism)reportQuery.getQueryMechanism()).buildReportQuerySelectStatement(false); reportQuery.setSession(null); return selectStatement; }
protected SQLSelectStatement createSQLSelectStatementForAssignedExpressionForUpdateAll(Expression value) { ReportQuery reportQuery = new ReportQuery(getQuery().getReferenceClass(), value.getBuilder()); reportQuery.setDescriptor(getQuery().getDescriptor()); reportQuery.setSession(getSession()); reportQuery.addAttribute("", value); SQLSelectStatement selectStatement = ((ExpressionQueryMechanism)reportQuery.getQueryMechanism()).buildReportQuerySelectStatement(false); reportQuery.setSession(null); return selectStatement; }
protected SQLSelectStatement createSQLSelectStatementForAssignedExpressionForUpdateAll(Expression value) { ReportQuery reportQuery = new ReportQuery(getQuery().getReferenceClass(), value.getBuilder()); reportQuery.setDescriptor(getQuery().getDescriptor()); reportQuery.setSession(getSession()); reportQuery.addAttribute("", value); SQLSelectStatement selectStatement = ((ExpressionQueryMechanism)reportQuery.getQueryMechanism()).buildReportQuerySelectStatement(false); reportQuery.setSession(null); return selectStatement; }
protected SQLSelectStatement createSQLSelectStatementForAssignedExpressionForUpdateAll(Expression value) { ReportQuery reportQuery = new ReportQuery(getQuery().getReferenceClass(), value.getBuilder()); reportQuery.setDescriptor(getQuery().getDescriptor()); reportQuery.setSession(getSession()); reportQuery.addAttribute("", value); SQLSelectStatement selectStatement = ((ExpressionQueryMechanism)reportQuery.getQueryMechanism()).buildReportQuerySelectStatement(false); reportQuery.setSession(null); return selectStatement; }
protected SQLSelectStatement createSQLSelectStatementForModifyAll(Expression whereClause, Expression inheritanceExpression, ClassDescriptor desc, boolean useCustomaryInheritanceExpression) { ExpressionBuilder builder; if(whereClause != null) { whereClause = (Expression)whereClause.clone(); builder = whereClause.getBuilder(); } else { builder = new ExpressionBuilder(); } ReportQuery reportQuery = new ReportQuery(desc.getJavaClass(), builder); reportQuery.setDescriptor(desc); reportQuery.setShouldRetrieveFirstPrimaryKey(true); reportQuery.setSelectionCriteria(whereClause); reportQuery.setSession(getSession()); SQLSelectStatement selectStatement = ((ExpressionQueryMechanism)reportQuery.getQueryMechanism()).buildReportQuerySelectStatement(false, useCustomaryInheritanceExpression, inheritanceExpression); reportQuery.setSession(null); return selectStatement; }