FoundationDB/sql-layer — pull request #1014 by nathanlws (2013-10-30 23:31:00+00:00)
Title: Replace Traversable with Visitable, simplify Visitor

The pre and post order methods were never used as such. Many of the consumers also wanted all tables in the group, which was serviced by a side helper method.

Streamline to a single visit method and remove unused from Visitor.

This accidentally identified a bug in Table/Column's notNull cache. Table will recompute notNull anytime the column set changes, along with other lazily cached data. Nullable can change on Column without notifying Table though. Rather, it could. Take defensive approach and invalidate it all for an Column#set*.