the DATAdesign engineThe DATAdesign engine is an important part of ProWesS, even though it is currently not in heavy use. In fact it should be used much more. Notably some of the configuration files would better be stored in a database, but I haven't done this yet as I suspect major
changes here. Although I am not very keen to admit it, the DATAdesign engine is seriously flawed in the handling of indexes. This would not be a major issue if indexes wouldn't be so important for the efficient handling of searches etc. As you should know, the DATAdesign engine is multi-user. This means that several programs can access the same database at the same time. Records which are in use by
another program which has read/write access are locked to prevent two programs changing the record at the same time. However, the indexes in DATAdesign are local to the program. This means that records which are created by a different job are not contained in the index. You could try to fix that by regularly rebuilding the index, but even that is not fool proof, as there may be records which are in use by another job at that time, in which case they will (again) not be included in the index.
There is no simple cure except redesigning at least part of the engine. Unfortunately however, this is not an area where I can invest a lot of time at the moment, as there are other things which are more important which will get my attention first. I would hope that somebody would be willing to do some work on a better engine. In this case, compatibility is less important, as a possible new engine could
live alongside the current DATAdesign engine. |