perl-DBIx-Tree-NestedSet - >connect('DBI:mysql:test','user','pass') or die ($DBI::errstr);

Property Value
Distribution ALT Linux Sisyphus
Repository Autoimports noarch
Package filename perl-DBIx-Tree-NestedSet-0.16-alt1.noarch.rpm
Package name perl-DBIx-Tree-NestedSet
Package version 0.16
Package release alt1
Package architecture noarch
Package type rpm
Category Development/Perl
Homepage -
License -
Maintainer -
Download size 66.92 KB
Installed size 66.92 KB
This module implements a "Nested Set" parent/child tree, and is focused (at least in my mind) towards offering methods that make developing web applications easier. It should be generally useful, though.
See the "SEE ALSO" section for resources that explain the advantages and features of a nested set tree.  This module gives you arbitrary levels of nodes,  the ability to put in metadata associated with a node via simple method arguments and storage via DBI.
There are currently drivers implemented for MySQL and SQLite version 2. For some reason this module segfaults on my debian boxes running SQLite 3. Use SQLite 2, unless you can figure out what's going on.
It should be trivial to write one for your RDBMS, see DBIx::Tree::NestedSet::MySQL for an example driver.
A nested set tree is "expensive" on updates because you have to edit quite a bit of the tree on inserts, deletes, or the movement of nodes.  Conversely, it is "cheaper" on just queries of the tree because nearly every action (getting children, getting parents, getting siblings, etc) can be done with one SQL statement.
If you're developing apps that require many reads and few updates to a tree (like pretty much every web app I've ever built) a nested set should offer significant performance advantages over the recursive queries required by the typical adjacency list model.
Whew. Say that fast three times.
Use the create_default_table() method to create your Nested Set table in your RDBMS.


Package Version Architecture Repository
perl-DBIx-Tree-NestedSet - - -


Name Value
/usr/share/perl5 -
perl(CGI/ -
perl( -
rpmlib(PayloadIsLzma) -


Name Value
perl(DBIx/Tree/ = 0.160
perl(DBIx/Tree/NestedSet/ = 0.120
perl(DBIx/Tree/NestedSet/ = 0.150
perl(DBIx/Tree/NestedSet/ = 0.150
perl-DBIx-Tree-NestedSet = 0.16-alt1


Type URL
Binary Package perl-DBIx-Tree-NestedSet-0.16-alt1.noarch.rpm
Source Package perl-DBIx-Tree-NestedSet-0.16-alt1.src.rpm

Install Howto

  1. Add the following line to /etc/apt/sources.list:
    rpm [Sisyphus] noarch autoimports
    rpm [Sisyphus] noarch autoimports
  2. Update the package index:
    # sudo apt-get update
  3. Install perl-DBIx-Tree-NestedSet rpm package:
    # sudo apt-get install perl-DBIx-Tree-NestedSet



See Also

Package Description
perl-DBIx-Tree-Persist-1.04-alt1.noarch.rpm Play with Tree and Tree::Persist a la DBIx::Tree
perl-DBIx-TryAgain-0.05-alt1.noarch.rpm If at first you don't succeed, try, try again
perl-DBIx-TxnPool-0.12-alt1.noarch.rpm The helper for making SQL insert/delete/update statements through a transaction method with a deadl
perl-DBIx-Version-0.01-alt1.noarch.rpm Perl extension for getting database software name and version
perl-DBIx-VersionedDDL-0.17-alt1.noarch.rpm Upgrade and downgrade database schemas to a specified version
perl-DBIx-VersionedDDL-scripts-0.17-alt1.noarch.rpm DBIx-VersionedDDL scripts
perl-DBIx-VersionedSchema-0.03-alt1.noarch.rpm helps to manage database schema versions
perl-DBIx-VersionedSubs-0.08-alt1.noarch.rpm all your code are belong into the DB
perl-DBIx-Web-0.80-alt1.noarch.rpm perl module DBIx-Web
perl-DBIx-Wrap-1.00-alt1.noarch.rpm perl module DBIx-Wrap
perl-DBIx-Wrapper-0.29-alt1.noarch.rpm Wrapper Module for the DBI
perl-DBIx-Wrapper-Config-0.02-alt1.noarch.rpm Config Module for DBIx::Wrapper
perl-DBIx-Wrapper-VerySimple-0.051-alt1.noarch.rpm Simplify use of DBI
perl-DBIx-XML-DataLoader-1.1b-alt1.noarch.rpm >new(map=>"map.xml");
perl-DBIx-XMLMessage-0.05-alt1.noarch.rpm perl module DBIx-XMLMessage