The RelationalService package is a plugin library providing an implementation of the IRelationalService interface.
The RelationalService component is responsible for managing the IRelationalDomain objects that are delivered to the user. Given a connection string corresponding to an actual database service, it extracts the technology name and returns the corresponding IRelationalDomain object. It also loads if necessary into its local context the plugin library that provides the implementation of the specific technology.
By default, for a technology named rdbmsName, it will try to load a plugin labeled:
CORAL/RelationalPlugins/rdbmsNamewhich should correspond to an implementation based on the base (most commonly C) API of this RDBMS technology. In case no such plugin exists, it will try to load any plugin with a label of a format:
The user may chose to use a specific implementation, instead of the default or any other existing non-default implementation, either by giving a call to the setDefaultImplementationForDomain() method of the IRelationalService interface, or by setting accordingly the DefaultImplementations property of this component.
RelationalAccess, is the package where the CORAL abstract interfaces are defined.
CoralCommon, is the package where some developer-level interfaces and some common implementation classes are defined.