35d72fccbe
Feature/remove mocks * remove mocks * cleanup db migrations
44 lines
1.4 KiB
SQL
44 lines
1.4 KiB
SQL
-- Migration 010: Collector Views (Simplified)
|
|
-- Views for collector configuration
|
|
-- NOTE: Query-related views and text version views removed (no longer used)
|
|
|
|
CREATE VIEW collectorCurrentActiveVersions AS
|
|
SELECT
|
|
c.clientId,
|
|
COALESCE(v.versionId, 0)::int AS activeVersion
|
|
FROM
|
|
clients c
|
|
LEFT JOIN (
|
|
SELECT DISTINCT ON (clientId)
|
|
clientId,
|
|
versionId
|
|
FROM
|
|
collectorActiveVersions
|
|
ORDER BY clientId, id DESC
|
|
) v ON c.clientId = v.clientId;
|
|
|
|
CREATE VIEW collectorLatestVersions AS
|
|
SELECT
|
|
j.clientId,
|
|
COALESCE(MAX(v.id), 0)::int AS latestVersion
|
|
FROM clients AS j
|
|
LEFT JOIN collectorVersions AS v ON v.clientId = j.clientId
|
|
GROUP BY j.clientId;
|
|
|
|
CREATE VIEW currentCollectorMinCleanVersions AS
|
|
SELECT DISTINCT
|
|
av.clientId,
|
|
COALESCE(ctv.versionId, 0) AS minCleanVersion
|
|
FROM collectorCurrentActiveVersions AS av
|
|
LEFT JOIN collectorMinCleanVersions AS ctv ON av.clientId = ctv.clientId
|
|
AND isInVersion(av.activeVersion, ctv.addedVersion, ctv.removedVersion);
|
|
|
|
-- Final fullActiveCollectors view (simplified without minTextVersion or fields)
|
|
CREATE VIEW fullActiveCollectors AS
|
|
SELECT DISTINCT av.clientId,
|
|
ccv.minCleanVersion,
|
|
av.activeVersion, lv.latestVersion
|
|
FROM collectorCurrentActiveVersions AS av
|
|
JOIN collectorLatestVersions AS lv ON lv.clientId = av.clientId
|
|
JOIN currentCollectorMinCleanVersions AS ccv ON av.clientId = ccv.clientId;
|