From e8bdc45d5d088d923be499da33aeb1d54fc2fb44 Mon Sep 17 00:00:00 2001 From: "Alan T. DeKok" Date: Tue, 14 Sep 2010 02:52:55 +0200 Subject: [PATCH] Added functions for sql_affected_rows and sql_error These look like they're not used right now, but they're worth having --- .../rlm_sql/drivers/rlm_sql_sqlite/sql_sqlite.c | 25 ++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/modules/rlm_sql/drivers/rlm_sql_sqlite/sql_sqlite.c b/src/modules/rlm_sql/drivers/rlm_sql_sqlite/sql_sqlite.c index f4b6dc0..14466d9 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_sqlite/sql_sqlite.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_sqlite/sql_sqlite.c @@ -338,8 +338,15 @@ static int sql_free_result(SQLSOCK * sqlsocket, UNUSED SQL_CONFIG *config) * connection * *************************************************************************/ -static const char *sql_error(UNUSED SQLSOCK * sqlsocket, UNUSED SQL_CONFIG *config) +static const char *sql_error(SQLSOCK * sqlsocket, UNUSED SQL_CONFIG *config) { + rlm_sql_sqlite_sock *sqlite_sock = sqlsocket->conn; + + if (sqlite_sock->pDb != NULL) { + return sqlite3_errmsg(sqlite_sock->pDb); + } + + radlog(L_ERR, "rlm_sql_sqlite: Socket not connected"); return NULL; } @@ -405,12 +412,22 @@ static int sql_finish_select_query(SQLSOCK * sqlsocket, SQL_CONFIG *config) * * Function: sql_affected_rows * - * Purpose: End the select query, such as freeing memory or result + * Purpose: Requests the number of rows affected by the last executed + * statement * *************************************************************************/ -static int sql_affected_rows(UNUSED SQLSOCK * sqlsocket, UNUSED SQL_CONFIG *config) +static int sql_affected_rows(SQLSOCK * sqlsocket, UNUSED SQL_CONFIG *config) { - return 0; + int result = -1; + + rlm_sql_sqlite_sock *sqlite_sock = sqlsocket->conn; + + if (sqlite_sock->pDb != NULL) { + result = sqlite3_changes(sqlite_sock->pDb); + DEBUG3("rlm_sql_sqlite: sql_affected_rows() = %i\n", result); + } + + return result; } -- 2.1.4