@@ -71,26 +71,28 @@ void updateLastModifiedAt(
7171
7272 @ SqlQuery (
7373 """
74- SELECT d.*, dv.fields, dv.lifecycle_state, sv.schema_location, t.tags, facets
75- FROM datasets_view d
76- LEFT JOIN dataset_versions dv ON d.current_version_uuid = dv.uuid
77- LEFT JOIN stream_versions AS sv ON sv.dataset_version_uuid = dv.uuid
78- LEFT JOIN (
79- SELECT ARRAY_AGG(t.name) AS tags, m.dataset_uuid
80- FROM tags AS t
81- INNER JOIN datasets_tag_mapping AS m ON m.tag_uuid = t.uuid
82- GROUP BY m.dataset_uuid
83- ) t ON t.dataset_uuid = d.uuid
84- LEFT JOIN (
85- SELECT
86- df.dataset_version_uuid,
87- JSONB_AGG(df.facet ORDER BY df.lineage_event_time ASC) AS facets
88- FROM dataset_facets_view AS df
89- WHERE df.facet IS NOT NULL AND (df.type ILIKE 'dataset' OR df.type ILIKE 'unknown')
90- GROUP BY df.dataset_version_uuid
91- ) f ON f.dataset_version_uuid = d.current_version_uuid
92- WHERE CAST((:namespaceName, :datasetName) AS DATASET_NAME) = ANY(d.dataset_symlinks)
93- """ )
74+ SELECT d.*, dv.fields, dv.lifecycle_state, sv.schema_location, t.tags, facets
75+ FROM datasets_view d
76+ LEFT JOIN dataset_versions dv ON d.current_version_uuid = dv.uuid
77+ LEFT JOIN stream_versions AS sv ON sv.dataset_version_uuid = dv.uuid
78+ LEFT JOIN (
79+ SELECT ARRAY_AGG(t.name) AS tags, m.dataset_uuid
80+ FROM tags AS t
81+ INNER JOIN datasets_tag_mapping AS m ON m.tag_uuid = t.uuid
82+ GROUP BY m.dataset_uuid
83+ ) t ON t.dataset_uuid = d.uuid
84+ LEFT JOIN (
85+ SELECT
86+ df.dataset_version_uuid,
87+ JSONB_AGG(df.facet ORDER BY df.lineage_event_time ASC) AS facets
88+ FROM dataset_facets AS df
89+ WHERE df.facet IS NOT NULL AND
90+ (df.type ILIKE 'dataset' OR df.type ILIKE 'unknown') AND
91+ df.dataset_uuid = (SELECT uuid FROM datasets WHERE name = :datasetName AND namespace_name = :namespaceName)
92+ GROUP BY df.dataset_version_uuid
93+ ) f ON f.dataset_version_uuid = d.current_version_uuid
94+ WHERE CAST((:namespaceName, :datasetName) AS DATASET_NAME) = ANY(d.dataset_symlinks)
95+ """ )
9496 Optional <Dataset > findDatasetByName (String namespaceName , String datasetName );
9597
9698 default Optional <Dataset > findWithTags (String namespaceName , String datasetName ) {
@@ -119,28 +121,30 @@ default void setFields(Dataset ds) {
119121
120122 @ SqlQuery (
121123 """
122- SELECT d.*, dv.fields, dv.lifecycle_state, sv.schema_location, t.tags, facets
123- FROM datasets_view d
124- LEFT JOIN dataset_versions dv ON d.current_version_uuid = dv.uuid
125- LEFT JOIN stream_versions AS sv ON sv.dataset_version_uuid = dv.uuid
126- LEFT JOIN (
127- SELECT ARRAY_AGG(t.name) AS tags, m.dataset_uuid
128- FROM tags AS t
129- INNER JOIN datasets_tag_mapping AS m ON m.tag_uuid = t.uuid
130- GROUP BY m.dataset_uuid
131- ) t ON t.dataset_uuid = d.uuid
132- LEFT JOIN (
133- SELECT
134- df.dataset_version_uuid,
135- JSONB_AGG(df.facet ORDER BY df.lineage_event_time ASC) AS facets
136- FROM dataset_facets_view AS df
137- WHERE df.facet IS NOT NULL AND (df.type ILIKE 'dataset' OR df.type ILIKE 'unknown')
138- GROUP BY df.dataset_version_uuid
139- ) f ON f.dataset_version_uuid = d.current_version_uuid
140- WHERE d.namespace_name = :namespaceName
141- ORDER BY d.name
142- LIMIT :limit OFFSET :offset
143- """ )
124+ SELECT d.*, dv.fields, dv.lifecycle_state, sv.schema_location, t.tags, facets
125+ FROM datasets_view d
126+ LEFT JOIN dataset_versions dv ON d.current_version_uuid = dv.uuid
127+ LEFT JOIN stream_versions AS sv ON sv.dataset_version_uuid = dv.uuid
128+ LEFT JOIN (
129+ SELECT ARRAY_AGG(t.name) AS tags, m.dataset_uuid
130+ FROM tags AS t
131+ INNER JOIN datasets_tag_mapping AS m ON m.tag_uuid = t.uuid
132+ GROUP BY m.dataset_uuid
133+ ) t ON t.dataset_uuid = d.uuid
134+ LEFT JOIN (
135+ SELECT
136+ df.dataset_version_uuid,
137+ JSONB_AGG(df.facet ORDER BY df.lineage_event_time ASC) AS facets
138+ FROM dataset_facets AS df
139+ WHERE df.facet IS NOT NULL AND
140+ (df.type ILIKE 'dataset' OR df.type ILIKE 'unknown') AND
141+ df.dataset_uuid IN (SELECT uuid FROM datasets_view WHERE namespace_name = :namespaceName ORDER BY name LIMIT :limit OFFSET :offset)
142+ GROUP BY df.dataset_version_uuid
143+ ) f ON f.dataset_version_uuid = d.current_version_uuid
144+ WHERE d.namespace_name = :namespaceName
145+ ORDER BY d.name
146+ LIMIT :limit OFFSET :offset
147+ """ )
144148 List <Dataset > findAll (String namespaceName , int limit , int offset );
145149
146150 @ SqlQuery ("SELECT count(*) FROM datasets_view" )
@@ -249,23 +253,23 @@ DatasetRow upsert(
249253
250254 @ SqlUpdate (
251255 """
252- UPDATE datasets d
253- SET is_hidden = true
254- FROM namespaces n
255- WHERE n.uuid=d.namespace_uuid
256- AND n.name=:namespaceName
257- """ )
256+ UPDATE datasets d
257+ SET is_hidden = true
258+ FROM namespaces n
259+ WHERE n.uuid=d.namespace_uuid
260+ AND n.name=:namespaceName
261+ """ )
258262 void deleteByNamespaceName (String namespaceName );
259263
260264 @ SqlQuery (
261265 """
262- UPDATE datasets d
263- SET is_hidden = true
264- FROM namespaces n
265- WHERE n.uuid = d.namespace_uuid
266- AND n.name=:namespaceName AND d.name=:name
267- RETURNING *
268- """ )
266+ UPDATE datasets d
267+ SET is_hidden = true
268+ FROM namespaces n
269+ WHERE n.uuid = d.namespace_uuid
270+ AND n.name=:namespaceName AND d.name=:name
271+ RETURNING *
272+ """ )
269273 Optional <DatasetRow > delete (String namespaceName , String name );
270274
271275 @ Transaction
0 commit comments