The MVBFS stproc is the main BFS handler routine, comparable to RTP57. It supports the standard BFS calls, along with a number of extended calls via the OMNISCRIPT method. Common functions are processed in MVBFS itself, and anything that's connection type specific is sent to the proper "connection handler" (for example, MVBFS_HANDLER_U2UBFS). The handler is found via a call to MVBFS_GET_HANDLER, which sets up the names of the handler, dictionary mapper, and SELECT mapper, functions for the platform.

The user interface for making an MVBFS connection starts with the general-purpose RTI_DSN_DATASOURCE_NEW form (and supporting stproc). Then datasource-type-specific details are dispatched from there to the appropriate "connection handler" form (for example, RTI_DSN_DATASOURCE_MVBFS) and its supporting stproc.

For specific actions, the UI handler may call the BFS (for example, MVBFS) which may call additional helper functions. For example, when creating the shadow dicts for an MVBFS connection, RTI_DATASOURCE_MVBFS will call the MVBFS stproc, which will call the platform-specific MVBFS_HANDLER_U2UBFS, which will call the platform-specific MVBFS_MAPDICT_U2 to convert the dictionaries.

After gathering all the required information, repository write (via REPOS.DATASOURCE..WRITE) creates/updates the SYSPTRS record, and MVBFS (omniwriteparam method) updates the media record (REVMEDIA.LK located in the "shadow dictionary" folder) with the datasource-type-specific parameters.

When a table is opened, OI will detect that the filing system is MVBFS. The SYSPTRS record for the volume also contains the filing system information.

OI will call the MVBFS BFS to open the volume/table, which will call the appropriate "connection handler" to make the datasource-specific connection (for example, MVBFS_HANDLER_U2UBFS). The media map will be read to get the connection-specific parameters, and the connection will be opened (if needed) via calls to the OIBFSHelper_10_2 dll (which actually communicates with the platform via the platform-specific dll API).

There are a number of additional MVBFS_xxx routines that are called for specific functions.

MVBFS is designed to transparently handle calls from OI to other MVBFS platforms, so there are few user-callable routines. Some of the routines designed to allow user interaction include:

  • MVBFS_CONNECTION_POOLING
  • MVBFS_CONNECTION_TIMEOUT
  • MVBFS_EXECPROC
  • MVBFS_SUBCALL
  • MVBFS_COMPILEBASIC

It is also possible to specify an stproc function, or an OI dialog, to provide the connection details; these are specified via MVBFS_CONNECTION_CREDENTIALS form.

There is also a "helper" routine, MVFBFS_HELPER, that is currently designed for internal use, but which may have some functions that can be exposed.

  • kb/kb_articles/mvbfs_details.txt
  • Last modified: 2025/06/24 12:51
  • by bshumsky