[prev in list] [next in list] [prev in thread] [next in thread] 

List:       rhq-commits
Subject:    [rhq] modules/core
From:       jshaughn () fedoraproject ! org (Jay Shaughnessy)
Date:       2011-04-29 20:53:17
Message-ID: 20110429205317.DAD9412020C () lists ! fedorahosted ! org
[Download RAW message or body]

 modules/core/dbutils/src/main/java/org/rhq/core/db/upgrade/ResourceAncestryUpgradeTask.java \
|   25 ++++++++--  modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml     \
|   20 ++++----  2 files changed, 32 insertions(+), 13 deletions(-)

New commits:
commit dcdd7f2581e36451ab8a9b9fe8916be87fe8e2fb
Author: Jay Shaughnessy <jshaughn at redhat.com>
Date:   Fri Apr 29 16:47:21 2011 -0400

    [BZ 700868 - RHQ3 ---> RHQ4 Upgrade error with Oracle]
    
    More upgrade fixes, oracle-specific but postgres should retested now.

diff --git a/modules/core/dbutils/src/main/java/org/rhq/core/db/upgrade/ResourceAncestryUpgradeTask.java \
b/modules/core/dbutils/src/main/java/org/rhq/core/db/upgrade/ResourceAncestryUpgradeTask.java
 index d07e09b..60727eb 100644
--- a/modules/core/dbutils/src/main/java/org/rhq/core/db/upgrade/ResourceAncestryUpgradeTask.java
                
+++ b/modules/core/dbutils/src/main/java/org/rhq/core/db/upgrade/ResourceAncestryUpgradeTask.java
 @@ -18,6 +18,7 @@
  */
 package org.rhq.core.db.upgrade;
 
+import java.math.BigDecimal;
 import java.sql.Connection;
 import java.sql.SQLException;
 import java.util.List;
@@ -50,8 +51,16 @@ public class ResourceAncestryUpgradeTask implements \
                DatabaseUpgradeTask {
             + "       res.RESOURCE_TYPE_ID=rt.ID and rt.CATEGORY='PLATFORM'";
         List<Object[]> rs = databaseType.executeSelectSql(connection, sql);
         for (Object[] result : rs) {
-            int rtId = (Integer) result[0];
-            int resId = (Integer) result[1];
+            int rtId;
+            int resId;
+
+            if (result[0] instanceof BigDecimal) {
+                rtId = ((BigDecimal) result[0]).intValue();
+                resId = ((BigDecimal) result[1]).intValue();
+            } else {
+                rtId = (Integer) result[0];
+                resId = (Integer) result[1];
+            }
             String resName = (String) result[2];
 
             handleChildren(rtId, resId, resName, null);
@@ -66,8 +75,16 @@ public class ResourceAncestryUpgradeTask implements \
                DatabaseUpgradeTask {
             + "       res.RESOURCE_TYPE_ID=rt.ID and res.PARENT_RESOURCE_ID=" + \
                parentResId;
         List<Object[]> rs = databaseType.executeSelectSql(connection, sql);
         for (Object[] result : rs) {
-            int rtId = (Integer) result[0];
-            int resId = (Integer) result[1];
+            int rtId;
+            int resId;
+
+            if (result[0] instanceof BigDecimal) {
+                rtId = ((BigDecimal) result[0]).intValue();
+                resId = ((BigDecimal) result[1]).intValue();
+            } else {
+                rtId = (Integer) result[0];
+                resId = (Integer) result[1];
+            }
             String resName = (String) result[2];
             String ancestry = getAncestry(parentRtId, parentResId, parentResName, \
                parentAncestry);
             String updateSql = "update RHQ_RESOURCE set ANCESTRY='" + ancestry + "' \
                where ID=" + resId;
diff --git a/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml \
b/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml index \
                57f82f0..a82c9bf 100644
--- a/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml
+++ b/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml
@@ -3288,10 +3288,14 @@
                 <!-- Finally, make ID the primary key, rather than (JOB_NAME, \
JOB_GROUP), and make  (JOB_NAME, JOB_GROUP) a unique index instead. -->
                 <schema-directSQL>
-                    <statement desc="Changing primary key of RHQ_OPERATION_SCHEDULE \
                to ID...">
-                        ALTER TABLE RHQ_OPERATION_SCHEDULE DROP CONSTRAINT \
                RHQ_OPERATION_SCHEDULE_KEY;
-                        ALTER TABLE RHQ_OPERATION_SCHEDULE ADD PRIMARY KEY (ID);
-                        CREATE UNIQUE INDEX RHQ_OPERATION_SCHEDULE_KEY_IDX ON \
RHQ_OPERATION_SCHEDULE (JOB_NAME, JOB_GROUP); +                    <statement \
desc="Changing primary key of RHQ_OPERATION_SCHEDULE to ID. Step1/3..."> +            \
ALTER TABLE RHQ_OPERATION_SCHEDULE DROP CONSTRAINT RHQ_OPERATION_SCHEDULE_KEY +       \
</statement>                         +                    <statement desc="Changing \
primary key of RHQ_OPERATION_SCHEDULE to ID. Step2/3...">                     +       \
ALTER TABLE RHQ_OPERATION_SCHEDULE ADD PRIMARY KEY (ID) +                    \
</statement>                     +                    <statement desc="Changing \
primary key of RHQ_OPERATION_SCHEDULE to ID. Step3/3...">                     +       \
CREATE UNIQUE INDEX RHQ_OPERATION_SCHEDULE_KEY_IDX ON RHQ_OPERATION_SCHEDULE \
(JOB_NAME, JOB_GROUP)  </statement>
                 </schema-directSQL>
             </schemaSpec>
@@ -3350,15 +3354,13 @@
                 <schema-addColumn table="RHQ_REPO" column="IS_PRIVATE" \
columnType="BOOLEAN" />  <schema-directSQL>
                     <statement targetDBVendor="postgresql" desc="Set is_private flag \
                for existing repos to false">
-                        UPDATE RHQ_REPO
-                        SET IS_PRIVATE = false
+                        UPDATE RHQ_REPO SET IS_PRIVATE = false
                     </statement>
                     <statement targetDBVendor="oracle" desc="Set is_private flag for \
                existing repos to false">
-                        UPDATE RHQ_REPO
-                        SET IS_PRIVATE = 0
+                        UPDATE RHQ_REPO SET IS_PRIVATE = 0
                     </statement>
             	</schema-directSQL>
-                <schema-alterColumn table="RHQ_REPO" column="IS_PRIVATE" \
nullable="FALSE" default="TRUE"/> +                <schema-alterColumn \
table="RHQ_REPO" column="IS_PRIVATE" nullable="FALSE"/>  <schema-directSQL>
                     <statement desc="Creating OWNER_ID foreign key relation on \
RHQ_REPO">  ALTER TABLE RHQ_REPO


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic