<p>Joting this down mainly for my benefit.</p>
<p>The root cause here seems to be a railsism that the default string length in rails is 255 characters that is mapped to character varying(255) (in PGSQL) , the down side of this is that the code is peppered with explicit references to 255 (range checking etc). From an API pov this effects at least tag key, value lengths on objects and changesets and role values for relation members.</p>
<p>IM(very)HO I would refactor the code to reference a configuration value for the string length which means adding explicit limit values where necessary, this would touch a fair amount of code. One could argue that this a lot of work just so that we can actually return a max value that could in principle be set different per rails-port instance.</p>
<p><a href="https://github.com/gravitystorm" class="user-mention">@gravitystorm</a> and <a href="https://github.com/tomhughes" class="user-mention">@tomhughes</a> any opinion?</p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/issues/1593#issuecomment-318171714">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABWnLdTTEBv-aZXg_OCtRY6aycKj9Kirks5sR6CZgaJpZM4Ogiux">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABWnLa_Dv4H1pu7jiU5_6FSwyYLei_Tkks5sR6CZgaJpZM4Ogiux.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
<link itemprop="url" href="https://github.com/openstreetmap/openstreetmap-website/issues/1593#issuecomment-318171714"></link>
<meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/openstreetmap/openstreetmap-website","title":"openstreetmap/openstreetmap-website","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/openstreetmap/openstreetmap-website"}},"updates":{"snippets":[{"icon":"PERSON","message":"@simonpoole in #1593: Joting this down mainly for my benefit.\r\n\r\nThe root cause here seems to be a railsism that the default string length in rails is 255 characters that is mapped to character varying(255) (in PGSQL) , the down side of this is that the code is peppered with explicit references to 255 (range checking etc). From an API pov this effects at least tag key, value lengths on objects and changesets and role values for relation members. \r\n\r\nIM(very)HO I would refactor the code to reference a configuration value for the string length which means adding explicit limit values where necessary, this would touch a fair amount of code. One could argue that this a lot of work just so that we can actually return a max value that could in principle be set different per rails-port instance. \r\n\r\n@gravitystorm and @tomhughes any opinion?"}],"action":{"name":"View Issue","url":"https://github.com/openstreetmap/openstreetmap-website/issues/1593#issuecomment-318171714"}}}</script>