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 the libraries explained below 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 requires the following library:
libmcosql.a The eXtremeSQL core internals In addition, the following library is provided for xSQL in order to process schema definitions:
libmcocomp.a 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
libmcohv.a
and must be used in conjunction with the librarylibmcocgi.a
orlibmcoews_cgi_cud.a
:
libmcohv_sql.a 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:
libmcorsql.a 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 includeIt 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 librarymcorsqlstub.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:
libmcosql.a The eXtremeSQL SQL core internals libmcorsql.a Remote SQL implementation libmcorsqlstdln.a Standard input stream overlay implementation for Remote SQL libmconet.a System network layer libmcosalmem.a System memory management libmcosalsmp.a System mutex, semaphores, threading and other multi-thread/process related code High Availability Support
eXtremeDB High Availability packages provide the following libraries. All applications that use the High Availability API must link with:
libmcoha.a High Availability API and, in addition, one of the following transport layer libraries (or else implement its own custom transport layer):
libmconwpipes.a PIPE Transport Layer libmconwtcp.a TCP/IP Transport Layer libmconwudp.a UDP Transport Layer libmcoiter.a 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:
libmcocluster.a Cluster core implementation and, in addition, either the following transport layer library (or else implement its own custom transport layer):
libmcocltcp.a TCP/IP Transport Layer Performance Monitor
The Performance Monitory API can be implemented in a custom application and in this case include just the
libmcoperf
library. Or it can be used with the provided HTTP implementation in libmcohvperf
in which case both libraries are required:
libmcoperf.a Performance Monitor implementation libmcohvperf.a 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:
libmcorest.a The embedded Web Services REST API libmcoews.a HTTP server implementation libmcosaltimer.a Low-resolution and high-resolution timer implementations libmcosalsmp.a Required for multithreading support Applications that wish to expose an existing web service will link with its library, as well as its dependencies:
libmcorestdb.a The database
Web Service; requiresmcouda
for UDA APIslibmcorestsql.a The SQL
Web Service; requiresmcosql
libmcorestperf.a The perfmon
Web Service; requiresmcoperf