<div dir="ltr"><div class="gmail_default"><font color="#444444" face="times new roman, serif">Already did that but memory grows and grows... pids...</font><br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><p style="FONT-FAMILY:'Times New Roman';FONT-SIZE:medium"></p>
<p></p>
<p style="FONT-FAMILY:'Times New Roman';FONT-SIZE:medium"></p>
<p></p>
<p style="FONT-FAMILY:'Times New Roman';FONT-SIZE:medium"></p>
<p></p>
<p style="FONT-FAMILY:'Times New Roman';FONT-SIZE:medium"></p>
<p style="FONT-FAMILY:'Courier New';FONT-SIZE:12px"></p>
<p><font face="times new roman, serif"><span style="COLOR:rgb(153,153,153)"><br></span></font></p>
<p><font face="times new roman, serif"><span style="COLOR:rgb(153,153,153)">Paulo Pires</span> </font></p>
<p></p>
<hr align="left" size="1" width="95">
<font size="1" face="times new roman, serif"><span style="COLOR:rgb(255,102,0)">phone</span>  <span style="COLOR:rgb(153,153,153)">964592113</span> <br><span style="COLOR:rgb(255,102,0)">e-mail</span>  <a href="mailto:paulopires16@gmail.com" target="_blank"><span style="COLOR:rgb(153,153,153)">paulopires16@gmail.com</span></a> <br><span style="COLOR:rgb(255,102,0)">crypt</span>   <a href="http://kerckhoffs.surfnet.nl/pks/lookup?op=get&search=0x878711213981EEF6" target="_blank"><span style="COLOR:rgb(153,153,153)">myPGP public key for encryption emails</span></a> <br><span style="COLOR:rgb(255,102,0)">links </span>   <a href="http://facebook.com/paulopires16" target="_blank"><span style="COLOR:rgb(153,153,153)">facebook</span></a> · <a href="http://twitter.com/#!/paulopires16" target="_blank"><span style="COLOR:rgb(153,153,153)">twitter</span></a> · <a href="http://www.linkedin.com/pub/paulo-pires/36/4a7/607" target="_blank"><span style="COLOR:rgb(153,153,153)">linkedin</span></a> · <a href="http://netlog.com/paulopires16" target="_blank"><span style="COLOR:rgb(153,153,153)">netlog</span></a> · <a href="http://download.oracle.com/javase/6/docs/api/" target="_blank"><span style="COLOR:rgb(153,153,153)">javase</span></a> · <a href="http://www.oracle.com/us/syndication/feeds/index.html" target="_blank"><span style="COLOR:rgb(153,153,153)">oracle</span></a> <br></font>
<div align="center" style="text-align:center"><span style="font-size:12.0pt;font-family:"Times New Roman","serif"">

<hr size="2" width="100%" align="center">

</span></div>

<p style="margin-bottom:12.0pt"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:gray">Aviso Legal:<br>
Esta mensagem de Paulo Pires é destinada exclusivamente ao destinatário. Pode conter
informação confidencial ou legalmente protegida. A incorrecta transmissão desta
mensagem não significa a perda de confidencialidade. Se esta mensagem for
recebida por engano, por favor envie-a de volta para o remetente e apague-a do
seu sistema de imediato. É proibido a qualquer pessoa que não o destinatário de
usar, revelar ou distribuir qualquer parte desta mensagem.<br>
<br>
Disclaimer:<br>
This message from Paulo Pires is destined exclusively to the intended receiver. It
may contain confidential or legally protected information. The incorrect
transmission of this message does not mean the loss of its confidentiality. If
this message is received by mistake, please send it back to the sender and
delete it from your system immediately. It is forbidden to any person who is
not the intended receiver to use, distribute or copy any part of this message.</span></p></div></div></div>
<br><div class="gmail_quote">2018-06-06 11:25 GMT+01:00 Darafei "Komяpa" Praliaskouski <span dir="ltr"><<a href="mailto:me@komzpa.net" target="_blank">me@komzpa.net</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello,<div><br></div><div>Simplest is to move DROP TABLE from start to end of functions.</div><div><br></div><div>Please have a look at this gist changes: <a href="https://gist.github.com/Komzpa/38b66ee31b14542670529e5c8614f07c/revisions" target="_blank">https://gist.github.<wbr>com/Komzpa/<wbr>38b66ee31b14542670529e5c8614f0<wbr>7c/revisions</a></div></div><br><div class="gmail_quote"><div dir="ltr">ср, 6 июн. 2018 г. в 13:07, Paulo Pires <<a href="mailto:paulopires16@gmail.com" target="_blank">paulopires16@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div class="gmail_default"><div class="gmail_default"><font color="#444444" face="times new roman, serif">Thanks  Darafei,</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif"><br></font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">See the whole process. Do you mean make just one function?</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif"><br></font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            CREATE OR REPLACE FUNCTION is_internal(polygon geometry, p2 geometry, p3 geometry)</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            RETURNS boolean as</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            $$</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                BEGIN</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    return st_contains(polygon, st_makeline(p2, p3));</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                END</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            $$ language plpgsql;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            </font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            </font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            CREATE OR REPLACE FUNCTION angle(p1 geometry, p2 geometry, p3 geometry)</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            RETURNS float AS</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            $$</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                DECLARE</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    p12 float;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    p23 float;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    p13 float; </font><span style="color:rgb(68,68,68);font-family:"times new roman",serif">   </span></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                BEGIN</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                select st_distance(p1, p2) into p12;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    select st_distance(p1, p3) into p13;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    select st_distance(p2, p3) into p23;</font><span style="color:rgb(68,68,68);font-family:"times new roman",serif">                </span></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    return acos(

