Skip to content

Commit

Permalink
SQL: queries : fixed sql queries to handle when duration is negative
Browse files Browse the repository at this point in the history
queries
  • Loading branch information
Hedi committed Jul 4, 2022
1 parent a97809a commit 3b1bdd4
Show file tree
Hide file tree
Showing 7 changed files with 48 additions and 48 deletions.
6 changes: 3 additions & 3 deletions core/src/cats/dml/0006_list_jobs
Expand Up @@ -7,9 +7,9 @@
SELECT DISTINCT Job.JobId,Job.Name, Client.Name as Client,
Job.StartTime,
CASE
WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime
ELSE CURRENT_TIMESTAMP(0) - Job.starttime
END as Duration,
WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime
ELSE CURRENT_TIMESTAMP(0) - Job.starttime
END as Duration,
Job.Type,Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus
FROM Job
LEFT JOIN Client ON Client.ClientId=Job.ClientId
Expand Down
6 changes: 3 additions & 3 deletions core/src/cats/dml/0007_list_jobs_long
Expand Up @@ -9,9 +9,9 @@ SELECT DISTINCT Job.JobId, Job.Job, Job.Name, Job.PurgedFiles, Job.Type, Job.Lev
Job.ClientId, Client.Name as Client, Job.JobStatus, Job.SchedTime, Job.StartTime,
Job.EndTime,Job.RealEndtime,
CASE
WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime
ELSE CURRENT_TIMESTAMP(0) - Job.starttime
END as Duration,
WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime
ELSE CURRENT_TIMESTAMP(0) - Job.starttime
END as Duration,
Job.JobTDate, Job.VolSessionId, Job.VolSessionTime,
Job.JobFiles, Job.JobBytes, Job.JobErrors, Job.JobMissingFiles, Job.PoolId,
Pool.Name as PoolName, Job.PriorJobId, Job.FileSetId, FileSet.FileSet
Expand Down
6 changes: 3 additions & 3 deletions core/src/cats/dml/0009_list_jobs_last
Expand Up @@ -5,9 +5,9 @@
SELECT DISTINCT Job.JobId,Job.Name, Client.Name as Client,
Job.StartTime,
CASE
WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime
ELSE CURRENT_TIMESTAMP(0) - Job.starttime
END as Duration,
WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime
ELSE CURRENT_TIMESTAMP(0) - Job.starttime
END as Duration,
Job.Type,Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus
FROM Job
LEFT JOIN Client ON Client.ClientId=Job.ClientId
Expand Down
6 changes: 3 additions & 3 deletions core/src/cats/dml/0010_list_jobs_long_last
Expand Up @@ -6,9 +6,9 @@ SELECT DISTINCT Job.JobId, Job.Job, Job.Name, Job.PurgedFiles, Job.Type, Job.Lev
Job.ClientId, Client.Name as Client, Job.JobStatus, Job.SchedTime, Job.StartTime,
Job.EndTime, Job.RealEndTime,
CASE
WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime
ELSE CURRENT_TIMESTAMP(0) - Job.starttime
END as Duration,
WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime
ELSE CURRENT_TIMESTAMP(0) - Job.starttime
END as Duration,
Job.JobTDate, Job.VolSessionId, Job.VolSessionTime,
Job.JobFiles, Job.JobBytes, Job.JobErrors, Job.JobMissingFiles, Job.PoolId,
Pool.Name as PoolName, Job.PriorJobId, Job.FileSetId, FileSet.FileSet
Expand Down
24 changes: 12 additions & 12 deletions core/src/cats/mysql_queries.inc
Expand Up @@ -53,9 +53,9 @@ const char *BareosDbMysql::query_definitions[] = {
"SELECT DISTINCT Job.JobId,Job.Name, Client.Name as Client, "
"Job.StartTime, "
"CASE "
"WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"Job.Type,Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus "
"FROM Job "
"LEFT JOIN Client ON Client.ClientId=Job.ClientId "
Expand All @@ -72,9 +72,9 @@ const char *BareosDbMysql::query_definitions[] = {
"Job.ClientId, Client.Name as Client, Job.JobStatus, Job.SchedTime, Job.StartTime, "
"Job.EndTime,Job.RealEndtime, "
"CASE "
"WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"Job.JobTDate, Job.VolSessionId, Job.VolSessionTime, "
"Job.JobFiles, Job.JobBytes, Job.JobErrors, Job.JobMissingFiles, Job.PoolId, "
"Pool.Name as PoolName, Job.PriorJobId, Job.FileSetId, FileSet.FileSet "
Expand Down Expand Up @@ -105,9 +105,9 @@ const char *BareosDbMysql::query_definitions[] = {
"SELECT DISTINCT Job.JobId,Job.Name, Client.Name as Client, "
"Job.StartTime, "
"CASE "
"WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"Job.Type,Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus "
"FROM Job "
"LEFT JOIN Client ON Client.ClientId=Job.ClientId "
Expand Down Expand Up @@ -135,9 +135,9 @@ const char *BareosDbMysql::query_definitions[] = {
"Job.ClientId, Client.Name as Client, Job.JobStatus, Job.SchedTime, Job.StartTime, "
"Job.EndTime, Job.RealEndTime, "
"CASE "
"WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"Job.JobTDate, Job.VolSessionId, Job.VolSessionTime, "
"Job.JobFiles, Job.JobBytes, Job.JobErrors, Job.JobMissingFiles, Job.PoolId, "
"Pool.Name as PoolName, Job.PriorJobId, Job.FileSetId, FileSet.FileSet "
Expand Down
24 changes: 12 additions & 12 deletions core/src/cats/postgresql_queries.inc
Expand Up @@ -53,9 +53,9 @@ const char *BareosDbPostgresql::query_definitions[] = {
"SELECT DISTINCT Job.JobId,Job.Name, Client.Name as Client, "
"Job.StartTime, "
"CASE "
"WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"Job.Type,Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus "
"FROM Job "
"LEFT JOIN Client ON Client.ClientId=Job.ClientId "
Expand All @@ -72,9 +72,9 @@ const char *BareosDbPostgresql::query_definitions[] = {
"Job.ClientId, Client.Name as Client, Job.JobStatus, Job.SchedTime, Job.StartTime, "
"Job.EndTime,Job.RealEndtime, "
"CASE "
"WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"Job.JobTDate, Job.VolSessionId, Job.VolSessionTime, "
"Job.JobFiles, Job.JobBytes, Job.JobErrors, Job.JobMissingFiles, Job.PoolId, "
"Pool.Name as PoolName, Job.PriorJobId, Job.FileSetId, FileSet.FileSet "
Expand Down Expand Up @@ -105,9 +105,9 @@ const char *BareosDbPostgresql::query_definitions[] = {
"SELECT DISTINCT Job.JobId,Job.Name, Client.Name as Client, "
"Job.StartTime, "
"CASE "
"WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"Job.Type,Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus "
"FROM Job "
"LEFT JOIN Client ON Client.ClientId=Job.ClientId "
Expand Down Expand Up @@ -135,9 +135,9 @@ const char *BareosDbPostgresql::query_definitions[] = {
"Job.ClientId, Client.Name as Client, Job.JobStatus, Job.SchedTime, Job.StartTime, "
"Job.EndTime, Job.RealEndTime, "
"CASE "
"WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"Job.JobTDate, Job.VolSessionId, Job.VolSessionTime, "
"Job.JobFiles, Job.JobBytes, Job.JobErrors, Job.JobMissingFiles, Job.PoolId, "
"Pool.Name as PoolName, Job.PriorJobId, Job.FileSetId, FileSet.FileSet "
Expand Down
24 changes: 12 additions & 12 deletions core/src/cats/sqlite_queries.inc
Expand Up @@ -53,9 +53,9 @@ const char *BareosDbSqlite::query_definitions[] = {
"SELECT DISTINCT Job.JobId,Job.Name, Client.Name as Client, "
"Job.StartTime, "
"CASE "
"WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"Job.Type,Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus "
"FROM Job "
"LEFT JOIN Client ON Client.ClientId=Job.ClientId "
Expand All @@ -72,9 +72,9 @@ const char *BareosDbSqlite::query_definitions[] = {
"Job.ClientId, Client.Name as Client, Job.JobStatus, Job.SchedTime, Job.StartTime, "
"Job.EndTime,Job.RealEndtime, "
"CASE "
"WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"Job.JobTDate, Job.VolSessionId, Job.VolSessionTime, "
"Job.JobFiles, Job.JobBytes, Job.JobErrors, Job.JobMissingFiles, Job.PoolId, "
"Pool.Name as PoolName, Job.PriorJobId, Job.FileSetId, FileSet.FileSet "
Expand Down Expand Up @@ -105,9 +105,9 @@ const char *BareosDbSqlite::query_definitions[] = {
"SELECT DISTINCT Job.JobId,Job.Name, Client.Name as Client, "
"Job.StartTime, "
"CASE "
"WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"Job.Type,Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus "
"FROM Job "
"LEFT JOIN Client ON Client.ClientId=Job.ClientId "
Expand Down Expand Up @@ -135,9 +135,9 @@ const char *BareosDbSqlite::query_definitions[] = {
"Job.ClientId, Client.Name as Client, Job.JobStatus, Job.SchedTime, Job.StartTime, "
"Job.EndTime, Job.RealEndTime, "
"CASE "
"WHEN Job.endtime IS NOT NULL THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"WHEN Job.endtime IS NOT NULL AND Job.endtime >= Job.starttime THEN Job.endtime - Job.starttime "
"ELSE CURRENT_TIMESTAMP(0) - Job.starttime "
"END as Duration, "
"Job.JobTDate, Job.VolSessionId, Job.VolSessionTime, "
"Job.JobFiles, Job.JobBytes, Job.JobErrors, Job.JobMissingFiles, Job.PoolId, "
"Pool.Name as PoolName, Job.PriorJobId, Job.FileSetId, FileSet.FileSet "
Expand Down

0 comments on commit 3b1bdd4

Please sign in to comment.