* with the given oid.
*/
private void updateInverse(StoreContext ctx, Object inverse,
ClassMapping rel, RowManager rm, OpenJPAStateManager sm, int idx)
throws SQLException {
OpenJPAStateManager invsm = RelationStrategies.getStateManager(inverse,
ctx);
if (invsm == null)
return;
ValueMapping elem = field.getElementMapping();
ForeignKey fk = elem.getForeignKey();
ColumnIO io = elem.getColumnIO();
Column order = field.getOrderColumn();
int action;
boolean writeable;
boolean orderWriteable;
if (invsm.isNew() && !invsm.isFlushed()) {
// no need to null inverse columns of new instance
if (sm == null || sm.isDeleted())
return;
writeable = io.isAnyInsertable(fk, false);
orderWriteable = _orderInsert;
action = Row.ACTION_INSERT;
} else if (invsm.isDeleted()) {
// no need to null inverse columns of deleted instance
if (invsm.isFlushed() || sm == null || !sm.isDeleted())
return;
writeable = true;
orderWriteable = false;
action = Row.ACTION_DELETE;
} else {