Skip to content

Commit

Permalink
RANGER-4684 Need to update createdBy ,updatedBy field for gds objects…
Browse files Browse the repository at this point in the history
… in case the creator is deleted

Signed-off-by: Dineshkumar Yadav <[email protected]>
  • Loading branch information
prashantdev88 authored and dineshkumar-yadav committed Feb 2, 2024
1 parent 4efae9a commit c8fbd01
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ public abstract class BaseDao<T> {
private static final String PROP_BATCH_DELETE_BATCH_SIZE = "ranger.admin.dao.batch.delete.batch.size";
private static final int DEFAULT_BATCH_DELETE_BATCH_SIZE = 1000;
private static int BATCH_DELETE_BATCH_SIZE;
private static final String GDS_TABLES = "x_gds_";

static {
try {
Expand Down Expand Up @@ -348,11 +349,12 @@ public void updateUserIDReference(String paramName,long oldID) {
Table table = tClass.getAnnotation(Table.class);
if(table != null) {
String tableName = table.name();
String query = "update " + tableName + " set " + paramName+"=null"
+ " where " +paramName+"=" + oldID;
String updatedValue = tableName.contains(GDS_TABLES) ? "1" : "null";
String query = "update " + tableName + " set " + paramName+"=" + updatedValue + " where " +paramName+"=" + oldID;

int count=getEntityManager().createNativeQuery(query).executeUpdate();
if(count>0){
logger.warn(count + " records updated in table '" + tableName + "' with: set " + paramName + "=null where " + paramName + "=" + oldID);
logger.warn(count + " records updated in table '" + tableName + "' with: set " + paramName + "="+ updatedValue + " where " + paramName + "=" + oldID);
}
}else{
logger.warn("Required annotation `Table` not found");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -326,5 +326,17 @@ public void updateXXPortalUserReferences(long xXPortalUserId){
daoManager.getXXPolicyRefRole().updateUserIDReference("upd_by_id", xXPortalUserId);
daoManager.getXXRole().updateUserIDReference("added_by_id", xXPortalUserId);
daoManager.getXXRole().updateUserIDReference("upd_by_id", xXPortalUserId);
daoManager.getXXGdsDataset().updateUserIDReference("added_by_id", xXPortalUserId);
daoManager.getXXGdsDataset().updateUserIDReference("upd_by_id", xXPortalUserId);
daoManager.getXXGdsDataShare().updateUserIDReference("added_by_id", xXPortalUserId);
daoManager.getXXGdsDataShare().updateUserIDReference("upd_by_id", xXPortalUserId);
daoManager.getXXGdsProject().updateUserIDReference("added_by_id", xXPortalUserId);
daoManager.getXXGdsProject().updateUserIDReference("upd_by_id", xXPortalUserId);
daoManager.getXXGdsSharedResource().updateUserIDReference("added_by_id", xXPortalUserId);
daoManager.getXXGdsSharedResource().updateUserIDReference("upd_by_id", xXPortalUserId);
daoManager.getXXGdsDataShareInDataset().updateUserIDReference("added_by_id", xXPortalUserId);
daoManager.getXXGdsDataShareInDataset().updateUserIDReference("upd_by_id", xXPortalUserId);
daoManager.getXXGdsDatasetInProject().updateUserIDReference("added_by_id", xXPortalUserId);
daoManager.getXXGdsDatasetInProject().updateUserIDReference("upd_by_id", xXPortalUserId);
}
}

0 comments on commit c8fbd01

Please sign in to comment.