return 0;
}
-/*************************************************************************
- *
- * Function: sql_destroy_socket
- *
- * Purpose: Free socket and any private connection data
- *
- *************************************************************************/
-static int sql_destroy_socket(rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *config)
-{
- handle->conn = NULL;
-
- return 0;
-}
-
-
/*************************************************************************
*
* Function: sql_query
return "Unknown error";
}
-
-/*************************************************************************
- *
- * Function: sql_close
- *
- * Purpose: database specific close. Closes an open database
- * connection
- *
- *************************************************************************/
-static int sql_close(rlm_sql_handle_t * handle, UNUSED rlm_sql_config_t *config)
-{
- handle->conn = NULL;
- return 0;
-}
-
-
/*************************************************************************
*
* Function: sql_finish_query
"rlm_sql_null",
NULL,
sql_socket_init,
- sql_destroy_socket,
sql_query,
sql_select_query,
sql_store_result,
sql_fetch_row,
sql_free_result,
sql_error,
- sql_close,
sql_finish_query,
sql_finish_select_query,
sql_affected_rows
DEBUG2("rlm_sql_sybase: Socket destructor called, closing socket");
+ if (conn->db) {
+ ct_close(conn->db, CS_FORCE_CLOSE);
+ }
+
return 0;
}
, sql_error(handle, config));
if ((ret = ct_cancel(NULL, conn->command, CS_CANCEL_ALL)) == CS_FAIL) {
radlog(L_ERR,"rlm_sql_sybase(sql_query): cleaning up.");
- ct_close(conn->db, CS_FORCE_CLOSE);
- sql_close(handle, config);
+
+ return SQL_DOWN;
}
return -1;
break;
, sql_error(handle, config));
if ((ret = ct_cancel(NULL, conn->command, CS_CANCEL_ALL)) == CS_FAIL) {
radlog(L_ERR,"rlm_sql_sybase(sql_query): cleaning up.");
- ct_close(conn->db, CS_FORCE_CLOSE);
- sql_close(handle, config);
+
+ return SQL_DOWN;
}
return -1;
break;
, sql_error(handle, config));
if ((ret = ct_cancel(NULL, conn->command, CS_CANCEL_ALL)) == CS_FAIL) {
radlog(L_ERR,"rlm_sql_sybase(sql_query): cleaning up.");
- ct_close(conn->db, CS_FORCE_CLOSE);
- sql_close(handle, config);
+
+ return SQL_DOWN;
}
return -1;
break;
, sql_error(handle, config));
if ((ret = ct_cancel(NULL, conn->command, CS_CANCEL_ALL)) == CS_FAIL) {
radlog(L_ERR,"rlm_sql_sybase(sql_select_query): cleaning up.");
- ct_close(conn->db, CS_FORCE_CLOSE);
- sql_close(handle, config);
+
+ return SQL_DOWN;
}
return -1;
break;
, sql_error(handle, config));
if ((ret = ct_cancel(NULL, conn->command, CS_CANCEL_ALL)) == CS_FAIL) {
radlog(L_ERR,"rlm_sql_sybase(sql_fetch_row): cleaning up.");
- ct_close(conn->db, CS_FORCE_CLOSE);
- sql_close(handle, config);
+
+ return SQL_DOWN;
}
return SQL_DOWN;
break;
"rlm_sql_sybase",
NULL,
sql_socket_init,
- NULL,
sql_query,
sql_select_query,
sql_store_result,
sql_fetch_row,
sql_free_result,
sql_error,
- NULL,
sql_finish_query,
sql_finish_select_query,
sql_affected_rows