<br><br><div class="gmail_quote">On Thu, Nov 12, 2009 at 9:36 AM, Frederik Ramm <span dir="ltr"><<a href="mailto:frederik@remote.org">frederik@remote.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
<br>
    we just had a problem with diff updates because someone created<br>
relations with more than 65k members and Osmosis tries to store them as<br>
a char which raised an exception.<br>
<br>
I did a quick hack that would simply drop the excessive members with a<br>
warning:<br>
<br>
<a href="http://www.remote.org/frederik/tmp/remove_excessive_members.diff" target="_blank">http://www.remote.org/frederik/tmp/remove_excessive_members.diff</a><br>
<br>
I'm not checking that in.<br>
<br>
I thought about simply patching Osmosis to use an integer but was<br>
informed by Jon Burgess that osm2pgsql (which is next in my toolchain)<br>
would carp on > 65k members as well so I didn't bother - especially as<br>
it turned out that the relations in question were an error in somebody's<br>
automated import and have been meanwhile fixed by Lennard (they<br>
contained the same element over and over).<br></blockquote><div> </div><div>If > 65k members is legitimate then feel free to change Osmosis.  I only picked smaller data types to save some memory when doing things like large sorts.  If the API allows it then perhaps Osmosis should too.<br>
<br>Another one that will have to be changed eventually is entity ids.  They'll only allow up to 2^31 currently (signed integer) which will probably break eventually given the rapid growth of the database.<br></div></div>
<br>