LDFLAGS="$LDFLAGS $with_libdbi_ldflags"
AC_CHECK_LIB(dbi, dbi_initialize, [with_libdbi="yes"], [with_libdbi="no (Symbol 'dbi_initialize' not found)"])
- AC_CHECK_LIB(dbi, dbi_driver_open_r, [with_libdbi_r="yes"], [with_libdbi_r="no"])
CPPFLAGS="$SAVE_CPPFLAGS"
LDFLAGS="$SAVE_LDFLAGS"
AC_SUBST(BUILD_WITH_LIBDBI_CPPFLAGS)
AC_SUBST(BUILD_WITH_LIBDBI_LDFLAGS)
AC_SUBST(BUILD_WITH_LIBDBI_LIBS)
-
- if test "x$with_libdbi_r" = "xyes"
- then
- AC_DEFINE(HAVE_LIBDBI_R, 1, [Define if reentrant dbi facility is present and usable.])
- fi
fi
AM_CONDITIONAL(BUILD_WITH_LIBDBI, test "x$with_libdbi" = "xyes")
# }}}
#include <dbi/dbi.h>
-#ifdef HAVE_LIBDBI_R
- dbi_inst inst = NULL;
-#endif
/*
* Data types
*/
else if (src_type == DBI_TYPE_STRING)
{
const char *value;
-
+
value = dbi_result_get_string_idx (res, index);
if (value == NULL)
sstrncpy (buffer, "", buffer_size);
* </Result>
* ...
* </Query>
- *
+ *
* <Database "plugin_instance1">
* Driver "mysql"
* DriverOption "hostname" "localhost"
return (-1);
}
-#ifdef HAVE_LIBDBI_R
- status = dbi_initialize_r (NULL, &inst);
-#else
status = dbi_initialize (NULL);
-#endif
if (status < 0)
{
ERROR ("dbi plugin: cdbi_init: dbi_initialize failed with status %i.",
db->connection = NULL;
}
-#ifdef HAVE_LIBDBI_R
- driver = dbi_driver_open_r (db->driver, inst);
-#else
driver = dbi_driver_open (db->driver);
-#endif
if (driver == NULL)
{
ERROR ("dbi plugin: cdbi_connect_database: dbi_driver_open (%s) failed.",
db->driver);
INFO ("dbi plugin: Maybe the driver isn't installed? "
"Known drivers are:");
-#ifdef HAVE_LIBDBI_R
- for (driver = dbi_driver_list_r (NULL, inst);
- driver != NULL;
- driver = dbi_driver_list_r (driver, inst))
-#else
for (driver = dbi_driver_list (NULL);
driver != NULL;
driver = dbi_driver_list (driver))
-#endif
{
INFO ("dbi plugin: * %s", dbi_driver_get_name (driver));
}