Open Application Programming Interface (OpenAPI) is a set of C language functions that enable you to create applications for accessing Ingres and non-Ingres databases.
It provides you with an alternative to using embedded SQL, which requires a preprocessor in addition to a C compiler. With OpenAPI, these C functions are called directly with normal function call facilities.
OpenAPI simplifies the task of developing applications when multiple interfaces, protocols, and environments are involved. It does this by providing a single interface for accessing data. You can concentrate on what data you want your application to access, rather than how it will access it.
OpenAPI provides an asynchronous method of writing applications. All OpenAPI operations are asynchronous in that a function call returns control to the application before its tasks are completed. When the tasks are completed, the function signals completion by invoking a callback function specified by the application. Thus, you can write an application as fully asynchronous, event-driven code. Alternatively, you can write synchronous code by using an OpenAPI feature that enables an application to wait for each OpenAPI function to complete its tasks.
OpenAPI is an application programming interface, similar to Microsoft Windows ODBC and the X/Open Company SQL Call Level Interface. Application programming interfaces share the following features:
This makes an application programming interface ideally suited for a client/server environment, in which the target database may not be known when the application is built.
Application developers who are familiar with function calls find an application programming interface straightforward to use.
SQL statements are sent to a DBMS Server as input parameters in a function call. Query results are returned to the application as output parameters from the function call.
OpenAPI provides comparable functionality to Microsoft Windows ODBC and the X/Open Company SQL Call Level Interface. However, there are a few important differences, such as:
ODBC and SQL Call Level Interface support only X/Open SQL—an X/Open standard based on the ANSI SQL. This difference enables applications written with OpenAPI to access Ingres databases more efficiently.
SQL Call Level Interface does not provide asynchronous programming.
The set of C functions in OpenAPI enable an application to connect to a DBMS Server, execute SQL statements, and retrieve results. It provides support for all Ingres SQL statements. OpenAPI also lets an application connect to the Name Server and execute Name Server query statements.
OpenAPI is an interface that currently resides on top of the Ingres client/server protocol, called the General Communications Architecture (GCA). By using the GCA protocol, OpenAPI can communicate with the following:

OpenAPI handles backward compatibility through OpenAPI support levels.