<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hi Erik,<br>
<br>
the extended storage(s) is useful for different purposes where one
needs dynamic data per edge and not just a fixed number of bytes
like one would get via increasing the row size. So both options
have a good reason. Still we should probably start with only one
:)<br>
<br>
Regards,<br>
Peter.<br>
<br>
On 29.10.2014 00:43, Erik Formella wrote:<br>
</div>
<blockquote
cite="mid:CA+EiZKVmCy77kPb_+oduvoaJLTDmFJyJo=FSSJeZepR2aYzvXQ@mail.gmail.com"
type="cite">
<div dir="ltr">Oh I think increasing the row size could be really
awesome. I don't know which method should be preferred at the
moment. Is it your intention to eventually remove extended
storage all together?</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Oct 28, 2014 at 1:23 PM, Peter
<span dir="ltr"><<a moz-do-not-send="true"
href="mailto:graphhopper@gmx.de" target="_blank">graphhopper@gmx.de</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Hi Erik,<br>
<br>
sounds reasonable. <br>
<br>
When I think about extending the graph storage, should
we implement this for edges and nodes too?<br>
<br>
Also we could allow to just increase the row size so
that one can somehow access attributes directly, without
going to some external storage. Or should we concentrate
on real external storages for now?<br>
<br>
I've created:<br>
<a moz-do-not-send="true"
href="https://github.com/graphhopper/graphhopper/issues/276"
target="_blank">https://github.com/graphhopper/graphhopper/issues/276</a><br>
<br>
Regards,<br>
Peter.<span class=""><br>
<br>
On 28.10.2014 21:11, Erik Formella wrote:<br>
</span></div>
<span class="">
<blockquote type="cite">
<div dir="ltr">I think it is more extensible to hold a
collection of different storages than to have to
make subclasses for every combination of them. Right
now I have a subclass implementation working for my
use case, but it isn't the cleanest.</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Oct 28, 2014 at
12:06 PM, Peter <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:graphhopper@gmx.de"
target="_blank">graphhopper@gmx.de</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0
0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Hi Erik,<br>
<br>
a list of extended storages sounds
interesting, still I would like to
understand better the usecase.<br>
<br>
When you would use e.g. a subclass with
separate DataAccess objects what would be
more complex or impossible compared to a
list of extended storages?<br>
<br>
Kind Regards,<br>
Peter.
<div>
<div><br>
<br>
On 27.10.2014 22:35, Erik Formella
wrote:<br>
</div>
</div>
</div>
<blockquote type="cite">
<div>
<div>
<div dir="ltr">
<div>It looks like to be able to
support turn costs we have to
sacrifice the ability to use any
other extended storage.</div>
<div><br>
</div>
<div>I am thinking I can refactor <font
face="courier new, monospace">GraphStorage</font>
to use an <font face="courier new,
monospace">ExtendedStorageManager</font>.
It would allow us to write things
like:</div>
<div><br>
</div>
<div><font face="courier new,
monospace">TurnCostStorage
turnCostStorage =
graph.getExtendedStorageManager().get("turn_costs");</font></div>
<div><br>
</div>
<div>instead of doing:</div>
<div><br>
</div>
<div><font face="courier new,
monospace">if
(graph.getExtendedStorage()
istanceof TurnCostStorage) { ... }</font></div>
<div><br>
</div>
<div><br>
</div>
<div>This is just my first guess at
what the interfaces should look
like, but does that seem like a
change you would appreciate in
GraphHopper?</div>
</div>
<br>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
</span></div>
<br>
_______________________________________________<br>
GraphHopper mailing list<br>
<a moz-do-not-send="true"
href="mailto:GraphHopper@openstreetmap.org">GraphHopper@openstreetmap.org</a><br>
<a moz-do-not-send="true"
href="https://lists.openstreetmap.org/listinfo/graphhopper"
target="_blank">https://lists.openstreetmap.org/listinfo/graphhopper</a><br>
<br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
GraphHopper mailing list
<a class="moz-txt-link-abbreviated" href="mailto:GraphHopper@openstreetmap.org">GraphHopper@openstreetmap.org</a>
<a class="moz-txt-link-freetext" href="https://lists.openstreetmap.org/listinfo/graphhopper">https://lists.openstreetmap.org/listinfo/graphhopper</a>
</pre>
</blockquote>
<br>
</body>
</html>