Commit 7ca1f718 authored by Bas Couwenberg's avatar Bas Couwenberg

Imported Upstream version 2.3.1

parent 03f3118a
......@@ -10,97 +10,98 @@
#group: edge
#dist: trusty
dist: precise
#dist: precise
sudo: required
language: c
language: cpp
compiler:
- gcc
notifications:
email:
on_failure: project@pgrouting.org
#notifications:
# email:
# on_failure: project@pgrouting.org
branches:
only:
- master
- develop
- release/2.3.0
env: POSTGRESQL_VERSION=9.6 PG_USER=postgres
matrix:
include:
- os: linux
sudo: required
dist: precise
env: POSTGRESQL_VERSION=9.5 PG_USER=postgres
- os: linux
sudo: required
dist: precise
env: POSTGRESQL_VERSION=9.4 PG_USER=postgres
- os: linux
sudo: required
dist: trusty
group: edge
env: POSTGRESQL_VERSION=9.6 PG_USER=postgres
- os: linux
sudo: required
dist: trusty
group: edge
env: POSTGRESQL_VERSION=9.5 PG_USER=postgres
- os: linux
sudo: required
dist: trusty
group: edge
env: POSTGRESQL_VERSION=9.4 PG_USER=postgres
env:
- POSTGRESQL_VERSION=9.1
- POSTGRESQL_VERSION=9.2
- POSTGRESQL_VERSION=9.3
- POSTGRESQL_VERSION=9.4
- POSTGRESQL_VERSION=9.5
#- POSTGRESQL_VERSION=9.6
# executed. So things have to be tested oe by one.
addons:
apt:
sources:
# For gcc >= 4.8
- ubuntu-toolchain-r-test
# For cmake >= 2.8.8 (for CMakePackageConfigHelpers)
- - ubuntu-toolchain-r-test
# For cmake
- kubuntu-backports
- boost-latest
packages:
- g++-4.8
- cmake
- libboost-thread-dev
- libboost-graph-dev
- libcgal-dev
- postgresql-server-dev-all
- postgresql-common
- python-sphinx
install:
- sudo /etc/init.d/postgresql stop
- sudo /etc/init.d/postgresql stop
- sudo ./tools/travis/install-postgres9.5.sh $POSTGRESQL_VERSION postgres
#- sudo ./tools/travis/install-postgres9.6.sh $POSTGRESQL_VERSION postgres
install:
- sudo ./tools/travis/install-postgres.sh $POSTGRESQL_VERSION $PG_USER
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo ./tools/travis/install-doxygen.sh ; fi
before_script:
## Install doxygen
#- sudo add-apt-repository ppa:libreoffice/libreoffice-4-4 -y && sudo apt-get -qq update &&
# sudo apt-get --no-install-suggests --no-install-recommends -qq install doxygen &&
# doxygen --version ;
# Add our chosen PG version to the path
- export PATH=/usr/lib/postgresql/$POSTGRESQL_VERSION/bin:$PATH
# Stop whichever version of PG that travis started
- sudo /etc/init.d/postgresql stop
# Start the version of PG that we want to test
- sudo /etc/init.d/postgresql start $POSTGRESQL_VERSION
# Install pgtap and pg_prove
# pgtap has to be installed after postgres has started
- ./tools/travis/install_pgtap.sh $POSTGRESQL_VERSION
- sudo apt-get install -y libtap-parser-sourcehandler-pgtap-perl
# initialize databases
- createdb -U postgres ___pgr___test___
- createdb -U postgres pgr_test__db__test
- createdb -U $PG_USER ___pgr___test___
- createdb -U $PG_USER pgr_test__db__test
- ./tools/travis/check-extensions.sh $POSTGRESQL_VERSION ___pgr___test___
script:
- ./tools/travis/pgrouting_build.sh $POSTGRESQL_VERSION $POSTGIS_VERSION
# tests as part of script so if a test fails the build fails
- ./tools/travis/pgrouting_test.sh $POSTGRESQL_VERSION postgres
- ./tools/testers/pg_prove_tests.sh postgres
- ./tools/travis/pgrouting_test.sh $POSTGRESQL_VERSION $PG_USER
- ./tools/testers/pg_prove_tests.sh $PG_USER DEBUG
after_script:
# blank
#after_success:
- make doc
# - doxygen -v
- make doxy
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo ./tools/travis/test-documentation.sh ; fi
......@@ -22,7 +22,7 @@ if(NOT CMAKE_BUILD_TYPE)
"Choose the type of build, options are: None Debug Release RelWithDebInfo
MinSizeRel."
FORCE)
message("Running as: Debug")
message("Running as: Release")
else()
set(CMAKE_BUILD_TYPE Release CACHE STRING
"Choose the type of build, options are: None Debug Release RelWithDebInfo
......@@ -177,7 +177,7 @@ endif()
# PGROUTING version number.
set(PGROUTING_VERSION_MAJOR "2")
set(PGROUTING_VERSION_MINOR "3")
set(PGROUTING_VERSION_PATCH "0")
set(PGROUTING_VERSION_PATCH "1")
set(PGROUTING_VERSION_STRING "${PGROUTING_VERSION_MAJOR}.${PGROUTING_VERSION_MINOR}.${PGROUTING_VERSION_PATCH}")
set(PGROUTING_VERSION "${PGROUTING_VERSION_MAJOR}.${PGROUTING_VERSION_MINOR}")
......@@ -187,7 +187,7 @@ set(POSTGIS_MINIMUM_VERSION "2.0.0")
file(STRINGS "${PGROUTING_SOURCE_DIR}/VERSION" PGROUTING_BUILD_STRING)
set(PGROUTING_GIT_TAG "pgrouting-2.3.0")
set(PGROUTING_GIT_TAG "v2.3.1")
#string(REGEX REPLACE "^(.+)-([0-9]+)-g([0-9a-f]+) (.*)$" "\\1" PGROUTING_GIT_TAG ${PGROUTING_BUILD_STRING})
string(REGEX REPLACE "^(.+)-([^-]+)-[0-9]+-([0-9a-f]+) (.*)$" "\\2" PGROUTING_GIT_BUILD ${PGROUTING_BUILD_STRING})
......@@ -400,7 +400,7 @@ endif()
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall -Wconversion -pedantic -fmax-errors=10 -Wmissing-prototypes")
#TODO remove the optimizer flag when pgr_bdijkstra gets fixed
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -O1 -fno-implicit-inline-templates -Wconversion -pedantic -fmax-errors=10 -Wunused -Wuninitialized -Wextra")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -O1 -fno-implicit-inline-templates -Wconversion -pedantic -fmax-errors=10 -Wunused -Wuninitialized -Wextra -Wdouble-promotion -Werror")
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
......
Changes for 2.3.1
-------------------------------------------------------------------------------
* Bug fixes
* Leaks on proposed max_flow functions
* Regression error on pgr_trsp
* Types discrepancy on pgr_createVerticesTable
Changes for 2.3.0
-------------------------------------------------------------------------------
......
......@@ -6,7 +6,7 @@
### Branches
* The *master* branch has the latest minor release. (2.3.0)
* The *master* branch has the latest minor release. (2.3.1)
* The *develop* branch has the next minor release. (2.4.0)
For the complete list of releases go to:
......@@ -51,10 +51,11 @@ https://github.com/pgRouting/pgrouting/releases
</tr>
</table>
* travis: Postgis 2.2 for Postgres 9.1, 9.2, 9.3, 9.4, 9.5
* travis: Postgis 2.3.0 for Postgres 9.4, 9.5, 9.6
* precise
* jenkins: g++ 4.8 on 32 & 64 bits for Postgis 2.3.0dev and Postgres 9.4, 9.5, 9.6
* appveyor: vs1013 Postgis 2.2 Postgres 9.4
* trusty
* jenkins: g++ 4.8 on 32 & 64 bits for Postgis 2.3.0 and Postgres 9.4, 9.5, 9.6
* appveyor: vs1013 Postgis 2.3.0 Postgres 9.4
......
pgrouting-2.3.0-3977-8c86efd master
pgrouting-2.3.1-4034-963f95d master
......@@ -7,11 +7,6 @@
version: 2.3.{build}
branches:
only:
- master
- develop
image: Visual Studio 2013
configuration: Release
platform: x64
......
......@@ -20,7 +20,7 @@ if not defined COMMON_INSTALL_DIR set COMMON_INSTALL_DIR=%BUILD_ROOT_DIR%\local\
:: for cmake its the min version
if not defined CMAKE_VERSION set CMAKE_VERSION=3.5.2
if not defined PG_VERSION set PG_VERSION=2.2.2
if not defined PG_VERSION set PG_VERSION=2.3.0
if not defined BOOST_VERSION set BOOST_VERSION=1.58.0
if not defined CGAL_VERSION set CGAL_VERSION=4.8.1
......
......@@ -178,6 +178,7 @@ Change Log
:ref:`change_log`
- :ref:`changelog_2_3_1`
- :ref:`changelog_2_3_0`
- :ref:`changelog_2_2_4`
- :ref:`changelog_2_2_3`
......
......@@ -17,6 +17,7 @@ To see the full list of changes check the list of `Git commits <https://github.c
Table of contents
--------------------------
- :ref:`changelog_2_3_1`
- :ref:`changelog_2_3_0`
- :ref:`changelog_2_2_4`
- :ref:`changelog_2_2_3`
......@@ -28,6 +29,21 @@ Table of contents
- :ref:`changelog_2_0_0`
- :ref:`changelog_1_x`
.. _changelog_2_3_1:
pgRouting 2.3.1 Release Notes
===============================================================================
To see the issues closed by this release see the `Git closed issues for 2.3.1 <https://github.com/pgRouting/pgrouting/issues?q=is%3Aissue+milestone%3A%22Release+2.3.1%22+is%3Aclosed>`_ on Github.
.. rubric:: Bug Fixes
* Leaks on proposed max_flow functions
* Regression error on pgr_trsp
* Types discrepancy on pgr_createVerticesTable
.. _changelog_2_3_0:
pgRouting 2.3.0 Release Notes
......
......@@ -51,34 +51,25 @@ pgRouting on Ubuntu can be installed using packages from a PostgreSQL repository
Using a terminal window:
* Create /etc/apt/sources.list.d/pgdg.list. The distributions are called codename-pgdg.
.. code-block:: bash
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
* Import the repository key, update the package lists
.. code-block:: bash
# Create /etc/apt/sources.list.d/pgdg.list. The distributions are called codename-pgdg.
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt install wget ca-certificates
# Import the repository key, update the package lists
sudo apt-get install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt-get update
* Install pgrouting based on your postgres Installation: for this example is 9.3
# Install pgrouting based on your postgres Installation: for this example is 9.3
sudo apt-get install postgresql-9.3-pgrouting
.. code-block:: bash
sudo apt install postgresql-9.3-pgrouting
This will also install all required packages such as PostgreSQL and PostGIS if not installed yet.
* To be up-to-date with changes and improvements
.. code-block:: bash
sudo apt-get update & sudo apt-get upgrade
sudo apt-get update & sudo apt-get upgrade
RHEL/CentOS
......
......@@ -155,8 +155,8 @@ floydWarshall(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (Matrix_cell_t*) funcctx->user_fctx;
......
......@@ -143,8 +143,8 @@ johnson(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (Matrix_cell_t*) funcctx->user_fctx;
......
......@@ -127,9 +127,9 @@ static int compute_alpha_shape(char* sql, float8 alpha, vertex_t **res, size_t *
void *SPIplan;
Portal SPIportal;
bool moredata = TRUE;
uint32_t ntuples;
size_t ntuples;
vertex_t *vertices = NULL;
uint32_t total_tuples = 0;
size_t total_tuples = 0;
#ifndef _MSC_VER
vertex_columns_t vertex_columns = {.id = -1, .x = -1, .y = -1};
#else // _MSC_VER
......@@ -272,8 +272,8 @@ Datum alphashape(PG_FUNCTION_ARGS) {
PGR_DBG("Strange stuff doing\n");
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
res = (vertex_t*) funcctx->user_fctx;
......
......@@ -202,8 +202,8 @@ astarManyToMany(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -194,8 +194,8 @@ astarManyToOne(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -193,8 +193,8 @@ astarOneToMany(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -184,8 +184,8 @@ astarOneToOne(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -398,8 +398,8 @@ bidir_astar_shortest_path(PG_FUNCTION_ARGS) {
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
path = (path_element_t*) funcctx->user_fctx;
......
......@@ -6,11 +6,11 @@ SELECT * FROM pgr_bdDijkstra(
4, 10, false, false);
seq | id1 | id2 | cost
-----+-----+-----+------
0 | 4 | | 0
1 | 3 | | 0
2 | 2 | | 1
3 | 5 | | 1
4 | 10 | | 0
0 | 4 | 3 | 0
1 | 3 | 2 | 0
2 | 2 | 4 | 1
3 | 5 | 10 | 1
4 | 10 | -1 | 0
(5 rows)
--q2
......
......@@ -157,9 +157,9 @@ static int compute_bidirsp(char* sql, int64_t start_vertex,
void *SPIplan;
Portal SPIportal;
bool moredata = TRUE;
uint32_t ntuples;
size_t ntuples;
edge_t *edges = NULL;
uint32_t total_tuples = 0;
size_t total_tuples = 0;
#ifndef _MSC_VER
edge_columns_t edge_columns = {.id = -1, .source = -1, .target = -1,
.cost = -1, .reverse_cost = -1};
......@@ -224,9 +224,9 @@ static int compute_bidirsp(char* sql, int64_t start_vertex,
// defining min and max vertex id
PGR_DBG("Total %i tuples", total_tuples);
PGR_DBG("Total %ld tuples", total_tuples);
for (z = 0; z < total_tuples; z++) {
for (z = 0; z < (int64_t)total_tuples; z++) {
if (edges[z].source < v_min_id) v_min_id = edges[z].source;
if (edges[z].source > v_max_id) v_max_id = edges[z].source;
if (edges[z].target < v_min_id) v_min_id = edges[z].target;
......@@ -237,7 +237,7 @@ static int compute_bidirsp(char* sql, int64_t start_vertex,
//::::::::::::::::::::::::::::::::::::
//:: reducing vertex id (renumbering)
//::::::::::::::::::::::::::::::::::::
for (z = 0; z < total_tuples; z++) {
for (z = 0; z < (int64_t)total_tuples; z++) {
// check if edges[] contains source and target
if (edges[z].source == start_vertex || edges[z].target == start_vertex)
++s_count;
......@@ -249,7 +249,7 @@ static int compute_bidirsp(char* sql, int64_t start_vertex,
// PGR_DBG("%i - %i", edges[z].source, edges[z].target);
}
PGR_DBG("Total %i tuples", total_tuples);
PGR_DBG("Total %ld tuples", total_tuples);
if (s_count == 0) {
elog(ERROR, "Start vertex was not found.");
......@@ -266,11 +266,11 @@ static int compute_bidirsp(char* sql, int64_t start_vertex,
// v_max_id -= v_min_id;
PGR_DBG("Calling bidirsp_wrapper(edges, %u, %ld, %ld, %ld, %d, %d, ...)\n",
PGR_DBG("Calling bidirsp_wrapper(edges, %ld, %ld, %ld, %ld, %d, %d, ...)\n",
total_tuples, v_max_id + 2, start_vertex, end_vertex,
directed, has_reverse_cost);
ret = bidirsp_wrapper(edges, total_tuples, (int)v_max_id + 2, (int)start_vertex, (int)end_vertex,
ret = bidirsp_wrapper(edges, (unsigned int)total_tuples, (int)v_max_id + 2, (int)start_vertex, (int)end_vertex,
directed, has_reverse_cost,
path, path_count, &err_msg);
......@@ -367,8 +367,8 @@ bidir_dijkstra_shortest_path(PG_FUNCTION_ARGS) {
// stuff done on every call of the function
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
path = (path_element_t*) funcctx->user_fctx;
......
......@@ -52,7 +52,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#include "./structs.h"
#include "./../../common/src/pgr_alloc.hpp"
#include "./../../common/src/debug_macro.h"
#include "./../../common/src/identifiers.hpp"
......
......@@ -175,8 +175,8 @@ dijkstraVia(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (Routes_t*) funcctx->user_fctx;
......
......@@ -184,8 +184,8 @@ many_to_many_dijkstra(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -177,8 +177,8 @@ many_to_one_dijkstra(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -176,8 +176,8 @@ one_to_many_dijkstra(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -167,8 +167,8 @@ one_to_one_dijkstra(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -137,8 +137,8 @@ driving_distance(PG_FUNCTION_ARGS) {
/* stuff done on every call of the function */
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
ret_path = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -148,8 +148,8 @@ driving_many_to_dist(PG_FUNCTION_ARGS) {
/* stuff done on every call of the function */
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
ret_path = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -214,8 +214,8 @@ many_withPointsDD(PG_FUNCTION_ARGS) {
/* stuff done on every call of the function */
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -212,8 +212,8 @@ withPoints_dd(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -147,8 +147,8 @@ kshortest_path(PG_FUNCTION_ARGS) {
/* stuff done on every call of the function */
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
path = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -222,8 +222,8 @@ withPoints_ksp(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (General_path_element_t*) funcctx->user_fctx;
......
......@@ -157,6 +157,9 @@ edge_disjoint_paths_many_to_many(PG_FUNCTION_ARGS) {
&result_tuples,
&result_count);
free(source_vertices);
free(sink_vertices);
/* */
/**********************************************************************/
......@@ -175,8 +178,8 @@ edge_disjoint_paths_many_to_many(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (General_path_element_t *) funcctx->user_fctx;
......
......@@ -150,6 +150,8 @@ edge_disjoint_paths_many_to_one(PG_FUNCTION_ARGS) {
&result_tuples,
&result_count);
free(source_vertices);
/* */
/**********************************************************************/
......@@ -168,8 +170,8 @@ edge_disjoint_paths_many_to_one(PG_FUNCTION_ARGS) {
}
funcctx = SRF_PERCALL_SETUP();
call_cntr = funcctx->call_cntr;
max_calls = funcctx->max_calls;
call_cntr = (uint32_t)funcctx->call_cntr;
max_calls = (uint32_t)funcctx->max_calls;
tuple_desc = funcctx->tuple_desc;
result_tuples = (General_path_element_t *) funcctx->user_fctx;
......
......@@ -149,6 +149,8 @@ edge_disjoint_paths_one_to_many(PG_FUNCTION_ARGS) {