]> granicus.if.org Git - postgis/commitdiff
Topology: Remove TODOs
authorRaúl Marín Rodríguez <rmrodriguez@carto.com>
Fri, 19 Jul 2019 14:49:17 +0000 (14:49 +0000)
committerRaúl Marín Rodríguez <rmrodriguez@carto.com>
Fri, 19 Jul 2019 14:49:17 +0000 (14:49 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@17618 b70326c6-7e19-0410-871a-916f4a2858ee

liblwgeom/liblwgeom_topo.h
liblwgeom/lwgeom_topo.c
topology/postgis_topology.c

index 5263565ee59ee2d5d2d745b1c778c1a9692a6c77..703763ef34a8bd86ab4556cd6fdcdc9c7665af1b 100644 (file)
@@ -528,7 +528,6 @@ typedef struct LWT_BE_CALLBACKS_T {
    * @param faces the faces to insert. Those with a node_id set to -1
    *              it will be replaced to an automatically assigned identifier
    * @param nelems number of elements in the faces array
-   *   TODO: Should be uint64_t to match SPI_processed
    *
    * @return number of inserted faces, or -1 (@see lastErrorMessage)
    */
@@ -541,14 +540,13 @@ typedef struct LWT_BE_CALLBACKS_T {
    * @param faces an array of LWT_ISO_FACE object with selecting id
    *              and setting mbr.
    * @param numfaces number of faces in the "faces" array
-   *   TODO: Should be uint64_t to match SPI_processed
    *
-   * @return number of faces being updated or -1 on error
+   * @return number of faces being updated or UINT64_MAX on error
    *         (@see lastErroMessage)
    */
-  int (*updateFacesById) (
+  uint64_t (*updateFacesById) (
       const LWT_BE_TOPOLOGY* topo,
-      const LWT_ISO_FACE* faces, int numfaces
+      const LWT_ISO_FACE* faces, uint64_t numfaces
   );
 
   /*
@@ -587,7 +585,6 @@ typedef struct LWT_BE_CALLBACKS_T {
    * @param edges an array of LWT_ISO_EDGE object with selecting id
    *              and updating fields.
    * @param numedges number of edges in the "edges" array
-   *   TODO: Should be uint64_t to match SPI_processed
    * @param upd_fields fields to be updated for the selected edges,
    *                   see LWT_COL_EDGE_* macros
    *
@@ -631,7 +628,6 @@ typedef struct LWT_BE_CALLBACKS_T {
    *                 identifiers in the input array, gets number of
    *                 nodes in output array if the return is not null,
    *                 otherwise see @return section for semantic.
-   *   TODO: Should be uint64_t to match SPI_processed
    * @param fields fields to be filled in the returned structure, see
    *               LWT_COL_NODE_* macros
    * @param box optional bounding box to further restrict matches, use
index 194802d90112dbbc0815d5e2b73db8ac2302dfd4..672870d1c5c9e87dbf85593b1ffa45b189357930 100644 (file)
@@ -287,9 +287,9 @@ lwt_be_updateNodes(LWT_TOPOLOGY* topo,
                           exc_node, exc_fields);
 }
 
-static int
+static uint64_t
 lwt_be_updateFacesById(LWT_TOPOLOGY* topo,
-  const LWT_ISO_FACE* faces, int numfaces
+  const LWT_ISO_FACE* faces, uint64_t numfaces
 )
 {
   CBT2(topo, updateFacesById, faces, numfaces);
@@ -3438,8 +3438,8 @@ lwt_ChangeEdgeGeom(LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, LWLINE *geom)
   const GBOX* oldbox = lwgeom_get_bbox(lwline_as_lwgeom(oldedge->geom));
   const GBOX* newbox = lwgeom_get_bbox(lwline_as_lwgeom(geom));
   if ( ! gbox_same(oldbox, newbox) )
-  {{
-    int facestoupdate = 0;
+  {
+    uint64_t facestoupdate = 0;
     LWT_ISO_FACE faces[2];
     LWGEOM *nface1 = NULL;
     LWGEOM *nface2 = NULL;
@@ -3493,15 +3493,15 @@ lwt_ChangeEdgeGeom(LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, LWLINE *geom)
     LWDEBUGF(1, "%d faces to update", facestoupdate);
     if ( facestoupdate )
     {
-           res = lwt_be_updateFacesById(topo, &(faces[0]), facestoupdate);
-           if (res != facestoupdate)
+               uint64_t updatedFaces = lwt_be_updateFacesById(topo, &(faces[0]), facestoupdate);
+           if (updatedFaces != facestoupdate)
            {
                    if (nface1)
                            lwgeom_free(nface1);
                    if (nface2)
                            lwgeom_free(nface2);
                    _lwt_release_edges(oldedge, 1);
-                   if (res == -1)
+                   if (updatedFaces == UINT64_MAX)
                            lwerror("Backend error: %s", lwt_be_lastErrorMessage(topo->be_iface));
                    else
                            lwerror("Unexpected error: %d faces found when expecting 1", i);
@@ -3510,9 +3510,11 @@ lwt_ChangeEdgeGeom(LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, LWLINE *geom)
     }
     if ( nface1 ) lwgeom_free(nface1);
     if ( nface2 ) lwgeom_free(nface2);
-  }} else {{
+  }
+  else
+  {
     lwnotice("BBOX of changed edge did not change");
-  }}
+  }
 
   LWDEBUG(1, "all done, cleaning up edges");
 
index 0c4fa101305740e538128c026574e2fe58a35793..a5d3b0cb5dbe1614041ce97931dac24198abf414 100644 (file)
@@ -1918,12 +1918,12 @@ cb_updateNodesById(const LWT_BE_TOPOLOGY *topo, const LWT_ISO_NODE *nodes, uint6
   return SPI_processed;
 }
 
-static int
+static uint64_t
 cb_updateFacesById( const LWT_BE_TOPOLOGY* topo,
-                    const LWT_ISO_FACE* faces, int numfaces )
+                    const LWT_ISO_FACE* faces, uint64_t numfaces )
 {
   MemoryContext oldcontext = CurrentMemoryContext;
-  int i;
+  uint64_t i;
   int spi_result;
   StringInfoData sqldata;
   StringInfo sql = &sqldata;
@@ -1955,7 +1955,7 @@ cb_updateFacesById( const LWT_BE_TOPOLOGY* topo,
     cberror(topo->be_data, "unexpected return (%d) from query execution: %s",
             spi_result, sql->data);
     pfree(sqldata.data);
-    return -1;
+    return UINT64_MAX;
   }
   pfree(sqldata.data);