<span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span> </span>(p12^2 + p13^2 - p23^2) / (2*p12*p13)</span>

);</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                END</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            $$ language plpgsql;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif"><br></font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif"><br></font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            CREATE OR REPLACE FUNCTION internal_angle(polygon geometry, p1 geometry, p2 geometry, p3 geometry)</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            RETURNS float as</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            $$</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                DECLARE</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    ang float;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    is_intern boolean;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                BEGIN</font></div><div class="gmail_default"><span style="color:rgb(68,68,68);font-family:"times new roman",serif">                    select temp.angle(p1, p2, p3) into ang;</span><br></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    select temp.is_internal(polygon, p2, p3) into is_intern;</font></div><div class="gmail_default"><span style="color:rgb(68,68,68);font-family:"times new roman",serif">                    return ang;</span><br></div><div class="gmail_default"><span style="color:rgb(68,68,68);font-family:"times new roman",serif">                END</span><br></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            $$ language plpgsql;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif"><br></font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif"><br></font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            CREATE OR REPLACE FUNCTION corner_triplets(geom geometry)</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            RETURNS table(corner_number integer, p1 geometry, p2 geometry, p3 geometry) AS</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            $$</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                DECLARE</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    max_corner_number integer;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                BEGIN</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    DROP TABLE IF EXISTS corners;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    create temp table corners on commit drop as select path[2] as corner_number, t1.geom as point from (select (st_dumppoints($1)).*) as t1 where path[1] = 1;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    select max(corners.corner_number) into max_corner_number from corners;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    insert into corners (corner_number, point) select 0, point from corners where corners.corner_number = max_corner_number - 1;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            </font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                DROP TABLE IF EXISTS triplets;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    create temp table triplets on commit drop as select t1.corner_number, t1.point as p1, t2.point as p2,  t3.point as p3 from corners as t1, corners as t2, corners as t3 where t1.corner_number = t2.corner_number + 1 and t1.corner_number = t3.corner_number - 1;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    return QUERY TABLE triplets;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                END;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            $$</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            LANGUAGE plpgsql;</font></div></div></div><div dir="ltr"><div class="gmail_default"><div class="gmail_default"><font color="#444444" face="times new roman, serif"><br></font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif"><br></font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            CREATE OR REPLACE FUNCTION internal_angles(geom geometry)</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            RETURNS table(corner geometry, angle float)</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            AS $$</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                BEGIN    </font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    DROP TABLE IF EXISTS internal_angs;</font></div></div></div><div dir="ltr"><div class="gmail_default"><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    create temp table internal_angs on commit drop as select p1, internal_angle(geom, p1, p2, p3) from (select (c).* from (select corner_triplets(geom) as c) as t1) as t2;</font></div></div></div><div dir="ltr"><div class="gmail_default"><div class="gmail_default"><font color="#444444" face="times new roman, serif">                    return QUERY TABLE internal_angs;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">                END;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            $$</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            LANGUAGE plpgsql;</font></div><div class="gmail_default"><br></div></div></div><div dir="ltr"><div class="gmail_default"><div class="gmail_default"><font color="#444444" face="times new roman, serif">            DROP TABLE IF EXISTS allradians;</font></div><div class="gmail_default"><font color="#444444" face="times new roman, serif">            select (c).* into allradians from (select internal_angles(geom) as c from mytable) as t;</font></div></div></div></div></div><span class="">
______________________________<wbr>_________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org" target="_blank">postgis-users@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/postgis-users" rel="noreferrer" target="_blank">https://lists.osgeo.org/<wbr>mailman/listinfo/postgis-users</a></span></blockquote></div>
<br>______________________________<wbr>_________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org">postgis-users@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/postgis-users" rel="noreferrer" target="_blank">https://lists.osgeo.org/<wbr>mailman/listinfo/postgis-users</a><br></blockquote></div><br></div>