I was a bit quite on the NH Prof front lately, not because I didn’t work on it, but because I was fighting a really nasty bug. The way NH Prof is making use of WPF exposed a memory leak scenario inside WPF.
Luckily, once we were able to isolate the actual problem, it was relatively easy to find a workaround. If you care, the resolution was to keep a single instance bound to the view and replace its values, instead of providing a new instance when replacement was required. The problem is that this bug took forever to isolate.
Also included are a bunch of performance optimizations that I did along the way to resolve the OOM error. Those relate to better handling of batch statements, caching the result of SQL parsing and optimized NH Prof’s idle state (I’ll have a separate post about that).
In addition to that, I gave some additional love to DDL statements, making sure that NH Prof treated them specially and didn’t generate DML errors for DDL statements. Same goes for cached statements.
It is a bunch of small changes, the biggest of them was tracking down and viciously attacking the OOM error. For the next week, I am going to be busy at JAOO, but I also intend to spend some free time continuing the final polishing & touch ups.
The week after that, I intend to seriously start working on the 1.1 feature set.
Should be interesting.