So, DQL. More about DQL.
I was writing some more automated tests yesterday and part of the automation is to check for identical results from the baseline. It’s not that the baseline is set in concrete as sometimes defects are found that change it. But .. it is the baseline.
Of course we test with multiple databases and they each have a flat file full of queries to execute, which I do using multiple threads in Java using the new DominoQuery class. It works great but the design of the results database where the baseline results reside was getting unwieldy. In addition to multiple databases I want to support versions, releases, etc.
That kind of complexity has usually caused views and folders to be generated to properly segregate, order and support the various segments of data as they are browsed, updated and reported on in the business flow. But .. light dawned on marble head (a New England joke, where Marblehead is a coastline community of great beauty, particularly at dawn while one’s cranium is the “marble head” which before this revelation lacked some perception, to be kind) – I said to myself “I can use DQL!” with suitable triumph reminiscent of the days of olde.
So I did
Testno = ?testno and domino_version = ?domversion and
replid = ?replid ‘ and testbed = ?testbed
(well, ok, to paraphrase a query) .. but it worked GREAT! It took 45 milliseconds doing NSF scanning alone (1 NSF scan for all terms if you please), so it fit the automation time window perfectly.
Oh yeah, those ?values are substitution values that can are set prior to running the query, so the query can remain intact and only the values are changed between executions.
I can’t calculate the savings in view creation, (re)building, etc. but the change in design thought itself is staggering.
Yeah, advertising and bragging a little bit but also just communicating our intent to make people more productive and happier.
At Iris there was a saying “We eat our own dog food” which means we use our own software before anyone else sees it. “Dog food” offends management and marketing folks, of course but notably I’m not in marketing. And the developers I know are well aware of why it’s an accurate term to start with.
Just to let everyone know – because it matters – we still eat our own dog food.
So that by the time it goes commercial, it has been forged into a gourmet meal. Or something like that.
10.0.1 is tasting really good.
You can use DQL!