mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-12 18:34:36 +08:00
Eliminate unnecessary array[] decoration in examples of recursive cycle
detection.
This commit is contained in:
parent
e3b0117459
commit
1f238e569a
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/queries.sgml,v 1.48 2008/10/13 16:25:19 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/queries.sgml,v 1.49 2008/10/14 00:12:44 tgl Exp $ -->
|
||||||
|
|
||||||
<chapter id="queries">
|
<chapter id="queries">
|
||||||
<title>Queries</title>
|
<title>Queries</title>
|
||||||
@ -1639,7 +1639,7 @@ WITH RECURSIVE search_graph(id, link, data, depth, path, cycle) AS (
|
|||||||
FROM graph g
|
FROM graph g
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT g.id, g.link, g.data, sg.depth + 1,
|
SELECT g.id, g.link, g.data, sg.depth + 1,
|
||||||
path || ARRAY[g.id],
|
path || g.id,
|
||||||
g.id = ANY(path)
|
g.id = ANY(path)
|
||||||
FROM graph g, search_graph sg
|
FROM graph g, search_graph sg
|
||||||
WHERE g.id = sg.link AND NOT cycle
|
WHERE g.id = sg.link AND NOT cycle
|
||||||
@ -1664,7 +1664,7 @@ WITH RECURSIVE search_graph(id, link, data, depth, path, cycle) AS (
|
|||||||
FROM graph g
|
FROM graph g
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT g.id, g.link, g.data, sg.depth + 1,
|
SELECT g.id, g.link, g.data, sg.depth + 1,
|
||||||
path || ARRAY[ROW(g.f1, g.f2)],
|
path || ROW(g.f1, g.f2),
|
||||||
ROW(g.f1, g.f2) = ANY(path)
|
ROW(g.f1, g.f2) = ANY(path)
|
||||||
FROM graph g, search_graph sg
|
FROM graph g, search_graph sg
|
||||||
WHERE g.id = sg.link AND NOT cycle
|
WHERE g.id = sg.link AND NOT cycle
|
||||||
|
@ -465,7 +465,7 @@ insert into graph values
|
|||||||
with recursive search_graph(f, t, label, path, cycle) as (
|
with recursive search_graph(f, t, label, path, cycle) as (
|
||||||
select *, array[row(g.f, g.t)], false from graph g
|
select *, array[row(g.f, g.t)], false from graph g
|
||||||
union all
|
union all
|
||||||
select g.*, path || array[row(g.f, g.t)], row(g.f, g.t) = any(path)
|
select g.*, path || row(g.f, g.t), row(g.f, g.t) = any(path)
|
||||||
from graph g, search_graph sg
|
from graph g, search_graph sg
|
||||||
where g.f = sg.t and not cycle
|
where g.f = sg.t and not cycle
|
||||||
)
|
)
|
||||||
|
@ -266,7 +266,7 @@ insert into graph values
|
|||||||
with recursive search_graph(f, t, label, path, cycle) as (
|
with recursive search_graph(f, t, label, path, cycle) as (
|
||||||
select *, array[row(g.f, g.t)], false from graph g
|
select *, array[row(g.f, g.t)], false from graph g
|
||||||
union all
|
union all
|
||||||
select g.*, path || array[row(g.f, g.t)], row(g.f, g.t) = any(path)
|
select g.*, path || row(g.f, g.t), row(g.f, g.t) = any(path)
|
||||||
from graph g, search_graph sg
|
from graph g, search_graph sg
|
||||||
where g.f = sg.t and not cycle
|
where g.f = sg.t and not cycle
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user