@@ -8,7 +8,7 @@ SELECT c.id, c.name, coalesce(cs.canSync, false) as canSync
|
||||
SELECT clientId, canSync
|
||||
FROM clientCanSync
|
||||
WHERE clientId = $1
|
||||
ORDER BY addedAt DESC
|
||||
ORDER BY id DESC
|
||||
LIMIT 1
|
||||
) as cs on cs.clientId = c.id
|
||||
WHERE c.id = $1;
|
||||
|
||||
@@ -5,7 +5,7 @@ SELECT j.id, j.clientId, coalesce(cs.canSync, false) as canSync
|
||||
SELECT jobId, canSync
|
||||
FROM jobCanSync
|
||||
WHERE jobId = $1
|
||||
ORDER BY addedAt DESC
|
||||
ORDER BY id DESC
|
||||
LIMIT 1
|
||||
) as cs on cs.jobId = j.id
|
||||
WHERE j.id = $1;
|
||||
|
||||
@@ -6,14 +6,13 @@ SELECT * FROM fullActiveQueries WHERE id = $1;
|
||||
|
||||
-- name: GetQueryWithVersion :one
|
||||
WITH query as (
|
||||
SELECT id, type, activeVersion, latestVersion FROM queries WHERE id = @id
|
||||
SELECT id, type FROM queries WHERE id = @id
|
||||
),
|
||||
config as (
|
||||
SELECT c.queryId, c.config
|
||||
FROM query AS q
|
||||
LEFT JOIN queryConfigs AS c ON q.id = c.queryId
|
||||
and @version >= c.addedVersion
|
||||
and (c.removedVersion is null or @version < c.removedVersion)
|
||||
and isInVersion(@version, c.addedVersion, c.removedVersion)
|
||||
),
|
||||
requiredIds as (
|
||||
SELECT r.queryId,
|
||||
@@ -22,16 +21,17 @@ requiredIds as (
|
||||
as requiredIds
|
||||
FROM query AS q
|
||||
LEFT JOIN requiredQueries AS r ON q.id = r.queryId
|
||||
and @version >= r.addedVersion
|
||||
and (r.removedVersion is null or @version < r.removedVersion)
|
||||
and isInVersion(@version, r.addedVersion, r.removedVersion)
|
||||
GROUP BY r.queryId
|
||||
)
|
||||
SELECT DISTINCT q.id, q.type, q.activeVersion, q.latestVersion, c.config,
|
||||
SELECT DISTINCT q.id, q.type, coalesce(av.id, 0) as activeVersion, coalesce(lv.id, 0) as latestVersion, c.config,
|
||||
coalesce(
|
||||
r.requiredIds,
|
||||
array[]::uuid[]
|
||||
)::uuid[] as requiredIds
|
||||
FROM query AS q
|
||||
LEFT JOIN queryCurrentActiveVersions as av on q.id = av.queryId
|
||||
LEFT JOIN queryLatestVersions as lv on lv.queryId = q.id
|
||||
LEFT JOIN config AS c ON q.id = c.queryId
|
||||
LEFT JOIN requiredIds AS r ON q.id = r.queryId;
|
||||
|
||||
@@ -44,8 +44,11 @@ SELECT * FROM fullActiveQueries WHERE id = any($1);
|
||||
-- name: CreateQuery :one
|
||||
INSERT INTO queries (type) VALUES ($1) RETURNING id;
|
||||
|
||||
-- name: UpdateQuery :exec
|
||||
UPDATE queries SET activeVersion = $1, latestVersion = $2 WHERE id = $3;
|
||||
-- name: AddLatestQueryVersion :exec
|
||||
INSERT INTO queryVersions (queryId) VALUES ($1);
|
||||
|
||||
-- name: AddActiveQueryVersion :exec
|
||||
INSERT INTO queryActiveVersions (queryId, versionId) VALUES ($1, $2);
|
||||
|
||||
-- name: AddRequiredQuery :exec
|
||||
INSERT INTO requiredQueries (queryId, requiredQueryId, addedVersion) VALUES ($1, $2, $3);
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
-- name: ListQueryRequirementValues :many
|
||||
WITH reqQueries as (
|
||||
SELECT q.id as queryId, q.activeVersion, q.type
|
||||
SELECT q.id as queryId, av.id as activeVersion, q.type
|
||||
FROM requiredQueries as rq
|
||||
JOIN queries as q on q.id = rq.requiredQueryId
|
||||
LEFT JOIN queryCurrentActiveVersions as av on q.id = av.queryId
|
||||
WHERE rq.queryId = @queryId
|
||||
and @version >= rq.addedVersion
|
||||
and (rq.removedVersion is null or @version < rq.removedVersion)
|
||||
and isInVersion(@version, rq.addedVersion, rq.removedVersion)
|
||||
),
|
||||
docs as (
|
||||
SELECT id, jobId
|
||||
@@ -20,8 +20,7 @@ codeVersions as (
|
||||
FROM docs as d
|
||||
LEFT JOIN collectors as c on c.jobId = d.jobId
|
||||
LEFT JOIN collectorCodeVersions as ccv on c.id = ccv.collectorId
|
||||
and c.activeVersion >= ccv.addedVersion
|
||||
and c.activeVersion < COALESCE(ccv.removedVersion, c.activeVersion)
|
||||
and isInVersion(c.activeVersion, ccv.addedVersion, ccv.removedVersion)
|
||||
LIMIT 1
|
||||
),
|
||||
latestVersions AS (
|
||||
|
||||
Reference in New Issue
Block a user