Skip to content

Commit 94908d6

Browse files
committed
[lineGraph] apply rfc-3
1 parent 67b1385 commit 94908d6

3 files changed

Lines changed: 64 additions & 6 deletions

File tree

sql/lineGraph/lineGraph.sql

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,45 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
2727
2828
********************************************************************PGR-GNU*/
2929

30-
CREATE OR REPLACE FUNCTION pgr_lineGraph(
30+
CREATE OR REPLACE FUNCTION _pgr_lineGraph(
3131
TEXT, -- edges_sql
32-
directed BOOLEAN DEFAULT true,
32+
33+
directed BOOLEAN,
34+
3335
OUT seq INTEGER,
3436
OUT source BIGINT,
3537
OUT target BIGINT,
3638
OUT cost FLOAT,
3739
OUT reverse_cost FLOAT)
38-
3940
RETURNS SETOF RECORD AS
4041
'MODULE_PATHNAME', 'lineGraph'
4142
LANGUAGE c IMMUTABLE STRICT;
43+
44+
CREATE OR REPLACE FUNCTION pgr_lineGraph(
45+
TEXT, -- edges_sql (required)
46+
47+
directed BOOLEAN DEFAULT true,
48+
49+
OUT seq INTEGER,
50+
OUT source BIGINT,
51+
OUT target BIGINT,
52+
OUT cost FLOAT,
53+
OUT reverse_cost FLOAT)
54+
RETURNS SETOF RECORD AS
55+
$BODY$
56+
SELECT *
57+
FROM _pgr_lineGraph(_pgr_get_statement($1), $2)
58+
$BODY$
59+
LANGUAGE SQL VOLATILE STRICT
60+
COST 100
61+
ROWS 1000;
62+
63+
-- COMMENTS
64+
65+
COMMENT ON FUNCTION pgr_lineGraph(TEXT, BOOLEAN)
66+
IS 'pgr_lineGraph
67+
- EXPERIMENTAL
68+
- Parameters:
69+
- edges SQL with columns: id, source, target, cost [,reverse_cost]
70+
- Optional Parameters:
71+
- directed';

sql/lineGraph/lineGraphFull.sql

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,40 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
2727
2828
********************************************************************PGR-GNU*/
2929

30-
CREATE OR REPLACE FUNCTION pgr_lineGraphFull(
30+
CREATE OR REPLACE FUNCTION _pgr_lineGraphFull(
3131
TEXT, -- edges_sql
32+
3233
OUT seq INTEGER,
3334
OUT source BIGINT,
3435
OUT target BIGINT,
3536
OUT cost FLOAT,
3637
OUT edge BIGINT)
37-
3838
RETURNS SETOF RECORD AS
3939
'MODULE_PATHNAME', 'lineGraphFull'
40-
LANGUAGE c IMMUTABLE STRICT;
40+
LANGUAGE C IMMUTABLE STRICT;
41+
42+
CREATE OR REPLACE FUNCTION pgr_lineGraphFull(
43+
TEXT, -- edges_sql (required)
44+
45+
OUT seq INTEGER,
46+
OUT source BIGINT,
47+
OUT target BIGINT,
48+
OUT cost FLOAT,
49+
OUT edge BIGINT)
50+
RETURNS SETOF RECORD AS
51+
$BODY$
52+
SELECT *
53+
FROM _pgr_lineGraphFull(_pgr_get_statement($1))
54+
$BODY$
55+
LANGUAGE SQL VOLATILE STRICT
56+
COST 100
57+
ROWS 1000;
58+
59+
-- COMMENTS
60+
61+
COMMENT ON FUNCTION pgr_lineGraphFull(TEXT)
62+
IS 'pgr_lineGraphFull
63+
- EXPERIMENTAL
64+
- For Directed Graph
65+
- Parameters:
66+
- edges SQL with columns: id, source, target, cost [,reverse_cost]';

sql/sigs/pgrouting--3.0.0.sig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,9 @@ pgr_kruskal(text)
125125
_pgr_kruskal(text,anyarray,text,bigint,double precision)
126126
_pgr_ksp(text,bigint,bigint,integer,boolean,boolean)
127127
pgr_ksp(text,bigint,bigint,integer,boolean,boolean)
128+
_pgr_linegraphfull(text)
128129
pgr_linegraphfull(text)
130+
_pgr_linegraph(text,boolean)
129131
pgr_linegraph(text,boolean)
130132
_pgr_makedistancematrix(text)
131133
pgr_maxcardinalitymatch(text,boolean)

0 commit comments

Comments
 (0)