adbc_driver_manager.h

Defines

ADBC_DRIVER_MANAGER_H

Functions

AdbcStatusCode AdbcLoadDriver(const char *driver_name, const char *entrypoint, int version, void *driver, struct AdbcError *error)

Common entry point for drivers via the driver manager.

The driver manager can fill in default implementations of some ADBC functions for drivers. Drivers must implement a minimum level of functionality for this to be possible, however, and some functions must be implemented by the driver.

Parameters:
  • driver_name[in] An identifier for the driver (e.g. a path to a shared library on Linux).

  • entrypoint[in] An identifier for the entrypoint (e.g. the symbol to call for AdbcDriverInitFunc on Linux).

  • version[in] The ADBC revision to attempt to initialize.

  • driver[out] The table of function pointers to initialize.

  • error[out] An optional location to return an error message if necessary.

AdbcStatusCode AdbcLoadDriverFromInitFunc(AdbcDriverInitFunc init_func, int version, void *driver, struct AdbcError *error)

Common entry point for drivers via the driver manager.

The driver manager can fill in default implementations of some ADBC functions for drivers. Drivers must implement a minimum level of functionality for this to be possible, however, and some functions must be implemented by the driver.

Parameters:
  • init_func[in] The entrypoint to call.

  • version[in] The ADBC revision to attempt to initialize.

  • driver[out] The table of function pointers to initialize.

  • error[out] An optional location to return an error message if necessary.

AdbcStatusCode AdbcDriverManagerDatabaseSetInitFunc(struct AdbcDatabase *database, AdbcDriverInitFunc init_func, struct AdbcError *error)

Set the AdbcDriverInitFunc to use.

This is an extension to the ADBC API. The driver manager shims the AdbcDatabase* functions to allow you to specify the driver/entrypoint dynamically. This function lets you set the entrypoint explicitly, for applications that can dynamically load drivers on their own.

const char *AdbcStatusCodeMessage(AdbcStatusCode code)

Get a human-friendly description of a status code.