# Todo List

## Doctrine

### Doctrine_Node_NestedSet::delete()

- Delete more efficiently. Wrap in transaction if needed.

### Doctrine_Tree_NestedSet::fetchBranch()

- Only fetch the lft and rgt values of the initial record. more is not needed.

### Doctrine_Table::getClassnameToReturn()

- this function could use reflection to check the first time it runs if the subclassing option is not set.

### Doctrine_Node_NestedSet::getDescendants()

- Currently all descendants are fetched, no matter the depth. Maybe there is a better solution with less overhead.

### Doctrine_Node_NestedSet::insertAsFirstChildOf()

- Wrap in transaction

### Doctrine_Node_NestedSet::insertAsLastChildOf()

- Wrap in transaction

### Doctrine_Node_NestedSet::insertAsNextSiblingOf()

- Wrap in transaction

### Doctrine_Node_NestedSet::insertAsParentOf()

- Wrap in transaction

### Doctrine_Node_NestedSet::insertAsPrevSiblingOf()

- Wrap in transaction

### Doctrine_Node_NestedSet::makeRoot()

- Exception handling/wrapping

### Doctrine_Adapter_Oracle::setFetchMode()

- Support FETCH_CLASS and FETCH_INTO.

### Doctrine_Node_NestedSet::updateNode()

- Wrap in transaction

### Doctrine_Node_NestedSet::_moveBetweenTrees()

- Better exception handling/wrapping