You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2015/05/14 18:01:18 UTC

ambari git commit: AMBARI-11104. Upgrade 2.0.0->2.0.1 on oracle database failed (aonishuk)

Repository: ambari
Updated Branches:
  refs/heads/branch-2.0.maint b1f340337 -> ece8e1ab0


AMBARI-11104. Upgrade 2.0.0->2.0.1 on oracle database failed (aonishuk)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ece8e1ab
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ece8e1ab
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ece8e1ab

Branch: refs/heads/branch-2.0.maint
Commit: ece8e1ab0e78896c9153b356048cfe8fcf32343e
Parents: b1f3403
Author: Andrew Onishuk <ao...@hortonworks.com>
Authored: Thu May 14 19:00:41 2015 +0300
Committer: Andrew Onishuk <ao...@hortonworks.com>
Committed: Thu May 14 19:00:41 2015 +0300

----------------------------------------------------------------------
 .../java/org/apache/ambari/server/orm/DBAccessorImpl.java   | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/ece8e1ab/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
index b40ca27..f9e83b6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
@@ -630,12 +630,19 @@ public class DBAccessorImpl implements DBAccessor {
   @Override
   public List<String> getIndexesList(String tableName, boolean unique)
       throws SQLException{
+    // Convert table names to uppercase, as Oracle is case sensitive.
+    if (getDbType() == DbType.ORACLE) {
+     tableName = tableName.toUpperCase();
+    }
     ResultSet rs = getDatabaseMetaData().getIndexInfo(null, null, tableName, unique, false);
     List<String> index_list = new ArrayList<String>();
     if (rs != null){
       try{
         while (rs.next()) {
-          index_list.add(rs.getString("index_name"));
+          String indexName = rs.getString("INDEX_NAME");
+          if (indexName != null) {  // hack for Oracle database, as she could return null values
+            index_list.add(indexName);
+          }
         }
       }finally {
         rs.close();