[OSM-dev] What should the changeset api do?

Shaun McDonald shaun at shaunmcdonald.me.uk
Sat Oct 11 16:44:21 BST 2008


On 11 Oct 2008, at 15:53, Frederik Ramm wrote:

> Hi,
>
> Shaun McDonald wrote:
>> Alternatively if we state that a changeset is private until it is  
>> closed, and has a limited life, then you could simply calculate the  
>> bbox on closing of the changeset.
>
> Yes but the original plan was based on the idea that changesets do  
> not require an explicit close, they have an implicit close (if their  
> validity expires). The elegance of that is *not* requiring a huge  
> clean-up deamon that closes changesets and computes bounding boxes  
> and dies every now and then ;-)
>

If the consensus is to store the closing time of the changeset, then I  
will update the migrations and other code as required. Determining  
whether or not a changeset is closed, would be determined by whether  
the closing_timestamp is less than the current time. Is this  
comparison significantly slower than checking a boolean? You would  
still be able to close a changeset manually as the api would set the  
closing_timestamp to Time.now.

>> One problem we have at the moment, is that the changeset determines  
>> the after state. You can assume that changeset.version-1 is the  
>> previous version. However I'm sure we're not meant to assume that a  
>> new version=old_version+1.
>
> You might change the same object twice within the same changeset,  
> then the changeset would have old_version=new_version-2...

True. However what I say still applies for the first change of that  
object. You wouldn't be able to use the last change of the object (if  
there are multiple) to determine the prior version, as someone else  
may have made an edit in between, or you have edited that object in  
between in another editor, thus that edit went into a different  
changeset.

Shaun





More information about the dev mailing list