eXtremeDB Extension Module Windows Libraries - target/bin

As explained in the eXtremeDB Windows Libraries page, the \target\bin directory under your eXtremeDB installation root directory 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 additional features, one or more of these additional libraries will be required. And for any of these additional features the appropriate System Access Layer (SAL) libraries are required.

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

SQL Support

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

mcosql.lib The eXtremeSQL core internals

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

mcocomp.lib

Support for importing schema files in xSQL

HTTP Viewer with SQL Capability

The HTTP Viewer in eXtremeSQL packages provides the following library which can be used to provide SQL capability in the HTTP Viewer. It replaces library mcohv.lib and must be used in conjunction with the library mcocgi.lib or mcoews_cgi_cud.lib:

mcohv_sql.lib HTTP Viewer with SQL Interface (required for the SQL variant of HTTP Viewer. Note that if this library is used, the other SQL support libraries must also be linked )

Remote SQL

Remote SQL applications require the following additional library:

mcorsql.lib Remote SQL implementation

Remote SQL Client Only

It is possible to obtain a specially built eXtremeSQL package that includes only client source files for RSQL client applications. If this is your package then additional contents in the following directories are added to the standard object-code distribution:

 
    target/mcosql
    target/mcorsql
    target/sal
    include
     

It is important to note that this package does not support the sequence data type. It is impossible to deliver sequences support without making fundamental changes, so this package simply has a placeholder library mcorsqlstub.lib (containing empty shells for all sequence functions) that must be linked with the runtime. With this package, RSQL client applications can be built without adding dependencies to the core runtime or any other eXtremeDB runtime components (except those listed above). Only the following runtime libraries must be linked with the application:

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
libmcomem.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

and, in addition, one of the following transport layer libraries (or else implement its own custom transport layer):

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 page High Availability Dynamic Schema Modification for further 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

and, in addition, either the following transport layer library (or else implement its own custom transport layer):

mcocltcp.lib TCP/IP Transport Layer

Performance Monitor

The Performance Monitory API can be implemented in a custom application and in this case include just the mcoperf library. Or it can be used with the provided HTTP implementation in mcohvperf in which case both libraries are required:

mcoperf.lib Performance Monitor implementation
mcohvperf.lib HTTP interface to the Performance Monitor

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, as well as 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