On 6/24/07, <b class="gmail_sendername">Peter Schachte</b> &lt;<a href="mailto:schachte@csse.unimelb.edu.au">schachte@csse.unimelb.edu.au</a>&gt; 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 &quot;update&quot; is.&nbsp;&nbsp;If an update is a<br>whole listing for a single program, then you&#39;re right.&nbsp;&nbsp;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&#39;m describing can happen.&nbsp;&nbsp;Here&#39;s a scenerio:&nbsp;&nbsp;the<br>current listing for a program has title T, description D, start time S, end time E.
<br><br>Update 1:&nbsp;&nbsp;changes title to T1 and description to D1, and end time to E1.<br>update 2:&nbsp;&nbsp;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.&nbsp;&nbsp;If update 2 arrives first and you apply it, you have title T2,<br>description D, start time S2, end time E.&nbsp;&nbsp;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.&nbsp;&nbsp;If you ignore it, you get title T2, description D, start time S2,<br>end time E, which is also wrong.&nbsp;&nbsp;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&#39;re back to being able to apply updates correctly without keeping history or undo data, but it still covers most situations - I&#39;d expect you&#39;d usually either be replacing one program with another or changing only one or two things about a program.
<br><br>Steve<br><br>