This is an automated email from the ASF dual-hosted git repository. madhan pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ranger.git
commit 80b7d4899b42923639db78407b0c8d4c09803259 Author: Ramachandran Krishnan <[email protected]> AuthorDate: Mon Mar 13 20:18:15 2023 +0530 RANGER-4126: updated BaseDao.getDBVersion() to correctly handle Oracle database Signed-off-by: Madhan Neethiraj <[email protected]> --- .../java/org/apache/ranger/common/db/BaseDao.java | 19 +++++++++++-------- .../org/apache/ranger/patch/cliutil/MetricUtil.java | 5 +++-- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/security-admin/src/main/java/org/apache/ranger/common/db/BaseDao.java b/security-admin/src/main/java/org/apache/ranger/common/db/BaseDao.java index 418557bcb..0d0697990 100644 --- a/security-admin/src/main/java/org/apache/ranger/common/db/BaseDao.java +++ b/security-admin/src/main/java/org/apache/ranger/common/db/BaseDao.java @@ -357,25 +357,28 @@ public abstract class BaseDao<T> { public String getDBVersion(){ String dbVersion="Not Available"; + int dbFlavor = RangerBizUtil.getDBFlavor(); String query ="SELECT 1"; try{ - if(RangerBizUtil.getDBFlavor() == AppConstants.DB_FLAVOR_MYSQL) { + if(dbFlavor == AppConstants.DB_FLAVOR_MYSQL) { query="SELECT version()"; dbVersion=(String) getEntityManager().createNativeQuery(query).getSingleResult(); - }else if(RangerBizUtil.getDBFlavor() == AppConstants.DB_FLAVOR_ORACLE){ - query="SELECT * from v$version where rownum<2"; - dbVersion=(String) getEntityManager().createNativeQuery(query).getSingleResult(); - }else if(RangerBizUtil.getDBFlavor() == AppConstants.DB_FLAVOR_POSTGRES){ + }else if(dbFlavor == AppConstants.DB_FLAVOR_ORACLE){ + query="SELECT banner from v$version where rownum<2"; + dbVersion = (String)getEntityManager().createNativeQuery(query).getSingleResult(); + }else if(dbFlavor == AppConstants.DB_FLAVOR_POSTGRES){ query="SELECT version()"; dbVersion=(String) getEntityManager().createNativeQuery(query).getSingleResult(); - }else if(RangerBizUtil.getDBFlavor() == AppConstants.DB_FLAVOR_SQLSERVER){ + }else if(dbFlavor == AppConstants.DB_FLAVOR_SQLSERVER){ query="SELECT @@version"; dbVersion=(String) getEntityManager().createNativeQuery(query).getSingleResult(); - }else if(RangerBizUtil.getDBFlavor() == AppConstants.DB_FLAVOR_SQLANYWHERE){ + }else if(dbFlavor == AppConstants.DB_FLAVOR_SQLANYWHERE){ query="SELECT @@version"; dbVersion=(String) getEntityManager().createNativeQuery(query).getSingleResult(); } - }catch(Exception ex){} + }catch(Exception ex){ + logger.error("Error occurred while fetching the DB version.", ex); + } return dbVersion; } } diff --git a/security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java b/security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java index 8a13a1712..7d4828ed0 100644 --- a/security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java +++ b/security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java @@ -318,7 +318,7 @@ public class MetricUtil extends BaseLoader { case "database" : try { int dbFlavor = RangerBizUtil.getDBFlavor(); - String dbFlavourType = "Unknow "; + String dbFlavourType = "Unknown"; if (dbFlavor == AppConstants.DB_FLAVOR_MYSQL) { dbFlavourType = "MYSQL "; } else if (dbFlavor == AppConstants.DB_FLAVOR_ORACLE) { @@ -330,10 +330,11 @@ public class MetricUtil extends BaseLoader { } else if (dbFlavor == AppConstants.DB_FLAVOR_SQLSERVER) { dbFlavourType = "SQLSERVER "; } + String dbDetail = dbFlavourType + xaBizUtil.getDBVersion(); Gson gson = new GsonBuilder().create(); final String jsonDBDetail = gson.toJson(dbDetail); - System.out.println(jsonDBDetail); + logger.info("jsonDBDetail:" + jsonDBDetail); } catch (Exception e) { logger.error("Error calculating Metric for database : " + e.getMessage()); }
