On 6/24/07, <b class="gmail_sendername">Peter Schachte</b> <<a href="mailto:schachte@csse.unimelb.edu.au">schachte@csse.unimelb.edu.au</a>> wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The real question is what an "update" is. If an update is a<br>whole listing for a single program, then you're right. Otherwise, if an update<br>is allowed to change parts of a listing for a program and not mention the parts
<br>it leaves unchanged, or to replace two or more programs but leave others<br>unchanged, then the problem I'm describing can happen. Here's a scenerio: the<br>current listing for a program has title T, description D, start time S, end time E.
<br><br>Update 1: changes title to T1 and description to D1, and end time to E1.<br>update 2: changes title to T2 and start time to S2.<br><br>Applied correctly, you wind up with title T2, description D1, start time S2,
<br>end time E1. If update 2 arrives first and you apply it, you have title T2,<br>description D, start time S2, end time E. If update 1 now arrives and you<br>apply it, you get title T1, description D1, start time S2, end time E1, which
<br>is wrong. If you ignore it, you get title T2, description D, start time S2,<br>end time E, which is also wrong. Either way you lose.<br></blockquote></div><br>You could make it so that updates only ever affect either one piece of data or all the data for a program. That way you're back to being able to apply updates correctly without keeping history or undo data, but it still covers most situations - I'd expect you'd usually either be replacing one program with another or changing only one or two things about a program.
<br><br>Steve<br><br>