Skip to content

Commit 24a6110

Browse files
committed
[pgr_aStar] apply rfc-3
1 parent 3d58cda commit 24a6110

4 files changed

Lines changed: 71 additions & 57 deletions

File tree

doc/queries/doc-astar.queries

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ SELECT * FROM pgr_astar(
99
seq | path_seq | node | edge | cost | agg_cost
1010
-----+----------+------+------+------+----------
1111
1 | 1 | 2 | 4 | 1 | 0
12-
2 | 2 | 5 | 10 | 1 | 1
13-
3 | 3 | 10 | 12 | 1 | 2
12+
2 | 2 | 5 | 8 | 1 | 1
13+
3 | 3 | 6 | 11 | 1 | 2
1414
4 | 4 | 11 | 13 | 1 | 3
1515
5 | 5 | 12 | -1 | 0 | 4
1616
(5 rows)
@@ -22,10 +22,10 @@ SELECT * FROM pgr_astar(
2222
directed := false, heuristic := 2);
2323
seq | path_seq | node | edge | cost | agg_cost
2424
-----+----------+------+------+------+----------
25-
1 | 1 | 2 | 4 | 1 | 0
26-
2 | 2 | 5 | 8 | 1 | 1
27-
3 | 3 | 6 | 11 | 1 | 2
28-
4 | 4 | 11 | 13 | 1 | 3
25+
1 | 1 | 2 | 2 | 1 | 0
26+
2 | 2 | 3 | 3 | 1 | 1
27+
3 | 3 | 4 | 16 | 1 | 2
28+
4 | 4 | 9 | 15 | 1 | 3
2929
5 | 5 | 12 | -1 | 0 | 4
3030
(5 rows)
3131

@@ -42,8 +42,8 @@ SELECT * FROM pgr_astar(
4242
5 | 5 | 3 | 4 | 3 | 1 | 4
4343
6 | 6 | 3 | 3 | -1 | 0 | 5
4444
7 | 1 | 12 | 2 | 4 | 1 | 0
45-
8 | 2 | 12 | 5 | 8 | 1 | 1
46-
9 | 3 | 12 | 6 | 11 | 1 | 2
45+
8 | 2 | 12 | 5 | 10 | 1 | 1
46+
9 | 3 | 12 | 10 | 12 | 1 | 2
4747
10 | 4 | 12 | 11 | 13 | 1 | 3
4848
11 | 5 | 12 | 12 | -1 | 0 | 4
4949
(11 rows)
@@ -79,18 +79,18 @@ SELECT * FROM pgr_astar(
7979
4 | 4 | 2 | 3 | 9 | 16 | 1 | 3
8080
5 | 5 | 2 | 3 | 4 | 3 | 1 | 4
8181
6 | 6 | 2 | 3 | 3 | -1 | 0 | 5
82-
7 | 1 | 7 | 3 | 7 | 6 | 1 | 0
83-
8 | 2 | 7 | 3 | 8 | 7 | 1 | 1
84-
9 | 3 | 7 | 3 | 5 | 8 | 1 | 2
85-
10 | 4 | 7 | 3 | 6 | 9 | 1 | 3
86-
11 | 5 | 7 | 3 | 9 | 16 | 1 | 4
87-
12 | 6 | 7 | 3 | 4 | 3 | 1 | 5
88-
13 | 7 | 7 | 3 | 3 | -1 | 0 | 6
89-
14 | 1 | 2 | 12 | 2 | 4 | 1 | 0
90-
15 | 2 | 2 | 12 | 5 | 10 | 1 | 1
91-
16 | 3 | 2 | 12 | 10 | 12 | 1 | 2
92-
17 | 4 | 2 | 12 | 11 | 13 | 1 | 3
93-
18 | 5 | 2 | 12 | 12 | -1 | 0 | 4
82+
7 | 1 | 2 | 12 | 2 | 4 | 1 | 0
83+
8 | 2 | 2 | 12 | 5 | 10 | 1 | 1
84+
9 | 3 | 2 | 12 | 10 | 12 | 1 | 2
85+
10 | 4 | 2 | 12 | 11 | 13 | 1 | 3
86+
11 | 5 | 2 | 12 | 12 | -1 | 0 | 4
87+
12 | 1 | 7 | 3 | 7 | 6 | 1 | 0
88+
13 | 2 | 7 | 3 | 8 | 7 | 1 | 1
89+
14 | 3 | 7 | 3 | 5 | 8 | 1 | 2
90+
15 | 4 | 7 | 3 | 6 | 9 | 1 | 3
91+
16 | 5 | 7 | 3 | 9 | 16 | 1 | 4
92+
17 | 6 | 7 | 3 | 4 | 3 | 1 | 5
93+
18 | 7 | 7 | 3 | 3 | -1 | 0 | 6
9494
19 | 1 | 7 | 12 | 7 | 6 | 1 | 0
9595
20 | 2 | 7 | 12 | 8 | 7 | 1 | 1
9696
21 | 3 | 7 | 12 | 5 | 10 | 1 | 2

sql/astar/_astar.sql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ CREATE OR REPLACE FUNCTION _pgr_astar(
3737
factor FLOAT DEFAULT 1.0,
3838
epsilon FLOAT DEFAULT 1.0,
3939
only_cost BOOLEAN DEFAULT false,
40-
normal BOOLEAN DEFAULT false,
40+
41+
-- SET to false on Many to One
42+
normal BOOLEAN DEFAULT TRUE,
4143
OUT seq INTEGER,
4244
OUT path_seq INTEGER,
4345
OUT start_vid BIGINT,

sql/astar/astar.sql

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
2828
********************************************************************PGR-GNU*/
2929

3030
CREATE OR REPLACE FUNCTION pgr_astar(
31-
edges_sql TEXT, -- XY edges sql
32-
start_vid BIGINT,
33-
end_vid BIGINT,
31+
TEXT, -- edges sql (required)
32+
BIGINT, -- from_vid (required)
33+
BIGINT, -- to_vid (required)
34+
3435
directed BOOLEAN DEFAULT true,
3536
heuristic INTEGER DEFAULT 5,
3637
factor FLOAT DEFAULT 1.0,
@@ -53,13 +54,15 @@ COST 100
5354
ROWS 1000;
5455

5556
CREATE OR REPLACE FUNCTION pgr_astar(
56-
edges_sql TEXT, -- XY edges sql
57-
start_vid BIGINT,
58-
end_vids ANYARRAY,
57+
TEXT, -- edges sql (required)
58+
BIGINT, -- from_vid (required)
59+
ANYARRAY, -- to_vids (required)
60+
5961
directed BOOLEAN DEFAULT true,
6062
heuristic INTEGER DEFAULT 5,
6163
factor FLOAT DEFAULT 1.0,
6264
epsilon FLOAT DEFAULT 1.0,
65+
6366
OUT seq INTEGER,
6467
OUT path_seq INTEGER,
6568
OUT end_vid BIGINT,
@@ -78,13 +81,15 @@ COST 100
7881
ROWS 1000;
7982

8083
CREATE OR REPLACE FUNCTION pgr_astar(
81-
edges_sql TEXT, -- XY edges sql
82-
start_vids ANYARRAY,
83-
end_vid BIGINT,
84+
TEXT, -- edges sql (required)
85+
ANYARRAY, -- from_vids (required)
86+
BIGINT, -- to_vid (required)
87+
8488
directed BOOLEAN DEFAULT true,
8589
heuristic INTEGER DEFAULT 5,
8690
factor FLOAT DEFAULT 1.0,
8791
epsilon FLOAT DEFAULT 1.0,
92+
8893
OUT seq INTEGER,
8994
OUT path_seq INTEGER,
9095
OUT start_vid BIGINT,
@@ -103,13 +108,15 @@ COST 100
103108
ROWS 1000;
104109

105110
CREATE OR REPLACE FUNCTION pgr_astar(
106-
edges_sql TEXT, -- XY edges sql
107-
start_vids ANYARRAY,
108-
end_vids ANYARRAY,
111+
TEXT, -- edges sql (required)
112+
ANYARRAY, -- from_vids (required)
113+
ANYARRAY, -- to_vids (required)
114+
109115
directed BOOLEAN DEFAULT true,
110116
heuristic INTEGER DEFAULT 5,
111117
factor FLOAT DEFAULT 1.0,
112118
epsilon FLOAT DEFAULT 1.0,
119+
113120
OUT seq INTEGER,
114121
OUT path_seq INTEGER,
115122
OUT start_vid BIGINT,
@@ -131,7 +138,12 @@ ROWS 1000;
131138

132139
-- COMMENTS
133140

134-
COMMENT ON FUNCTION pgr_astar(TEXT, BIGINT, BIGINT, BOOLEAN, INTEGER, FLOAT, FLOAT) IS 'pgr_astar(One to One)';
135-
COMMENT ON FUNCTION pgr_astar(TEXT, BIGINT, ANYARRAY, BOOLEAN, INTEGER, FLOAT, FLOAT) IS 'pgr_astar(One to Many)';
136-
COMMENT ON FUNCTION pgr_astar(TEXT, ANYARRAY, BIGINT, BOOLEAN, INTEGER, FLOAT, FLOAT) IS 'pgr_astar(Many to One)';
137-
COMMENT ON FUNCTION pgr_astar(TEXT, ANYARRAY, ANYARRAY, BOOLEAN, INTEGER, FLOAT, FLOAT) IS 'pgr_astar(Many to Many)';
141+
COMMENT ON FUNCTION pgr_aStar(TEXT, BIGINT, BIGINT, BOOLEAN, INTEGER, FLOAT, FLOAT)
142+
IS 'pgr_aStar--One to One--(edges_sql(id,source,target,cost[,reverse_cost],x1,y1,x2,y2), from_vid, to_vid [,directed ,heuristic, factor ,epsilon])';
143+
COMMENT ON FUNCTION pgr_aStar(TEXT, BIGINT, ANYARRAY, BOOLEAN, INTEGER, FLOAT, FLOAT)
144+
IS 'pgr_aStar--One to Many--(edges_sql(id,source,target,cost[,reverse_cost],x1,y1,x2,y2), from_vid, to_vids [,directed, heuristic, factor, epsilon])';
145+
COMMENT ON FUNCTION pgr_aStar(TEXT, ANYARRAY, BIGINT, BOOLEAN, INTEGER, FLOAT, FLOAT)
146+
IS 'pgr_aStar--Many to One--(edges_sql(id,source,target,cost[,reverse_cost],x1,y1,x2,y2), from_vids, to_vid [,directed, heuristic, factor, epsilon])';
147+
COMMENT ON FUNCTION pgr_aStar(TEXT, ANYARRAY, ANYARRAY, BOOLEAN, INTEGER, FLOAT, FLOAT)
148+
IS 'pgr_aStar--Many to Many--(edges_sql(id,source,target,cost[,reverse_cost],x1,y1,x2,y2), from_vids, to_vids [,directed, heuristic, factor, epsilon])';
149+

test/astar/doc-astar.result

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ SELECT * FROM pgr_astar(
99
seq | path_seq | node | edge | cost | agg_cost
1010
-----+----------+------+------+------+----------
1111
1 | 1 | 2 | 4 | 1 | 0
12-
2 | 2 | 5 | 10 | 1 | 1
13-
3 | 3 | 10 | 12 | 1 | 2
12+
2 | 2 | 5 | 8 | 1 | 1
13+
3 | 3 | 6 | 11 | 1 | 2
1414
4 | 4 | 11 | 13 | 1 | 3
1515
5 | 5 | 12 | -1 | 0 | 4
1616
(5 rows)
@@ -22,10 +22,10 @@ SELECT * FROM pgr_astar(
2222
directed := false, heuristic := 2);
2323
seq | path_seq | node | edge | cost | agg_cost
2424
-----+----------+------+------+------+----------
25-
1 | 1 | 2 | 4 | 1 | 0
26-
2 | 2 | 5 | 8 | 1 | 1
27-
3 | 3 | 6 | 11 | 1 | 2
28-
4 | 4 | 11 | 13 | 1 | 3
25+
1 | 1 | 2 | 2 | 1 | 0
26+
2 | 2 | 3 | 3 | 1 | 1
27+
3 | 3 | 4 | 16 | 1 | 2
28+
4 | 4 | 9 | 15 | 1 | 3
2929
5 | 5 | 12 | -1 | 0 | 4
3030
(5 rows)
3131

@@ -42,8 +42,8 @@ SELECT * FROM pgr_astar(
4242
5 | 5 | 3 | 4 | 3 | 1 | 4
4343
6 | 6 | 3 | 3 | -1 | 0 | 5
4444
7 | 1 | 12 | 2 | 4 | 1 | 0
45-
8 | 2 | 12 | 5 | 8 | 1 | 1
46-
9 | 3 | 12 | 6 | 11 | 1 | 2
45+
8 | 2 | 12 | 5 | 10 | 1 | 1
46+
9 | 3 | 12 | 10 | 12 | 1 | 2
4747
10 | 4 | 12 | 11 | 13 | 1 | 3
4848
11 | 5 | 12 | 12 | -1 | 0 | 4
4949
(11 rows)
@@ -79,18 +79,18 @@ SELECT * FROM pgr_astar(
7979
4 | 4 | 2 | 3 | 9 | 16 | 1 | 3
8080
5 | 5 | 2 | 3 | 4 | 3 | 1 | 4
8181
6 | 6 | 2 | 3 | 3 | -1 | 0 | 5
82-
7 | 1 | 7 | 3 | 7 | 6 | 1 | 0
83-
8 | 2 | 7 | 3 | 8 | 7 | 1 | 1
84-
9 | 3 | 7 | 3 | 5 | 8 | 1 | 2
85-
10 | 4 | 7 | 3 | 6 | 9 | 1 | 3
86-
11 | 5 | 7 | 3 | 9 | 16 | 1 | 4
87-
12 | 6 | 7 | 3 | 4 | 3 | 1 | 5
88-
13 | 7 | 7 | 3 | 3 | -1 | 0 | 6
89-
14 | 1 | 2 | 12 | 2 | 4 | 1 | 0
90-
15 | 2 | 2 | 12 | 5 | 10 | 1 | 1
91-
16 | 3 | 2 | 12 | 10 | 12 | 1 | 2
92-
17 | 4 | 2 | 12 | 11 | 13 | 1 | 3
93-
18 | 5 | 2 | 12 | 12 | -1 | 0 | 4
82+
7 | 1 | 2 | 12 | 2 | 4 | 1 | 0
83+
8 | 2 | 2 | 12 | 5 | 10 | 1 | 1
84+
9 | 3 | 2 | 12 | 10 | 12 | 1 | 2
85+
10 | 4 | 2 | 12 | 11 | 13 | 1 | 3
86+
11 | 5 | 2 | 12 | 12 | -1 | 0 | 4
87+
12 | 1 | 7 | 3 | 7 | 6 | 1 | 0
88+
13 | 2 | 7 | 3 | 8 | 7 | 1 | 1
89+
14 | 3 | 7 | 3 | 5 | 8 | 1 | 2
90+
15 | 4 | 7 | 3 | 6 | 9 | 1 | 3
91+
16 | 5 | 7 | 3 | 9 | 16 | 1 | 4
92+
17 | 6 | 7 | 3 | 4 | 3 | 1 | 5
93+
18 | 7 | 7 | 3 | 3 | -1 | 0 | 6
9494
19 | 1 | 7 | 12 | 7 | 6 | 1 | 0
9595
20 | 2 | 7 | 12 | 8 | 7 | 1 | 1
9696
21 | 3 | 7 | 12 | 5 | 10 | 1 | 2

0 commit comments

Comments
 (0)