@@ -89,42 +89,39 @@ func (impl DeploymentTemplateRepositoryImpl) FetchLatestDeploymentWithChartRefs(
8989 var result []* DeploymentTemplateComparisonMetadata
9090
9191 query := `
92- WITH ranked_rows AS (
93- SELECT
94- p.id as pipeline_id,
95- p.environment_id,
96- dth.id as deployment_template_history_id,
97- c.chart_ref_id,
98- c.chart_version,
99- ROW_NUMBER() OVER (PARTITION BY p.environment_id ORDER BY pco.id DESC) AS row_num
100- FROM
101- pipeline p
102- JOIN deployment_template_history dth ON dth.pipeline_id = p.id
103- JOIN
104- pipeline_config_override pco ON pco.pipeline_id = p.id
105- JOIN
106- chart_env_config_override ceco ON ceco.id = pco.env_config_override_id
107- JOIN
108- charts c ON c.id = ceco.chart_id
109- WHERE
110- p.app_id = ?
111- AND p.deleted = false
112- AND p.environment_id NOT IN (?)
113- AND dth.deployed = true
114- )
115- SELECT
116- rr.pipeline_id,
117- rr.environment_id,
118- rr.deployment_template_history_id,
119- rr.chart_ref_id,
120- rr.chart_version,
121- e.environment_name
122- FROM
123- ranked_rows rr
124- JOIN
125- environment e ON rr.environment_id = e.id
126- WHERE
127- rr.row_num = 1;
92+ WITH pip AS (
93+ SELECT
94+ p.id AS pipeline_id,
95+ MAX(dth.id) AS deployment_template_history_id,
96+ p.environment_id,
97+ e.environment_name
98+ FROM pipeline AS p
99+ INNER JOIN deployment_template_history dth ON dth.pipeline_id = p.id
100+ INNER JOIN environment e ON e.id = p.environment_id
101+ WHERE p.deleted = false
102+ AND p.app_id = ?
103+ AND p.environment_id != ?
104+ AND dth.deployed = true
105+ GROUP BY p.id, e.environment_name
106+ )
107+
108+ SELECT
109+ pip.pipeline_id,
110+ pip.environment_id,
111+ pip.environment_name,
112+ pip.deployment_template_history_id,
113+ c.chart_ref_id,
114+ c.chart_version
115+ FROM pip
116+ INNER JOIN pipeline_config_override pco ON pco.pipeline_id = pip.pipeline_id
117+ INNER JOIN chart_env_config_override ceco ON ceco.id = pco.env_config_override_id
118+ INNER JOIN charts c ON c.id = ceco.chart_id
119+ WHERE pco.id IN (
120+ SELECT max(pco.id)
121+ FROM pipeline_config_override AS pco
122+ WHERE pipeline_id IN (SELECT pipeline_id FROM pip)
123+ GROUP BY pipeline_id
124+ );
128125 `
129126
130127 _ , err := impl .dbConnection .Query (& result , query , appId , envId )
0 commit comments