OSS Weekend

time to read 5 min | 898 words

I have been slacking my OSS duties recently, spent a whole lot more time relaxing than anything else. It was fun, but it had to end sometimes. It ended when the "to do" list got over 50 items. At that point I knew that I had to do something or drown under the sheer amount of stuff that I postphoned. I decided to dedicate some time over the weekend to weed out the todo list. Not surprisingly, quite a few of the todos were related to OSS projects I contribute to.

There are at least three major things here:

  • Cloning / traversal of criteria queries, which, in conjuction with...
  • Multi Criteria Queries - can produce some really interesting results, and deserve their own post.
  • NHibernate Query Analyzer UI upgrade (thanks to Sheraz Khan)

Here is a taste of what is new in NQA:

(Image from clipboard).png

Anyway, here is the full list, releases will have to come at a later time, I am feeling tired. Off to a non techincal meeting, that should give me enough reason to want to write code that I actually paid for :-)


  • NH-987 - SQL 2005 views used in SQL 2000 dialect
    Now using select 1 from sysobjects where id = OBJECT_ID(N'{0}') AND parent_obj = OBJECT_ID('{1}')
  • NH-831: Adding MultiCriteria
    Fixing a bug with MultiQuery and the second level cache, where each query pagination status wasn't taken into account when retrieving from the cache.
  • Moving to Dynamic Proxy 2 (Patch by Adam Tybor)
    Removed the TODO in NHibernateProxyHelper, at last :-)
  • NH-924 - inspection of criteria.
  • Fixing spelling error from previous commit
  • NH-988 - Proxy validator should complain on non-virtual internal members
    Applied patch by Adam Tybor


  • (validator) Added a way to override message definition using external resources file.
  • Fixing the build (that I broke in last commit)
  • Allowing to get the interceptors for a proxy (NHibernate needs this).
  • Revert unnecessary change to BasePEVerifyTestCase
  • DYNPROXY-58 - Inherited interfaces - FIXED.
  • DYNPROXY-56 - workaround for CLR serialization bug, applied patch from Fabian Schmied
  • (Windsor) Fixing spelling mistake
  • Adding passing test case for IoC-73.
  • (Brail) Fixing MR-248 - Pre-Processor Issue
  • MR-247 - Brail uses different keys for putting and getting items from the compilation cache.

NHibernate Query Analyzer:

  • Much better support for AR:
     - Version insensitive
     - Can handle merged assemblies
     - Can handle pluralizeTableNames
  • Applied patch from Khan, Sheraz - Adding tree of entities and properties tree.
  • Updating NHibernate to trunk
    Updating tests to work against the new version.
  • Final touches to tests.

Rhino Mocks:

  • Applied patch from Ross Beehler, adding more smarts to Validate.ArgsEqual
  • Fixing an issue with mocking objects with protected internal abstract methods.
  • Adding (passing) test case for mocking interfaces with generic methods that has constraints.
  • Removing 1.1 legacy collections.
  • Fixing an issue where internal interfaces could not be mocked in strongly named assemblies.
  • Adding license header to all the files.