[pgrouting-users] One variant of pgr_trsp does not give correct result

I have created a test database with sample data from the pgrouting manual 2.0.
Scripts to create the tables:

CREATE TABLE edge_table (
id serial,
dir character varying,
source integer,
target integer,
cost double precision,
reverse_cost double precision,
x1 double precision,
y1 double precision,
x2 double precision,
y2 double precision,
the_geom geometry
);

INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1, 1, 2,0, 2,1);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES (-1, 1, 2,1, 3,1);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES (-1, 1, 3,1, 4,1);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1, 1, 2,1, 2,2);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1,-1, 3,1, 3,2);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1, 1, 0,2, 1,2);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1, 1, 1,2, 2,2);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1, 1, 2,2, 3,2);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1, 1, 3,2, 4,2);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1, 1, 2,2, 2,3);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1,-1, 3,2, 3,3);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1,-1, 2,3, 3,3);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1,-1, 3,3, 4,3);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1, 1, 2,3, 2,4);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1, 1, 4,2, 4,3);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1, 1, 4,1, 4,2);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1, 1, 0.5,3.5, 1.999999999999,3.5);
INSERT INTO edge_table (cost,reverse_cost,x1,y1,x2,y2) VALUES ( 1, 1, 3.5,2.3, 3.5,4);

UPDATE edge_table SET the_geom = st_makeline(st_point(x1,y1),st_point(x2,y2)),
dir = CASE WHEN (cost>0 and reverse_cost>0) THEN ‘B’ – both ways
WHEN (cost>0 and reverse_cost<0) THEN ‘FT’ – direction of the LINESSTRING
WHEN (cost<0 and reverse_cost>0) THEN ‘TF’ – reverse direction of the LINESTRING
ELSE ‘’ END; – unknown

SELECT pgr_createTopology(‘edge_table’,0.001);

After the tables are created, I ran the following SQL to calculate the shortest path from node 1 to node 11:

SELECT seq, id1 AS node, id2 AS edge, cost
FROM pgr_trsp(
‘SELECT id, source, target, cost FROM edge_table’,
1, 11, false, false
);

This was the result:
0;-1;0;0

But, when I used the other variant of pgr_trsp() to calculate the shortest path from edge 1 (position 0) to edge 11 (position 1):

SELECT seq, id1 AS node, id2 AS edge, cost
FROM pgr_trsp(
‘SELECT id, source, target, cost FROM edge_table’,
1, 0, 11, 1, false, false
);

I got the correct result:
0;1;1;1
1;2;4;1
2;5;8;1
3;6;11;1
4;11;-1;0

My system is running on Windows 7 Professional SP1 64-bit. My PostgreSQL info:

SELECT version();
PostgreSQL 9.3.5, compiled by Visual C++ build 1600, 64-bit

SELECT postgis_full_version();
POSTGIS=“2.1.4 r12966” GEOS=“3.4.2-CAPI-1.8.2 r3924” PROJ=“Rel. 4.8.0, 6 March 2012” GDAL=“GDAL 1.11.0, released 2014/04/16” LIBXML=“2.7.8” LIBJSON=“UNKNOWN” RASTER

SELECT pgr_version();
(2.0.0,pgrouting-2.0.0,0,d6ed2cb,master,1.53.0)

Dunno if this is a bug, so I posted it to the mailing list and hopefully someone can take a look at this.
Thank you.