--- bacula-7.4.0/src/cats/sql_list.c	2016-01-15 14:57:18.000000000 -0200
+++ /tmp/sql_list.c	2016-02-14 07:09:44.895649600 -0200
@@ -79,23 +79,23 @@
    if (type == VERT_LIST) {
       if (pdbr->Name[0] != 0) {
          Mmsg(cmd, "SELECT PoolId,Name,NumVols,MaxVols,UseOnce,UseCatalog,"
-            "AcceptAnyVolume,VolRetention,VolUseDuration,MaxVolJobs,MaxVolBytes,"
+            "AcceptAnyVolume,VolRetention,VolUseDuration,MaxVolJobs,convert_bytes_to_humanreadable(MaxVolBytes) AS MaxVolBytes,"
             "AutoPrune,Recycle,PoolType,LabelFormat,Enabled,ScratchPoolId,"
             "RecyclePoolId,LabelType "
             " FROM Pool WHERE Name='%s'", esc);
       } else {
-         Mmsg(cmd, "SELECT PoolId,Name,NumVols,MaxVols,UseOnce,UseCatalog,"
-            "AcceptAnyVolume,VolRetention,VolUseDuration,MaxVolJobs,MaxVolBytes,"
+         Mmsg(cmd, "tttttt PoolId,Name,NumVols,MaxVols,UseOnce,UseCatalog,"
+            "AcceptAnyVolume,VolRetention,VolUseDuration,MaxVolJobs,convert_bytes_to_humanreadable(MaxVolBytes) AS MaxVolBytes,"
             "AutoPrune,Recycle,PoolType,LabelFormat,Enabled,ScratchPoolId,"
             "RecyclePoolId,LabelType "
             " FROM Pool ORDER BY PoolId");
       }
    } else {
       if (pdbr->Name[0] != 0) {
-         Mmsg(cmd, "SELECT PoolId,Name,NumVols,MaxVols,PoolType,LabelFormat "
+         Mmsg(cmd, "SELECT PoolId,Name,NumVols,MaxVols,convert_bytes_to_humanreadable(MaxVolBytes) AS MaxVolBytes, VolRetention, Enabled,PoolType,LabelFormat "
            "FROM Pool WHERE Name='%s'", esc);
       } else {
-         Mmsg(cmd, "SELECT PoolId,Name,NumVols,MaxVols,PoolType,LabelFormat "
+         Mmsg(cmd, "SELECT PoolId,Name,NumVols,MaxVols,convert_bytes_to_humanreadable(MaxVolBytes) AS MaxVolBytes, VolRetention, Enabled,PoolType,LabelFormat "
            "FROM Pool ORDER BY PoolId");
       }
    }
@@ -204,10 +204,10 @@
       if (mdbr->VolumeName[0] != 0) {
          Mmsg(cmd, "SELECT MediaId,VolumeName,Slot,PoolId,"
             "MediaType,MediaTypeId,FirstWritten,LastWritten,LabelDate,VolJobs,"
-            "VolFiles,VolBlocks,VolMounts,VolBytes,VolABytes,VolAPadding,"
+            "VolFiles,VolBlocks,VolMounts,convert_bytes_to_humanreadable(VolBytes) AS VolBytes,VolABytes,VolAPadding,"
             "VolHoleBytes,VolHoles,VolErrors,VolWrites,"
             "VolCapacityBytes,VolStatus,Enabled,Recycle,VolRetention,"
-            "VolUseDuration,MaxVolJobs,MaxVolFiles,MaxVolBytes,InChanger,"
+            "VolUseDuration,MaxVolJobs,MaxVolFiles,convert_bytes_to_humanreadable(MaxVolBytes) AS MaxVolBytes,InChanger,"
             "EndFile,EndBlock,VolParts,LabelType,StorageId,DeviceId,"
             "MediaAddressing,VolReadTime,VolWriteTime,"
             "LocationId,RecycleCount,InitialWrite,ScratchPoolId,RecyclePoolId, "
@@ -216,10 +216,10 @@
       } else {
          Mmsg(cmd, "SELECT MediaId,VolumeName,Slot,PoolId,"
             "MediaType,MediaTypeId,FirstWritten,LastWritten,LabelDate,VolJobs,"
-            "VolFiles,VolBlocks,VolMounts,VolBytes,VolABytes,VolAPadding,"
+            "VolFiles,VolBlocks,VolMounts,convert_bytes_to_humanreadable(VolBytes) AS VolBytes,VolABytes,VolAPadding,"
             "VolHoleBytes,VolHoles,VolErrors,VolWrites,"
             "VolCapacityBytes,VolStatus,Enabled,Recycle,VolRetention,"
-            "VolUseDuration,MaxVolJobs,MaxVolFiles,MaxVolBytes,InChanger,"
+            "VolUseDuration,MaxVolJobs,MaxVolFiles,convert_bytes_to_humanreadable(MaxVolBytes) AS MaxVolBytes,InChanger,"
             "EndFile,EndBlock,VolParts,LabelType,StorageId,DeviceId,"
             "MediaAddressing,VolReadTime,VolWriteTime,"
             "LocationId,RecycleCount,InitialWrite,ScratchPoolId,RecyclePoolId, "
@@ -230,11 +230,11 @@
    } else {
       if (mdbr->VolumeName[0] != 0) {
          Mmsg(cmd, "SELECT MediaId,VolumeName,VolStatus,Enabled,"
-            "VolBytes,VolFiles,VolRetention,Recycle,Slot,InChanger,MediaType,LastWritten,%s AS ExpiresIn "
+            "convert_bytes_to_humanreadable(VolBytes) AS VolBytes,VolFiles,VolRetention,Recycle,Slot,InChanger,MediaType,LastWritten,%s AS ExpiresIn "
               "FROM Media WHERE Media.VolumeName='%s'", expiresin, esc);
       } else {
          Mmsg(cmd, "SELECT MediaId,VolumeName,VolStatus,Enabled,"
-            "VolBytes,VolFiles,VolRetention,Recycle,Slot,InChanger,MediaType,LastWritten,%s AS ExpiresIn "
+            "convert_bytes_to_humanreadable(VolBytes) AS VolBytes,VolFiles,VolRetention,Recycle,Slot,InChanger,MediaType,LastWritten,%s AS ExpiresIn "
             "FROM Media WHERE Media.PoolId=%s ORDER BY MediaId",
               expiresin, edit_int64(mdbr->PoolId, ed1));
       }
@@ -439,7 +439,7 @@
            "SELECT JobId,Job,Job.Name,PurgedFiles,Type,Level,"
            "Job.ClientId,Client.Name as ClientName,JobStatus,SchedTime,"
            "StartTime,EndTime,RealEndTime,JobTDate,"
-           "VolSessionId,VolSessionTime,JobFiles,JobBytes,ReadBytes,JobErrors,"
+           "VolSessionId,VolSessionTime,JobFiles,convert_bytes_to_humanreadable(JobBytes) AS JobBytes,ReadBytes,JobErrors,"
            "JobMissingFiles,Job.PoolId,Pool.Name as PooLname,PriorJobId,"
            "Job.FileSetId,FileSet.FileSet,Job.HasBase,Job.HasCache,Job.Comment "
            "FROM Job JOIN Client USING (ClientId) LEFT JOIN Pool USING (PoolId) "
@@ -448,12 +448,12 @@
       break;
    case HORZ_LIST:
       Mmsg(cmd,
-           "SELECT JobId,Name,StartTime,Type,Level,JobFiles,JobBytes,JobStatus "
+           "SELECT JobId,Name,StartTime,Type,Level,JobFiles,convert_bytes_to_humanreadable(JobBytes) AS JobBytes,JobStatus "
            "FROM Job %s ORDER BY StartTime %s,JobId %s %s", where, order, order, limit);
       break;
    case INCOMPLETE_JOBS:
       Mmsg(cmd,
-           "SELECT JobId,Name,StartTime,Type,Level,JobFiles,JobBytes,JobStatus "
+           "SELECT JobId,Name,StartTime,Type,Level,JobFiles,convert_bytes_to_humanreadable(JobBytes) AS JobBytes,JobStatus "
              "FROM Job %s ORDER BY StartTime %s,JobId %s %s",
            where, order, order, limit);
       break;
@@ -495,7 +495,7 @@
 
    /* List by Job */
    Mmsg(cmd, "SELECT  count(*) AS Jobs,sum(JobFiles) "
-      "AS Files,sum(JobBytes) AS Bytes,Name AS Job FROM Job GROUP BY Name");
+      "AS Files,convert_bytes_to_humanreadable(sum(JobBytes)) AS Bytes,Name AS Job FROM Job GROUP BY Name");
 
    if (!QueryDB(jcr, cmd)) {
       bdb_unlock();
@@ -508,7 +508,7 @@
 
    /* Do Grand Total */
    Mmsg(cmd, "SELECT count(*) AS Jobs,sum(JobFiles) "
-        "AS Files,sum(JobBytes) As Bytes FROM Job");
+        "AS Files,convert_bytes_to_humanreadable(sum(JobBytes)) As Bytes FROM Job");
 
    if (!QueryDB(jcr, cmd)) {
       bdb_unlock();
