[OSM-dev] Data corruption :) II

Brett Henderson brett at bretth.com
Thu Nov 27 11:41:28 GMT 2008


Matt Amos wrote:
> rails relies on mysql's auto_increment or postgres' sequence
> functionality to ensure no ids are used twice. the question is one of
> practicality: if we take deleted elements out of the current tables
> then we get an advantage (foreign key constraints ensure that no
> way/relation can refer to a deleted node/member) and a disadvantage
> (to keep api return codes the same we potentially need to examine both
> the current and history tables).
>
> as dave has already pointed out, the transactions introduced in 0.6
> should give us the advantage without the disadvantage, as long as we
> put checks inside the transaction to let the db know we need
> repeatable reads.
>
> if we can live with 404 meaning "doesn't exist in current", rather
> than "has never existed", and drop the 410 response code then the
> disadvantage goes away. but thats obviously a decision that needs
> discussion :-)
>   
Thanks for the great explanation.  I vaguely remember this being 
discussed in the past ...

If it was up to me I'd drop the 410 response code unless somebody 
screams loudly :-)





More information about the dev mailing list