eXtremeDB Extension Module Windows Libraries - target\bin

As explained in the eXtremeDB Windows Libraries page, the \target\bin directory under your eXtremeDB installation root contains, in addition to the basic libraries, additional contents that depend on the specific eXtremeDB Extension Modules purchased. For C and C++ applications using these features, one or more of these additional libraries are required. For any of these additional features, the appropriate System Access Layer (SAL) libraries are also required.

As mentioned on the basic libraries page, the native C libraries are provided in two forms: debug and release mode. Only release mode filenames are shown below.

SQL Support

eXtremeSQL provides libraries for embedded "local" and "remote" SQL database support. All applications using the embedded SQL API require the following library:

mcosql.lib
The eXtremeSQL core internals.

In addition, the following library is provided for xSQL to process schema definitions:

mcocomp.lib
Support for importing schema files in xSQL.

Remote SQL

Remote SQL applications require the following additional library:

mcorsql.lib
Remote SQL implementation.

Remote SQL Client Only

A specially built eXtremeSQL package is available that includes only client source files for RSQL client applications. If you have this package, the following directories are added to the standard object-code distribution:

    target/mcosql
    target/mcorsql
    target/sal
    include

This package does not support the sequence data type. Instead, it includes a placeholder library, mcorsqlstub.lib (containing empty stubs for all sequence functions), which must be linked with the runtime.

With this package, RSQL client applications can be built without dependencies on the core runtime or other eXtremeDB components (except those listed below). The following runtime libraries must be linked:

mcosql.lib
The eXtremeSQL SQL core internals.
mcorsql.lib
Remote SQL implementation.
mcorsqlstdln.lib
Standard input stream overlay implementation for Remote SQL.
mconet.lib
System Abstraction Layer (SAL) Network Layer.
mcosmp.lib
System Abstraction Layer (SAL) Threading and Synchronization.
mcomem.lib
System Abstraction Layer (SAL) memory management.

High Availability Support

eXtremeDB High Availability packages provide the following libraries. All applications that use the High Availability API must link with:

mcoha.lib
High Availability API.

Additionally, one of the following transport layer libraries is required (or a custom transport layer must be implemented):

mconwpip.lib
PIPE Transport Layer.
mconwtcp.lib
TCP/IP Transport Layer.
mconwudp.lib
UDP Transport Layer.
mcoiter.lib
Implements iterators and streams for publishing detailed information about all database changes made by transactions; used in HA to publish operations on the replica side (see High Availability Dynamic Schema Modification for details).

Cluster Support

eXtremeDB High Availability packages also include the following Cluster libraries. All applications that use the Cluster API must link with:

mcocluster.lib
Cluster core implementation.

Additionally, the following transport layer library is required (or a custom transport layer must be implemented):

mcocltcp.lib
TCP/IP Transport Layer.

Performance Monitor

The Performance Monitor API can be implemented in a custom application using just the mcoperf.lib library.

mcoperf.lib
Performance Monitor implementation.

Web Services

C and C++ applications that wish to use the web services must link with the following libraries:

mcorest.lib
The embedded Web Services REST API.
mcoews.lib
HTTP server implementation.
mcosaltimer.lib
Low-resolution and high-resolution timer implementations.
mcosalsmp.lib
Required for multithreading support.

Applications that wish to expose an existing web service will link with its library and its dependencies:

mcorestdb.lib
The database Web Service; requires mcouda for UDA APIs.
mcorestsql.lib
The SQL Web Service; requires mcosql.
mcorestperf.lib
The perfmon Web Service; requires mcoperf.
mcoresttrace.lib
The tracer Web Service.