diff options
Diffstat (limited to 'plugins/omlibdbi')
-rw-r--r-- | plugins/omlibdbi/omlibdbi.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/plugins/omlibdbi/omlibdbi.c b/plugins/omlibdbi/omlibdbi.c index 99e4d4f6..77b17310 100644 --- a/plugins/omlibdbi/omlibdbi.c +++ b/plugins/omlibdbi/omlibdbi.c @@ -48,6 +48,11 @@ #include "module-template.h" #include "debug.h" +/* this is a temporary setting to select either the old- or new-style libdbi + * calls. -- rgerhards, 2008-02-16 + */ +#define USE_DBI_R_CALLS 0 + MODULE_TYPE_OUTPUT /* internal structures @@ -73,6 +78,9 @@ static uchar *host = NULL; /* host to connect to */ static uchar *usrName = NULL; /* user name for connect */ static uchar *pwd = NULL; /* password for connect */ static uchar *dbName = NULL; /* database to use */ +#if USE_DBI_R_CALLS == 1 +static dbi_inst dbiInst; +#endif BEGINcreateInstance @@ -161,7 +169,11 @@ static rsRetVal initConn(instanceData *pData, int bSilent) if(bDbiInitialized == 0) { /* we need to init libdbi first */ +# if USE_DBI_R_CALLS == 1 + iDrvrsLoaded = dbi_initialize_r((char*) dbiDrvrDir, &dbiInst); +# else iDrvrsLoaded = dbi_initialize((char*) dbiDrvrDir); +# endif if(iDrvrsLoaded == 0) { logerror("libdbi error: libdbi or libdbi drivers not present on this system - suspending."); ABORT_FINALIZE(RS_RET_SUSPENDED); @@ -172,7 +184,11 @@ static rsRetVal initConn(instanceData *pData, int bSilent) bDbiInitialized = 1; /* we are done for the rest of our existence... */ } +# if USE_DBI_R_CALLS == 1 + pData->conn = dbi_conn_new_r((char*)pData->drvrName, dbiInst); +# else pData->conn = dbi_conn_new((char*)pData->drvrName); +# endif if(pData->conn == NULL) { logerror("can not initialize libdbi connection"); iRet = RS_RET_SUSPENDED; @@ -291,7 +307,11 @@ BEGINmodExit CODESTARTmodExit /* if we initialized libdbi, we now need to cleanup */ if(bDbiInitialized) { +# if USE_DBI_R_CALLS == 1 + dbi_shutdown_r(dbiInst); +# else dbi_shutdown(); +# endif } ENDmodExit |