public RowAction AddDeleteAction(Session session, Table table, Row row, int[] colMap) { RowAction action; lock (row) { action = RowAction.AddDeleteAction(session, table, row, colMap); } session.RowActionList.Add(action); session.sessionData.GetRowStore(table).Delete(session, row); row.rowAction = null; return(action); }
public RowAction AddDeleteAction(Session session, Table table, Row row, int[] colMap) { bool flag; RowAction action; lock (row) { flag = row.rowAction == null; action = RowAction.AddDeleteAction(session, table, row, colMap); } session.RowActionList.Add(action); if (flag && !row.IsMemory()) { base.RowActionMap.Put(action.GetPos(), action); } return(action); }
private RowAction AddDeleteActionToRow(Session session, Table table, Row row, int[] colMap) { RowAction action; lock (row) { if (row.IsMemory()) { action = RowAction.AddDeleteAction(session, table, row, colMap); } else { base.RowActionMap.WriteLock(); try { action = base.RowActionMap.Get(row.GetPos()); if (action == null) { action = RowAction.AddDeleteAction(session, table, row, colMap); if (action != null) { base.RowActionMap.Put(row.GetPos(), action); } return(action); } row.rowAction = action; return(RowAction.AddDeleteAction(session, table, row, colMap)); } finally { base.RowActionMap.WriteUnLock(); } } } return(action); }