FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
pgrouting/sql/spanningTree/primDFS.sql at master · xiaolingis/pgrouting · GitHub
xiaolingis
/
pgrouting
Public
forked from
pgRouting/pgrouting
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
pgrouting
/
sql
/
spanningTree
/
primDFS.sql
Copy path
More file actions
More file actions
Latest commit
History
History
History
117 lines (93 loc) · 2.95 KB
Breadcrumbs
pgrouting
/
sql
/
spanningTree
/
primDFS.sql
Copy path
File metadata and controls
117 lines (93 loc) · 2.95 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/*
PGR-GNU*****************************************************************
File: primDFS.sql
Copyright (c) 2018 Vicky Vergara
Mail: vicky at georepublic dot de
------
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
********************************************************************PGR-GNU
*/
--
---------------
--
pgr_primDFS
--
---------------
--
SINGLE VERTEX
CREATE OR REPLACE
FUNCTION
pgr_primDFS
(
TEXT
,
--
Edge sql
BIGINT
,
--
root vertex
max_depth
BIGINT
DEFAULT
9223372036854775807
,
OUT seq
BIGINT
,
OUT depth
BIGINT
,
OUT start_vid
BIGINT
,
OUT node
BIGINT
,
OUT edge
BIGINT
,
OUT cost FLOAT,
OUT agg_cost FLOAT)
RETURNS SETOF RECORD
AS
$BODY$
BEGIN
IF $
3
<
0
THEN
RAISE EXCEPTION
'
Negative value found on
'
'
max_depth
'
'
'
USING HINT
=
format(
'
Value found: %s
'
, $
3
);
END IF;
RETURN QUERY
SELECT
*
FROM
_pgr_prim(_pgr_get_statement($
1
), ARRAY[$
2
]::
BIGINT
[],
'
DFS
'
, $
3
,
-
1
);
END;
$BODY$
LANGUAGE plpgsql VOLATILE STRICT;
--
MULTIPLE VERTICES
CREATE OR REPLACE
FUNCTION
pgr_primDFS
(
TEXT
,
--
Edge sql
ANYARRAY,
--
root vertices
max_depth
BIGINT
DEFAULT
9223372036854775807
,
OUT seq
BIGINT
,
OUT depth
BIGINT
,
OUT start_vid
BIGINT
,
OUT node
BIGINT
,
OUT edge
BIGINT
,
OUT cost FLOAT,
OUT agg_cost FLOAT)
RETURNS SETOF RECORD
AS
$BODY$
BEGIN
IF $
3
<
0
THEN
RAISE EXCEPTION
'
Negative value found on
'
'
max_depth
'
'
'
USING HINT
=
format(
'
Value found: %s
'
, $
3
);
END IF;
RETURN QUERY
SELECT
*
FROM
_pgr_prim(_pgr_get_statement($
1
), $
2
,
'
DFS
'
, $
3
,
-
1
);
END;
$BODY$
LANGUAGE plpgsql VOLATILE STRICT;
--
COMMENTS
COMMENT
ON
FUNCTION pgr_primDFS(
TEXT
,
BIGINT
,
BIGINT
)
IS
'
pgr_primDFS(Single Vertex)
- Undirected graph
- Parameters:
- Edges SQL with columns: id, source, target, cost [,reverse_cost]
- From root vertex identifier
- Optional parameters
- max_depth := 9223372036854775807
- Documentation:
- ${PGROUTING_DOC_LINK}/pgr_primDFS.html
'
;
COMMENT
ON
FUNCTION pgr_primDFS(
TEXT
, ANYARRAY,
BIGINT
)
IS
'
pgr_primDFS(Multiple Vertices)
- Undirected graph
- Parameters:
- Edges SQL with columns: id, source, target, cost [,reverse_cost]
- From ARRAY[root vertices identifiers]
- Optional parameters
- max_depth := 9223372036854775807
- Documentation:
- ${PGROUTING_DOC_LINK}/pgr_primDFS.html
'
;
Back
|
FazBrowse Home
|
New Git URL