}
JDBCFetchConfiguration fetch = (JDBCFetchConfiguration)
ctx.getFetchConfiguration();
ExpContext ctx = new ExpContext(_store, params, fetch);
DBDictionary dict = _store.getDBDictionary();
QueryExpressionsState[] state = new QueryExpressionsState[exps.length];
for (int i = 0; i < state.length; i++)
state[i] = new QueryExpressionsState();
SQLBuffer[] sql = new SQLBuffer[mappings.length];
JDBCExpressionFactory jdbcFactory;
Select sel;
for (int i = 0; i < mappings.length; i++) {
jdbcFactory = (JDBCExpressionFactory) facts[i];
sel = jdbcFactory.getSelectConstructor().evaluate(ctx, null, null,
exps[i], state[i]);
jdbcFactory.getSelectConstructor().select(sel, ctx, mappings[i],
subclasses, exps[i], state[i],
JDBCFetchConfiguration.EAGER_NONE);
// The bulk operation will return null to indicate that the database
// does not support the request bulk delete operation; in
// this case, we need to perform the query in-memory and
// manually delete the instances
if (!isUpdate)
sql[i] = dict.toDelete(mappings[i], sel, params);
else
sql[i] = dict.toUpdate(mappings[i], sel, _store, params,
updates);
if (sql[i] == null)
return null;
}