[pgrouting] 01/05: Imported Upstream version 2.2.3

Sebastiaan Couwenberg sebastic at moszumanska.debian.org
Mon May 16 11:42:25 UTC 2016


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch master
in repository pgrouting.

commit cda136b301fed33d7bcd73951a5e35a7f15f36de
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Mon May 16 11:38:46 2016 +0200

    Imported Upstream version 2.2.3
---
 .travis.yml                                        |   7 +-
 CMakeLists.txt                                     |   4 +-
 NEWS                                               |   6 ++
 README.md                                          |   2 +-
 VERSION                                            |   2 +-
 doc/index.rst                                      |   1 +
 doc/src/changelog/2_2_3.rst                        |  28 ++++++
 doc/src/changelog/index.rst                        |   2 +
 doc/test/utilities-any.result                      |   2 +-
 src/allpairs/src/floydWarshall.c                   |  12 +--
 src/allpairs/src/johnson.c                         |  12 +--
 src/alpha_shape/src/alpha.c                        |  12 +--
 src/astar/src/astar.c                              |  14 +--
 src/bd_astar/src/bdastar.c                         |  14 +--
 src/bd_dijkstra/src/bdsp.c                         |  14 +--
 src/common/src/pgr_types.h                         |   4 +-
 src/dijkstra/src/dijkstraVia.c                     |   8 +-
 src/dijkstra/src/many_to_many_dijkstra.c           |   8 +-
 src/dijkstra/src/many_to_one_dijkstra.c            |   8 +-
 src/dijkstra/src/one_to_many_dijkstra.c            |   8 +-
 src/dijkstra/src/one_to_one_dijkstra.c             |   8 +-
 src/driving_distance/src/drivedist.c               |  16 +--
 .../src/many_to_dist_driving_distance.c            |  18 ++--
 .../src/many_to_dist_withPointsDD.c                |  18 ++--
 src/driving_distance/src/withPoints_dd.c           |   8 +-
 src/ksp/src/withPoints_ksp.c                       |   8 +-
 src/pickDeliver/src/pdp.c                          |  14 +--
 src/shooting_star/src/shooting_star.c              |  14 +--
 src/topology/doc/pgr_analyzeGraph.rst              |  18 ++--
 src/trsp/src/trsp.c                                |  28 +++---
 src/tsp/src/tsp2.c                                 |  10 +-
 src/tsp/src/xyd_tsp.c                              |   8 +-
 src/vrp_basic/src/VRP.c                            |  16 +--
 src/vrp_basic/src/VRP_Solver.cpp                   |   3 +-
 src/vrp_basic/src/VRP_Solver.h                     |   9 +-
 src/vrppdtw/src/pdp.c                              |  14 +--
 src/withPoints/src/many_to_many_withPoints.c       |   8 +-
 src/withPoints/src/many_to_one_withPoints.c        |   8 +-
 src/withPoints/src/one_to_many_withPoints.c        |   8 +-
 src/withPoints/src/one_to_one_withPoints.c         |   8 +-
 tools/sigs/pgrouting--2.2.2.sig                    | 109 +++++++++++++++++++++
 41 files changed, 330 insertions(+), 189 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 9ff99c9..4935a62 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -27,7 +27,6 @@ branches:
   only:
     - master
     - develop
-    - hotFix/issue552
 
 env:
   - POSTGRESQL_VERSION=9.1
@@ -79,12 +78,12 @@ before_script:
 
 script: 
   - ./tools/travis/pgrouting_build.sh $POSTGRESQL_VERSION $POSTGIS_VERSION
-
-after_script: 
-  # note: right takes the travis default
   - ./tools/travis/pgrouting_test.sh $POSTGRESQL_VERSION postgres
   - ./tools/testers/pg_prove_tests.sh postgres
 
