1 2CREATE OR REPLACE FUNCTION style_old_dijkstra_with(fn TEXT, rest_sql TEXT) 3RETURNS SETOF TEXT AS 4$BODY$ 5BEGIN 6 7--with reverse cost 8RETURN QUERY SELECT test_integer(fn, rest_sql, 9 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost'], 10 'id'); 11RETURN QUERY SELECT test_integer(fn, rest_sql, 12 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost'], 13 'source'); 14RETURN QUERY SELECT test_integer(fn, rest_sql, 15 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost'], 16 'target'); 17RETURN QUERY SELECT test_float(fn, rest_sql, 18 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost'], 19 'cost'); 20RETURN QUERY SELECT test_float(fn, rest_sql, 21 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost'], 22 'reverse_cost'); 23END; 24$BODY$ 25LANGUAGE plpgsql; 26 27 28CREATE OR REPLACE FUNCTION style_old_dijkstra_no_rev(fn TEXT, rest_sql TEXT) 29RETURNS SETOF TEXT AS 30$BODY$ 31BEGIN 32--without reverse cost 33RETURN QUERY SELECT test_integer(fn, rest_sql, 34 ARRAY['id', 'source', 'target', 'cost'], 35 'id'); 36RETURN QUERY SELECT test_integer(fn, rest_sql, 37 ARRAY['id', 'source', 'target', 'cost'], 38 'source'); 39RETURN QUERY SELECT test_integer(fn, rest_sql, 40 ARRAY['id', 'source', 'target', 'cost'], 41 'target'); 42RETURN QUERY SELECT test_float(fn, rest_sql, 43 ARRAY['id', 'source', 'target', 'cost'], 44 'cost'); 45END; 46$BODY$ 47LANGUAGE plpgsql; 48 49CREATE OR REPLACE FUNCTION style_old_dijkstra_no_id_no_reverse(fn TEXT, rest_sql TEXT) 50RETURNS SETOF TEXT AS 51$BODY$ 52BEGIN 53 54RETURN QUERY SELECT test_integer(fn, rest_sql, 55 ARRAY['source', 'target', 'cost'], 56 'source'); 57RETURN QUERY SELECT test_integer(fn, rest_sql, 58 ARRAY['source', 'target', 'cost'], 59 'target'); 60RETURN QUERY SELECT test_float(fn, rest_sql, 61 ARRAY['source', 'target', 'cost'], 62 'cost'); 63END; 64$BODY$ 65LANGUAGE plpgsql; 66 67 68CREATE OR REPLACE FUNCTION style_old_dijkstra_no_id(fn TEXT, rest_sql TEXT) 69RETURNS SETOF TEXT AS 70$BODY$ 71BEGIN 72 73--with reverse cost 74RETURN QUERY SELECT test_integer(fn, rest_sql, 75 ARRAY['source', 'target', 'cost', 'reverse_cost'], 76 'source'); 77RETURN QUERY SELECT test_integer(fn, rest_sql, 78 ARRAY['source', 'target', 'cost', 'reverse_cost'], 79 'target'); 80RETURN QUERY SELECT test_float(fn, rest_sql, 81 ARRAY['source', 'target', 'cost', 'reverse_cost'], 82 'cost'); 83RETURN QUERY SELECT test_float(fn, rest_sql, 84 ARRAY['source', 'target', 'cost', 'reverse_cost'], 85 'reverse_cost'); 86 87 88--without reverse cost 89RETURN QUERY SELECT test_integer(fn, rest_sql, 90 ARRAY['source', 'target', 'cost'], 91 'source'); 92RETURN QUERY SELECT test_integer(fn, rest_sql, 93 ARRAY['source', 'target', 'cost'], 94 'target'); 95RETURN QUERY SELECT test_float(fn, rest_sql, 96 ARRAY['source', 'target', 'cost'], 97 'cost'); 98END; 99$BODY$ 100LANGUAGE plpgsql; 101 102 103CREATE OR REPLACE FUNCTION style_old_astar_with(fn TEXT, rest_sql TEXT) 104RETURNS SETOF TEXT AS 105$BODY$ 106BEGIN 107 108--with reverse cost 109RETURN QUERY SELECT test_integer(fn, rest_sql, 110 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], 111 'id'); 112RETURN QUERY SELECT test_integer(fn, rest_sql, 113 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], 114 'source'); 115RETURN QUERY SELECT test_integer(fn, rest_sql, 116 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], 117 'target'); 118RETURN QUERY SELECT test_float(fn, rest_sql, 119 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], 120 'cost'); 121RETURN QUERY SELECT test_float(fn, rest_sql, 122 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], 123 'reverse_cost'); 124RETURN QUERY SELECT test_float(fn, rest_sql, 125 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], 126 'x1'); 127RETURN QUERY SELECT test_float(fn, rest_sql, 128 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], 129 'y1'); 130RETURN QUERY SELECT test_float(fn, rest_sql, 131 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], 132 'x2'); 133RETURN QUERY SELECT test_float(fn, rest_sql, 134 ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], 135 'y2'); 136END; 137$BODY$ 138LANGUAGE plpgsql; 139 140 141 142CREATE OR REPLACE FUNCTION style_old_astar_no_rev(fn TEXT, rest_sql TEXT) 143RETURNS SETOF TEXT AS 144$BODY$ 145BEGIN 146 147--without reverse cost 148RETURN QUERY SELECT test_integer(fn, rest_sql, 149 ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], 150 'id'); 151RETURN QUERY SELECT test_integer(fn, rest_sql, 152 ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], 153 'source'); 154RETURN QUERY SELECT test_integer(fn, rest_sql, 155 ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], 156 'target'); 157RETURN QUERY SELECT test_float(fn, rest_sql, 158 ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], 159 'cost'); 160RETURN QUERY SELECT test_float(fn, rest_sql, 161 ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], 162 'x1'); 163RETURN QUERY SELECT test_float(fn, rest_sql, 164 ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], 165 'y1'); 166RETURN QUERY SELECT test_float(fn, rest_sql, 167 ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], 168 'x2'); 169RETURN QUERY SELECT test_float(fn, rest_sql, 170 ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], 171 'y2'); 172 173END; 174$BODY$ 175LANGUAGE plpgsql; 176 177