A report on progress for preparing the migration of factory operations for datasets.

The idea is to have different names for the creation of datasets to so the contracts reflect the future.

In particular, the .createMem() needs to be spit as it is multi-function in the new world.

There is now a non-transactional (but MRSW) dataset, as at least a placeholder for a separate implementation if need-be. A highly optimized read-centric one being the possible need.

[It is the traditional implementation with addNamedModel implemented as a copy of the model contents. This aligns with all the other implementations except the general container one which is necessarily different.]

DatasetFactory and DatasetGraphFactory now have the following operations and contracts:

* .create() - non-transactional, in-memory, addGraph copies datasets

* .createGeneral() - general purpose containers of graphs.
    addGraph is a link to the graph, not a copy.

* .createTxnMem() - Transactional in-memory

* .createMem() - deprecated old name
  Complete compatibility: this calls createGeneral

I am unlikely to have cleared the code base for all uses of createMem in time for a release but the ones left are in the test suite. Generally they can be replaced by .create() but sometimes it's .createGeneral() and that then needs checking.

        Andy

Reply via email to