+after_script: 
+  # nothing
+
 #after_success:
   #- ./tools/travis/pgrouting_deploy.sh $POSTGRESQL_VERSION $POSTGIS_VERSION
 
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cbfb168..9a56f0e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -31,7 +31,7 @@ SET(POSTGRESQL_BIN "" CACHE STRING "Define optional path to PostgreSQL binaries
 # PGROUTING version number.
 set(PGROUTING_VERSION_MAJOR "2")
 set(PGROUTING_VERSION_MINOR "2")
-set(PGROUTING_VERSION_PATCH "2")
+set(PGROUTING_VERSION_PATCH "3")
 
 set(PGROUTING_VERSION_STRING "${PGROUTING_VERSION_MAJOR}.${PGROUTING_VERSION_MINOR}.${PGROUTING_VERSION_PATCH}")
 set(PGROUTING_VERSION "${PGROUTING_VERSION_MAJOR}.${PGROUTING_VERSION_MINOR}")
@@ -41,7 +41,7 @@ set(POSTGIS_MINIMUM_VERSION "2.0.0")
 
 file(STRINGS "${PGROUTING_SOURCE_DIR}/VERSION" PGROUTING_BUILD_STRING)
 
-set(PGROUTING_GIT_TAG "pgrouting-2.2.2")
+set(PGROUTING_GIT_TAG "pgrouting-2.2.3")
 #string(REGEX REPLACE "^(.+)-([0-9]+)-g([0-9a-f]+) (.*)$" "\\1" PGROUTING_GIT_TAG ${PGROUTING_BUILD_STRING})
 string(REGEX REPLACE "^(.+)-([^-]+)-[0-9]+-g([0-9a-f]+) (.*)$" "\\2" PGROUTING_GIT_BUILD ${PGROUTING_BUILD_STRING})
 string(REGEX REPLACE "^(.+)-([0-9]+)-g([0-9a-f]+) (.*)$" "\\3" PGROUTING_GIT_HASH ${PGROUTING_BUILD_STRING})
diff --git a/NEWS b/NEWS
index a40eea2..d7931dc 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+Changes for 2.2.3
+-------------------------------------------------------------------------------
+
+- Fixed  compatibility issues with PostgreSQL 9.6.
+
+
 Changes for 2.2.2
 -------------------------------------------------------------------------------
 
diff --git a/README.md b/README.md
index 1f027f6..173f049 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
 
 ### Branches
 
-The *master* branch reflects the current 2.2.2 release.
+The *master* branch reflects the current 2.2.3 release.
 The *develop* branch reflects the 2.3.0-dev
 
 
diff --git a/VERSION b/VERSION
index 5bab8bc..fb44664 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-pgrouting-2.2.2-12-g544044b master
+pgrouting-2.2.3-4-g6d05b9b master
diff --git a/doc/index.rst b/doc/index.rst
index 5795338..b68bef5 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -177,6 +177,7 @@ Change Log
 
 :ref:`change_log`
 
+   - :ref:`changelog_2_2_3`
    - :ref:`changelog_2_2_2`
    - :ref:`changelog_2_2_1`
    - :ref:`changelog_2_2_0`
diff --git a/doc/src/changelog/2_2_3.rst b/doc/src/changelog/2_2_3.rst
new file mode 100644
index 0000000..18d599a
--- /dev/null
+++ b/doc/src/changelog/2_2_3.rst
@@ -0,0 +1,28 @@
+..
+   ****************************************************************************
+    pgRouting Manual
+    Copyright(c) pgRouting Contributors
+
+    This documentation is licensed under a Creative Commons Attribution-Share
+    Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/
+   ****************************************************************************
+
+.. _changelog_2_2_3:
+
+pgRouting 2.2.3 Release Notes
+===============================================================================
+
+With the release of pgRouting 2.2.e fixes  compatibility issues with PostgreSQL 9.6.
+
+ - To see the full list of changes check the list of `Git commits <https://github.com/pgRouting/pgrouting/commits>`_ on Github.
+ - To see the issues closed by this release see the `Git closed issues <https://github.com/pgRouting/pgrouting/issues?q=milestone%3ARelease-2.2.3+is%3Aclosed>`_ on Github.
+ - For important changes see the following release notes.
+
+
+Release Notes
+-------------------------------------------------------------------------------
+
+
+Changes for release 2.2.3
+
+* Fixed  compatibility issues with PostgreSQL 9.6.
diff --git a/doc/src/changelog/index.rst b/doc/src/changelog/index.rst
index c788588..8638e5a 100644
--- a/doc/src/changelog/index.rst
+++ b/doc/src/changelog/index.rst
@@ -12,6 +12,7 @@
 Release Notes
 ===============================================================================
 
+   - :ref:`changelog_2_2_3`
    - :ref:`changelog_2_2_2`
    - :ref:`changelog_2_2_1`
    - :ref:`changelog_2_2_0`  
@@ -22,6 +23,7 @@ Release Notes
 .. toctree::
    :hidden: 
 
+   2_2_3
    2_2_2
    2_2_1
    2_2_0
diff --git a/doc/test/utilities-any.result b/doc/test/utilities-any.result
index b1b25a5..5859406 100644
--- a/doc/test/utilities-any.result
+++ b/doc/test/utilities-any.result
@@ -1 +1 @@
-2.2.2
+2.2.3
diff --git a/src/allpairs/src/floydWarshall.c b/src/allpairs/src/floydWarshall.c
index 4c7908b..97a0ee3 100644
--- a/src/allpairs/src/floydWarshall.c
+++ b/src/allpairs/src/floydWarshall.c
@@ -164,22 +164,22 @@ floydWarshall(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /*********************************************************************/
         values = palloc(3 * sizeof(Datum));
-        nulls = palloc(3 * sizeof(char));
+        nulls = palloc(3 * sizeof(bool));
 
         // postgres starts counting from 1
         values[0] = Int64GetDatum(result_tuples[call_cntr].from_vid);
-        nulls[0] = ' ';
+        nulls[0] = false;
         values[1] = Int64GetDatum(result_tuples[call_cntr].to_vid);
-        nulls[1] = ' ';
+        nulls[1] = false;
         values[2] = Float8GetDatum(result_tuples[call_cntr].cost);
-        nulls[2] = ' ';
+        nulls[2] = false;
         /*********************************************************************/
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/src/allpairs/src/johnson.c b/src/allpairs/src/johnson.c
index b4ea162..6fd3d44 100644
--- a/src/allpairs/src/johnson.c
+++ b/src/allpairs/src/johnson.c
@@ -161,7 +161,7 @@ johnson(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /*********************************************************************/
         /*                          MODIFY AS NEEDED                         */
@@ -171,19 +171,19 @@ johnson(PG_FUNCTION_ARGS) {
         // OUT cost float)
 
         values = palloc(3 * sizeof(Datum));
-        nulls = palloc(3 * sizeof(char));
+        nulls = palloc(3 * sizeof(bool));
 
         // postgres starts counting from 1
         values[0] = Int64GetDatum(result_tuples[call_cntr].from_vid);
-        nulls[0] = ' ';
+        nulls[0] = false;
         values[1] = Int64GetDatum(result_tuples[call_cntr].to_vid);
-        nulls[1] = ' ';
+        nulls[1] = false;
         values[2] = Float8GetDatum(result_tuples[call_cntr].cost);
-        nulls[2] = ' ';
+        nulls[2] = false;
 
         /*********************************************************************/
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/src/alpha_shape/src/alpha.c b/src/alpha_shape/src/alpha.c
index 733a9d1..108811e 100644
--- a/src/alpha_shape/src/alpha.c
+++ b/src/alpha_shape/src/alpha.c
@@ -366,7 +366,7 @@ Datum alphashape(PG_FUNCTION_ARGS)
       */
     
       values = palloc(2 * sizeof(Datum));
-      nulls = palloc(2 * sizeof(char));
+      nulls = palloc(2 * sizeof(bool));
 
       x = res[call_cntr].x;
       y = res[call_cntr].y;
@@ -374,20 +374,20 @@ Datum alphashape(PG_FUNCTION_ARGS)
       {
         values[0] = 0;
         values[1] = 0;
-        nulls[0] = 'n';
-        nulls[1] = 'n';
+        nulls[0] = true;
+        nulls[1] = true;
       }
       else
       {
         values[0] = Float8GetDatum(x);
         values[1] = Float8GetDatum(y);
-        nulls[0] = ' ';
-        nulls[1] = ' ';
+        nulls[0] = false;
+        nulls[1] = false;
       }
 	
       PGR_DBG("Heap making\n");
 
-      tuple = heap_formtuple(tuple_desc, values, nulls);
+      tuple = heap_form_tuple(tuple_desc, values, nulls);
 
       PGR_DBG("Datum making\n");
 
diff --git a/src/astar/src/astar.c b/src/astar/src/astar.c
index 107053e..f4f95e6 100644
--- a/src/astar/src/astar.c
+++ b/src/astar/src/astar.c
@@ -460,23 +460,23 @@ shortest_path_astar(PG_FUNCTION_ARGS)
         HeapTuple    tuple;
         Datum        result;
         Datum *values;
-        char* nulls;
+        bool* nulls;
 
         values = palloc(4 * sizeof(Datum));
-        nulls = palloc(4 * sizeof(char));
+        nulls = palloc(4 * sizeof(bool));
 
         values[0] = Int32GetDatum(call_cntr);
-        nulls[0] = ' ';
+        nulls[0] = false;
         values[1] = Int32GetDatum(path[call_cntr].vertex_id);
-        nulls[1] = ' ';
+        nulls[1] = false;
         values[2] = Int32GetDatum(path[call_cntr].edge_id);
-        nulls[2] = ' ';
+        nulls[2] = false;
         values[3] = Float8GetDatum(path[call_cntr].cost);
-        nulls[3] = ' ';
+        nulls[3] = false;
 
         PGR_DBG("Heap making\n");
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
 
         PGR_DBG("Datum making\n");
 
diff --git a/src/bd_astar/src/bdastar.c b/src/bd_astar/src/bdastar.c
index 4a9ee7a..a920c70 100644
--- a/src/bd_astar/src/bdastar.c
+++ b/src/bd_astar/src/bdastar.c
@@ -459,23 +459,23 @@ bidir_astar_shortest_path(PG_FUNCTION_ARGS)
       HeapTuple    tuple;
       Datum        result;
       Datum *values;
-      char* nulls;
+      bool* nulls;
 
       values = palloc(4 * sizeof(Datum));
-      nulls = palloc(4 * sizeof(char));
+      nulls = palloc(4 * sizeof(bool));
 
       values[0] = Int32GetDatum(call_cntr);
-      nulls[0] = ' ';
+      nulls[0] = false;
       values[1] = Int32GetDatum(path[call_cntr].vertex_id);
-      nulls[1] = ' ';
+      nulls[1] = false;
       values[2] = Int32GetDatum(path[call_cntr].edge_id);
-      nulls[2] = ' ';
+      nulls[2] = false;
       values[3] = Float8GetDatum(path[call_cntr].cost);
-      nulls[3] = ' ';
+      nulls[3] = false;
 
       PGR_DBG("Heap making\n");
 
-      tuple = heap_formtuple(tuple_desc, values, nulls);
+      tuple = heap_form_tuple(tuple_desc, values, nulls);
 
       PGR_DBG("Datum making\n");
 
diff --git a/src/bd_dijkstra/src/bdsp.c b/src/bd_dijkstra/src/bdsp.c
index 60679b2..66668b6 100644
--- a/src/bd_dijkstra/src/bdsp.c
+++ b/src/bd_dijkstra/src/bdsp.c
@@ -391,21 +391,21 @@ bidir_dijkstra_shortest_path(PG_FUNCTION_ARGS)
       HeapTuple    tuple;
       Datum        result;
       Datum *values;
-      char* nulls;
+      bool* nulls;
 
       values = palloc(4 * sizeof(Datum));
-      nulls = palloc(4 * sizeof(char));
+      nulls = palloc(4 * sizeof(bool));
 
       values[0] = Int32GetDatum(call_cntr);
-      nulls[0] = ' ';
+      nulls[0] = false;
       values[1] = Int32GetDatum(path[call_cntr].vertex_id);
-      nulls[1] = ' ';
+      nulls[1] = false;
       values[2] = Int32GetDatum(path[call_cntr].edge_id);
-      nulls[3] = ' ';
+      nulls[3] = false;
       values[3] = Float8GetDatum(path[call_cntr].cost);
-      nulls[3] = ' ';
+      nulls[3] = false;
 
-      tuple = heap_formtuple(tuple_desc, values, nulls);
+      tuple = heap_form_tuple(tuple_desc, values, nulls);
 
       // make the tuple into a datum 
       result = HeapTupleGetDatum(tuple);
diff --git a/src/common/src/pgr_types.h b/src/common/src/pgr_types.h
index cd83d1b..1626988 100644
--- a/src/common/src/pgr_types.h
+++ b/src/common/src/pgr_types.h
@@ -24,8 +24,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 #pragma once
 
+#ifndef __cplusplus
+#include "postgres.h"
+#endif
 #include <stdint.h>
-#include <stdbool.h>
 
 typedef struct edge_astar
 {
diff --git a/src/dijkstra/src/dijkstraVia.c b/src/dijkstra/src/dijkstraVia.c
index 9bb4055..7cd375e 100644
--- a/src/dijkstra/src/dijkstraVia.c
+++ b/src/dijkstra/src/dijkstraVia.c
@@ -193,7 +193,7 @@ dijkstraVia(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /*******************************************************************************/
         /*                          MODIFY AS NEEDED                                   */
@@ -201,10 +201,10 @@ dijkstraVia(PG_FUNCTION_ARGS) {
 
         size_t numb_out = 10;
         values = palloc(numb_out * sizeof(Datum));
-        nulls = palloc(numb_out * sizeof(char));
+        nulls = palloc(numb_out * sizeof(bool));
         size_t i;
         for(i = 0; i< numb_out; ++i) {
-            nulls[i] = ' ';
+            nulls[i] = false;
         }
 
         // postgres starts counting from 1
@@ -221,7 +221,7 @@ dijkstraVia(PG_FUNCTION_ARGS) {
 
         /*******************************************************************************/
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/src/dijkstra/src/many_to_many_dijkstra.c b/src/dijkstra/src/many_to_many_dijkstra.c
index 3a3401c..09503d8 100644
--- a/src/dijkstra/src/many_to_many_dijkstra.c
+++ b/src/dijkstra/src/many_to_many_dijkstra.c
@@ -202,7 +202,7 @@ many_to_many_dijkstra(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /*********************************************************************/
         /*                          MODIFY AS NEEDED                         */
@@ -216,11 +216,11 @@ many_to_many_dijkstra(PG_FUNCTION_ARGS) {
         // OUT agg_cost float)
 
         values = palloc(8 * sizeof(Datum));
-        nulls = palloc(8 * sizeof(char));
+        nulls = palloc(8 * sizeof(bool));
 
         size_t i;
         for (i = 0; i < 8; ++i) {
-            nulls[i] = ' ';
+            nulls[i] = false;
         }
 
         values[0] = Int32GetDatum(call_cntr + 1);
@@ -233,7 +233,7 @@ many_to_many_dijkstra(PG_FUNCTION_ARGS) {
         values[7] = Float8GetDatum(result_tuples[call_cntr].agg_cost);
         /*********************************************************************/
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/src/dijkstra/src/many_to_one_dijkstra.c b/src/dijkstra/src/many_to_one_dijkstra.c
index 67f3d00..161b292 100644
--- a/src/dijkstra/src/many_to_one_dijkstra.c
+++ b/src/dijkstra/src/many_to_one_dijkstra.c
@@ -194,7 +194,7 @@ many_to_one_dijkstra(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /*********************************************************************/
         /*                          MODIFY AS NEEDED                         */
@@ -208,11 +208,11 @@ many_to_one_dijkstra(PG_FUNCTION_ARGS) {
         // OUT agg_cost FLOAT)
 
         values = palloc(7 * sizeof(Datum));
-        nulls = palloc(7 * sizeof(char));
+        nulls = palloc(7 * sizeof(bool));
 
         size_t i;
         for (i = 0; i < 7; ++i) {
-            nulls[i] = ' ';
+            nulls[i] = false;
         }
 
         // postgres starts counting from 1
@@ -225,7 +225,7 @@ many_to_one_dijkstra(PG_FUNCTION_ARGS) {
         values[6] = Float8GetDatum(result_tuples[call_cntr].agg_cost);
         /*********************************************************************/
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/src/dijkstra/src/one_to_many_dijkstra.c b/src/dijkstra/src/one_to_many_dijkstra.c
index 5fd2843..496f333 100644
--- a/src/dijkstra/src/one_to_many_dijkstra.c
+++ b/src/dijkstra/src/one_to_many_dijkstra.c
@@ -194,7 +194,7 @@ one_to_many_dijkstra(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /*********************************************************************/
         /*                          MODIFY AS NEEDED                         */
@@ -207,12 +207,12 @@ one_to_many_dijkstra(PG_FUNCTION_ARGS) {
         // OUT agg_cost float)
 
         values = palloc(7 * sizeof(Datum));
-        nulls = palloc(7 * sizeof(char));
+        nulls = palloc(7 * sizeof(bool));
 
 
         size_t i;
         for (i = 0; i < 7; ++i) {
-            nulls[i] = ' ';
+            nulls[i] = false;
         }
 
         // postgres starts counting from 1
@@ -225,7 +225,7 @@ one_to_many_dijkstra(PG_FUNCTION_ARGS) {
         values[6] = Float8GetDatum(result_tuples[call_cntr].agg_cost);
         /*********************************************************************/
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/src/dijkstra/src/one_to_one_dijkstra.c b/src/dijkstra/src/one_to_one_dijkstra.c
index c86ca99..d099701 100644
--- a/src/dijkstra/src/one_to_one_dijkstra.c
+++ b/src/dijkstra/src/one_to_one_dijkstra.c
@@ -189,7 +189,7 @@ one_to_one_dijkstra(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /**********************************************************************/
         /*                          MODIFY AS NEEDED                          */
@@ -201,12 +201,12 @@ one_to_one_dijkstra(PG_FUNCTION_ARGS) {
         // OUT agg_cost FLOAT
 
         values = palloc(6 * sizeof(Datum));
-        nulls = palloc(6 * sizeof(char));
+        nulls = palloc(6 * sizeof(bool));
 
 
         size_t i;
         for (i = 0; i < 6; ++i) {
-            nulls[i] = ' ';
+            nulls[i] = false;
         }
 
         // postgres starts counting from 1
@@ -218,7 +218,7 @@ one_to_one_dijkstra(PG_FUNCTION_ARGS) {
         values[5] = Float8GetDatum(result_tuples[call_cntr].agg_cost);
         /**********************************************************************/
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/src/driving_distance/src/drivedist.c b/src/driving_distance/src/drivedist.c
index 207a0d0..11171c2 100644
--- a/src/driving_distance/src/drivedist.c
+++ b/src/driving_distance/src/drivedist.c
@@ -156,25 +156,25 @@ driving_distance(PG_FUNCTION_ARGS) {
       HeapTuple    tuple;
       Datum        result;
       Datum *values;
-      char* nulls;
+      bool* nulls;
 
       values = palloc(5 * sizeof(Datum));
-      nulls = palloc(5 * sizeof(char));
+      nulls = palloc(5 * sizeof(bool));
 
       // TODO version 3.0 change to 
       // values[0] = Int64GetDatum(ret_path[call_cntr].seq + 1);
-      nulls[0] = ' ';
-      nulls[1] = ' ';
-      nulls[2] = ' ';
-      nulls[3] = ' ';
-      nulls[4] = ' ';
+      nulls[0] = false;
+      nulls[1] = false;
+      nulls[2] = false;
+      nulls[3] = false;
+      nulls[4] = false;
       values[0] = Int32GetDatum(ret_path[call_cntr].seq + 1);
       values[1] = Int64GetDatum(ret_path[call_cntr].node);
       values[2] = Int64GetDatum(ret_path[call_cntr].edge);
       values[3] = Float8GetDatum(ret_path[call_cntr].cost);
       values[4] = Float8GetDatum(ret_path[call_cntr].agg_cost);
 
-      tuple = heap_formtuple(tuple_desc, values, nulls);
+      tuple = heap_form_tuple(tuple_desc, values, nulls);
 
       /* make the tuple into a datum */
       result = HeapTupleGetDatum(tuple);
diff --git a/src/driving_distance/src/many_to_dist_driving_distance.c b/src/driving_distance/src/many_to_dist_driving_distance.c
index a099a8e..181e2ee 100644
--- a/src/driving_distance/src/many_to_dist_driving_distance.c
+++ b/src/driving_distance/src/many_to_dist_driving_distance.c
@@ -158,17 +158,17 @@ driving_many_to_dist(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum *values;
-        char* nulls;
+        bool* nulls;
 
         values = palloc(6 * sizeof(Datum));
-        nulls = palloc(6 * sizeof(char));
+        nulls = palloc(6 * sizeof(bool));
         // id, start_v, node, edge, cost, tot_cost
-        nulls[0] = ' ';
-        nulls[1] = ' ';
-        nulls[2] = ' ';
-        nulls[3] = ' ';
-        nulls[4] = ' ';
-        nulls[5] = ' ';
+        nulls[0] = false;
+        nulls[1] = false;
+        nulls[2] = false;
+        nulls[3] = false;
+        nulls[4] = false;
+        nulls[5] = false;
         values[0] = Int32GetDatum(call_cntr + 1);
         values[1] = Int64GetDatum(ret_path[call_cntr].start_id);
         values[2] = Int64GetDatum(ret_path[call_cntr].node);
@@ -176,7 +176,7 @@ driving_many_to_dist(PG_FUNCTION_ARGS) {
         values[4] = Float8GetDatum(ret_path[call_cntr].cost);
         values[5] = Float8GetDatum(ret_path[call_cntr].agg_cost);
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
 
         /* make the tuple into a datum */
         result = HeapTupleGetDatum(tuple);
diff --git a/src/driving_distance/src/many_to_dist_withPointsDD.c b/src/driving_distance/src/many_to_dist_withPointsDD.c
index afb8a16..f162839 100644
--- a/src/driving_distance/src/many_to_dist_withPointsDD.c
+++ b/src/driving_distance/src/many_to_dist_withPointsDD.c
@@ -233,17 +233,17 @@ many_withPointsDD(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum *values;
-        char* nulls;
+        bool* nulls;
 
         values = palloc(6 * sizeof(Datum));
-        nulls = palloc(6 * sizeof(char));
+        nulls = palloc(6 * sizeof(bool));
         // id, start_v, node, edge, cost, tot_cost
-        nulls[0] = ' ';
-        nulls[1] = ' ';
-        nulls[2] = ' ';
-        nulls[3] = ' ';
-        nulls[4] = ' ';
-        nulls[5] = ' ';
+        nulls[0] = false;
+        nulls[1] = false;
+        nulls[2] = false;
+        nulls[3] = false;
+        nulls[4] = false;
+        nulls[5] = false;
         values[0] = Int32GetDatum(call_cntr + 1);
         values[1] = Int64GetDatum(result_tuples[call_cntr].start_id);
         values[2] = Int64GetDatum(result_tuples[call_cntr].node);
@@ -251,7 +251,7 @@ many_withPointsDD(PG_FUNCTION_ARGS) {
         values[4] = Float8GetDatum(result_tuples[call_cntr].cost);
         values[5] = Float8GetDatum(result_tuples[call_cntr].agg_cost);
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
 
         /* make the tuple into a datum */
         result = HeapTupleGetDatum(tuple);
diff --git a/src/driving_distance/src/withPoints_dd.c b/src/driving_distance/src/withPoints_dd.c
index 57454f1..bea7556 100644
--- a/src/driving_distance/src/withPoints_dd.c
+++ b/src/driving_distance/src/withPoints_dd.c
@@ -230,7 +230,7 @@ withPoints_dd(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /*******************************************************************************/
         /*                          MODIFY AS NEEDED                                   */
@@ -242,11 +242,11 @@ withPoints_dd(PG_FUNCTION_ARGS) {
 
 
         values = palloc(5 * sizeof(Datum));
-        nulls = palloc(5 * sizeof(char));
+        nulls = palloc(5 * sizeof(bool));
 
         size_t i;
         for(i = 0; i < 6; ++i) {
-            nulls[i] = ' ';
+            nulls[i] = false;
         }
 
 
@@ -258,7 +258,7 @@ withPoints_dd(PG_FUNCTION_ARGS) {
         values[4] = Float8GetDatum(result_tuples[call_cntr].agg_cost);
         /*******************************************************************************/
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/src/ksp/src/withPoints_ksp.c b/src/ksp/src/withPoints_ksp.c
index c94893d..f39eab9 100644
--- a/src/ksp/src/withPoints_ksp.c
+++ b/src/ksp/src/withPoints_ksp.c
@@ -240,16 +240,16 @@ withPoints_ksp(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /*******************************************************************************/
         /*                          MODIFY AS NEEDED                                   */
         values = palloc(7 * sizeof(Datum));
-        nulls = palloc(7 * sizeof(char));
+        nulls = palloc(7 * sizeof(bool));
 
         size_t i;
         for(i = 0; i < 7; ++i) {
-            nulls[i] = ' ';
+            nulls[i] = false;
         }
 
         /*
@@ -269,7 +269,7 @@ withPoints_ksp(PG_FUNCTION_ARGS) {
         values[6] = Float8GetDatum(result_tuples[call_cntr].agg_cost);
         /*******************************************************************************/
 
-        tuple =heap_formtuple(tuple_desc, values, nulls);
+        tuple =heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/src/pickDeliver/src/pdp.c b/src/pickDeliver/src/pdp.c
index a242895..49f5b44 100644
--- a/src/pickDeliver/src/pdp.c
+++ b/src/pickDeliver/src/pdp.c
@@ -138,21 +138,21 @@ vrppdtw(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum *values;
-        char* nulls;
+        bool* nulls;
 
         PGR_DBG("Till hereee ", NULL);
         values = palloc(4 * sizeof(Datum));
-        nulls = palloc(4 * sizeof(char));
+        nulls = palloc(4 * sizeof(bool));
 
-        nulls[0] = ' ';
-        nulls[1] = ' ';
-        nulls[2] = ' ';
-        nulls[3] = ' ';
+        nulls[0] = false;
+        nulls[1] = false;
+        nulls[2] = false;
+        nulls[3] = false;
         values[0] = Int32GetDatum(results[call_cntr].seq);
         values[1] = Int64GetDatum(results[call_cntr].rid);
         values[2] = Int64GetDatum(results[call_cntr].nid);
         values[3] = Float8GetDatum(results[call_cntr].cost);
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
 
         /* make the tuple into a datum */
         result = HeapTupleGetDatum(tuple);
diff --git a/src/shooting_star/src/shooting_star.c b/src/shooting_star/src/shooting_star.c
index 36081cb..5e1dc13 100644
--- a/src/shooting_star/src/shooting_star.c
+++ b/src/shooting_star/src/shooting_star.c
@@ -541,21 +541,21 @@ shortest_path_shooting_star(PG_FUNCTION_ARGS)
       HeapTuple    tuple;
       Datum        result;
       Datum *values;
-      char* nulls;
+      bool* nulls;
       
       values = palloc(4 * sizeof(Datum));
-      nulls = palloc(4 * sizeof(char));
+      nulls = palloc(4 * sizeof(bool));
   
       values[0] = Int32GetDatum(call_cntr);
-      nulls[0] = ' ';
+      nulls[0] = false;
       values[1] = Int32GetDatum(path[call_cntr].vertex_id);
-      nulls[1] = ' ';
+      nulls[1] = false;
       values[2] = Int32GetDatum(path[call_cntr].edge_id);
-      nulls[2] = ' ';
+      nulls[2] = false;
       values[3] = Float8GetDatum(path[call_cntr].cost);
-      nulls[3] = ' ';
+      nulls[3] = false;
   
-      tuple = heap_formtuple(tuple_desc, values, nulls);
+      tuple = heap_form_tuple(tuple_desc, values, nulls);
   
       /* make the tuple into a datum */
       result = HeapTupleGetDatum(tuple);
diff --git a/src/topology/doc/pgr_analyzeGraph.rst b/src/topology/doc/pgr_analyzeGraph.rst
index 5b3eadb..d626064 100644
--- a/src/topology/doc/pgr_analyzeGraph.rst
+++ b/src/topology/doc/pgr_analyzeGraph.rst
@@ -19,7 +19,7 @@ pgr_analyzeGraph
 Name
 -------------------------------------------------------------------------------
 
-``pgr_anlizeGraph`` — Analyzes the network topology.
+``pgr_analyzeGraph`` — Analyzes the network topology.
 
 
 Synopsis
@@ -99,7 +99,7 @@ Usage when the edge table's columns MATCH the default values:
 
 .. code-block:: sql
 
-	 SELECT  pgr_create_topology('edge_table',0.001);
+	 SELECT  pgr_createTopology('edge_table',0.001);
 	 SELECT  pgr_analyzeGraph('edge_table',0.001);
 
 .. rubric:: When the arguments are given in the order described in the parameters:
@@ -240,7 +240,7 @@ Examples
 
 .. code-block:: sql
 
-	SELECT  pgr_create_topology('edge_table',0.001);
+	SELECT  pgr_createTopology('edge_table',0.001);
 	SELECT pgr_analyzeGraph('edge_table', 0.001);
 	NOTICE:  PROCESSING:
 	NOTICE:  pgr_analyzeGraph('edge_table',0.001,'the_geom','id','source','target','true')
@@ -257,7 +257,7 @@ Examples
 	NOTICE:               Intersections detected: 1
 	NOTICE:                      Ring geometries: 0
 	
-	 pgr_analizeGraph 
+	 pgr_analyzeGraph
 	--------------------
 	 OK
 	(1 row)
@@ -278,7 +278,7 @@ Examples
 	NOTICE:               Intersections detected: 0
 	NOTICE:                      Ring geometries: 0
 
-	 pgr_analizeGraph 
+	 pgr_analyzeGraph
 	--------------------
 	 OK
 	(1 row)
@@ -299,7 +299,7 @@ Examples
 	NOTICE:               Intersections detected: 1
 	NOTICE:                      Ring geometries: 0
 	
-	 pgr_analizeGraph 
+	 pgr_analyzeGraph
 	--------------------
 	 OK
 	(1 row)
@@ -322,7 +322,7 @@ Examples
 	NOTICE:               Intersections detected: 0
 	NOTICE:                      Ring geometries: 0
 	
-	 pgr_analizeGraph 
+	 pgr_analyzeGraph
 	--------------------
 	 OK
 	(1 row)
@@ -336,7 +336,7 @@ Examples
     NOTICE:  Vertices table for table public.edge_table is: public.edge_table_vertices_pgr
     NOTICE:  ----------------------------------------------
 	
-	 pgr_analizeGraph 
+	 pgr_analyzeGraph
 	--------------------
 	 OK
 	(1 row)
@@ -357,7 +357,7 @@ Examples
     NOTICE:               Intersections detected: 0
     NOTICE:                      Ring geometries: 0
 	
-	 pgr_analizeGraph 
+	 pgr_analyzeGraph
 	--------------------
 	 OK
 	(1 row)
diff --git a/src/trsp/src/trsp.c b/src/trsp/src/trsp.c
index 6b14f12..2e127ed 100644
--- a/src/trsp/src/trsp.c
+++ b/src/trsp/src/trsp.c
@@ -312,21 +312,21 @@ turn_restrict_shortest_path_vertex(PG_FUNCTION_ARGS)
         HeapTuple    tuple;
         Datum        result;
         Datum *values;
-        char* nulls;
+        bool* nulls;
 
         values = palloc(4 * sizeof(Datum));
-        nulls = palloc(4 * sizeof(char));
+        nulls = palloc(4 * sizeof(bool));
 
         values[0] = Int32GetDatum(call_cntr);
-        nulls[0] = ' ';
+        nulls[0] = false;
         values[1] = Int32GetDatum(path[call_cntr].vertex_id);
-        nulls[1] = ' ';
+        nulls[1] = false;
         values[2] = Int32GetDatum(path[call_cntr].edge_id);
-        nulls[2] = ' ';
+        nulls[2] = false;
         values[3] = Float8GetDatum(path[call_cntr].cost);
-        nulls[3] = ' ';
+        nulls[3] = false;
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
 
         // make the tuple into a datum 
         result = HeapTupleGetDatum(tuple);
@@ -461,21 +461,21 @@ turn_restrict_shortest_path_edge(PG_FUNCTION_ARGS)
         HeapTuple    tuple;
         Datum        result;
         Datum *values;
-        char* nulls;
+        bool* nulls;
 
         values = palloc(4 * sizeof(Datum));
-        nulls = palloc(4 * sizeof(char));
+        nulls = palloc(4 * sizeof(bool));
 
         values[0] = Int32GetDatum(call_cntr);
-        nulls[0] = ' ';
+        nulls[0] = false;
         values[1] = Int32GetDatum(path[call_cntr].vertex_id);
-        nulls[1] = ' ';
+        nulls[1] = false;
         values[2] = Int32GetDatum(path[call_cntr].edge_id);
-        nulls[2] = ' ';
+        nulls[2] = false;
         values[3] = Float8GetDatum(path[call_cntr].cost);
-        nulls[3] = ' ';
+        nulls[3] = false;
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
 
         // make the tuple into a datum 
         result = HeapTupleGetDatum(tuple);
diff --git a/src/tsp/src/tsp2.c b/src/tsp/src/tsp2.c
index fe9dfa0..e230956 100644
--- a/src/tsp/src/tsp2.c
+++ b/src/tsp/src/tsp2.c
@@ -300,21 +300,21 @@ tsp_matrix(PG_FUNCTION_ARGS)
         HeapTuple    tuple;
         Datum        result;
         Datum *values;
-        char* nulls;
+        bool* nulls;
 
         values = palloc(2 * sizeof(Datum));
-        nulls = palloc(2 * sizeof(char));
+        nulls = palloc(2 * sizeof(bool));
 
         values[0] = Int32GetDatum(call_cntr);
-        nulls[0] = ' ';
+        nulls[0] = false;
         values[1] = Int32GetDatum(tsp_res[call_cntr]);
-        nulls[1] = ' ';
+        nulls[1] = false;
 
         PGR_DBG("RESULT: %d, %d", call_cntr, tsp_res[call_cntr]);
 
         PGR_DBG("Heap making");
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
 
         PGR_DBG("Datum making");
 
diff --git a/src/tsp/src/xyd_tsp.c b/src/tsp/src/xyd_tsp.c
index 462d26d..9ba3641 100644
--- a/src/tsp/src/xyd_tsp.c
+++ b/src/tsp/src/xyd_tsp.c
@@ -170,7 +170,7 @@ xyd_tsp(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /**********************************************************************/
         /*                          MODIFY AS NEEDED                          */
@@ -180,12 +180,12 @@ xyd_tsp(PG_FUNCTION_ARGS) {
         // OUT agg_cost FLOAT
 
         values = palloc(4 * sizeof(Datum));
-        nulls = palloc(4 * sizeof(char));
+        nulls = palloc(4 * sizeof(bool));
 
 
         size_t i;
         for (i = 0; i < 4; ++i) {
-            nulls[i] = ' ';
+            nulls[i] = false;
         }
 
         // postgres starts counting from 1
@@ -195,7 +195,7 @@ xyd_tsp(PG_FUNCTION_ARGS) {
         values[3] = Float8GetDatum(result_tuples[call_cntr].agg_cost);
         /**********************************************************************/
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/src/vrp_basic/src/VRP.c b/src/vrp_basic/src/VRP.c
index 237c21b..12279f0 100644
--- a/src/vrp_basic/src/VRP.c
+++ b/src/vrp_basic/src/VRP.c
@@ -864,26 +864,26 @@ vrp(PG_FUNCTION_ARGS)
 		HeapTuple    tuple;
 		Datum        result;
 		Datum *values;
-		char* nulls;
+		bool* nulls;
 
 		values = palloc(5 * sizeof(Datum));
-		nulls = palloc(5 * sizeof(char));
+		nulls = palloc(5 * sizeof(bool));
 
 		values[0] = Int32GetDatum(path[call_cntr].order_id);   // order id
-		nulls[0] = ' ';
+		nulls[0] = false;
 		values[1] = Int32GetDatum(path[call_cntr].order_pos);  // order pos
-		nulls[1] = ' ';
+		nulls[1] = false;
 		values[2] = Int32GetDatum(path[call_cntr].vehicle_id); // vehicle id
-		nulls[2] = ' ';
+		nulls[2] = false;
 		values[3] = Int32GetDatum(path[call_cntr].arrival_time); // arrival time
-		nulls[3] = ' ';
+		nulls[3] = false;
 		//values[4] = TimeTzADTPGetDatum(&path[call_cntr].time);
 		values[4] = Int32GetDatum(path[call_cntr].depart_time);  // departure time
-		nulls[4] = ' ';
+		nulls[4] = false;
 
 		// PGR_DBG("Heap making\n");
 		//elog(NOTICE,"Result %d %d %d", call_cntr, path[call_cntr].order_id, max_calls);
-		tuple = heap_formtuple(tuple_desc, values, nulls);
+		tuple = heap_form_tuple(tuple_desc, values, nulls);
 
 		//PGR_DBG("Datum making\n");
 
diff --git a/src/vrp_basic/src/VRP_Solver.cpp b/src/vrp_basic/src/VRP_Solver.cpp
index 5f6d3c8..aee3ed3 100644
--- a/src/vrp_basic/src/VRP_Solver.cpp
+++ b/src/vrp_basic/src/VRP_Solver.cpp
@@ -21,12 +21,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 ********************************************************************PGR-GNU*/
 
-#include "VRP_Solver.h"
 #ifdef __MINGW32__
 #include <winsock2.h>
 #include <windows.h>
 #endif
 
+#include <algorithm>
+#include "VRP_Solver.h"
 
 #undef PGR_LOGGER_ON
 #define PGR_LOGGER_LOC
diff --git a/src/vrp_basic/src/VRP_Solver.h b/src/vrp_basic/src/VRP_Solver.h
index cdf05a9..ac089ab 100644
--- a/src/vrp_basic/src/VRP_Solver.h
+++ b/src/vrp_basic/src/VRP_Solver.h
@@ -26,15 +26,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 #include <vector>
 #include <map>
-#include <queue>
+#include <utility>
 #include <string>
-#include <stdlib.h>
-#include <iostream>
-#include <algorithm>
-#include <math.h>
-#include <stdio.h>
-#include <string.h>
-#include <set>
 
 #define MAXIMUM_TRY 15
 #define TOTAL_NUMBER_OF_SEARCH 15
diff --git a/src/vrppdtw/src/pdp.c b/src/vrppdtw/src/pdp.c
index f7a0807..a205d16 100644
--- a/src/vrppdtw/src/pdp.c
+++ b/src/vrppdtw/src/pdp.c
@@ -438,21 +438,21 @@ vrppdtw(PG_FUNCTION_ARGS)
                 HeapTuple    tuple;
                 Datum        result;
                 Datum *values;
-                char* nulls;
+                bool* nulls;
 
                 DBG("Till hereee ");
                 values = palloc(4 * sizeof(Datum));
-                nulls = palloc(4 * sizeof(char));
+                nulls = palloc(4 * sizeof(bool));
 
                 values[0] = Int32GetDatum(results[call_cntr].seq);
-                nulls[0] = ' ';
+                nulls[0] = false;
                 values[1] = Int32GetDatum(results[call_cntr].rid);
-                nulls[1] = ' ';
+                nulls[1] = false;
                 values[2] = Int32GetDatum(results[call_cntr].nid);
-                nulls[2] = ' ';
+                nulls[2] = false;
                 values[3] = Int32GetDatum(results[call_cntr].cost);
-                nulls[3] = ' ';
-                tuple = heap_formtuple(tuple_desc, values, nulls);
+                nulls[3] = false;
+                tuple = heap_form_tuple(tuple_desc, values, nulls);
 
                 /* make the tuple into a datum */
                 result = HeapTupleGetDatum(tuple);
diff --git a/src/withPoints/src/many_to_many_withPoints.c b/src/withPoints/src/many_to_many_withPoints.c
index 0e2151b..f697ab8 100644
--- a/src/withPoints/src/many_to_many_withPoints.c
+++ b/src/withPoints/src/many_to_many_withPoints.c
@@ -237,7 +237,7 @@ many_to_many_withPoints(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /*******************************************************************************/
         /*                          MODIFY AS NEEDED                                   */
@@ -250,11 +250,11 @@ many_to_many_withPoints(PG_FUNCTION_ARGS) {
 
 
         values = palloc(8 * sizeof(Datum));
-        nulls = palloc(8 * sizeof(char));
+        nulls = palloc(8 * sizeof(bool));
 
         size_t i;
         for(i = 0; i < 8; ++i) {
-            nulls[i] = ' ';
+            nulls[i] = false;
         }
 
 
@@ -269,7 +269,7 @@ many_to_many_withPoints(PG_FUNCTION_ARGS) {
         values[7] = Float8GetDatum(result_tuples[call_cntr].agg_cost);
         /*******************************************************************************/
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/src/withPoints/src/many_to_one_withPoints.c b/src/withPoints/src/many_to_one_withPoints.c
index b102ae6..46a86e4 100644
--- a/src/withPoints/src/many_to_one_withPoints.c
+++ b/src/withPoints/src/many_to_one_withPoints.c
@@ -225,7 +225,7 @@ many_to_one_withPoints(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /*******************************************************************************/
         /*                          MODIFY AS NEEDED                                   */
@@ -238,11 +238,11 @@ many_to_one_withPoints(PG_FUNCTION_ARGS) {
 
 
         values = palloc(7 * sizeof(Datum));
-        nulls = palloc(7 * sizeof(char));
+        nulls = palloc(7 * sizeof(bool));
 
         size_t i;
         for(i = 0; i < 7; ++i) {
-            nulls[i] = ' ';
+            nulls[i] = false;
         }
 
 
@@ -256,7 +256,7 @@ many_to_one_withPoints(PG_FUNCTION_ARGS) {
         values[6] = Float8GetDatum(result_tuples[call_cntr].agg_cost);
         /*******************************************************************************/
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/src/withPoints/src/one_to_many_withPoints.c b/src/withPoints/src/one_to_many_withPoints.c
index 33ac4e0..0f691e2 100644
--- a/src/withPoints/src/one_to_many_withPoints.c
+++ b/src/withPoints/src/one_to_many_withPoints.c
@@ -280,7 +280,7 @@ one_to_many_withPoints(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /*******************************************************************************/
         /*                          MODIFY AS NEEDED                                   */
@@ -293,11 +293,11 @@ one_to_many_withPoints(PG_FUNCTION_ARGS) {
 
 
         values = palloc(7 * sizeof(Datum));
-        nulls = palloc(7 * sizeof(char));
+        nulls = palloc(7 * sizeof(bool));
 
         size_t i;
         for(i = 0; i < 7; ++i) {
-            nulls[i] = ' ';
+            nulls[i] = false;
         }
 
 
@@ -311,7 +311,7 @@ one_to_many_withPoints(PG_FUNCTION_ARGS) {
         values[6] = Float8GetDatum(result_tuples[call_cntr].agg_cost);
         /*******************************************************************************/
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/src/withPoints/src/one_to_one_withPoints.c b/src/withPoints/src/one_to_one_withPoints.c
index 2b508f5..318e39f 100644
--- a/src/withPoints/src/one_to_one_withPoints.c
+++ b/src/withPoints/src/one_to_one_withPoints.c
@@ -264,7 +264,7 @@ one_to_one_withPoints(PG_FUNCTION_ARGS) {
         HeapTuple    tuple;
         Datum        result;
         Datum        *values;
-        char*        nulls;
+        bool*        nulls;
 
         /*******************************************************************************/
         /*                          MODIFY AS NEEDED                                   */
@@ -277,11 +277,11 @@ one_to_one_withPoints(PG_FUNCTION_ARGS) {
 
 
         values = palloc(6 * sizeof(Datum));
-        nulls = palloc(6 * sizeof(char));
+        nulls = palloc(6 * sizeof(bool));
 
         size_t i;
         for(i = 0; i < 6; ++i) {
-            nulls[i] = ' ';
+            nulls[i] = false;
         }
 
 
@@ -294,7 +294,7 @@ one_to_one_withPoints(PG_FUNCTION_ARGS) {
         values[5] = Float8GetDatum(result_tuples[call_cntr].agg_cost);
         /*******************************************************************************/
 
-        tuple = heap_formtuple(tuple_desc, values, nulls);
+        tuple = heap_form_tuple(tuple_desc, values, nulls);
         result = HeapTupleGetDatum(tuple);
         SRF_RETURN_NEXT(funcctx, result);
     } else {
diff --git a/tools/sigs/pgrouting--2.2.2.sig b/tools/sigs/pgrouting--2.2.2.sig
new file mode 100644
index 0000000..22f3147
--- /dev/null
+++ b/tools/sigs/pgrouting--2.2.2.sig
@@ -0,0 +1,109 @@
+#VERSION pgrouting 2.2.2
+#TYPES
+pgr_costResult(integer,integer,integer,float8)
+pgr_costResult3(integer,integer,integer,integer,float8)
+pgr_geomResult(integer,integer,integer,geometry)
+#FUNCTIONS
+_pgr_checkverttab(text,text[],in int ,in text ,out text,out text)
+_pgr_createindex(text,text,text,text,in int ,in text )
+_pgr_createindex(text,text,text,in int ,in text )
+_pgr_dijkstra(text,bigint,bigint,boolean,boolean ,out integer,out integer,out bigint,out bigint,out float,out float)
+_pgr_dijkstra(text,bigint,anyarray,boolean ,boolean ,out integer,out integer,out bigint,out bigint,out bigint,out float,out float)
+_pgr_dijkstra(text,anyarray,bigint,boolean ,boolean ,out integer,out integer,out bigint,out bigint,out bigint,out float,out float)
+_pgr_dijkstra(text,anyarray,anyarray,boolean ,boolean ,out integer,out integer,out bigint,out bigint,out bigint,out bigint,out float,out float)
+_pgr_drivingdistance(text,bigint,float8,boolean,out integer,out bigint,out bigint,out float,out float)
+_pgr_drivingdistance(text,anyarray,float8,boolean,boolean,out integer,out bigint,out bigint,out bigint,out float,out float)
+_pgr_endpoint(geometry)
+_pgr_getcolumnname(text,text,text,in int ,in text )
+_pgr_getcolumnname(text,text,in int ,in text )
+_pgr_getcolumntype(text,text,text,in int ,in text )
+_pgr_getcolumntype(text,text,in int ,in text )
+_pgr_gettablename(in text,in int ,in text ,out text,out text)
+_pgr_get_statement(text)
+_pgr_iscolumnintable(text,text)
+_pgr_iscolumnindexed(text,text,text,in int ,in text )
+_pgr_iscolumnindexed(text,text,in int ,in text )
+_pgr_ksp(text,bigint,bigint,integer,boolean,boolean,out integer,out integer,out integer,out bigint,out bigint,out float,out float)
+_pgr_makedistancematrix(text,out double precision[],out integer[])
+_pgr_msg(in int,in text,in text )
+_pgr_onerror(in boolean,in int,in text,in text,in text ,in text )
+_pgr_parameter_check(text,text,boolean )
+_pgr_pointtoid(geometry,double precision,text,integer)
+_pgr_quote_ident(text)
+_pgr_startpoint(geometry)
+_pgr_trsp(text,integer,integer,boolean,boolean,text )
+_pgr_trspviavertices(text,integer[],boolean,boolean,text )
+_pgr_versionless(text,text)
+_pgr_withpoints(text,text,bigint,bigint,boolean,char,boolean,boolean ,out integer,out integer,out bigint,out bigint,out float,out float)
+_pgr_withpoints(text,text,bigint,anyarray,boolean,char,boolean,boolean ,out integer,out integer,out bigint,out bigint,out bigint,out float,out float)
+_pgr_withpoints(text,text,anyarray,bigint,boolean,char,boolean,boolean ,out integer,out integer,out bigint,out bigint,out bigint,out float,out float)
+_pgr_withpoints(text,text,anyarray,anyarray,boolean,char,boolean,boolean ,out integer,out integer,out bigint,out bigint,out bigint,out bigint,out float,out float)
+_pgr_withpointsvia(text,bigint[],float[],boolean ,out integer,out integer,out integer,out bigint,out bigint,out bigint,out bigint,out float,out float,out float)
+pgr_alphashape(text,float8 ,out float8,out float8)
+pgr_analyzeoneway(text,text[],text[],text[],text[],boolean ,text ,text ,text )
+pgr_analyzegraph(text,double precision,text ,text ,text ,text ,text )
+pgr_apspjohnson(text)
+pgr_apspwarshall(text,boolean,boolean)
+pgr_astar(text,integer,integer,boolean,boolean)
+pgr_bdastar(text,integer,integer,boolean,boolean)
+pgr_bddijkstra(text,integer,integer,boolean,boolean)
+pgr_createtopology(text,double precision,text ,text ,text ,text ,text ,boolean )
+pgr_createverticestable(text,text ,text ,text ,text )
+pgr_dijkstra(text,bigint,bigint,out integer,out integer,out bigint,out bigint,out float,out float)
+pgr_dijkstra(text,bigint,bigint,boolean,out integer,out integer,out bigint,out bigint,out float,out float)
+pgr_dijkstra(text,bigint,anyarray,boolean ,out integer,out integer,out bigint,out bigint,out bigint,out float,out float)
+pgr_dijkstra(text,integer,integer,boolean,boolean)
+pgr_dijkstra(text,anyarray,bigint,boolean ,out integer,out integer,out bigint,out bigint,out bigint,out float,out float)
+pgr_dijkstra(text,anyarray,anyarray,boolean ,out integer,out integer,out bigint,out bigint,out bigint,out bigint,out float,out float)
+pgr_dijkstracost(text,bigint,bigint,boolean ,out bigint,out bigint,out float)
+pgr_dijkstracost(text,bigint,anyarray,boolean ,out bigint,out bigint,out float)
+pgr_dijkstracost(text,anyarray,bigint,boolean ,out bigint,out bigint,out float)
+pgr_dijkstracost(text,anyarray,anyarray,boolean ,out bigint,out bigint,out float)
+pgr_dijkstravia(text,anyarray,boolean ,boolean ,boolean ,out integer,out integer,out integer,out bigint,out bigint,out bigint,out bigint,out float,out float,out float)
+pgr_drivingdistance(text,bigint,float8,boolean,boolean)
+pgr_drivingdistance(text,bigint,float8,boolean ,out integer,out bigint,out bigint,out float,out float)
+pgr_drivingdistance(text,anyarray,float8,boolean ,boolean ,out integer,out bigint,out bigint,out bigint,out float,out float)
+pgr_endpoint(geometry)
+pgr_flipedges(geometry[])
+pgr_floydwarshall(text,boolean ,out bigint,out bigint,out float)
+pgr_getcolumnname(text,text)
+pgr_gettablename(in text,out text,out text)
+pgr_gsoc_vrppdtw(text,integer,integer,out integer,out integer,out integer,out integer )
+pgr_iscolumnintable(text,text)
+pgr_iscolumnindexed(text,text)
+pgr_johnson(text,boolean ,out bigint,out bigint,out float)
+pgr_kdijkstrapath(text,integer,integer array,boolean,boolean)
+pgr_kdijkstracost(text,integer,integer array,boolean,boolean)
+pgr_ksp(text,bigint,bigint,integer,boolean ,boolean ,out integer,out integer,out integer,out bigint,out bigint,out float,out float)
+pgr_ksp(text,integer,integer,integer,boolean)
+pgr_labelgraph(text,text ,text ,text ,text ,text )
+pgr_nodenetwork(text,double precision,text ,text ,text ,text ,boolean )
+pgr_pointsaspolygon(varchar,float8 )
+pgr_pointstodmatrix(geometry[],integer )
+pgr_pointstovids(geometry[],text,float8 )
+pgr_pointtoedgenode(text,geometry,float8)
+pgr_quote_ident(text)
+pgr_startpoint(geometry)
+pgr_texttopoints(text,integer )
+pgr_trsp(text,integer,integer,boolean,boolean,text )
+pgr_trsp(text,integer,float8,integer,float8,boolean,boolean,text )
+pgr_trspviaedges(text,integer[],float8[],boolean,boolean,text )
+pgr_trspviavertices(text,anyarray,boolean,boolean,text )
+pgr_tsp(float8[][],integer,integer ,out integer,out integer)
+pgr_tsp(text,integer,integer )
+pgr_version()
+pgr_versionless(text,text)
+pgr_vidstodmatrix(text,integer[],bool,bool,bool)
+pgr_vidstodmatrix(in integer[],in geometry[],in text,float8 )
+pgr_vrponedepot(text,text,text,integer,out integer,out integer,out integer,out integer,out integer)
+pgr_withpoints(text,text,bigint,bigint,boolean ,char ,boolean ,out integer,out integer,out bigint,out bigint,out float,out float)
+pgr_withpoints(text,text,bigint,anyarray,boolean ,char ,boolean ,out integer,out integer,out bigint,out bigint,out bigint,out float,out float)
+pgr_withpoints(text,text,anyarray,bigint,boolean ,char ,boolean ,out integer,out integer,out bigint,out bigint,out bigint,out float,out float)
+pgr_withpoints(text,text,anyarray,anyarray,boolean ,char ,boolean ,out integer,out integer,out bigint,out bigint,out bigint,out bigint,out float,out float)
+pgr_withpointscost(text,text,bigint,bigint,boolean ,char ,out bigint,out bigint,out float)
+pgr_withpointscost(text,text,bigint,anyarray,boolean ,char ,out bigint,out bigint,out float)
+pgr_withpointscost(text,text,anyarray,bigint,boolean ,char ,out bigint,out bigint,out float)
+pgr_withpointscost(text,text,anyarray,anyarray,boolean ,char ,out bigint,out bigint,out float)
+pgr_withpointsdd(text,text,anyarray,float,boolean ,char ,boolean ,boolean ,out integer,out bigint,out bigint,out bigint,out float,out float)
+pgr_withpointsdd(text,text,bigint,float,boolean ,char ,boolean ,out integer,out bigint,out bigint,out float,out float)
+pgr_withpointsksp(text,text,bigint,bigint,integer,boolean ,boolean ,char ,boolean ,out integer,out integer,out integer,out bigint,out bigint,out float,out float)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/pgrouting.git



More information about the Pkg-grass-devel mailing list