#include "bacula.h"
#include "cats.h"
-#if HAVE_SQLITE3 || HAVE_MYSQL || HAVE_SQLITE || HAVE_POSTGRESQL
+#if HAVE_SQLITE3 || HAVE_MYSQL || HAVE_SQLITE || HAVE_POSTGRESQL || HAVE_DBI
/* -----------------------------------------------------------------------
*
* 1 on success
*/
int
-db_update_job_end_record(JCR *jcr, B_DB *mdb, JOB_DBR *jr)
+db_update_job_end_record(JCR *jcr, B_DB *mdb, JOB_DBR *jr, bool stats_enabled)
{
char dt[MAX_TIME_LENGTH];
char rdt[MAX_TIME_LENGTH];
edit_int64(jr->JobId, ed3));
stat = UPDATE_DB(jcr, mdb, mdb->cmd);
+
+ if (stat && stats_enabled) {
+ Mmsg(mdb->cmd,
+ "INSERT INTO JobStat (SELECT * FROM Job WHERE JobId=%s)",
+ edit_int64(jr->JobId, ed3));
+ INSERT_DB(jcr, mdb, mdb->cmd); /* TODO: get a message ? */
+ }
db_unlock(mdb);
return stat;
}
-
/*
* Update Client record
* Returns: 0 on failure
UPDATE_DB(jcr, mdb, mdb->cmd);
}
+ /* sanity checks for #1066 */
+ if (mr->VolReadTime < 0) {
+ mr->VolReadTime = 0;
+ }
+ if (mr->VolWriteTime < 0) {
+ mr->VolWriteTime = 0;
+ }
+
Mmsg(mdb->cmd, "UPDATE Media SET VolJobs=%u,"
"VolFiles=%u,VolBlocks=%u,VolBytes=%s,VolMounts=%u,VolErrors=%u,"
"VolWrites=%u,MaxVolBytes=%s,VolStatus='%s',"