}
// If channel.evaluateExpression throws when committing, it won't close the JDBC transaction
// Probably a bug in JDBCChannel, but we must take care of it
boolean contextHadOpenTransaction = adaptorChannel.adaptorContext().hasOpenTransaction();
try {
adaptorChannel.evaluateExpression(factory.expressionForString(exp));
}
catch (EOGeneralAdaptorException e) {
if (adaptorChannel.adaptorContext().hasOpenTransaction() && ! contextHadOpenTransaction) {
adaptorChannel.adaptorContext().rollbackTransaction();
}