The GRAPH engine allows you to deal with hierarchies
and graphs in a purely relational way. So, we can find all
children of an item, path from an item to a root node, shortest
path between two items, and so on, each with a simple basic query
structure using standard SQL grammar.
The engine is implemented as a MySQL/MariaDB 5.1 plugin (we’re
working on a 5.0 backport for some clients) and thus runs with an
unmodified server.
Demo time! I’ll simplify/strip a little bit here for space
reasons, but what’s here is plain cut/paste from a running
server, no edits
-- insert a few entries with connections (and multiple paths)
insert into foo (origid, destid) values (1,2), (2,3), (2,4), (4,5), (3,6), (5,6);
-- a regular table to join on to
insert into people values (1,"pearce"),(2,"hunnicut"),(3,"potter"), …
[Read more]