mirror of
https://github.com/ClusterCockpit/cc-backend
synced 2026-03-15 04:17:30 +01:00
use inline literals in simple queries, add downgrade optimize
This commit is contained in:
@@ -211,7 +211,8 @@ func BuildWhereClause(filter *model.JobFilter, query sq.SelectBuilder) sq.Select
|
||||
}
|
||||
}
|
||||
if filter.Shared != nil {
|
||||
query = query.Where("job.shared = ?", *filter.Shared)
|
||||
// Inline literal value so SQLite can match partial indexes (see above).
|
||||
query = query.Where(fmt.Sprintf("job.shared = '%s'", *filter.Shared))
|
||||
}
|
||||
if filter.Project != nil {
|
||||
query = buildStringCondition("job.project", filter.Project, query)
|
||||
@@ -229,7 +230,8 @@ func BuildWhereClause(filter *model.JobFilter, query sq.SelectBuilder) sq.Select
|
||||
query = buildIntCondition("job.num_hwthreads", filter.NumHWThreads, query)
|
||||
}
|
||||
if filter.ArrayJobID != nil {
|
||||
query = query.Where("job.array_job_id = ?", *filter.ArrayJobID)
|
||||
// Inline literal value so SQLite can match partial indexes (see above).
|
||||
query = query.Where(fmt.Sprintf("job.array_job_id = %d", *filter.ArrayJobID))
|
||||
}
|
||||
if filter.StartTime != nil {
|
||||
query = buildTimeCondition("job.start_time", filter.StartTime, query)
|
||||
|
||||
@@ -10,3 +10,5 @@ CREATE INDEX IF NOT EXISTS jobs_cluster_jobstate_user
|
||||
|
||||
CREATE INDEX IF NOT EXISTS jobs_cluster_jobstate_project
|
||||
ON job (cluster, job_state, project);
|
||||
|
||||
PRAGMA optimize;
|
||||
|
||||
@@ -3,3 +3,5 @@
|
||||
DROP INDEX IF EXISTS jobs_running_user_stats;
|
||||
DROP INDEX IF EXISTS jobs_running_project_stats;
|
||||
DROP INDEX IF EXISTS jobs_running_subcluster_stats;
|
||||
|
||||
PRAGMA optimize;
|
||||
|
||||
Reference in New Issue
Block a user