<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Hi Dave,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">"Normally" people use functions with positional parameters.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">(about my quotes in words read [1])<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Using <span class="gmail_default" style="font-family:arial,helvetica,sans-serif"></span>proposed function <strong class="gmail-final-path">pgr_dijkstraCost</strong> as example:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">When you write a function call:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path">SELECT * FROM </span><strong class="gmail-final-path">pgr_dijkstraCost</strong>('SELECT * from edge_table', 2, 3);<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path">SELECT * FROM</span></span><strong class="gmail-final-path"><span class="gmail-final-path"> </span><strong class="gmail-final-path"></strong>pgr_dijkstraCost</strong>('SELECT * from edge_table', 2, 3, false);</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">This works also (mixed)<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path">SELECT * FROM </span><span class="gmail-final-path"></span></span><strong class="gmail-final-path">pgr_dijkstraCost</strong>('SELECT * from edge_table', 2, 3, directed:=false);</div><div><br></div><div>No one has complained that this can<span class="gmail_default" style="font-family:arial,helvetica,sans-serif">'</span>t be done on 2.6 <span class="gmail_default" style="font-family:arial,helvetica,sans-serif">(or for the last 2 years for that matter) </span>on the function <span class="gmail_default" style="font-family:arial,helvetica,sans-serif"></span><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><strong class="gmail-final-path">pgr_dijkstraCost</strong></span>:</div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path">SELECT * FROM </span></span></span><strong class="gmail-final-path">pgr_dijkstraCost</strong>(edge_sql:='SELECT * from edge_table', start_vid:=2, end_vid:=3);</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I would think that is because "normally" people use functions with positional parameters.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">The changes are on the function calls, not on the function's return column names.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">So if you application has a wrapper:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">CREATE FUNCTION mywarper1(...)<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">.....</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">RETURN QUERY<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">SELECT end_vid, cost FROM <span class="gmail_default" style="font-family:arial,helvetica,sans-serif"></span><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><strong class="gmail-final-path">pgr_dijkstraCost</strong></span>('SELECT * from edge_table', 2, 3);</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">....</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">The columns end_vid & cost names are not changed, so your warpper is ok</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">In the case of <span class="gmail_default" style="font-family:arial,helvetica,sans-serif"></span><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><strong class="gmail-final-path">pgr_dijkstra</strong></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path">in 2.6 </span><span class="gmail-final-path">this can be done</span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"></span></span></span></span></span><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path">SELECT * FROM </span></span></span><b><span class="gmail-final-path">pgr_dijkstra</span></b>(<span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path">end_vid:=3,<span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"> </span></span></span></span></span></span></span></span></span></span>start_vid:=2, <span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path">edge_sql:='SELECT * from edge_table'</span></span></span></span></span>);</span></span></span></span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><br></span></span></span></span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">So if you application has a wrapper:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">CREATE FUNCTION mywarper2(...)<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">.....</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">RETURN QUERY<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path">SELECT * FROM </span></span></span><b><span class="gmail-final-path">pgr_dijkstra</span></b>(<span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path">end_vid:=3,<span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"> </span></span></span></span></span></span></span></span></span></span>start_vid:=2, <span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path">edge_sql:='SELECT * from edge_table'</span></span></span></span></span>);</span></span></span></span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">....</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">you will need to change your wrapper</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">CREATE FUNCTION mywarper2(...)<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">.....</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">RETURN QUERY<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path">SELECT * FROM </span></span></span><b><span class="gmail-final-path">pgr_dijkstra</span></b>('SELECT * from edge_table', 2, 3);</span></span></span></span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">....</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">But the output columns are not affected, so other queries that use the mywrapper2 should remain the same</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"><span class="gmail-final-path"></span></span></span></span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Regards<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Vicky</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">[1] <a href="https://twitter.com/jodygarnett/status/1054257267095171072">https://twitter.com/jodygarnett/status/1054257267095171072</a></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Oct 25, 2018 at 12:42 AM Dave Potts <<a href="mailto:mrdapotts@gmail.com">mrdapotts@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Can we ensure that the following issues are taken care of <br><br>Its clearly explained how to port old code to use the new systems for the last years worth of releases.<br>Any attempt to use old signature method name with a new signature some results in some type of massive error along the lines your need to update you code.<br>The current documentation is updated.<div>Any new code or code that is being developed  has to use the new methods<br><br>There is a lot of old code out there, we need a clear method of ensure it can be updated by somebody who has never seen pgrouting before </div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, 24 Oct 2018 at 19:44, Vicky Vergara <<a href="mailto:vicky@georepublic.de" target="_blank">vicky@georepublic.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Dear Users and developers</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">We would like to hear your feedback about:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"> Positional and named parameters on pgRouting functions</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">That is described here:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><a href="https://github.com/pgRouting/admin/wiki/RFC3" target="_blank">https://github.com/pgRouting/admin/wiki/RFC3</a></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">The aim is to enforce positional notation on compulsory parameters and allow named notation on optional parameters</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">That enforcement would take place on version 3.0.0 scheduled to be released on September 2019.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">We will appreciate your feedback.<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Regards</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">The pgRouting team</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br clear="all"></div><br>-- <br><div dir="ltr" class="m_7762829968110480333m_7234630156362044460gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><pre>Georepublic UG (haftungsbeschränkt)
Salzmannstraße 44, 
81739 München, Germany

Vicky Vergara
Operations Research

eMail: vicky@<a href="http://georepublic.de" target="_blank">georepublic.de</a>
Web: <a href="https://georepublic.info" target="_blank">https://georepublic.info</a>

Tel: +49 (089) 4161 7698-1
Fax: +49 (089) 4161 7698-9

Commercial register: Amtsgericht München, HRB 181428
CEO: Daniel Kastl

<span></span></pre></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
_______________________________________________<br>
Pgrouting-users mailing list<br>
<a href="mailto:Pgrouting-users@lists.osgeo.org" target="_blank">Pgrouting-users@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/pgrouting-users" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/pgrouting-users</a></blockquote></div>
_______________________________________________<br>
Pgrouting-users mailing list<br>
<a href="mailto:Pgrouting-users@lists.osgeo.org" target="_blank">Pgrouting-users@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/pgrouting-users" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/pgrouting-users</a></blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><pre>Georepublic UG (haftungsbeschränkt)
Salzmannstraße 44, 
81739 München, Germany

Vicky Vergara
Operations Research

eMail: vicky@<a href="http://georepublic.de" target="_blank">georepublic.de</a>
Web: <a href="https://georepublic.info" target="_blank">https://georepublic.info</a>

Tel: +49 (089) 4161 7698-1
Fax: +49 (089) 4161 7698-9

Commercial register: Amtsgericht München, HRB 181428
CEO: Daniel Kastl

<span></span></pre></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>