SimbaEngine SDK C++ API Reference

10.1.3.1011

Authors:
Simba Technologies Inc.

Major Components

There are three major components of any driver built with the SimbaEngine SDK, which are:

Each of these components is briefly outlined in the sections below.

SimbaODBC

This component is responsible for taking care of the ODBC functionality for drivers built with the SimbaEngine SDK. It manages the driver, environment, connection, and statement objects along with their attributes and properties. It also handles conversions between the different data types by calling the SimbaSupport component.

Simba SQLEngine

This component parses the SQL commands that are passed in via SimbaODBC and translates them into an execution plan, then executes the plan against the DSII. The query is translated into an AETree (Algebraic Expression Tree) which represents the query along with its metadata. An ETree (Execution Tree) is generated from the AETree, which is optimized before being executed. If your data store is SQL capable, then the Simba SQLEngine component does not need to be used.

Customer DSII

This component is the custom DSI (DataStoreInterface) implementation that interfaces with your custom data store. Any custom logic needed to talk with your data store, or further optimize queries via Collaborative Query Processing, is implemented here.

Minor Components

Along with these major components, there are also several smaller components:

Each of these components is briefly outlined in the sections below.

AETree

This component, the AETree (Algebraic Expression Tree), represents a prepared query along with metadata about the query. The AETree is used with the Simba SQLEngine, and will not be used if your data store is SQL capable. The AETree is used during Collaborative Query Processing, allowing for extensive optimization of queries depending on the capabilities of your data store.

SimbaDSI

This component, the SimbaDSI (DataStoreInterface), is the framework which the Customer DSII is built on. There are interfaces for each object such as driver, environment, connection, statement, etc, however there are also partial implementations that provide most of the needed functionality for your driver. This component acts as the bridge between SimabODBC and the Customer DSII.

SimbaDSIExt

This component, the SimbaDSI Extensions, are further implementations of the SimbaDSI that are used with the Simba SQLEngine. If using the Simba SQLEngine, then your Customer DSII will extend this component. If your data store is SQL capable, then the SimbaDSIExt and Simba SQLEngine components do not need to be used.

SimbaSupport

This component is used for platform specific tasks such as file IO and configuration, as well as data types and conversions, exceptions, and other supporting tasks.


Generated on Wed May 17 14:21:14 2017 for SimbaEngine 10.1.3.1011 by simba