#endif
#ifndef HAVE_SQLITE3_INT64
-typedef sqlite3_int64 sqlite_int64
+typedef sqlite_int64 sqlite3_int64;
#endif
typedef struct rlm_sql_sqlite_conn {
char **row;
+ TALLOC_FREE(handle->row);
+
/*
* Executes the SQLite query and interates over the results
*/
/*
* No more rows to process (were done)
*/
- if (status == SQLITE_DONE) {
- return 1;
- }
+ if (status == SQLITE_DONE) return RLM_SQL_NO_MORE_ROWS;
/*
* We only need to do this once per result set, because
if (conn->col_count == 0) return RLM_SQL_ERROR;
}
- /*
- * Free the previous result (also gets called on finish_query)
- */
- talloc_free(handle->row);
-
MEM(row = handle->row = talloc_zero_array(handle->conn, char *, conn->col_count + 1));
for (i = 0; i < conn->col_count; i++) {
}
}
- return 0;
+ return RLM_SQL_OK;
}
static sql_rcode_t sql_free_result(rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *config)
* It's just the last error that occurred processing the
* statement.
*/
- return 0;
+ return RLM_SQL_OK;
}
/** Retrieves any errors associated with the connection handle
{
rlm_sql_sqlite_conn_t *conn = handle->conn;
- if (conn->db) {
- return sqlite3_changes(conn->db);
- }
+ if (conn->db) return sqlite3_changes(conn->db);
return -1;
}