This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch ranger-2.4
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/ranger-2.4 by this push:
     new 057c5ea0e RANGER-4126: updated BaseDao.getDBVersion() to correctly 
handle Oracle database
057c5ea0e is described below

commit 057c5ea0e67067f70df440ac5dce884ac1650021
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]>
    (cherry picked from commit 80b7d4899b42923639db78407b0c8d4c09803259)
---
 .../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());
                                        }

Reply via email to