SYNOPSIS

\*(T<#include <opendbx/api.h>\*(T>

\*(T<int odbx_finish\*(T> \kx \*(T<(odbx_t* handle);\*(T>

DESCRIPTION

\*(T<odbx_finish\*(T>() is responsible for freeing all resources allocated by \*(T<odbx_init\*(T>() and finally may shut down the connection to the database server. It must not be invoked before calling \*(T<odbx_unbind\*(T>() to avoid memory leaks and open connection descriptors on the client and server side which may block necessary resources later on.

The \*(T<handle\*(T> parameter has to be the connection object created and returned by \*(T<odbx_init\*(T>(). It becomes invalid after it was supplied to \*(T<odbx_finish\*(T>() for the first time and the function will return an error for all further invocations.

RETURN VALUE

\*(T<odbx_finish\*(T>() returns \*(T<ODBX_ERR_SUCCESS\*(T>, or an error code whose value is less than zero if \*(T<handle\*(T> is invalid or one of the operations couldn't be completed successfully by the backend module. Possible error codes are listed in the error section and they can be feed to \*(T<odbx_error\*(T>() and \*(T<odbx_error_type\*(T>() to get further details.

ERRORS

-\*(T<ODBX_ERR_PARAM\*(T>

\*(T<handle\*(T> is NULL or the supplied connection object is invalid

RELATED TO odbx_finish…

\*(T<odbx_error\*(T>(), \*(T<odbx_error_type\*(T>(), \*(T<odbx_init\*(T>(), \*(T<odbx_unbind\*(T>()