Closed trel closed 8 months ago
I think this is the equivalent specific query for the above...
SELECT DISTINCT R_DATA_MAIN.data_name,
R_COLL_MAIN.coll_name,
R_USER_MAIN.user_name,
R_USER_MAIN.zone_name,
R_DATA_MAIN.data_repl_num
FROM R_DATA_MAIN,
R_COLL_MAIN,
R_USER_MAIN,
R_META_MAIN r_data_meta_main,
R_OBJT_METAMAP r_data_metamap,
R_OBJT_ACCESS r_data_access
WHERE r_data_meta_main.meta_attr_name = 'archive_object'
AND r_data_meta_main.meta_attr_value = 'true'
AND R_DATA_MAIN.resc_id IN ( '10068', '10069' )
AND r_data_metamap.meta_id = r_data_meta_main.meta_id
AND R_DATA_MAIN.data_id = r_data_metamap.object_id
AND R_USER_MAIN.user_id = r_data_access.user_id
AND R_DATA_MAIN.data_id = r_data_access.object_id
AND R_COLL_MAIN.coll_id = R_DATA_MAIN.coll_id
ORDER BY R_COLL_MAIN.coll_name,
R_DATA_MAIN.data_name,
R_DATA_MAIN.data_repl_num
Here's the same query, but with the joins easier to see.
SELECT DISTINCT R_DATA_MAIN.data_name,
R_COLL_MAIN.coll_name,
R_USER_MAIN.user_name,
R_USER_MAIN.zone_name,
R_DATA_MAIN.data_repl_num
FROM R_DATA_MAIN
INNER JOIN R_COLL_MAIN ON R_DATA_MAIN.coll_id = R_COLL_MAIN.coll_id
INNER JOIN R_OBJT_ACCESS r_data_access ON R_DATA_MAIN.data_id = r_data_access.object_id
INNER JOIN R_OBJT_METAMAP r_data_metamap ON R_DATA_MAIN.data_id = r_data_metamap.object_id
INNER JOIN R_META_MAIN r_data_meta_main ON r_data_metamap.meta_id = r_data_meta_main.meta_id
INNER JOIN R_USER_MAIN ON r_data_access.user_id = R_USER_MAIN.user_id
WHERE r_data_meta_main.meta_attr_name = 'archive_object' AND
r_data_meta_main.meta_attr_value = 'true' AND
R_DATA_MAIN.resc_id IN ('10068', '10069')
ORDER BY R_COLL_MAIN.coll_name,
R_DATA_MAIN.data_name,
R_DATA_MAIN.data_repl_num
We could introduce a milestone for the next release against 4.2.12, but I don't think it's necessary.
Agreed.
[x] 4-2-stable
https://github.com/irods/irods_capability_storage_tiering#customizing-the-violating-objects-query
Needs to have a FROM clause added...