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