* system.
*
* Kern Sibbald, January MMI
+ *
+ * Version $Id$
*/
/*
- Copyright (C) 2001, 2002 Kern Sibbald and John Walker
+ Copyright (C) 2001-2003 Kern Sibbald and John Walker
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
/*
* Submit general SQL query
*/
-int db_list_sql_query(B_DB *mdb, char *query, DB_LIST_HANDLER *sendit, void *ctx)
+int db_list_sql_query(JCR *jcr, B_DB *mdb, char *query, DB_LIST_HANDLER *sendit,
+ void *ctx, int verbose)
{
sendit(ctx, "SQL Queries not implemented with internal database.\n");
return 0;
/*
* List all the pool records
*/
-void db_list_pool_records(B_DB *mdb, DB_LIST_HANDLER *sendit, void *ctx)
+void db_list_pool_records(JCR *jcr, B_DB *mdb, DB_LIST_HANDLER *sendit, void *ctx)
{
int len;
POOL_DBR pr;
Dmsg0(90, "Enter list_pool_records\n");
- P(mdb->mutex);
+ db_lock(mdb);
if (!bdb_open_pools_file(mdb)) {
- V(mdb->mutex);
+ db_unlock(mdb);
return;
}
sendit(ctx, " PoolId NumVols MaxVols Type PoolName\n");
sendit(ctx, mdb->cmd);
}
sendit(ctx, "===================================================\n");
- V(mdb->mutex);
+ db_unlock(mdb);
Dmsg0(90, "Leave list_pool_records\n");
return;
}
/*
* List Media records
*/
-void db_list_media_records(B_DB *mdb, MEDIA_DBR *mdbr, DB_LIST_HANDLER *sendit, void *ctx)
+void db_list_media_records(JCR *jcr, B_DB *mdb, MEDIA_DBR *mdbr,
+ DB_LIST_HANDLER *sendit, void *ctx)
{
char ewc[30];
int len;
MEDIA_DBR mr;
- P(mdb->mutex);
+ db_lock(mdb);
if (!bdb_open_media_file(mdb)) {
- V(mdb->mutex);
+ db_unlock(mdb);
return;
}
sendit(ctx, " Status VolBytes MediaType VolumeName\n");
len = sizeof(mr);
while (fread(&mr, len, 1, mdb->mediafd) > 0) {
Mmsg(&mdb->cmd, " %-10s %17s %-15s %s\n",
- mr.VolStatus, edit_uint_with_commas(mr.VolBytes, ewc),
+ mr.VolStatus, edit_uint64_with_commas(mr.VolBytes, ewc),
mr.MediaType, mr.VolumeName);
sendit(ctx, mdb->cmd);
}
sendit(ctx, "====================================================================\n");
- V(mdb->mutex);
+ db_unlock(mdb);
return;
}
-void db_list_jobmedia_records(B_DB *mdb, uint32_t JobId, DB_LIST_HANDLER *sendit, void *ctx)
+void db_list_jobmedia_records(JCR *jcr, B_DB *mdb, uint32_t JobId,
+ DB_LIST_HANDLER *sendit, void *ctx)
{
JOBMEDIA_DBR jm;
MEDIA_DBR mr;
int jmlen, mrlen;
- P(mdb->mutex);
+ db_lock(mdb);
if (!bdb_open_jobmedia_file(mdb)) {
- V(mdb->mutex);
+ db_unlock(mdb);
return;
}
if (!bdb_open_media_file(mdb)) {
- V(mdb->mutex);
+ db_unlock(mdb);
return;
}
sendit(ctx, " JobId VolumeName FirstIndex LastIndex\n");
}
sendit(ctx, "============================================\n");
- V(mdb->mutex);
+ db_unlock(mdb);
return;
}
/*
* List Job records
*/
-void db_list_job_records(B_DB *mdb, JOB_DBR *jr, DB_LIST_HANDLER *sendit, void *ctx)
+void db_list_job_records(JCR *jcr, B_DB *mdb, JOB_DBR *jr,
+ DB_LIST_HANDLER *sendit, void *ctx)
{
int jrlen;
JOB_DBR ojr;
char dt[MAX_TIME_LENGTH];
struct tm tm;
- P(mdb->mutex);
+ db_lock(mdb);
if (!bdb_open_jobs_file(mdb)) {
- V(mdb->mutex);
+ db_unlock(mdb);
return;
}
fseek(mdb->jobfd, 0L, SEEK_SET); /* rewind file */
strftime(dt, sizeof(dt), "%m-%d %H:%M", &tm);
Mmsg(&mdb->cmd, " %7d %-10s %c %c %14s %10s %c %s\n",
ojr.JobId, dt, (char)ojr.Type, (char)ojr.Level,
- edit_uint_with_commas(ojr.JobBytes, ewc1),
- edit_uint_with_commas(ojr.JobFiles, ewc2),
+ edit_uint64_with_commas(ojr.JobBytes, ewc1),
+ edit_uint64_with_commas(ojr.JobFiles, ewc2),
(char)ojr.JobStatus, ojr.Name);
sendit(ctx, mdb->cmd);
}
sendit(ctx, "============================================================================\n");
- V(mdb->mutex);
+ db_unlock(mdb);
return;
}
/*
* List Job Totals
*/
-void db_list_job_totals(B_DB *mdb, JOB_DBR *jr, DB_LIST_HANDLER *sendit, void *ctx)
+void db_list_job_totals(JCR *jcr, B_DB *mdb, JOB_DBR *jr,
+ DB_LIST_HANDLER *sendit, void *ctx)
{
char ewc1[30], ewc2[30], ewc3[30];
int jrlen;
uint64_t total_files = 0;
uint32_t total_jobs = 0;
- P(mdb->mutex);
+ db_lock(mdb);
if (!bdb_open_jobs_file(mdb)) {
- V(mdb->mutex);
+ db_unlock(mdb);
return;
}
fseek(mdb->jobfd, 0L, SEEK_SET); /* rewind file */
total_jobs++;
}
Mmsg(&mdb->cmd, " %7s %10s %15s\n",
- edit_uint_with_commas(total_jobs, ewc1),
- edit_uint_with_commas(total_files, ewc2),
- edit_uint_with_commas(total_bytes, ewc3));
+ edit_uint64_with_commas(total_jobs, ewc1),
+ edit_uint64_with_commas(total_files, ewc2),
+ edit_uint64_with_commas(total_bytes, ewc3));
sendit(ctx, mdb->cmd);
sendit(ctx, "=======================================\n");
- V(mdb->mutex);
+ db_unlock(mdb);
return;
}
-void db_list_files_for_job(B_DB *mdb, uint32_t jobid, DB_LIST_HANDLER *sendit, void *ctx) {}
+void db_list_files_for_job(JCR *jcr, B_DB *mdb, uint32_t jobid, DB_LIST_HANDLER *sendit, void *ctx)
+{ }
+
+void db_list_client_records(JCR *jcr, B_DB *mdb, DB_LIST_HANDLER *sendit, void *ctx)
+{ }
+
+int db_list_sql_query(JCR *jcr, B_DB *mdb, char *query, DB_LIST_HANDLER *sendit,
+ void *ctx, int verbose, e_list_type type)
+{
+ return 0;
+}
+
+void
+db_list_pool_records(JCR *jcr, B_DB *mdb, DB_LIST_HANDLER *sendit, void *ctx, e_list_type type)
+{ }
+
+void
+db_list_media_records(JCR *jcr, B_DB *mdb, MEDIA_DBR *mdbr,
+ DB_LIST_HANDLER *sendit, void *ctx, e_list_type type)
+{ }
+
+void db_list_jobmedia_records(JCR *jcr, B_DB *mdb, uint32_t JobId,
+ DB_LIST_HANDLER *sendit, void *ctx, e_list_type type)
+{ }
+
+void
+db_list_job_records(JCR *jcr, B_DB *mdb, JOB_DBR *jr, DB_LIST_HANDLER *sendit,
+ void *ctx, e_list_type type)
+{ }
+
+void
+db_list_client_records(JCR *jcr, B_DB *mdb, DB_LIST_HANDLER *sendit, void *ctx, e_list_type type)
+{ }
+
+
+
#endif /* HAVE_BACULA_DB */