Skip to content

Commit f8e35d2

Browse files
authored
Merge branch 'main' into indices/run-states
2 parents 8546b0c + 52b70a7 commit f8e35d2

1 file changed

Lines changed: 59 additions & 55 deletions

File tree

api/src/main/java/marquez/db/DatasetDao.java

Lines changed: 59 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)