<div dir="ltr"><div class="gmail_extra">Here is the "cleaned" version, still no good tough.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I don't understand what you want to do, I don't have your table structure nor your data, so you will need to work from that.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">CREATE OR REPLACE FUNCTION hc_check_gaps_in_linear_topology(IN tablename text, IN cleantopo text)</div><div class="gmail_extra">  RETURNS TABLE(objectid integer, f_code character varying, topo_shape topogeometry) AS</div><div class="gmail_extra">$BODY$</div><div class="gmail_extra">declare</div><div class="gmail_extra">    updatedtablename text;</div><div class="gmail_extra">DECLARE</div><div class="gmail_extra">    r record;</div><div class="gmail_extra">    _q text; </div><div class="gmail_extra">BEGIN</div><div class="gmail_extra">   </div><div class="gmail_extra">    -- SELECT sde_set_current_version(10.2.1);</div><div class="gmail_extra"> </div><div class="gmail_extra"><span class="" style="white-space:pre">       </span>updatedtablename = 'updated' || tablename;</div><div class="gmail_extra"><span class="" style="white-space:pre">   </span>_q := format('CREATE TABLE %I  AS SELECT objectid, f_code, shape  FROM %I ; ' ,updatedtablename,tablename) ;</div><div class="gmail_extra"><span class="" style="white-space:pre">       </span>EXECUTE _q ;  </div><div class="gmail_extra"><span class="" style="white-space:pre">      </span></div><div class="gmail_extra"><br></div><div class="gmail_extra"><span class="" style="white-space:pre">      </span>PERFORM topology.DropTopology(cleantopo );</div><div class="gmail_extra"><br></div><div class="gmail_extra"><span class="" style="white-space:pre">    </span>-- Create a new topology</div><div class="gmail_extra"><span class="" style="white-space:pre">     </span>-- Note need to generalize the SRID calculation to select the best fit UTM zone based on longitude extents</div><div class="gmail_extra"><span class="" style="white-space:pre">   </span>PERFORM topology.CreateTopology(cleantopo ,32648, 0.000001, TRUE); </div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>PERFORM  topology.AddTopoGeometryColumn( cleantopo , fgcm ,  updatedtablename ,'topo_shape','LINESTRING');</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>PERFORM  topology.TopologySummary(cleantopo );</div><div class="gmail_extra"><br></div><div class="gmail_extra"><span class="" style="white-space:pre">       </span>_q := format('SELECT objectid, f_code, shape, topo_shape FROM fgcm.%I',updatedtablename); </div><div class="gmail_extra"><span class="" style="white-space:pre">  </span></div><div class="gmail_extra"><span class="" style="white-space:pre">     </span>FOR r IN</div><div class="gmail_extra"><span class="" style="white-space:pre">             </span>EXECUTE _q</div><div class="gmail_extra"><span class="" style="white-space:pre">   </span>LOOP</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>BEGIN</div><div class="gmail_extra"><span class="" style="white-space:pre">                </span>RAISE NOTICE 'Loading % attempt with shape = % and topo_shape = %' , r.objectid, r.shape, r.topo_shape; </div><div class="gmail_extra"><span class="" style="white-space:pre">            </span>_q := </div><div class="gmail_extra"><span class="" style="white-space:pre">                      </span>format('UPDATE fgcm.%I SET %I::topogeometry</div><div class="gmail_extra"><span class="" style="white-space:pre">                              </span>= topology.toTopoGeom(ST_Transform($1::geometry,32648), %I, 1, 1.0)</div><div class="gmail_extra"><span class="" style="white-space:pre">                                  </span>WHERE  objectid = $2' ,updatedtablename,topo_shape,cleantopo);</div><div class="gmail_extra"><span class="" style="white-space:pre">          </span></div><div class="gmail_extra"><span class="" style="white-space:pre">             </span>EXECUTE _q USING r.shape, r.objectid ;</div><div class="gmail_extra"><span class="" style="white-space:pre">       </span>    </div><div class="gmail_extra"><span class="" style="white-space:pre">       </span>    RAISE NOTICE 'Object % after conversion from shape = % to topo_shape = %', r.objectid, (ST_AsText(r.shape)), (ST_AsText(r.topo_shape));  </div><div class="gmail_extra"><span class="" style="white-space:pre">     </span>EXCEPTION</div><div class="gmail_extra"><span class="" style="white-space:pre">    </span>    WHEN OTHERS THEN</div><div class="gmail_extra"><span class="" style="white-space:pre">               </span>RAISE WARNING 'Loading of record % failed: % %', r.objectid, SQLSTATE, SQLERRM;</div><div class="gmail_extra"><span class="" style="white-space:pre">      </span>END;</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>END LOOP;</div><div class="gmail_extra">  </div><div class="gmail_extra">    RETURN;</div><div class="gmail_extra"> </div><div class="gmail_extra">END</div><div class="gmail_extra">$BODY$</div><div class="gmail_extra">  LANGUAGE plpgsql VOLATILE</div><div class="gmail_extra">  COST 100</div><div class="gmail_extra">  ROWS 2000; </div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Cheers,</div><div class="gmail_extra">Rémi-C</div></div></div>