unixODBC sql_finish_query problem

dav davide.agent at abbeynet.it
Mon Jun 27 09:48:33 CEST 2005


Hi all,
We are using freeRadius V.1.04 connecting to a FireBird v 1.5.2 via 
unixOdbc module.
We experienced this problem:
in the accounting (accounting_start and stop) section we use a stored 
procedure with some
insert statements inside, called by a "EXECUTE PROCEDURE foo()" 
statement and noticed
that queries weren't committed;
We solved the problem analyzing the code of sql_unixodbc.c module and 
modifying this part:

static int sql_finish_query(SQLSOCK *sqlsocket, SQL_CONFIG *config) {
  /* Not used */
    return 0;
}

to:

static int sql_finish_query(SQLSOCK *sqlsocket, SQL_CONFIG *config) {
    rlm_sql_unixodbc_sock *unixodbc_sock = sqlsocket->conn;
   
    SQLFreeStmt(unixodbc_sock->stmt_handle, SQL_CLOSE);
    return 0;
}
  
 similarly to sql_finish_select_query function;
 Why the original sql_finish_query is empty and doesn't do anything?
 Is the proposed solution correct? Any advices?
 Could it be introduced in future releases?
 
 Davide



More information about the Freeradius-Devel mailing list