Managed Hosting



Nested Set Trees
Project Home Known Issues Contact Project

Author: Kevan Stannard (All RIAForge projects by this author)
Last Updated: June 11, 2009 4:30 AM
Version: 1.0
Views: 63,394
Downloads: 6,133
License: Apache License, Version 2


A common technique to manage hierarchical data in a relational database is to use an 'Adjacency List' model, where you have both an ID column and a Parent ID column in a table. This is easy to understand and maintain but can be difficult or inefficient when you want to retrieve hierarchies of records.

The 'Nested Set' model provides an alternative technique for managing this kind of data and is more efficient at reading a hierarchy but requires a little more work for inserts, updates, deletes and moves.

This project is library of ColdFusion functions that you may like to use to help manage your hierarchical data using the nested set model.

6 Jun 09 - v1.0 - Couple of bug fixes in the demo app. Add demo db script for MySQL.
26 Aug 08 - v0.8.0 - Multi-tree support. Add Node API functions.
23 Jul 08 - v0.2.7 - Fix delete bug in demo.
23 Jul 08 - v0.2.6 - Fix CF7 bug in demo. Change mssql demo script to work on MSSQL 2000.
22 Jul 08 - v0.2.5 - Updated demo to so it may run in a sub directory or root directory.
28 Jun 08 - v0.2.4 - Updated demo to include unordered list examples (including jQuery treeview)
25 Jun 08 - v0.2.3 - Change lock name to be based on NST table name.
23 Jun 08 - v0.2.2 - Demo app delete node fix. Tweak demo mysql script.
21 Jun 08 - v0.2.1 - Demo app fixes/changes. Add demo mysql script.
14 Jun 08 - v0.2 - Add transaction locking
31 May 08 - v0.1 - Initial Release

Documentation and usage:


ColdFusion 6.1 or higher
MSSQL 2000 or higher

Not tested, but should also work in
Open BD

Issue Tracker:

5 Support sort and filter when building tree Open 10/30/15 4:50 AM
4 Railo compatibility Open 07/27/12 8:23 AM
2 getCategoryChildren Closed 06/06/09 4:48 AM
3 getCategorySubtree Closed 06/06/09 4:48 AM
1 Add locking to library functions. Closed 06/14/08 1:12 AM

View All Issues

To enter issues for this (or any other) project, you must be logged in.