@@ -19,7 +19,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1919
2020BEGIN;
2121
22- SELECT CASE WHEN min_version('3.6.0') THEN PLAN(32) ELSE plan(1) END;
22+ SELECT CASE WHEN min_version('3.6.0') AND min_lib_version('4.0.0') THEN PLAN(32)
23+ WHEN min_version('3.6.0') THEN plan(20) ELSE plan(1) END;
2324
2425CREATE OR REPLACE FUNCTION test_cases()
2526RETURNS SETOF TEXT AS
@@ -58,20 +59,22 @@ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
5859 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
5960 -1, 4.8, 'L', directed => true)$$, 'lives: directed Left');
6061
61- -- directed b, B
62- RETURN QUERY SELECT lives_ok($$
63- SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
64- 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
65- 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
66- -1, 4.8, 'b', directed => true)$$,
67- 'lives: directed both');
68-
69- RETURN QUERY SELECT lives_ok($$
70- SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
71- 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
72- 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
73- -1, 4.8, 'B', directed => true)$$,
62+ IF min_lib_version('4.0.0') THEN
63+ -- directed b, B
64+ RETURN QUERY SELECT lives_ok($$
65+ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
66+ 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
67+ 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
68+ -1, 4.8, 'b', directed => true)$$,
69+ 'lives: directed both');
70+
71+ RETURN QUERY SELECT lives_ok($$
72+ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
73+ 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
74+ 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
75+ -1, 4.8, 'B', directed => true)$$,
7476 'lives: directed Both');
77+ END IF;
7578
7679-- directed Invalid
7780RETURN QUERY SELECT throws_ok($$
@@ -88,36 +91,38 @@ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
8891 -1, 4.8, 'I', directed => true)$$,
8992 'XX000',$$Invalid value of 'driving side'$$, 'throws: directed Invalid');
9093
91- -- undirected lives with b,B throws with and any other value
92- -- undirected r, R
93- RETURN QUERY SELECT lives_ok($$
94- SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
95- 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
96- 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
97- -1, 4.8, 'r', directed => false)$$,
94+ IF min_lib_version('4.0.0') THEN
95+ -- undirected lives with b,B throws with and any other value
96+ -- undirected r, R
97+ RETURN QUERY SELECT lives_ok($$
98+ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
99+ 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
100+ 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
101+ -1, 4.8, 'r', directed => false)$$,
98102 'lives: undirected right');
99103
100- RETURN QUERY SELECT lives_ok($$
101- SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
102- 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
103- 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
104- -1, 4.8, 'R', directed => false)$$,
104+ RETURN QUERY SELECT lives_ok($$
105+ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
106+ 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
107+ 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
108+ -1, 4.8, 'R', directed => false)$$,
105109 'lives: undirected Right');
106110
107- -- undirected l, L
108- RETURN QUERY SELECT lives_ok($$
109- SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
110- 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
111- 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
112- -1, 4.8, 'l', directed => false)$$,
111+ -- undirected l, L
112+ RETURN QUERY SELECT lives_ok($$
113+ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
114+ 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
115+ 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
116+ -1, 4.8, 'l', directed => false)$$,
113117 'lives: undirected left');
114118
115- RETURN QUERY SELECT lives_ok($$
116- SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
117- 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
118- 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
119- -1, 4.8, 'L', directed => false)$$,
119+ RETURN QUERY SELECT lives_ok($$
120+ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
121+ 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
122+ 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
123+ -1, 4.8, 'L', directed => false)$$,
120124 'lives: undirected Left');
125+ END IF;
121126
122127-- undirected b, B
123128RETURN QUERY SELECT lives_ok($$
@@ -175,20 +180,22 @@ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
175180 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
176181 ARRAY[-1,9], 4.8, 'L', directed => true)$$, 'lives: directed Left');
177182
178- -- directed b, B
179- RETURN QUERY SELECT lives_ok($$
180- SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
181- 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
182- 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
183- ARRAY[-1,9], 4.8, 'b', directed => true)$$,
184- 'lives: directed both');
185-
186- RETURN QUERY SELECT lives_ok($$
187- SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
188- 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
189- 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
190- ARRAY[-1,9], 4.8, 'B', directed => true)$$,
183+ IF min_lib_version('4.0.0') THEN
184+ -- directed b, B
185+ RETURN QUERY SELECT lives_ok($$
186+ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
187+ 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
188+ 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
189+ ARRAY[-1,9], 4.8, 'b', directed => true)$$,
190+ 'lives: directed both');
191+
192+ RETURN QUERY SELECT lives_ok($$
193+ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
194+ 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
195+ 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
196+ ARRAY[-1,9], 4.8, 'B', directed => true)$$,
191197 'lives: directed Both');
198+ END IF;
192199
193200-- directed Invalid
194201RETURN QUERY SELECT throws_ok($$
@@ -205,36 +212,38 @@ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
205212 ARRAY[-1,9], 4.8, 'I', directed => true)$$,
206213 'XX000',$$Invalid value of 'driving side'$$, 'throws: directed Invalid');
207214
208- -- undirected lives with b,B throws with and any other value
209- -- undirected r, R
210- RETURN QUERY SELECT lives_ok($$
211- SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
212- 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
213- 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
214- ARRAY[-1,9], 4.8, 'r', directed => false)$$,
215+ IF min_lib_version('4.0.0') THEN
216+ -- undirected lives with b,B throws with and any other value
217+ -- undirected r, R
218+ RETURN QUERY SELECT lives_ok($$
219+ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
220+ 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
221+ 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
222+ ARRAY[-1,9], 4.8, 'r', directed => false)$$,
215223 'lives: undirected right');
216224
217- RETURN QUERY SELECT lives_ok($$
218- SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
219- 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
220- 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
221- ARRAY[-1,9], 4.8, 'R', directed => false)$$,
225+ RETURN QUERY SELECT lives_ok($$
226+ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
227+ 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
228+ 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
229+ ARRAY[-1,9], 4.8, 'R', directed => false)$$,
222230 'lives: undirected Right');
223231
224- -- undirected l, L
225- RETURN QUERY SELECT lives_ok($$
226- SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
227- 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
228- 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
229- ARRAY[-1,9], 4.8, 'l', directed => false)$$,
232+ -- undirected l, L
233+ RETURN QUERY SELECT lives_ok($$
234+ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
235+ 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
236+ 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
237+ ARRAY[-1,9], 4.8, 'l', directed => false)$$,
230238 'lives: undirected left');
231239
232- RETURN QUERY SELECT lives_ok($$
233- SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
234- 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
235- 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
236- ARRAY[-1,9], 4.8, 'L', directed => false)$$,
240+ RETURN QUERY SELECT lives_ok($$
241+ SELECT seq, node, edge, cost::TEXT, agg_cost::TEXT FROM pgr_withPointsDD(
242+ 'SELECT id, source, target, cost, reverse_cost FROM edges ORDER BY id',
243+ 'SELECT pid, edge_id, fraction, side from pointsOfInterest',
244+ ARRAY[-1,9], 4.8, 'L', directed => false)$$,
237245 'lives: undirected Left');
246+ END IF;
238247
239248-- undirected b, B
240249RETURN QUERY SELECT lives_ok($$
0 commit comments