public void addLockedExpression(ObjectExpression expression) { getLockedExpressions().add(expression); }
public void addLockedExpression(ObjectExpression expression) { getLockedExpressions().add(expression); }
public void addLockedExpression(FieldExpression expression) { getLockedExpressions().add(expression); }
public void addLockedExpression(ObjectExpression expression) { getLockedExpressions().addElement(expression); }
public void addLockedExpression(FieldExpression expression) { getLockedExpressions().addElement(expression); }
public void addLockedExpression(FieldExpression expression) { getLockedExpressions().add(expression); }
/** * INTERNAL: * Returns collection of aliases of the tables to be locked. * Only used by platforms that lock tables individually in FROM clause * (platform.shouldPrintLockingClauseAfterWhereClause()==false) * like SQLServer */ public Collection getAliasesOfTablesToBeLocked(SQLSelectStatement statement) { int expected = statement.getTableAliases().size(); HashSet aliases = new HashSet(expected); ExpressionBuilder clonedBuilder = statement.getBuilder(); Enumeration enumtr = getLockedExpressions().elements(); while (enumtr.hasMoreElements() && aliases.size() < expected) { Expression next = (Expression)enumtr.nextElement(); // Necessary as this was determined in query framework. next = (Expression)next.rebuildOn(clonedBuilder); // next is either ObjectExpression or FieldExpression if(next.isFieldExpression()) { next = ((FieldExpression)next).getBaseExpression(); } DatabaseTable[] expAliases = next.getTableAliases().keys(); for(int i=0; i<expAliases.length; i++) { aliases.add(expAliases[i]); } } return aliases; } }
/** * INTERNAL: * Returns collection of aliases of the tables to be locked. * Only used by platforms that lock tables individually in FROM clause * (platform.shouldPrintLockingClauseAfterWhereClause()==false) * like SQLServer */ public Collection getAliasesOfTablesToBeLocked(SQLSelectStatement statement) { int expected = statement.getTableAliases().size(); HashSet aliases = new HashSet(expected); ExpressionBuilder clonedBuilder = statement.getBuilder(); Iterator<Expression> iterator = getLockedExpressions().iterator(); while (iterator.hasNext() && aliases.size() < expected) { Expression next = iterator.next(); // Necessary as this was determined in query framework. next = next.rebuildOn(clonedBuilder); // next is either ObjectExpression or FieldExpression if(next.isFieldExpression()) { next = ((FieldExpression)next).getBaseExpression(); } DatabaseTable[] expAliases = next.getTableAliases().keys(); for (int i=0; i<expAliases.length; i++) { aliases.add(expAliases[i]); } } return aliases; } }
/** * INTERNAL: * Returns collection of aliases of the tables to be locked. * Only used by platforms that lock tables individually in FROM clause * (platform.shouldPrintLockingClauseAfterWhereClause()==false) * like SQLServer */ public Collection getAliasesOfTablesToBeLocked(SQLSelectStatement statement) { int expected = statement.getTableAliases().size(); HashSet aliases = new HashSet(expected); ExpressionBuilder clonedBuilder = statement.getBuilder(); Iterator<Expression> iterator = getLockedExpressions().iterator(); while (iterator.hasNext() && aliases.size() < expected) { Expression next = iterator.next(); // Necessary as this was determined in query framework. next = next.rebuildOn(clonedBuilder); // next is either ObjectExpression or FieldExpression if(next.isFieldExpression()) { next = ((FieldExpression)next).getBaseExpression(); } DatabaseTable[] expAliases = next.getTableAliases().keys(); for (int i=0; i<expAliases.length; i++) { aliases.add(expAliases[i]); } } return aliases; } }
for (Enumeration enumtr = getLockedExpressions().elements(); enumtr.hasMoreElements();) { Expression next = (Expression)enumtr.nextElement();
for (Expression next : getLockedExpressions()) {
for (Expression next : getLockedExpressions()) {
if (((ObjectLevelReadQuery)baseQuery).getLockingClause().isForUpdateOfClause()) { ForUpdateOfClause clause = (ForUpdateOfClause)((ObjectLevelReadQuery)baseQuery).getLockingClause().clone(); clause.setLockedExpressions(extractNestedExpressions(clause.getLockedExpressions(), nestedQuery.getExpressionBuilder(), true)); nestedQuery.setLockingClause(clause); } else {
if (((ObjectLevelReadQuery)baseQuery).getLockingClause().isForUpdateOfClause()) { ForUpdateOfClause clause = (ForUpdateOfClause)((ObjectLevelReadQuery)baseQuery).getLockingClause().clone(); clause.setLockedExpressions(extractNestedNonAggregateExpressions(clause.getLockedExpressions(), nestedQuery.getExpressionBuilder(), true)); nestedQuery.setLockingClause(clause); } else {
if (((ObjectLevelReadQuery)baseQuery).getLockingClause().isForUpdateOfClause()) { ForUpdateOfClause clause = (ForUpdateOfClause)((ObjectLevelReadQuery)baseQuery).getLockingClause().clone(); clause.setLockedExpressions(extractNestedNonAggregateExpressions(clause.getLockedExpressions(), nestedQuery.getExpressionBuilder(), true)); nestedQuery.setLockingClause(clause); } else {