Agile Enfilade Differences

Getting in and out of programming is difficult. It slows me down because I get back into the old habits that have taken so long to break. I’m a far more agile programmer these days, writing something that works, and then refactoring it.

Enfilade differences are working, and the elegant solution is now staring me in the face. The obvious syntax for differences is much simpler to implement, but I wouldn’t have seen it without this initial implementation. The first time the differences worked, the correct solution jumped out at me.

It could have been much worse, since initially I’d merged association tables with differences. Association tables are a big project, because I want to model parent child relationships. Have them migrate from XML to the database, and unlike other operations in Enfilade, migrate back.

I’m not using Enfilade to defilade data, that is, it has no select ability, since an SQL SELECT statement is the ideal language for this. The output of an SQL SELECT has an obvious XML representation. However, trees are trickier, and require a wicked SQL statement, and lots of special grouping. I’d rather do this as streaming operation, than build an XML document, and use an XLST grouping query.

In any case, I have a very nice test suite set up, so when I make the change to the more succinct syntax, I’ll know that the test is working, and the change can happen quickly.

Leave a Reply