Yeah, software is hard. Film at 11

I ran into this today and it was simply too good to pass on:

Like most O/R solutions today, ObjectSpaces attempted to support a rich set of mappings and scenarios through custom query generation. Adding support for a new type of inheritance mapping, for example, meant adding code to a query generator to insert the necessary join conditions in all the right places. Understanding how this new construct composed with other joins, projections, unions, and predicates added throughout the query to model other object-like concepts made the code complex and somewhat brittle. Trying to understand how to generate updates against such complex queries, or if such updates were even possible, was even more difficult. Worse of all was trying to verify that all possible combinations of the constructs composed into a query were handled correctly.
Source

Gee Sherlock, writing an O/R mapper which does more than just basic CRUD isn't a walk in the park... well... who would have thought!

No Comments