ADBC
Arrow Database Connectivity
Loading...
Searching...
No Matches
adbc_driver_manager.h File Reference
#include <arrow-adbc/adbc.h>

Go to the source code of this file.

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.
 
AdbcStatusCode AdbcLoadDriverFromInitFunc (AdbcDriverInitFunc init_func, int version, void *driver, struct AdbcError *error)
 Common entry point for drivers via the driver manager.
 
AdbcStatusCode AdbcDriverManagerDatabaseSetInitFunc (struct AdbcDatabase *database, AdbcDriverInitFunc init_func, struct AdbcError *error)
 Set the AdbcDriverInitFunc to use.
 
const char * AdbcStatusCodeMessage (AdbcStatusCode code)
 Get a human-friendly description of a status code.
 

Detailed Description

ADBC Driver Manager

A helper library to dynamically load and use multiple ADBC drivers in the same process.

Function Documentation

◆ AdbcDriverManagerDatabaseSetInitFunc()

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.

◆ AdbcLoadDriver()

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
[in]driver_nameAn identifier for the driver (e.g. a path to a shared library on Linux).
[in]entrypointAn identifier for the entrypoint (e.g. the symbol to call for AdbcDriverInitFunc on Linux).
[in]versionThe ADBC revision to attempt to initialize.
[out]driverThe table of function pointers to initialize.
[out]errorAn optional location to return an error message if necessary.

◆ AdbcLoadDriverFromInitFunc()

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
[in]init_funcThe entrypoint to call.
[in]versionThe ADBC revision to attempt to initialize.
[out]driverThe table of function pointers to initialize.
[out]errorAn optional location to return an error message if necessary.

◆ AdbcStatusCodeMessage()

const char * AdbcStatusCodeMessage ( AdbcStatusCode code)

Get a human-friendly description of a status code.