in Bangalore
Flew to Bangalore yesterday. Had to change terminal buildings in Mumbai. 33C and humid.
Manged to check my email this morning and post this, but that's about it. Should be back on line on Thursday.
Exploring Time as a dimension in Software Applications and further developments of the AgileWiki project, salted lightly with personal notes.
Flew to Bangalore yesterday. Had to change terminal buildings in Mumbai. 33C and humid.
o Internal Rolon names now include a timestamp.
Small change of plans--I'm flying out to Bangalore tomorrow. But I should still be back on Thursday.
Lots of heavy lifting today. COODBMS release 0.18 has come a long way, but it still is not ready for release.
It was a good day. Basic snapshots are done. Timetravel a la AgileWiki3 will be handled in 18.1.
In this last release the user journal now is not used so heavily--it will now only reflect the changes made to the account and other account-related activity. To see the activity of a user, go to their account and enter the command rbacklinks USER. This will list all the transactions submitted by that user.
release 0.17.2:
Dmitri raised an interesting point--why not keep the application logic out of the database? Until now I'd been thinking of COODBMS as an OODBMS, so ofcourse I was thinking that the application logic should be in the database. But what if we make COODBMS dumb backend and put application processes in front of it?
o Scripts containing only query commands are run as a query, increasing throughput on busy servers.
* The createWellknown bug has been fixed.
Methods PElement.addPathnameReference was calling MapApp.makeSymbolic, which does not work for wellknown names due to the side effect of deleting the handle in the wellknown table when a wellknown name is removed. These methods now call addSymbolic and the makeSymbolic methods (now having no usages) have been dropped.
First, the design has gotten to be a bit much, while still being inadequate. In AgileWiki3 we had the ability to navigate links in past time and we should again be able to do that.
http://agilewiki.wiki.sourceforge.net/Openings
Just had a great chat with Norm. A few things came up that I'd like to share.
Our tickets were not confirmed, so the trip is delayed. I did take most of the day off yesterday, got some papers organized and spent some time at the bank. And I needed the break.
Several bug fixes and enhancements have been implemented relating to file inport/export.
Making a quick trip to Bangalore, so I will be off-line and without a computer until Thursday. Before I go, I'll release the changes to COODBMS made so far. (I'll likely be busy today on other things.)
I've been thinking about a static.cowdb database which would hold help descriptions, application plugins and other information which changes infrequently. The advantage of having a dedicated database for this, just as we have a dedicated database for logins, is that it reduces thread blocking and consequently improves both throughput AND response time. And in this case, where queries are the norm, multiple threads can access the database at the same time. Another plus here is that, because the cache space is shared, the increase in the memory footprint is not significant.
o Cyclic check was broken, allowing a rolon to adopt a parent--fixed.
The 9 day fast is over and we are all tired. This is the tenth day, victory day, and we had a big fire puja for the Goddess Durga's blessing. So it is a good time to start the preliminaries for MOODBMS.
o DTDs written for RoleML scripts and responses.
I've been thinking that there is no need for the snapshot made when a rolon is updated to contain the JU. This is needless overhead.
I've just pushed the expected release date for COODBMS back to June 1st. I am not happy about this, but I really want COODBMS to be a commercial grade product and too many things have come up--like the 4 days lost working on forks.
Had a great chat with Norm on Saturday. I have been concerned about the Journal, as the use cases were not clear in my mind. What I am providing is a JEnt for each change made to a Rolon, a JEnt in the user JU to capture the changes made by a user, a wrapper JSec for all the JEnts in a Rolon created by a transaction and a link from the transaction rolon to all those JSecs. The idea is that you can look at a Rolon's JU and see all the changes which were authored by it or applied to it.
* New utilities for database integrity validation.
o Sorted nodes were not freeing space when the node was freed--fixed.
I can now create branch x,
I've decided to go back and add the validation logic to the CowDb samples. Got through the first five and, aside from a bug in the validate logic, found no problems.
A COODBMS deleteBranch opens up a huge hole--we've got a grade A #1 memory leak here.
I should have written this utility a long time ago. It is less than 200 lines of code.
o Bug fixed: move parent operations must change pathname of the context.
The COODBMS 15.1 release is ready and I'm going to ship it out. But I've managed to corrupt the database, likely through a series of forkBranch and deleteBranch operations. So I will be shifting my attention to CowDb for a while, hopefully not for very long.
Changes:
Nearly done reworking the queries. And now that we have scriptable queries, I've been using scripts a lot more for informal testing. I find that when I can only test with a UI that the quality of the code crumbles over time. I've really got to revisit those old COODBMS tests and convert them to scripts and use them as a test suite.
Bug found/fixed in CowDb: forkBranch was saving the new branch processor in the branch processor table under the old branch name.
The logic for the rbacklinks and show queries have been migrated from Browse to the server. So things are pretty much in place and there is a good chance that we'll be done with reworking the queries tomorrow.
* There is now a wiki page describing every Browse command.
Check register is now half working. And I must say, it is nice to be back in the code.
http://agilewiki.wiki.sourceforge.net/BrowseCommands
http://agilewiki.wiki.sourceforge.net/BrowseCommands
Everything went well on the trip from Bangalore to Raipur. Travel time: 27 hours. And our cat Sassy was as good as gold.
Not a lot of time left before leaving for Raipur. I may get back online this weekend, with any luck. I just created a BrowseCommands page in the wiki. It and the script page now have bunches of links to all the pages, yet to be created, describing all the commands. Not the best stopping point. :-(