'\" -*- coding: UTF-8 -*- .if \n(.g .ds T< \\FC .if \n(.g .ds T> \\F[\n[.fam]] .de URL \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac .TH odbx_finish 3 "20 November 2020" "" OpenDBX .SH NAME odbx_finish \- Frees connection resources .SH SYNOPSIS 'nh .nf \*(T<#include \*(T> .fi .sp 1 .PP .fi .ad l \*(T \kx .if (\nx>(\n(.l/2)) .nr x (\n(.l/5) 'in \n(.iu+\nxu \*(T<(odbx_t* \fIhandle\fR);\*(T> 'in \n(.iu-\nxu .ad b 'hy .SH DESCRIPTION \*(T<\fBodbx_finish\fR\*(T>() is responsible for freeing all resources allocated by \*(T<\fBodbx_init\fR\*(T>() and finally may shut down the connection to the database server. It must not be invoked before calling \*(T<\fBodbx_unbind\fR\*(T>() to avoid memory leaks and open connection descriptors on the client and server side which may block necessary resources later on. .PP The \*(T parameter has to be the connection object created and returned by \*(T<\fBodbx_init\fR\*(T>(). It becomes invalid after it was supplied to \*(T<\fBodbx_finish\fR\*(T>() for the first time and the function will return an error for all further invocations. .SH "RETURN VALUE" \*(T<\fBodbx_finish\fR\*(T>() returns \*(T, or an error code whose value is less than zero if \*(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<\fBodbx_error\fR\*(T>() and \*(T<\fBodbx_error_type\fR\*(T>() to get further details. .SH ERRORS .TP -\*(T \*(T is NULL or the supplied connection object is invalid .SH "SEE ALSO" \*(T<\fBodbx_error\fR\*(T>(), \*(T<\fBodbx_error_type\fR\*(T>(), \*(T<\fBodbx_init\fR\*(T>(), \*(T<\fBodbx_unbind\fR\*(T>()