Tuesday, March 10, 2009

DataObjects.Net v4.0: status update

Installer: finally this part is almost fully finished. The newest installer (check out the latest nightly build) downloads and installs all you need to either use or even compile new DataObjects.Net. The only feature we should add is test database creation (although this isn't necessary for running samples on IMDB), but this is for some later time.

LINQ support: in the end of February we've started to refactor our implementation of LINQ translator for the third time. First attempt was too crude - mainly for testing. We've finished with it in december. The second one was good, but not simple enough (i.e. too complex to deal with it further). Finally we've come to an approach allowing us to get enough simple unified implementation. This should lead LINQ translation project to completion by the end of March. Obviously, expect query optimizer for index storages - this part will be in development for few more months, but as it was mentioned, absence of this feature for now won't lead to any troubles.

Schema evolution: unfortunately, we're just starting this part. But the good news is that we decided to switch to index-based schema comparison rather then SqlDom-based. This must simplify everything a lot (index model is much simpler then SqlDom database model), and we anyway need this part developed till the launch of our upcoming file system storage provider. But on the other hand, this implies we will need to use a set of workarounds to make schema evolution layer fully compatible with the general SQL database. But for now the implementation speed is more important then internal unification - we still want to deliver this feature till the end of March.

Nightly builds: now they're live for DO4. The file with empty name here is nightly build of DO4 - for now our website improperly recognizes its display name, since we've switched to different naming pattern (to be fixed today).

Other features: almost untouched yet, mainly because of complexities with LINQ translation. It goes much slower then we initially planned, but in comparison to other known implementations we're rather far from reaching the averages - e.g. LLBLGen team spent 6 months on this. And I really don't want to reach this border.

No comments:

Post a Comment