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());
}