[OSM-dev] Minute Diffs Broken
Frederik Ramm
frederik at remote.org
Tue May 5 01:21:55 BST 2009
Hi,
Brett Henderson wrote:
> I'm not reading any of the changeset table data so the behaviour of the
> closed_at field doesn't affect osmosis. The changeset table is
> effectively useless to osmosis processing because changesets aren't
> atomic.
Thinking about possible solutions:
1. When updating things in a transaction, set the timestamp to the
commit time of the transaction. I don't believe PostgreSQL can do it.
2. As you said, introduce changes to the database, like dirty bits or
change logs or so.
3. Make a semantic change to the way we handle diffs: Let the diff for
interval X not be "all changes with timestamp within X" but instead "all
changes that happened in a changeset that was closed within X".
Changesets not being atomic should pose no problem for this (because
when it's closed, it's closed). This would adversely affect downstream
systems in that some changes are held back until the changeset is closed
(whereas they are passed on immediately now), but on the other hand you
could afford to generate the minutely diff at 5 seconds past the minute
because you do not have to wait for transactions to settle (the actual
changeset close never happens inside a transaction).
Bye
Frederik
--
Frederik Ramm ## eMail frederik at remote.org ## N49°00'09" E008°23'33"
More information about the dev
mailing list