@@ -156,10 +156,19 @@ default void updateDatasetVersionMetric(
156156
157157 @ SqlQuery (
158158 """
159+ WITH selected_dataset_versions AS (
160+ SELECT dv.*
161+ FROM dataset_versions dv
162+ WHERE dv.version = :version
163+ ), selected_dataset_version_facets AS (
164+ SELECT dv.uuid, dv.dataset_name, dv.namespace_name, df.run_uuid, df.lineage_event_time, df.facet
165+ FROM selected_dataset_versions dv
166+ LEFT JOIN dataset_facets_view df ON df.dataset_version_uuid = dv.uuid
167+ )
159168 SELECT d.type, d.name, d.physical_name, d.namespace_name, d.source_name, d.description, dv.lifecycle_state,\s
160169 dv.created_at, dv.version, dv.fields, dv.run_uuid AS createdByRunUuid, sv.schema_location,
161170 t.tags, f.facets
162- FROM dataset_versions dv
171+ FROM selected_dataset_versions dv
163172 LEFT JOIN datasets_view d ON d.uuid = dv.dataset_uuid
164173 LEFT JOIN stream_versions AS sv ON sv.dataset_version_uuid = dv.uuid
165174 LEFT JOIN (
@@ -169,21 +178,28 @@ SELECT ARRAY_AGG(t.name) AS tags, m.dataset_uuid
169178 GROUP BY m.dataset_uuid
170179 ) t ON t.dataset_uuid = dv.dataset_uuid
171180 LEFT JOIN (
172- SELECT dvf.dataset_version_uuid,
173- JSONB_AGG(dvf.facet ORDER BY dvf.lineage_event_time ASC) AS facets
174- FROM dataset_facets_view dvf
175- GROUP BY dataset_version_uuid
176- ) f ON f.dataset_version_uuid = dv.uuid
177- WHERE dv.version = :version
178- """ )
181+ SELECT dvf.uuid AS dataset_uuid, JSONB_AGG(dvf.facet ORDER BY dvf.lineage_event_time ASC) AS facets
182+ FROM selected_dataset_version_facets dvf
183+ WHERE dvf.run_uuid = dvf.run_uuid
184+ GROUP BY dvf.uuid
185+ ) f ON f.dataset_uuid = dv.uuid""" )
179186 Optional <DatasetVersion > findBy (UUID version );
180187
181188 @ SqlQuery (
182189 """
190+ WITH selected_dataset_versions AS (
191+ SELECT dv.*
192+ FROM dataset_versions dv
193+ WHERE dv.uuid = :uuid
194+ ), selected_dataset_version_facets AS (
195+ SELECT dv.uuid, dv.dataset_name, dv.namespace_name, df.run_uuid, df.lineage_event_time, df.facet
196+ FROM selected_dataset_versions dv
197+ LEFT JOIN dataset_facets_view df ON df.dataset_version_uuid = dv.uuid AND (df.type ILIKE 'dataset' OR df.type ILIKE 'unknown')
198+ )
183199 SELECT d.type, d.name, d.physical_name, d.namespace_name, d.source_name, d.description, dv.lifecycle_state,\s
184200 dv.created_at, dv.version, dv.fields, dv.run_uuid AS createdByRunUuid, sv.schema_location,
185201 t.tags, f.facets
186- FROM dataset_versions dv
202+ FROM selected_dataset_versions dv
187203 LEFT JOIN datasets_view d ON d.uuid = dv.dataset_uuid
188204 LEFT JOIN stream_versions AS sv ON sv.dataset_version_uuid = dv.uuid
189205 LEFT JOIN (
@@ -192,14 +208,12 @@ SELECT ARRAY_AGG(t.name) AS tags, m.dataset_uuid
192208 INNER JOIN datasets_tag_mapping AS m ON m.tag_uuid = t.uuid
193209 GROUP BY m.dataset_uuid
194210 ) t ON t.dataset_uuid = dv.dataset_uuid
195- LEFT JOIN (
196- SELECT dvf.dataset_version_uuid,
197- JSONB_AGG(dvf.facet ORDER BY dvf.lineage_event_time ASC) AS facets
198- FROM dataset_facets_view dvf
199- GROUP BY dataset_version_uuid
200- ) f ON f.dataset_version_uuid = dv.uuid
201- WHERE dv.uuid = :uuid
202- """ )
211+ LEFT JOIN (
212+ SELECT dvf.uuid AS dataset_uuid, JSONB_AGG(dvf.facet ORDER BY dvf.lineage_event_time ASC) AS facets
213+ FROM selected_dataset_version_facets dvf
214+ WHERE dvf.run_uuid = dvf.run_uuid
215+ GROUP BY dvf.uuid
216+ ) f ON f.dataset_uuid = dv.uuid""" )
203217 Optional <DatasetVersion > findByUuid (UUID uuid );
204218
205219 default Optional <DatasetVersion > findByWithRun (UUID version ) {
@@ -246,6 +260,7 @@ LEFT JOIN (
246260 SELECT dvf.dataset_version_uuid,
247261 JSONB_AGG(dvf.facet ORDER BY dvf.lineage_event_time ASC) AS facets
248262 FROM dataset_facets_view dvf
263+ WHERE (type ILIKE 'dataset' OR type ILIKE 'unknown')
249264 GROUP BY dataset_version_uuid
250265 ) f ON f.dataset_version_uuid = dv.uuid
251266 WHERE dv.namespace_name = :namespaceName
0 commit comments