When an application and/or process has completed operations with the database, it must release resources by disconnecting from the database engine.
Below is the code for Done():
/*
* Done()
*
* This function handles the housekeeping of closing connection and
* freeing of associated memory
*/
void Done(void)
{
CTSQLRET rc;
printf("DONE\n");
/* re-enable autocommit */
if ((rc = ctsqlSetAutoCommit(hConn, CTSQL_TRUE)) != CTSQLRET_OK)
Handle_Error( "ctsqlSetAutoCommit()");
Delete_Tables();
/* disconnect from server */
printf("\tLogout...\n");
if ((rc = ctsqlDisconnect(hConn)) != CTSQLRET_OK)
Handle_Error("ctsqlDisconnect()");
/* free command handle */
if (hCmd)
ctsqlFreeCommand(hCmd);
/* free connection handle */
ctsqlFreeConnection(hConn);
}