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

List:       rhq-commits
Subject:    [rhq] Branch 'rhq-on-as7' - modules/enterprise
From:       mazz () fedoraproject ! org (mazz)
Date:       2012-09-28 19:41:30
Message-ID: 20120928194130.6A588A0C54 () fedorahosted ! org
[Download RAW message or body]

 modules/enterprise/gui/installer/src/test/java/org/rhq/enterprise/installer/DBInstallationTest.java \
|  210   modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-2.4.0.xml \
|  669 ++  modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-3.0.0.xml \
|  690 ++  modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-rhq-4.2.0.xml \
|  396 +  modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-rhq-4.3.0.xml \
|  398 +  modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-2.4.0.xml \
| 2494 +++++++++  modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-3.0.0.xml \
| 2649 ++++++++++  modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-rhq-4.2.0.xml \
| 2642 +++++++++  modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-rhq-4.3.0.xml \
| 2649 ++++++++++  9 files changed, 12797 insertions(+)

New commits:
commit 2be05d1bd014e4bda7255c40a79e1861eca639e5
Author: John Mazzitelli <mazz at redhat.com>
Date:   Fri Sep 28 15:41:22 2012 -0400

    port the DBInstallationTest tests

diff --git a/modules/enterprise/gui/installer/src/test/java/org/rhq/enterprise/installer/DBInstallationTest.java \
b/modules/enterprise/gui/installer/src/test/java/org/rhq/enterprise/installer/DBInstallationTest.java
 new file mode 100644
index 0000000..c1e8a5c
--- /dev/null
+++ b/modules/enterprise/gui/installer/src/test/java/org/rhq/enterprise/installer/DBInstallationTest.java
 @@ -0,0 +1,210 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2012 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, version 2, as
+ * published by the Free Software Foundation, and/or the GNU Lesser
+ * General Public License, version 2.1, also as published by the Free
+ * Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License and the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * and the GNU Lesser General Public License along with this program;
+ * if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.rhq.enterprise.installer;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.HashMap;
+
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import org.rhq.core.db.reset.DBReset;
+import org.rhq.core.db.setup.DBSetup;
+import org.rhq.core.util.stream.StreamUtil;
+import org.rhq.enterprise.gui.installer.client.shared.ServerDetails;
+import org.rhq.enterprise.gui.installer.client.shared.ServerProperties;
+import org.rhq.enterprise.gui.installer.server.servlet.ServerInstallUtil;
+
+/**
+ * The tests in this class exercise the dbsetup/dbupgrade code that is run in the \
installer. The tests currently only + * run against postgresql. Support needs to be \
added for oracle. The tests do not do any post-install/upgrade + * verification at \
the time of this writing. They just simply exercise the dbsetup/dbupgrade scripts to \
ensure that + * they do not contain any errors.
+ *
+ * @author John Sanda
+ */
+public class DBInstallationTest {
+
+    private final String LOG_DIRECTORY = System.getProperty("java.io.tmpdir", \
"rhq/installer-test"); +    private final String DB_NAME = \
System.getProperty("rhq.test.ds.db-name", "rhq_installer_test_db"); +    private \
final String USERNAME = System.getProperty("rhq.test.ds.user-name", "rhqadmin"); +    \
private final String PASSWORD = System.getProperty("rhq.test.ds.password", \
"rhqadmin"); +    private final String SERVER = \
System.getProperty("rhq.test.ds.server-name", "127.0.0.1"); +    private final String \
DB_URL = System.getProperty("rhq.test.ds.connection-url", "jdbc:postgresql://" + \
SERVER +        + ":5432/" + DB_NAME);
+    private final String ADMIN_USERNAME = \
System.getProperty("rhq.db.admin.username", "postgres"); +    private final String \
ADMIN_PASSWORD = System.getProperty("rhq.db.admin.password", "postgres"); +    \
private static final String DB_TYPE_MAPPING = \
System.getProperty("rhq.test.ds.type-mapping", "PostgreSQL"); +
+    private String logDir;
+    private ServerDetails serverDetails;
+
+    @BeforeMethod
+    public void prepareForInstallation() throws Exception {
+        serverDetails = new ServerDetails("testserver", "127.0.0.1", 7080, 7443);
+        initLogDirectory();
+        recreateTestDatabase();
+    }
+
+    @AfterMethod
+    public void afterInstallation() throws Exception {
+        recreateTestDatabase();
+        ServerInstallUtil.createNewDatabaseSchema(getInstallProperties(), \
serverDetails, PASSWORD, logDir); +    }
+
+    @Test
+    public void overwriteJON240Schema() throws Exception {
+        installSchemaAndData("2.4.0");
+        ServerInstallUtil.createNewDatabaseSchema(getInstallProperties(), \
serverDetails, PASSWORD, logDir); +    }
+
+    @Test
+    public void upgradeJON240Schema() throws Exception {
+        installSchemaAndData("2.4.0");
+        ServerInstallUtil.upgradeExistingDatabaseSchema(getInstallProperties(), \
serverDetails, PASSWORD, logDir); +    }
+
+    @Test
+    public void overwriteJON300Schema() throws Exception {
+        installSchemaAndData("3.0.0");
+        ServerInstallUtil.createNewDatabaseSchema(getInstallProperties(), \
serverDetails, PASSWORD, logDir); +    }
+
+    @Test
+    public void upgradeJON300Schema() throws Exception {
+        installSchemaAndData("3.0.0");
+        ServerInstallUtil.upgradeExistingDatabaseSchema(getInstallProperties(), \
serverDetails, PASSWORD, logDir); +    }
+
+    @Test
+    public void upgradeRHQ420Schema() throws Exception {
+        installSchemaAndData("rhq-4.2.0");
+        ServerInstallUtil.upgradeExistingDatabaseSchema(getInstallProperties(), \
serverDetails, PASSWORD, logDir); +    }
+
+    @Test
+    public void upgradeRHQ430Schema() throws Exception {
+        installSchemaAndData("rhq-4.3.0");
+        ServerInstallUtil.upgradeExistingDatabaseSchema(getInstallProperties(), \
serverDetails, PASSWORD, logDir); +    }
+    
+    private void initLogDirectory() {
+        File logDirFile = new File(LOG_DIRECTORY);
+        if (logDirFile.exists()) {
+            logDirFile.delete();
+        }
+        logDirFile.mkdirs();
+        this.logDir = logDirFile.getAbsolutePath();
+    }
+
+    private void recreateTestDatabase() throws Exception {
+        DBReset dbReset = new DBReset();
+        dbReset.performDBReset(DB_TYPE_MAPPING, DB_URL, DB_NAME, USERNAME, \
ADMIN_USERNAME, ADMIN_PASSWORD); +    }
+
+    private void installSchemaAndData(String jonVersion) throws Exception {
+        DBSetup dbsetup = new DBSetup(DB_URL, USERNAME, PASSWORD);
+        File schemaFile = getSchemaFile(jonVersion);
+        dbsetup.setup(schemaFile.getAbsolutePath());
+        File dataFile = getDataFile(jonVersion);
+        dbsetup.setup(dataFile.getAbsolutePath());
+    }
+
+    private File getSchemaFile(String version) throws Exception {
+        URL url = getClass().getResource("db-schema-combined-" + version + ".xml");
+
+        if (url == null) {
+            throw new RuntimeException("Failed to find schema file for version " + \
version); +        }
+
+        File file = new File(url.toURI().getPath());
+        File filteredFile = filterXmlFile(file, getInstallProperties());
+
+        return filteredFile;
+    }
+
+    private File getDataFile(String version) throws Exception {
+        URL url = getClass().getResource("db-data-combined-" + version + ".xml");
+
+        if (url == null) {
+            throw new RuntimeException("Failed to find data file for version " + \
version); +        }
+
+        File file = new File(url.toURI().getPath());
+        File filteredFile = filterXmlFile(file, getInstallProperties());
+
+        return filteredFile;
+    }
+
+    private HashMap<String, String> getInstallProperties() {
+        HashMap<String, String> dbProperties = new HashMap<String, String>();
+        dbProperties.put(ServerProperties.PROP_DATABASE_CONNECTION_URL, DB_URL);
+        dbProperties.put(ServerProperties.PROP_DATABASE_USERNAME, USERNAME);
+        dbProperties.put(ServerProperties.PROP_DATABASE_PASSWORD, PASSWORD);
+        dbProperties.put(ServerProperties.PROP_EMAIL_FROM_ADDRESS, "rhqadmin at \
localhost.com"); +        return dbProperties;
+    }
+    
+    private static File filterXmlFile(File xmlFile, HashMap<String, String> props) \
throws IOException { +        // first slurp the file contents in memory
+        InputStream fileInStream = new FileInputStream(xmlFile);
+        ByteArrayOutputStream contentOutStream = new ByteArrayOutputStream();
+        StreamUtil.copy(fileInStream, contentOutStream);
+
+        // now replace their replacement strings with values from the properties
+        String content = contentOutStream.toString();
+        content = content.replaceAll("@@@LARGE_TABLESPACE_FOR_DATA@@@", "DEFAULT");
+        content = content.replaceAll("@@@LARGE_TABLESPACE_FOR_INDEX@@@", "DEFAULT");
+        content = content.replaceAll("@@@ADMINUSERNAME@@@", "rhqadmin");
+        content = content.replaceAll("@@@ADMINPASSWORD@@@", \
"x1XwrxKuPvYUILiOnOZTLg=="); // rhqadmin +        content = \
content.replaceAll("@@@ADMINEMAIL@@@", "rhqadmin at localhost"); +        content = \
content.replaceAll("@@@BASEURL@@@", "http://localhost:7080/"); +        content = \
content.replaceAll("@@@JAASPROVIDER@@@", "JDBC"); +        content = \
content.replaceAll("@@@LDAPURL@@@", "ldap://localhost/"); +        content = \
content.replaceAll("@@@LDAPPROTOCOL@@@", ""); +        content = \
content.replaceAll("@@@LDAPLOGINPROP@@@", "cn"); +        content = \
content.replaceAll("@@@LDAPBASEDN@@@", "o=JBoss,c=US"); +        content = \
content.replaceAll("@@@LDAPSEARCHFILTER@@@", ""); +        content = \
content.replaceAll("@@@LDAPBINDDN@@@", ""); +        content = \
content.replaceAll("@@@LDAPBINDPW@@@", ""); +        content = \
content.replaceAll("@@@MULTICAST_ADDR@@@", ""); +        content = \
content.replaceAll("@@@MULTICAST_PORT@@@", ""); +
+        // we now have the finished XML content - write out the file to the tmp \
directory +        File filteredXmlFile = File.createTempFile("rhq", \
xmlFile.getName()); +        FileOutputStream xmlFileOutStream = new \
FileOutputStream(filteredXmlFile); +        ByteArrayInputStream contentInStream = \
new ByteArrayInputStream(content.getBytes()); +        \
StreamUtil.copy(contentInStream, xmlFileOutStream); +
+        return filteredXmlFile.getAbsoluteFile();
+    }
+    
+}
diff --git a/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-2.4.0.xml \
b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-2.4.0.xml
 new file mode 100644
index 0000000..15978a6
--- /dev/null
+++ b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-2.4.0.xml
 @@ -0,0 +1,669 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dbsetup name="data.xml">
+<!-- BEGIN: rhq-data.xml -->
+<!-- BEGIN: auth-data.xml -->
+
+
+    <table name="RHQ_PRINCIPAL">
+        <data id="2" PRINCIPAL="rhqadmin" PASSWORD="x1XwrxKuPvYUILiOnOZTLg=="/>
+    </table>
+
+<!-- END: auth-data.xml -->
+<!-- BEGIN: authz-data.xml -->
+
+
+    <!-- the overlord user -->
+    <table name="RHQ_SUBJECT">
+        <data ID="1"
+              NAME="admin"
+              FIRST_NAME="Super"
+              LAST_NAME="User"
+              FSYSTEM="TRUE"/>
+    </table>
+
+    <!-- the initial rhqadmin user -->
+    <table name="RHQ_SUBJECT">
+        <data ID="2"
+              NAME="rhqadmin"
+              FIRST_NAME="RHQ"
+              LAST_NAME="Administrator"
+              EMAIL_ADDRESS="rhqadmin at localhost"
+              FSYSTEM="FALSE"/>
+    </table>
+
+    <!-- Define the system root role which includes our overlord and rhqadmin users \
--> +    <table name="RHQ_ROLE">
+        <data ID="1"
+              NAME="Super User Role"
+              FSYSTEM="TRUE"
+              DESCRIPTION="System superuser role that provides full access to \
everything. This role cannot be modified."/> +        <data ID="2"
+              NAME="All Resources Role"
+              FSYSTEM="FALSE"
+              DESCRIPTION="Provides full access to all resources in inventory. \
Cannot modify users, roles or server settings."/> +    </table>
+
+    <!-- associate the root users with all security permissions -->
+    <table name="RHQ_SUBJECT_ROLE_MAP">
+        <data SUBJECT_ID="1" ROLE_ID="1"/>
+        <!-- overlord user -->
+        <data SUBJECT_ID="2" ROLE_ID="1"/>
+        <!-- rhqadmin user -->
+    </table>
+
+    <table name="RHQ_PERMISSION">
+        <!-- give super-user-role all permissions (resource perms is mainly just to \
show on view-role page) --> +        <data ROLE_ID="1" OPERATION="0"/>        <!-- \
Permission.MANAGE_SECURITY --> +        <data ROLE_ID="1" OPERATION="1"/>        <!-- \
Permission.MANAGE_INVENTORY --> +        <data ROLE_ID="1" OPERATION="2"/>        \
<!-- Permission.MANAGE_SETTINGS --> +        <data ROLE_ID="1" OPERATION="12"/>       \
<!-- Permission.MANAGE_BUNDLE --> +        <!-- resource permissions start here-->
+        <data ROLE_ID="1" OPERATION="3"/>        <!-- Permission.VIEW_RESOURCE -->
+        <data ROLE_ID="1" OPERATION="4"/>        <!-- Permission.MODIFY_RESOURCE -->
+        <data ROLE_ID="1" OPERATION="5"/>        <!-- Permission.DELETE_RESOURCE -->
+        <data ROLE_ID="1" OPERATION="6"/>        <!-- \
Permission.CREATE_CHILD_RESOURCES --> +        <data ROLE_ID="1" OPERATION="7"/>      \
<!-- Permission.MANAGE_ALERTS --> +        <data ROLE_ID="1" OPERATION="8"/>        \
<!-- Permission.MANAGE_MEASUREMENTS --> +        <data ROLE_ID="1" OPERATION="9"/>    \
<!-- Permission.MANAGE_CONTENT --> +        <data ROLE_ID="1" OPERATION="10"/>       \
<!-- Permission.CONTROL --> +        <data ROLE_ID="1" OPERATION="11"/>       <!-- \
Permission.CONFIGURE --> +
+        <!-- give all-resources-role all permissions (resource perms is mainly just \
to show on view-role page) --> +        <data ROLE_ID="2" OPERATION="1"/>        <!-- \
Permission.MANAGE_INVENTORY --> +        <data ROLE_ID="2" OPERATION="12"/>       \
<!-- Permission.MANAGE_BUNDLE --> +        <!-- resource permissions start here-->
+        <data ROLE_ID="2" OPERATION="3"/>        <!-- Permission.VIEW_RESOURCE -->
+        <data ROLE_ID="2" OPERATION="4"/>        <!-- Permission.MODIFY_RESOURCE -->
+        <data ROLE_ID="2" OPERATION="5"/>        <!-- Permission.DELETE_RESOURCE -->
+        <data ROLE_ID="2" OPERATION="6"/>        <!-- \
Permission.CREATE_CHILD_RESOURCES --> +        <data ROLE_ID="2" OPERATION="7"/>      \
<!-- Permission.MANAGE_ALERTS --> +        <data ROLE_ID="2" OPERATION="8"/>        \
<!-- Permission.MANAGE_MEASUREMENTS --> +        <data ROLE_ID="2" OPERATION="9"/>    \
<!-- Permission.MANAGE_CONTENT --> +        <data ROLE_ID="2" OPERATION="10"/>       \
<!-- Permission.CONTROL --> +        <data ROLE_ID="2" OPERATION="11"/>       <!-- \
Permission.CONFIGURE --> +    </table>
+
+<!-- END: authz-data.xml -->
+<!-- BEGIN: search-data.xml -->
+
+
+    <!-- overlord-created, global, default saved searches -->
+    <table name="RHQ_SAVED_SEARCH">
+        <data ID="1" 
+              CONTEXT="RESOURCE" 
+              NAME="Downed Platforms" 
+              DESCRIPTION="All downed machines across the entire enterprise" 
+              PATTERN="availability=down category=platform" 
+              LAST_COMPUTE_TIME="0"
+              SUBJECT_ID="1"
+              GLOBAL="TRUE" />
+        <data ID="2" 
+              CONTEXT="RESOURCE" 
+              NAME="Downed Servers" 
+              DESCRIPTION="All downed servers across the entire enterprise" 
+              PATTERN="availability=down category=server" 
+              LAST_COMPUTE_TIME="0"
+              SUBJECT_ID="1"
+              GLOBAL="TRUE" />
+    </table>
+
+<!-- END: search-data.xml -->
+<!-- BEGIN: sysconfig-data.xml -->
+
+
+    <!--
+    This file contains the seed data for the configuration table.
+    All keys mentioned here should be referenced via the RHQConstants class
+    -->
+    <table name="RHQ_SYSTEM_CONFIG">
+        <data ID="1" PROPERTY_KEY="SERVER_VERSION" PROPERTY_VALUE="3.0.0.GA"
+              DEFAULT_PROPERTY_VALUE="3.0.0.GA" FREAD_ONLY="TRUE"/>
+        <data ID="2" PROPERTY_KEY="DB_SCHEMA_VERSION" PROPERTY_VALUE="2.91"
+              DEFAULT_PROPERTY_VALUE="2.91" FREAD_ONLY="TRUE"/>
+        <data ID="3" PROPERTY_KEY="CAM_JAAS_PROVIDER" PROPERTY_VALUE="JDBC"
+              DEFAULT_PROPERTY_VALUE="JDBC" FREAD_ONLY="FALSE"/>
+        <data ID="4" PROPERTY_KEY="CAM_BASE_URL" \
PROPERTY_VALUE="http://127.0.0.1:7080/" +              \
DEFAULT_PROPERTY_VALUE="http://127.0.0.1:7080/" FREAD_ONLY="FALSE"/> +        <data \
ID="9" PROPERTY_KEY="CAM_HELP_USER" PROPERTY_VALUE="web" +              \
DEFAULT_PROPERTY_VALUE="web" FREAD_ONLY="FALSE"/> +        <data ID="10" \
PROPERTY_KEY="CAM_HELP_PASSWORD" PROPERTY_VALUE="user" +              \
DEFAULT_PROPERTY_VALUE="user" FREAD_ONLY="FALSE"/> +
+        <!-- default LDAP configuration options -->
+        <data ID="11" PROPERTY_KEY="CAM_LDAP_NAMING_FACTORY_INITIAL"
+              PROPERTY_VALUE="com.sun.jndi.ldap.LdapCtxFactory"
+              DEFAULT_PROPERTY_VALUE="com.sun.jndi.ldap.LdapCtxFactory"
+              FREAD_ONLY="FALSE"/>
+        <data ID="12" PROPERTY_KEY="CAM_LDAP_NAMING_PROVIDER_URL"
+              PROPERTY_VALUE="ldap://localhost/"
+              DEFAULT_PROPERTY_VALUE="ldap://localhost/"
+              FREAD_ONLY="FALSE"/>
+        <data ID="13" PROPERTY_KEY="CAM_LDAP_LOGIN_PROPERTY"
+              PROPERTY_VALUE="cn"
+              DEFAULT_PROPERTY_VALUE="cn" FREAD_ONLY="FALSE"/>
+        <data ID="14" PROPERTY_KEY="CAM_LDAP_BASE_DN"
+              PROPERTY_VALUE="o=JBoss,c=US"
+              DEFAULT_PROPERTY_VALUE="o=JBoss,c=US"
+              FREAD_ONLY="FALSE"/>
+        <data ID="15" PROPERTY_KEY="CAM_LDAP_BIND_DN"
+              PROPERTY_VALUE=""
+              DEFAULT_PROPERTY_VALUE="" FREAD_ONLY="FALSE"/>
+        <data ID="16" PROPERTY_KEY="CAM_LDAP_BIND_PW"
+              PROPERTY_VALUE=""
+              DEFAULT_PROPERTY_VALUE="" FREAD_ONLY="FALSE"/>
+        <data ID="17" PROPERTY_KEY="CAM_LDAP_PROTOCOL"
+              PROPERTY_VALUE="" DEFAULT_PROPERTY_VALUE=""
+              FREAD_ONLY="FALSE"/>
+        <data ID="18" PROPERTY_KEY="CAM_LDAP_FILTER"
+              PROPERTY_VALUE="" DEFAULT_PROPERTY_VALUE=""
+              FREAD_ONLY="FALSE"/>
+
+        <!-- Does this build support Syslog actions? -->
+        <data ID="21" PROPERTY_KEY="CAM_SYSLOG_ACTIONS_ENABLED"
+              PROPERTY_VALUE="false" DEFAULT_PROPERTY_VALUE="false"
+              FREAD_ONLY="FALSE"/>
+        <data ID="23" PROPERTY_KEY="CAM_GUIDE_ENABLED"
+              PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+        <data ID="24" PROPERTY_KEY="CAM_RT_COLLECT_IP_ADDRS"
+              PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+
+        <!-- Default data storage options -->
+        <!-- Default 14 days -->
+        <data ID="26" PROPERTY_KEY="CAM_DATA_PURGE_1H"
+              PROPERTY_VALUE="1209600000" DEFAULT_PROPERTY_VALUE="1209600000"
+              FREAD_ONLY="FALSE"/>
+        <!-- Default 31 days -->
+        <data ID="27" PROPERTY_KEY="CAM_DATA_PURGE_6H"
+              PROPERTY_VALUE="2678400000" DEFAULT_PROPERTY_VALUE="2678400000"
+              FREAD_ONLY="FALSE"/>
+        <!-- Default 1 year -->
+        <data ID="28" PROPERTY_KEY="CAM_DATA_PURGE_1D"
+              PROPERTY_VALUE="31536000000" DEFAULT_PROPERTY_VALUE="31536000000"
+              FREAD_ONLY="FALSE"/>
+
+        <!-- Baseline options -->
+        <!-- How often to calculate, default 3 days; if 0, never calculate them \
automatically --> +        <data ID="29" PROPERTY_KEY="CAM_BASELINE_FREQUENCY"
+              PROPERTY_VALUE="259200000" DEFAULT_PROPERTY_VALUE="259200000"
+              FREAD_ONLY="FALSE"/>
+        <!-- How much data to include in the calulation, default 7 days -->
+        <data ID="30" PROPERTY_KEY="CAM_BASELINE_DATASET"
+              PROPERTY_VALUE="604800000" DEFAULT_PROPERTY_VALUE="604800000"
+              FREAD_ONLY="FALSE"/>
+
+        <!-- ID 31 has been deleted -->
+
+        <!-- How often to run database maintainence routines -->
+        <data ID="32" PROPERTY_KEY="CAM_DATA_MAINTENANCE"
+              PROPERTY_VALUE="3600000" DEFAULT_PROPERTY_VALUE="3600000" \
FREAD_ONLY="FALSE"/> +
+        <!-- How long to keep RT data around -->
+        <data ID="34" PROPERTY_KEY="RT_DATA_PURGE" PROPERTY_VALUE="2678400000"
+              DEFAULT_PROPERTY_VALUE="2678400000" FREAD_ONLY="FALSE"/>
+
+        <!-- Whether to reindex the data tables nightly -->
+        <data ID="35" PROPERTY_KEY="DATA_REINDEX_NIGHTLY" PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+
+        <!-- How long to keep alerts around -->
+        <data ID="36" PROPERTY_KEY="ALERT_PURGE" PROPERTY_VALUE="2678400000"
+              DEFAULT_PROPERTY_VALUE="2678400000" FREAD_ONLY="FALSE"/>
+
+        <!-- How long to keep events around (1209600000 millis == 14 days) -->
+        <data ID="51" PROPERTY_KEY="EVENT_PURGE" PROPERTY_VALUE="1209600000"
+              DEFAULT_PROPERTY_VALUE="1209600000" FREAD_ONLY="FALSE"/>
+
+        <!-- How long an agent is allowed to be quiet before we consider it down and \
backfill it --> +        <data ID="52" PROPERTY_KEY="AGENT_MAX_QUIET_TIME_ALLOWED" \
PROPERTY_VALUE="900000" +              DEFAULT_PROPERTY_VALUE="900000" \
FREAD_ONLY="FALSE"/> +
+        <!-- Will our server-cloud support agents auto-updating themselves? -->
+        <data ID="53" PROPERTY_KEY="ENABLE_AGENT_AUTO_UPDATE" PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+
+        <!-- How old does a trait have to be in order to get purged -->
+        <data ID="54" PROPERTY_KEY="TRAIT_PURGE" PROPERTY_VALUE="31536000000"
+              DEFAULT_PROPERTY_VALUE="31536000000" FREAD_ONLY="FALSE"/>
+
+        <!-- How old does availability have to be in order to get purged -->
+        <data ID="55" PROPERTY_KEY="AVAILABILITY_PURGE" PROPERTY_VALUE="31536000000"
+              DEFAULT_PROPERTY_VALUE="31536000000" FREAD_ONLY="FALSE"/>
+
+    </table>
+
+<!-- END: sysconfig-data.xml -->
+<!-- BEGIN: measurement-data.xml -->
+        
+    <table name="RHQ_NUMBERS">
+        <data i="0"/>
+        <data i="1"/>
+        <data i="2"/>
+        <data i="3"/>
+        <data i="4"/>
+        <data i="5"/>
+        <data i="6"/>
+        <data i="7"/>
+        <data i="8"/>
+        <data i="9"/>
+        <data i="10"/>
+        <data i="11"/>
+        <data i="12"/>
+        <data i="13"/>
+        <data i="14"/>
+        <data i="15"/>
+        <data i="16"/>
+        <data i="17"/>
+        <data i="18"/>
+        <data i="19"/>
+        <data i="20"/>
+        <data i="21"/>
+        <data i="22"/>
+        <data i="23"/>
+        <data i="24"/>
+        <data i="25"/>
+        <data i="26"/>
+        <data i="27"/>
+        <data i="28"/>
+        <data i="29"/>
+        <data i="30"/>
+        <data i="31"/>
+        <data i="32"/>
+        <data i="33"/>
+        <data i="34"/>
+        <data i="35"/>
+        <data i="36"/>
+        <data i="37"/>
+        <data i="38"/>
+        <data i="39"/>
+        <data i="40"/>
+        <data i="41"/>
+        <data i="42"/>
+        <data i="43"/>
+        <data i="44"/>
+        <data i="45"/>
+        <data i="46"/>
+        <data i="47"/>
+        <data i="48"/>
+        <data i="49"/>
+        <data i="50"/>
+        <data i="51"/>
+        <data i="52"/>
+        <data i="53"/>
+        <data i="54"/>
+        <data i="55"/>
+        <data i="56"/>
+        <data i="57"/>
+        <data i="58"/>
+        <data i="59"/>
+    </table>
+
+<!-- END: measurement-data.xml -->
+<!-- BEGIN: content-data.xml -->
+        
+    <table name="RHQ_ARCHITECTURE">
+        <data id="1" name="noarch"/>
+        <data id="2" name="i386"/>
+        <data id="3" name="i486"/>
+        <data id="4" name="i586"/>
+        <data id="5" name="i686"/>
+        <data id="6" name="alpha"/>
+        <data id="7" name="alphaev6"/>
+        <data id="8" name="ia64"/>
+        <data id="9" name="sparc"/>
+        <data id="10" name="sparcv9"/>
+        <data id="11" name="sparc64"/>
+        <data id="12" name="src"/>
+        <data id="13" name="s390"/>
+        <data id="14" name="athlon"/>
+        <data id="15" name="s390x"/>
+        <data id="16" name="ppc"/>
+        <data id="17" name="ppc64"/>
+        <data id="18" name="pSeries"/>
+        <data id="19" name="iSeries"/>
+        <data id="20" name="x86_64"/>
+        <data id="21" name="ppc64iseries"/>
+        <data id="22" name="ppc64pseries"/>
+        <data id="23" name="sparc-solaris"/>
+        <data id="24" name="sparc.sun4u-solaris"/>
+        <data id="25" name="tar"/>
+        <data id="26" name="ia32e"/>
+        <data id="27" name="amd64"/>
+        <data id="28" name="i386-solaris"/>
+        <data id="29" name="nosrc"/>
+        <data id="30" name="sparc-solaris-patch"/>
+        <data id="31" name="i386-solaris-patch"/>
+        <data id="32" name="sparc-solaris-patch-cluster"/>
+        <data id="33" name="i386-solaris-patch-cluster"/>
+        <data id="34" name="noarch-solaris"/>
+        <data id="35" name="noarch-solaris-patch"/>
+        <data id="36" name="noarch-solaris-patch-cluster"/>
+        <data id="37" name="solaris-patch"/>
+        <data id="38" name="solaris-patch-cluster"/>
+    </table>
+
+   <table name="RHQ_REPO_GROUP_TYPE">
+      <data id="1" name="family"/>
+   </table>
+
+   <table name="RHQ_REPO_RELATION_TYPE">
+      <data id="1" name="parent"/>
+      <data id="2" name="clone"/>
+   </table>
+
+   <table name="RHQ_DISTRIBUTION_TYPE">
+      <data id="1" name="kickstart" description="Linux kickstart distribution"/>
+      <data id="2" name="jumpstart" description="solaris jumpstart distribution"/>
+   </table>
+   
+<!-- END: content-data.xml -->
+<!-- BEGIN: jms-data.xml -->
+
+<!-- the schema matches that which would be automatically created by the JMS \
subsystem --> +<!-- see deploy/jms/rhq-jdbc-state-service.xml and \
rhq-jdbc2-service.xml --> +<!-- the data must match that which is expected in \
conf/login-config.xml  --> +
+
+    <table name="JMS_USERS">
+        <data USERID="guest" PASSWD="guest" />
+    </table>
+
+    <table name="JMS_ROLES">
+        <data ROLEID="guest" USERID="guest" />
+    </table>
+
+<!-- END: jms-data.xml -->
+<!-- END: rhq-data.xml -->
+<!-- BEGIN: jon-data.xml -->
+
+<!-- This dbsetup config file defines a content source and 
+     associated repo for the JBoss CSP RSS patch feed. -->
+
+
+   <!-- ********* metadata (the content source type and its config def) ********* \
--> +
+   <table name="RHQ_CONFIG_DEF">
+      <data ID="101"
+            NAME="JBoss CSP Patch Feed Content Source"/>
+   </table>
+
+   <table name="RHQ_CONFIG_PROP_DEF">
+      <data ID="101"
+            NAME="url"
+            DISPLAY_NAME="Feed URL"
+            DESCRIPTION="URL of the feed (e.g. \
https://support.redhat.com/jbossnetwork/restricted/feed/software.html?product=all&amp;downloadType=all&amp;flavor=rss&amp;version=&amp;jonVersion=2.0)."
 +            REQUIRED="1"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="0"
+            SIMPLE_TYPE="STRING"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="102"
+            NAME="username"
+            DISPLAY_NAME="Username"
+            DESCRIPTION="Username used to access the feed URL."
+            REQUIRED="1"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="1"
+            SIMPLE_TYPE="STRING"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="103"
+            NAME="password"
+            DISPLAY_NAME="Password"
+            DESCRIPTION="Password used to access the feed URL."
+            REQUIRED="1"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="2"
+            SIMPLE_TYPE="PASSWORD"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="104"
+            NAME="active"
+            DISPLAY_NAME="Active"
+            DESCRIPTION="Indicates if the feed should be checked for new patches."
+            REQUIRED="1"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="3"
+            SIMPLE_TYPE="BOOLEAN"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="105"
+            NAME="proxyUrl"
+            DISPLAY_NAME="Proxy URL"
+            REQUIRED="0"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="4"
+            SIMPLE_TYPE="STRING"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="106"
+            NAME="proxyPort"
+            DISPLAY_NAME="Proxy Port"
+            REQUIRED="0"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="5"
+            SIMPLE_TYPE="STRING"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="107"
+            NAME="proxyUsername"
+            DISPLAY_NAME="Proxy Username"
+            REQUIRED="0"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="6"
+            SIMPLE_TYPE="STRING"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="108"
+            NAME="proxyPassword"
+            DISPLAY_NAME="Proxy Password"
+            REQUIRED="0"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="7"
+            SIMPLE_TYPE="STRING"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+   </table>
+
+   <!-- NOTE: The values of the NAME, PLUGIN_NAME, and API_CLASS columns must match \
what is +              defined in \
RHQ/modules/enterprise/server/plugins/jboss-software/src/main/resources/META-INF/rhq-serverplugin.xml. \
--> +   <!-- default sync chedule: 1st of every month at 12am -->
+   <table name="RHQ_CONTENT_SOURCE_TYPE">
+      <data ID="101"
+            NAME="JBossASPatchSource"
+            DISPLAY_NAME="JBoss Patch Content Source"
+            DESCRIPTION="a content source that retrieves package metadata from an \
RSS feed; the feed must be in the format used by the JBoss CSP" +            \
PLUGIN_NAME="JBossASPatchContentSourcePlugin" +            DEFAULT_LAZY_LOAD="1"
+            DEFAULT_DOWNLOAD_MODE="DATABASE"
+            DEFAULT_SYNC_SCHEDULE="0 0 0 1 * ?"
+            API_CLASS="org.rhq.enterprise.server.plugins.jboss.software.JBossSoftwareContentSourceAdapter"
 +            SOURCE_CONFIG_DEF_ID="101"/>
+   </table>
+
+
+   <!-- the default template -->
+   <table name="RHQ_CONFIG">
+      <data ID="101"
+            VERSION="0"
+            CTIME="1270066600000"
+            MTIME="1270066600000"/>
+   </table>
+
+   <table name="RHQ_CONFIG_PROPERTY">
+      <data ID="101"
+            NAME="url"
+            CONFIGURATION_ID="101"
+            STRING_VALUE=""
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="102"
+            NAME="username"
+            CONFIGURATION_ID="101"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="103"
+            NAME="password"
+            CONFIGURATION_ID="101"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="104"
+            NAME="proxyUrl"
+            CONFIGURATION_ID="101"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="105"
+            NAME="proxyPort"
+            CONFIGURATION_ID="101"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="106"
+            NAME="active"
+            CONFIGURATION_ID="101"
+            STRING_VALUE="true"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="107"
+            NAME="proxyUsername"
+            CONFIGURATION_ID="101"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="108"
+            NAME="proxyPassword"
+            CONFIGURATION_ID="101"
+            OVERRIDE="0"
+            DTYPE="property"/>
+   </table>
+
+   <table name="RHQ_CONFIG_TEMPLATE">
+      <data ID="101"
+            NAME="default"
+            DESCRIPTION="the default initial values for the configuration of a \
JBossASPatchSource content source" +            CONFIG_ID="101"
+            CONFIG_DEF_ID="101"
+            IS_DEFAULT="1"/>
+   </table>
+
+
+   <!-- ********* data (the content source and its config) ********* -->
+
+   <table name="RHQ_CONFIG">
+      <data ID="102"
+            VERSION="0"
+            CTIME="1270066600000"
+            MTIME="1270066600000"/>
+   </table>
+
+   <table name="RHQ_CONFIG_PROPERTY">
+      <data ID="111"
+            NAME="url"
+            CONFIGURATION_ID="102"
+            STRING_VALUE="https://support.redhat.com/jbossnetwork/restricted/feed/sof \
tware.html?product=all&amp;downloadType=all&amp;flavor=rss&amp;version=&amp;jonVersion=2.0"
 +            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="112"
+            NAME="username"
+            CONFIGURATION_ID="102"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="113"
+            NAME="password"
+            CONFIGURATION_ID="102"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="114"
+            NAME="proxyUrl"
+            CONFIGURATION_ID="102"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="115"
+            NAME="proxyPort"
+            CONFIGURATION_ID="102"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="116"
+            NAME="active"
+            CONFIGURATION_ID="102"
+            STRING_VALUE="false"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="117"
+            NAME="proxyUsername"
+            CONFIGURATION_ID="102"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="118"
+            NAME="proxyPassword"
+            CONFIGURATION_ID="102"
+            OVERRIDE="0"
+            DTYPE="property"/>
+   </table>
+
+   <!-- sync chedule: 1st of every month at 12am -->
+   <table name="RHQ_CONTENT_SOURCE">
+      <data ID="101"
+            NAME="JBoss CSP Patch Feed"
+            DESCRIPTION="an RSS feed published by the JBoss Customer Service Portal \
(CSP) website which provides a list of all JBoss product patches available for the \
subscription of a given CSP user; the feed entries for most cumulative patches (CPs) \
include automated install instructions that can be used by JON to install those CPs \
to inventoried server Resources (e.g. JBoss EAP servers)" +            LAZY_LOAD="1"
+            DOWNLOAD_MODE="DATABASE"
+            SYNC_SCHEDULE="0 0 0 1 * ?"
+            CREATION_TIME="1270066600000"
+            LAST_MODIFIED_TIME="1270066600000"
+            CONTENT_SOURCE_TYPE_ID="101"
+            CONFIGURATION_ID="102"/>
+   </table>
+
+   <!-- sync chedule: every Mon at 1am -->
+   <table name="RHQ_REPO">
+      <data ID="101"
+            NAME="JBoss Patches"
+            DESCRIPTION="the patches obtained from the JBoss CSP patch feed"
+            SYNC_SCHEDULE="0 0 1 ? * 1"
+            CREATION_TIME="1270066600000"
+            LAST_MODIFIED_TIME="1270066600000"
+            IS_CANDIDATE="0"/>
+   </table>
+
+   <table name="RHQ_REPO_CONTENT_SRC_MAP">
+      <data REPO_ID="101"
+            CONTENT_SRC_ID="101"
+            CTIME="1270066600000"/>
+   </table>
+
+
+<!-- END: jon-data.xml -->
+</dbsetup>
diff --git a/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-3.0.0.xml \
b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-3.0.0.xml
 new file mode 100644
index 0000000..060f241
--- /dev/null
+++ b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-3.0.0.xml
 @@ -0,0 +1,690 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dbsetup name="data.xml">
+<!-- BEGIN: rhq-data.xml -->
+<!-- BEGIN: auth-data.xml -->
+
+
+    <table name="RHQ_PRINCIPAL">
+        <data id="2" PRINCIPAL="@@@ADMINUSERNAME@@@" \
PASSWORD="@@@ADMINPASSWORD@@@"/> +    </table>
+
+<!-- END: auth-data.xml -->
+<!-- BEGIN: authz-data.xml -->
+
+
+    <!-- the overlord user -->
+    <table name="RHQ_SUBJECT">
+        <data ID="1"
+              NAME="admin"
+              FIRST_NAME="Super"
+              LAST_NAME="User"
+              FSYSTEM="TRUE"/>
+    </table>
+
+    <!-- the initial rhqadmin user -->
+    <table name="RHQ_SUBJECT">
+        <data ID="2"
+              NAME="@@@ADMINUSERNAME@@@"
+              FIRST_NAME="RHQ"
+              LAST_NAME="Administrator"
+              EMAIL_ADDRESS="@@@ADMINEMAIL@@@"
+              FSYSTEM="FALSE"/>
+    </table>
+
+    <!-- Define the system root role which includes our overlord and rhqadmin users \
--> +    <table name="RHQ_ROLE">
+        <data ID="1"
+              NAME="Super User Role"
+              FSYSTEM="TRUE"
+              DESCRIPTION="System superuser role that provides full access to \
everything. This role cannot be modified."/> +        <data ID="2"
+              NAME="All Resources Role"
+              FSYSTEM="FALSE"
+              DESCRIPTION="Provides full access to all resources in inventory. \
Cannot modify users, roles or server settings."/> +    </table>
+
+    <!-- associate the root users with all security permissions -->
+    <table name="RHQ_SUBJECT_ROLE_MAP">
+        <!-- overlord user -->
+        <data SUBJECT_ID="1" ROLE_ID="1"/>
+        <!-- rhqadmin user -->
+        <data SUBJECT_ID="2" ROLE_ID="1"/>
+    </table>
+
+    <table name="RHQ_PERMISSION">
+        <!-- give super-user-role all permissions
+             (explicitly add resource perms, even though they are implied by \
MANAGE_INVENTORY) --> +        <data ROLE_ID="1" OPERATION="0"/>        <!-- \
Permission.MANAGE_SECURITY --> +        <data ROLE_ID="1" OPERATION="1"/>        <!-- \
Permission.MANAGE_INVENTORY --> +        <data ROLE_ID="1" OPERATION="2"/>        \
<!-- Permission.MANAGE_SETTINGS --> +        <data ROLE_ID="1" OPERATION="12"/>       \
<!-- Permission.MANAGE_BUNDLE --> +        <data ROLE_ID="1" OPERATION="15"/>       \
<!-- Permission.MANAGE_REPOSITORIES --> +        <!-- resource permissions start \
here--> +        <data ROLE_ID="1" OPERATION="3"/>        <!-- \
Permission.VIEW_RESOURCE --> +        <data ROLE_ID="1" OPERATION="4"/>        <!-- \
Permission.MODIFY_RESOURCE --> +        <data ROLE_ID="1" OPERATION="5"/>        <!-- \
Permission.DELETE_RESOURCE --> +        <data ROLE_ID="1" OPERATION="6"/>        <!-- \
Permission.CREATE_CHILD_RESOURCES --> +        <data ROLE_ID="1" OPERATION="7"/>      \
<!-- Permission.MANAGE_ALERTS --> +        <data ROLE_ID="1" OPERATION="8"/>        \
<!-- Permission.MANAGE_MEASUREMENTS --> +        <data ROLE_ID="1" OPERATION="9"/>    \
<!-- Permission.MANAGE_CONTENT --> +        <data ROLE_ID="1" OPERATION="10"/>       \
<!-- Permission.CONTROL --> +        <data ROLE_ID="1" OPERATION="11"/>       <!-- \
Permission.CONFIGURE_WRITE --> +        <data ROLE_ID="1" OPERATION="13"/>       <!-- \
Permission.CONFIGURE_READ --> +        <data ROLE_ID="1" OPERATION="14"/>       <!-- \
Permission.MANAGE_EVENTS --> +        <data ROLE_ID="1" OPERATION="16"/>       <!-- \
Permission.MANAGE_DRIFT --> +
+        <!-- give all-resources-role MANAGE_INVENTORY and MANAGE_BUNDLE permissions
+             (explicitly add resource perms as well, even though they are implied by \
MANAGE_INVENTORY) --> +        <data ROLE_ID="2" OPERATION="1"/>        <!-- \
Permission.MANAGE_INVENTORY --> +        <data ROLE_ID="2" OPERATION="12"/>       \
<!-- Permission.MANAGE_BUNDLE --> +        <!-- resource permissions start here-->
+        <data ROLE_ID="2" OPERATION="3"/>        <!-- Permission.VIEW_RESOURCE -->
+        <data ROLE_ID="2" OPERATION="4"/>        <!-- Permission.MODIFY_RESOURCE -->
+        <data ROLE_ID="2" OPERATION="5"/>        <!-- Permission.DELETE_RESOURCE -->
+        <data ROLE_ID="2" OPERATION="6"/>        <!-- \
Permission.CREATE_CHILD_RESOURCES --> +        <data ROLE_ID="2" OPERATION="7"/>      \
<!-- Permission.MANAGE_ALERTS --> +        <data ROLE_ID="2" OPERATION="8"/>        \
<!-- Permission.MANAGE_MEASUREMENTS --> +        <data ROLE_ID="2" OPERATION="9"/>    \
<!-- Permission.MANAGE_CONTENT --> +        <data ROLE_ID="2" OPERATION="10"/>       \
<!-- Permission.CONTROL --> +        <data ROLE_ID="2" OPERATION="11"/>       <!-- \
Permission.CONFIGURE_WRITE --> +        <data ROLE_ID="2" OPERATION="13"/>       <!-- \
Permission.CONFIGURE_READ --> +        <data ROLE_ID="2" OPERATION="14"/>       <!-- \
Permission.MANAGE_EVENTS --> +        <data ROLE_ID="2" OPERATION="16"/>       <!-- \
Permission.MANAGE_DRIFT --> +    </table>
+
+<!-- END: authz-data.xml -->
+<!-- BEGIN: search-data.xml -->
+
+
+    <!-- overlord-created, global, default saved searches -->
+    <table name="RHQ_SAVED_SEARCH">
+        <data ID="1" 
+              CONTEXT="RESOURCE" 
+              NAME="Downed Platforms" 
+              DESCRIPTION="All downed machines across the entire enterprise" 
+              PATTERN="availability=down category=platform" 
+              LAST_COMPUTE_TIME="0"
+              SUBJECT_ID="1"
+              GLOBAL="TRUE" />
+        <data ID="2" 
+              CONTEXT="RESOURCE" 
+              NAME="Downed Servers" 
+              DESCRIPTION="All downed servers across the entire enterprise" 
+              PATTERN="availability=down category=server" 
+              LAST_COMPUTE_TIME="0"
+              SUBJECT_ID="1"
+              GLOBAL="TRUE" />
+    </table>
+
+<!-- END: search-data.xml -->
+<!-- BEGIN: sysconfig-data.xml -->
+
+
+    <!--
+    This file contains the seed data for the configuration table.
+    All keys mentioned here should be referenced via the RHQConstants class
+    -->
+    <table name="RHQ_SYSTEM_CONFIG">
+        <data ID="1" PROPERTY_KEY="SERVER_VERSION" PROPERTY_VALUE="4.2.0.JON300.GA"
+              DEFAULT_PROPERTY_VALUE="4.2.0.JON300.GA" FREAD_ONLY="TRUE"/>
+        <data ID="2" PROPERTY_KEY="DB_SCHEMA_VERSION" PROPERTY_VALUE="2.116"
+              DEFAULT_PROPERTY_VALUE="2.116" FREAD_ONLY="TRUE"/>
+        <data ID="3" PROPERTY_KEY="CAM_JAAS_PROVIDER" \
PROPERTY_VALUE="@@@JAASPROVIDER@@@" +              DEFAULT_PROPERTY_VALUE="JDBC" \
FREAD_ONLY="FALSE"/> +        <data ID="4" PROPERTY_KEY="CAM_BASE_URL" \
PROPERTY_VALUE="@@@BASEURL@@@" +              DEFAULT_PROPERTY_VALUE="@@@BASEURL@@@" \
FREAD_ONLY="FALSE"/> +        <data ID="9" PROPERTY_KEY="CAM_HELP_USER" \
PROPERTY_VALUE="web" +              DEFAULT_PROPERTY_VALUE="web" FREAD_ONLY="FALSE"/>
+        <data ID="10" PROPERTY_KEY="CAM_HELP_PASSWORD" PROPERTY_VALUE="user"
+              DEFAULT_PROPERTY_VALUE="user" FREAD_ONLY="FALSE"/>
+
+        <!-- default LDAP configuration options -->
+        <data ID="11" PROPERTY_KEY="CAM_LDAP_NAMING_FACTORY_INITIAL"
+              PROPERTY_VALUE="com.sun.jndi.ldap.LdapCtxFactory"
+              DEFAULT_PROPERTY_VALUE="com.sun.jndi.ldap.LdapCtxFactory"
+              FREAD_ONLY="FALSE"/>
+        <data ID="12" PROPERTY_KEY="CAM_LDAP_NAMING_PROVIDER_URL"
+              PROPERTY_VALUE="@@@LDAPURL@@@"
+              DEFAULT_PROPERTY_VALUE="ldap://localhost/"
+              FREAD_ONLY="FALSE"/>
+        <data ID="13" PROPERTY_KEY="CAM_LDAP_LOGIN_PROPERTY"
+              PROPERTY_VALUE="@@@LDAPLOGINPROP@@@"
+              DEFAULT_PROPERTY_VALUE="cn" FREAD_ONLY="FALSE"/>
+        <data ID="14" PROPERTY_KEY="CAM_LDAP_BASE_DN"
+              PROPERTY_VALUE="@@@LDAPBASEDN@@@"
+              DEFAULT_PROPERTY_VALUE="o=JBoss,c=US"
+              FREAD_ONLY="FALSE"/>
+        <data ID="15" PROPERTY_KEY="CAM_LDAP_BIND_DN"
+              PROPERTY_VALUE="@@@LDAPBINDDN@@@"
+              DEFAULT_PROPERTY_VALUE="" FREAD_ONLY="FALSE"/>
+        <data ID="16" PROPERTY_KEY="CAM_LDAP_BIND_PW"
+              PROPERTY_VALUE="@@@LDAPBINDPW@@@"
+              DEFAULT_PROPERTY_VALUE="" FREAD_ONLY="FALSE"/>
+        <data ID="17" PROPERTY_KEY="CAM_LDAP_PROTOCOL"
+              PROPERTY_VALUE="@@@LDAPPROTOCOL@@@" DEFAULT_PROPERTY_VALUE=""
+              FREAD_ONLY="FALSE"/>
+        <data ID="18" PROPERTY_KEY="CAM_LDAP_FILTER"
+              PROPERTY_VALUE="@@@LDAPSEARCHFILTER@@@" DEFAULT_PROPERTY_VALUE=""
+              FREAD_ONLY="FALSE"/>
+
+        <!-- Does this build support Syslog actions? -->
+        <data ID="21" PROPERTY_KEY="CAM_SYSLOG_ACTIONS_ENABLED"
+              PROPERTY_VALUE="false" DEFAULT_PROPERTY_VALUE="false"
+              FREAD_ONLY="FALSE"/>
+        <data ID="23" PROPERTY_KEY="CAM_GUIDE_ENABLED"
+              PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+        <data ID="24" PROPERTY_KEY="CAM_RT_COLLECT_IP_ADDRS"
+              PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+
+        <!-- Default data storage options -->
+        <!-- Default 14 days -->
+        <data ID="26" PROPERTY_KEY="CAM_DATA_PURGE_1H"
+              PROPERTY_VALUE="1209600000" DEFAULT_PROPERTY_VALUE="1209600000"
+              FREAD_ONLY="FALSE"/>
+        <!-- Default 31 days -->
+        <data ID="27" PROPERTY_KEY="CAM_DATA_PURGE_6H"
+              PROPERTY_VALUE="2678400000" DEFAULT_PROPERTY_VALUE="2678400000"
+              FREAD_ONLY="FALSE"/>
+        <!-- Default 1 year -->
+        <data ID="28" PROPERTY_KEY="CAM_DATA_PURGE_1D"
+              PROPERTY_VALUE="31536000000" DEFAULT_PROPERTY_VALUE="31536000000"
+              FREAD_ONLY="FALSE"/>
+
+        <!-- Baseline options -->
+        <!-- How often to calculate, default 3 days; if 0, never calculate them \
automatically --> +        <data ID="29" PROPERTY_KEY="CAM_BASELINE_FREQUENCY"
+              PROPERTY_VALUE="259200000" DEFAULT_PROPERTY_VALUE="259200000"
+              FREAD_ONLY="FALSE"/>
+        <!-- How much data to include in the calulation, default 7 days -->
+        <data ID="30" PROPERTY_KEY="CAM_BASELINE_DATASET"
+              PROPERTY_VALUE="604800000" DEFAULT_PROPERTY_VALUE="604800000"
+              FREAD_ONLY="FALSE"/>
+
+        <!-- ID 31 has been deleted -->
+
+        <!-- How often to run database maintainence routines -->
+        <data ID="32" PROPERTY_KEY="CAM_DATA_MAINTENANCE"
+              PROPERTY_VALUE="3600000" DEFAULT_PROPERTY_VALUE="3600000" \
FREAD_ONLY="FALSE"/> +
+        <!-- How long to keep RT data around -->
+        <data ID="34" PROPERTY_KEY="RT_DATA_PURGE" PROPERTY_VALUE="2678400000"
+              DEFAULT_PROPERTY_VALUE="2678400000" FREAD_ONLY="FALSE"/>
+
+        <!-- Whether to reindex the data tables nightly -->
+        <data ID="35" PROPERTY_KEY="DATA_REINDEX_NIGHTLY" PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+
+        <!-- How long to keep alerts around -->
+        <data ID="36" PROPERTY_KEY="ALERT_PURGE" PROPERTY_VALUE="2678400000"
+              DEFAULT_PROPERTY_VALUE="2678400000" FREAD_ONLY="FALSE"/>
+
+        <!-- How long to keep events around (1209600000 millis == 14 days) -->
+        <data ID="51" PROPERTY_KEY="EVENT_PURGE" PROPERTY_VALUE="1209600000"
+              DEFAULT_PROPERTY_VALUE="1209600000" FREAD_ONLY="FALSE"/>
+
+        <!-- How long an agent is allowed to be quiet before we consider it down and \
backfill it --> +        <data ID="52" PROPERTY_KEY="AGENT_MAX_QUIET_TIME_ALLOWED" \
PROPERTY_VALUE="900000" +              DEFAULT_PROPERTY_VALUE="900000" \
FREAD_ONLY="FALSE"/> +
+        <!-- Will our server-cloud support agents auto-updating themselves? -->
+        <data ID="53" PROPERTY_KEY="ENABLE_AGENT_AUTO_UPDATE" PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+
+        <!-- How old does a trait have to be in order to get purged -->
+        <data ID="54" PROPERTY_KEY="TRAIT_PURGE" PROPERTY_VALUE="31536000000"
+              DEFAULT_PROPERTY_VALUE="31536000000" FREAD_ONLY="FALSE"/>
+
+        <!-- How old does availability have to be in order to get purged -->
+        <data ID="55" PROPERTY_KEY="AVAILABILITY_PURGE" PROPERTY_VALUE="31536000000"
+              DEFAULT_PROPERTY_VALUE="31536000000" FREAD_ONLY="FALSE"/>
+              
+        <data ID="56" PROPERTY_KEY="RESOURCE_GENERIC_PROPERTIES_UPGRADE" \
PROPERTY_VALUE="false" +              DEFAULT_PROPERTY_VALUE="false" \
FREAD_ONLY="FALSE"/> +
+        <!-- default drift server plugin settings -->
+        <data ID="57" PROPERTY_KEY="ACTIVE_DRIFT_PLUGIN" PROPERTY_VALUE="drift-jpa"
+              DEFAULT_PROPERTY_VALUE="drift-jpa" FREAD_ONLY="FALSE"/>
+
+        <!-- purge drift files older than 31 days by default -->
+        <data ID="58" PROPERTY_KEY="DRIFT_FILE_PURGE" PROPERTY_VALUE="2678400000"
+              DEFAULT_PROPERTY_VALUE="2678400000" FREAD_ONLY="FALSE"/>
+
+    </table>
+
+<!-- END: sysconfig-data.xml -->
+<!-- BEGIN: measurement-data.xml -->
+        
+    <table name="RHQ_NUMBERS">
+        <data i="0"/>
+        <data i="1"/>
+        <data i="2"/>
+        <data i="3"/>
+        <data i="4"/>
+        <data i="5"/>
+        <data i="6"/>
+        <data i="7"/>
+        <data i="8"/>
+        <data i="9"/>
+        <data i="10"/>
+        <data i="11"/>
+        <data i="12"/>
+        <data i="13"/>
+        <data i="14"/>
+        <data i="15"/>
+        <data i="16"/>
+        <data i="17"/>
+        <data i="18"/>
+        <data i="19"/>
+        <data i="20"/>
+        <data i="21"/>
+        <data i="22"/>
+        <data i="23"/>
+        <data i="24"/>
+        <data i="25"/>
+        <data i="26"/>
+        <data i="27"/>
+        <data i="28"/>
+        <data i="29"/>
+        <data i="30"/>
+        <data i="31"/>
+        <data i="32"/>
+        <data i="33"/>
+        <data i="34"/>
+        <data i="35"/>
+        <data i="36"/>
+        <data i="37"/>
+        <data i="38"/>
+        <data i="39"/>
+        <data i="40"/>
+        <data i="41"/>
+        <data i="42"/>
+        <data i="43"/>
+        <data i="44"/>
+        <data i="45"/>
+        <data i="46"/>
+        <data i="47"/>
+        <data i="48"/>
+        <data i="49"/>
+        <data i="50"/>
+        <data i="51"/>
+        <data i="52"/>
+        <data i="53"/>
+        <data i="54"/>
+        <data i="55"/>
+        <data i="56"/>
+        <data i="57"/>
+        <data i="58"/>
+        <data i="59"/>
+    </table>
+
+<!-- END: measurement-data.xml -->
+<!-- BEGIN: content-data.xml -->
+        
+    <table name="RHQ_ARCHITECTURE">
+        <data id="1" name="noarch"/>
+        <data id="2" name="i386"/>
+        <data id="3" name="i486"/>
+        <data id="4" name="i586"/>
+        <data id="5" name="i686"/>
+        <data id="6" name="alpha"/>
+        <data id="7" name="alphaev6"/>
+        <data id="8" name="ia64"/>
+        <data id="9" name="sparc"/>
+        <data id="10" name="sparcv9"/>
+        <data id="11" name="sparc64"/>
+        <data id="12" name="src"/>
+        <data id="13" name="s390"/>
+        <data id="14" name="athlon"/>
+        <data id="15" name="s390x"/>
+        <data id="16" name="ppc"/>
+        <data id="17" name="ppc64"/>
+        <data id="18" name="pSeries"/>
+        <data id="19" name="iSeries"/>
+        <data id="20" name="x86_64"/>
+        <data id="21" name="ppc64iseries"/>
+        <data id="22" name="ppc64pseries"/>
+        <data id="23" name="sparc-solaris"/>
+        <data id="24" name="sparc.sun4u-solaris"/>
+        <data id="25" name="tar"/>
+        <data id="26" name="ia32e"/>
+        <data id="27" name="amd64"/>
+        <data id="28" name="i386-solaris"/>
+        <data id="29" name="nosrc"/>
+        <data id="30" name="sparc-solaris-patch"/>
+        <data id="31" name="i386-solaris-patch"/>
+        <data id="32" name="sparc-solaris-patch-cluster"/>
+        <data id="33" name="i386-solaris-patch-cluster"/>
+        <data id="34" name="noarch-solaris"/>
+        <data id="35" name="noarch-solaris-patch"/>
+        <data id="36" name="noarch-solaris-patch-cluster"/>
+        <data id="37" name="solaris-patch"/>
+        <data id="38" name="solaris-patch-cluster"/>
+    </table>
+
+   <table name="RHQ_REPO_GROUP_TYPE">
+      <data id="1" name="family"/>
+   </table>
+
+   <table name="RHQ_REPO_RELATION_TYPE">
+      <data id="1" name="parent"/>
+      <data id="2" name="clone"/>
+   </table>
+
+   <table name="RHQ_DISTRIBUTION_TYPE">
+      <data id="1" name="kickstart" description="Linux kickstart distribution"/>
+      <data id="2" name="jumpstart" description="solaris jumpstart distribution"/>
+   </table>
+   
+<!-- END: content-data.xml -->
+<!-- BEGIN: jms-data.xml -->
+
+<!-- the schema matches that which would be automatically created by the JMS \
subsystem --> +<!-- see deploy/jms/rhq-jdbc-state-service.xml and \
rhq-jdbc2-service.xml --> +<!-- the data must match that which is expected in \
conf/login-config.xml  --> +
+
+    <table name="JMS_USERS">
+        <data USERID="guest" PASSWD="guest" />
+    </table>
+
+    <table name="JMS_ROLES">
+        <data ROLEID="guest" USERID="guest" />
+    </table>
+
+<!-- END: jms-data.xml -->
+<!-- END: rhq-data.xml -->
+<!-- BEGIN: jon-data.xml -->
+
+<!-- This dbsetup config file defines a content source and 
+     associated repo for the JBoss CP RSS patch feed. -->
+
+
+   <!-- ********* metadata (the content source type and its config def) ********* \
--> +
+   <table name="RHQ_CONFIG_DEF">
+      <data ID="101"
+            NAME="JBoss CP Patch Feed Content Source"/>
+   </table>
+
+   <table name="RHQ_CONFIG_PROP_DEF">
+      <data ID="101"
+            NAME="url"
+            DISPLAY_NAME="Feed URL"
+            DESCRIPTION="URL of the feed (e.g. \
https://access.redhat.com/jbossnetwork/restricted/feed/software.html?product=all&amp;downloadType=all&amp;flavor=rss&amp;version=&amp;jonVersion=2.0)."
 +            REQUIRED="1"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="0"
+            SIMPLE_TYPE="STRING"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="102"
+            NAME="username"
+            DISPLAY_NAME="Username"
+            DESCRIPTION="Username used to access the feed URL."
+            REQUIRED="1"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="1"
+            SIMPLE_TYPE="STRING"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="103"
+            NAME="password"
+            DISPLAY_NAME="Password"
+            DESCRIPTION="Password used to access the feed URL."
+            REQUIRED="1"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="2"
+            SIMPLE_TYPE="PASSWORD"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="104"
+            NAME="active"
+            DISPLAY_NAME="Active"
+            DESCRIPTION="Indicates if the feed should be checked for new patches."
+            REQUIRED="1"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="3"
+            SIMPLE_TYPE="BOOLEAN"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="105"
+            NAME="proxyUrl"
+            DISPLAY_NAME="Proxy URL"
+            REQUIRED="0"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="4"
+            SIMPLE_TYPE="STRING"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="106"
+            NAME="proxyPort"
+            DISPLAY_NAME="Proxy Port"
+            REQUIRED="0"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="5"
+            SIMPLE_TYPE="STRING"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="107"
+            NAME="proxyUsername"
+            DISPLAY_NAME="Proxy Username"
+            REQUIRED="0"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="6"
+            SIMPLE_TYPE="STRING"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+      <data ID="108"
+            NAME="proxyPassword"
+            DISPLAY_NAME="Proxy Password"
+            REQUIRED="0"
+            READONLY="0"
+            SUMMARY="0"
+            ACTIVATION_POLICY="IMMEDIATE"
+            ORDER_INDEX="7"
+            SIMPLE_TYPE="STRING"
+            ALLOW_CUSTOM_ENUM_VALUE="0"
+            DTYPE="property"
+            CONFIG_DEF_ID="101"
+            UNITS="0"/>
+   </table>
+
+   <!-- NOTE: The values of the NAME, PLUGIN_NAME, and API_CLASS columns must match \
what is +              defined in \
RHQ/modules/enterprise/server/plugins/jboss-software/src/main/resources/META-INF/rhq-serverplugin.xml. \
--> +   <!-- default sync chedule: 1st of every month at 12am -->
+   <table name="RHQ_CONTENT_SOURCE_TYPE">
+      <data ID="101"
+            NAME="JBossASPatchSource"
+            DISPLAY_NAME="JBoss Patch Content Source"
+            DESCRIPTION="a content source that retrieves package metadata from an \
RSS feed; the feed must be in the format used by the JBoss CP" +            \
PLUGIN_NAME="JBossASPatchContentSourcePlugin" +            DEFAULT_LAZY_LOAD="1"
+            DEFAULT_DOWNLOAD_MODE="DATABASE"
+            DEFAULT_SYNC_SCHEDULE="0 0 0 1 * ?"
+            API_CLASS="org.rhq.enterprise.server.plugins.jboss.software.JBossSoftwareContentSourceAdapter"
 +            SOURCE_CONFIG_DEF_ID="101"/>
+   </table>
+
+
+   <!-- the default template -->
+   <table name="RHQ_CONFIG">
+      <data ID="101"
+            VERSION="0"
+            CTIME="1270066600000"
+            MTIME="1270066600000"/>
+   </table>
+
+   <table name="RHQ_CONFIG_PROPERTY">
+      <data ID="101"
+            NAME="url"
+            CONFIGURATION_ID="101"
+            STRING_VALUE=""
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="102"
+            NAME="username"
+            CONFIGURATION_ID="101"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="103"
+            NAME="password"
+            CONFIGURATION_ID="101"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="104"
+            NAME="proxyUrl"
+            CONFIGURATION_ID="101"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="105"
+            NAME="proxyPort"
+            CONFIGURATION_ID="101"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="106"
+            NAME="active"
+            CONFIGURATION_ID="101"
+            STRING_VALUE="true"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="107"
+            NAME="proxyUsername"
+            CONFIGURATION_ID="101"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="108"
+            NAME="proxyPassword"
+            CONFIGURATION_ID="101"
+            OVERRIDE="0"
+            DTYPE="property"/>
+   </table>
+
+   <table name="RHQ_CONFIG_TEMPLATE">
+      <data ID="101"
+            NAME="default"
+            DESCRIPTION="the default initial values for the configuration of a \
JBossASPatchSource content source" +            CONFIG_ID="101"
+            CONFIG_DEF_ID="101"
+            IS_DEFAULT="1"/>
+   </table>
+
+
+   <!-- ********* data (the content source and its config) ********* -->
+
+   <table name="RHQ_CONFIG">
+      <data ID="102"
+            VERSION="0"
+            CTIME="1270066600000"
+            MTIME="1270066600000"/>
+   </table>
+
+   <table name="RHQ_CONFIG_PROPERTY">
+      <data ID="111"
+            NAME="url"
+            CONFIGURATION_ID="102"
+            STRING_VALUE="https://access.redhat.com/jbossnetwork/restricted/feed/soft \
ware.html?product=all&amp;downloadType=all&amp;flavor=rss&amp;version=&amp;jonVersion=2.0"
 +            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="112"
+            NAME="username"
+            CONFIGURATION_ID="102"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="113"
+            NAME="password"
+            CONFIGURATION_ID="102"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="114"
+            NAME="proxyUrl"
+            CONFIGURATION_ID="102"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="115"
+            NAME="proxyPort"
+            CONFIGURATION_ID="102"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="116"
+            NAME="active"
+            CONFIGURATION_ID="102"
+            STRING_VALUE="false"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="117"
+            NAME="proxyUsername"
+            CONFIGURATION_ID="102"
+            OVERRIDE="0"
+            DTYPE="property"/>
+      <data ID="118"
+            NAME="proxyPassword"
+            CONFIGURATION_ID="102"
+            OVERRIDE="0"
+            DTYPE="property"/>
+   </table>
+
+   <!-- sync chedule: 1st of every month at 12am -->
+   <table name="RHQ_CONTENT_SOURCE">
+      <data ID="101"
+            NAME="JBoss CP Patch Feed"
+            DESCRIPTION="an RSS feed published by the JBoss Customer Portal (CP) \
website which provides a list of all JBoss product patches available for the \
subscription of a given CP user; the feed entries for most cumulative patches (CPs) \
include automated install instructions that can be used by JON to install those CPs \
to inventoried server Resources (e.g. JBoss EAP servers)" +            LAZY_LOAD="1"
+            DOWNLOAD_MODE="DATABASE"
+            SYNC_SCHEDULE="0 0 0 1 * ?"
+            CREATION_TIME="1270066600000"
+            LAST_MODIFIED_TIME="1270066600000"
+            CONTENT_SOURCE_TYPE_ID="101"
+            CONFIGURATION_ID="102"/>
+   </table>
+
+   <!-- sync chedule: every Mon at 1am -->
+   <table name="RHQ_REPO">
+      <data ID="101"
+            NAME="JBoss Patches"
+            DESCRIPTION="the patches obtained from the JBoss CP patch feed"
+            SYNC_SCHEDULE="0 0 1 ? * 1"
+            CREATION_TIME="1270066600000"
+            LAST_MODIFIED_TIME="1270066600000"
+            IS_PRIVATE="0"
+            IS_CANDIDATE="0"/>
+   </table>
+
+   <table name="RHQ_REPO_CONTENT_SRC_MAP">
+      <data REPO_ID="101"
+            CONTENT_SRC_ID="101"
+            CTIME="1270066600000"/>
+   </table>
+
+
+<!-- END: jon-data.xml -->
+</dbsetup>
diff --git a/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-rhq-4.2.0.xml \
b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-rhq-4.2.0.xml
 new file mode 100644
index 0000000..7e5c38b
--- /dev/null
+++ b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-rhq-4.2.0.xml
 @@ -0,0 +1,396 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dbsetup name="data.xml">
+<!-- BEGIN: auth-data.xml -->
+
+
+    <table name="RHQ_PRINCIPAL">
+        <data id="2" PRINCIPAL="rhqadmin" PASSWORD="x1XwrxKuPvYUILiOnOZTLg=="/>
+    </table>
+
+<!-- END: auth-data.xml -->
+<!-- BEGIN: authz-data.xml -->
+
+
+    <!-- the overlord user -->
+    <table name="RHQ_SUBJECT">
+        <data ID="1"
+              NAME="admin"
+              FIRST_NAME="Super"
+              LAST_NAME="User"
+              FSYSTEM="TRUE"/>
+    </table>
+
+    <!-- the initial rhqadmin user -->
+    <table name="RHQ_SUBJECT">
+        <data ID="2"
+              NAME="rhqadmin"
+              FIRST_NAME="RHQ"
+              LAST_NAME="Administrator"
+              EMAIL_ADDRESS="rhqadmin at localhost"
+              FSYSTEM="FALSE"/>
+    </table>
+
+    <!-- Define the system root role which includes our overlord and rhqadmin users \
--> +    <table name="RHQ_ROLE">
+        <data ID="1"
+              NAME="Super User Role"
+              FSYSTEM="TRUE"
+              DESCRIPTION="System superuser role that provides full access to \
everything. This role cannot be modified."/> +        <data ID="2"
+              NAME="All Resources Role"
+              FSYSTEM="FALSE"
+              DESCRIPTION="Provides full access to all resources in inventory. \
Cannot modify users, roles or server settings."/> +    </table>
+
+    <!-- associate the root users with all security permissions -->
+    <table name="RHQ_SUBJECT_ROLE_MAP">
+        <!-- overlord user -->
+        <data SUBJECT_ID="1" ROLE_ID="1"/>
+        <!-- rhqadmin user -->
+        <data SUBJECT_ID="2" ROLE_ID="1"/>
+    </table>
+
+    <table name="RHQ_PERMISSION">
+        <!-- give super-user-role all permissions
+             (explicitly add resource perms, even though they are implied by \
MANAGE_INVENTORY) --> +        <data ROLE_ID="1" OPERATION="0"/>        <!-- \
Permission.MANAGE_SECURITY --> +        <data ROLE_ID="1" OPERATION="1"/>        <!-- \
Permission.MANAGE_INVENTORY --> +        <data ROLE_ID="1" OPERATION="2"/>        \
<!-- Permission.MANAGE_SETTINGS --> +        <data ROLE_ID="1" OPERATION="12"/>       \
<!-- Permission.MANAGE_BUNDLE --> +        <data ROLE_ID="1" OPERATION="15"/>       \
<!-- Permission.MANAGE_REPOSITORIES --> +        <!-- resource permissions start \
here--> +        <data ROLE_ID="1" OPERATION="3"/>        <!-- \
Permission.VIEW_RESOURCE --> +        <data ROLE_ID="1" OPERATION="4"/>        <!-- \
Permission.MODIFY_RESOURCE --> +        <data ROLE_ID="1" OPERATION="5"/>        <!-- \
Permission.DELETE_RESOURCE --> +        <data ROLE_ID="1" OPERATION="6"/>        <!-- \
Permission.CREATE_CHILD_RESOURCES --> +        <data ROLE_ID="1" OPERATION="7"/>      \
<!-- Permission.MANAGE_ALERTS --> +        <data ROLE_ID="1" OPERATION="8"/>        \
<!-- Permission.MANAGE_MEASUREMENTS --> +        <data ROLE_ID="1" OPERATION="9"/>    \
<!-- Permission.MANAGE_CONTENT --> +        <data ROLE_ID="1" OPERATION="10"/>       \
<!-- Permission.CONTROL --> +        <data ROLE_ID="1" OPERATION="11"/>       <!-- \
Permission.CONFIGURE_WRITE --> +        <data ROLE_ID="1" OPERATION="13"/>       <!-- \
Permission.CONFIGURE_READ --> +        <data ROLE_ID="1" OPERATION="14"/>       <!-- \
Permission.MANAGE_EVENTS --> +        <data ROLE_ID="1" OPERATION="16"/>       <!-- \
Permission.MANAGE_DRIFT --> +
+        <!-- give all-resources-role MANAGE_INVENTORY and MANAGE_BUNDLE permissions
+             (explicitly add resource perms as well, even though they are implied by \
MANAGE_INVENTORY) --> +        <data ROLE_ID="2" OPERATION="1"/>        <!-- \
Permission.MANAGE_INVENTORY --> +        <data ROLE_ID="2" OPERATION="12"/>       \
<!-- Permission.MANAGE_BUNDLE --> +        <!-- resource permissions start here-->
+        <data ROLE_ID="2" OPERATION="3"/>        <!-- Permission.VIEW_RESOURCE -->
+        <data ROLE_ID="2" OPERATION="4"/>        <!-- Permission.MODIFY_RESOURCE -->
+        <data ROLE_ID="2" OPERATION="5"/>        <!-- Permission.DELETE_RESOURCE -->
+        <data ROLE_ID="2" OPERATION="6"/>        <!-- \
Permission.CREATE_CHILD_RESOURCES --> +        <data ROLE_ID="2" OPERATION="7"/>      \
<!-- Permission.MANAGE_ALERTS --> +        <data ROLE_ID="2" OPERATION="8"/>        \
<!-- Permission.MANAGE_MEASUREMENTS --> +        <data ROLE_ID="2" OPERATION="9"/>    \
<!-- Permission.MANAGE_CONTENT --> +        <data ROLE_ID="2" OPERATION="10"/>       \
<!-- Permission.CONTROL --> +        <data ROLE_ID="2" OPERATION="11"/>       <!-- \
Permission.CONFIGURE_WRITE --> +        <data ROLE_ID="2" OPERATION="13"/>       <!-- \
Permission.CONFIGURE_READ --> +        <data ROLE_ID="2" OPERATION="14"/>       <!-- \
Permission.MANAGE_EVENTS --> +        <data ROLE_ID="2" OPERATION="16"/>       <!-- \
Permission.MANAGE_DRIFT --> +    </table>
+
+<!-- END: authz-data.xml -->
+<!-- BEGIN: search-data.xml -->
+
+
+    <!-- overlord-created, global, default saved searches -->
+    <table name="RHQ_SAVED_SEARCH">
+        <data ID="1" 
+              CONTEXT="RESOURCE" 
+              NAME="Downed Platforms" 
+              DESCRIPTION="All downed machines across the entire enterprise" 
+              PATTERN="availability=down category=platform" 
+              LAST_COMPUTE_TIME="0"
+              SUBJECT_ID="1"
+              GLOBAL="TRUE" />
+        <data ID="2" 
+              CONTEXT="RESOURCE" 
+              NAME="Downed Servers" 
+              DESCRIPTION="All downed servers across the entire enterprise" 
+              PATTERN="availability=down category=server" 
+              LAST_COMPUTE_TIME="0"
+              SUBJECT_ID="1"
+              GLOBAL="TRUE" />
+    </table>
+
+<!-- END: search-data.xml -->
+<!-- BEGIN: sysconfig-data.xml -->
+
+
+    <!--
+    This file contains the seed data for the configuration table.
+    All keys mentioned here should be referenced via the RHQConstants class
+    -->
+    <table name="RHQ_SYSTEM_CONFIG">
+        <data ID="1" PROPERTY_KEY="SERVER_VERSION" PROPERTY_VALUE="4.2.0"
+              DEFAULT_PROPERTY_VALUE="4.2.0" FREAD_ONLY="TRUE"/>
+        <data ID="2" PROPERTY_KEY="DB_SCHEMA_VERSION" PROPERTY_VALUE="2.115"
+              DEFAULT_PROPERTY_VALUE="2.115" FREAD_ONLY="TRUE"/>
+        <data ID="3" PROPERTY_KEY="CAM_JAAS_PROVIDER" PROPERTY_VALUE="JDBC"
+              DEFAULT_PROPERTY_VALUE="JDBC" FREAD_ONLY="FALSE"/>
+        <data ID="4" PROPERTY_KEY="CAM_BASE_URL" \
PROPERTY_VALUE="http://10.16.88.220:7080/" +              \
DEFAULT_PROPERTY_VALUE="http://10.16.88.220:7080/" FREAD_ONLY="FALSE"/> +        \
<data ID="9" PROPERTY_KEY="CAM_HELP_USER" PROPERTY_VALUE="web" +              \
DEFAULT_PROPERTY_VALUE="web" FREAD_ONLY="FALSE"/> +        <data ID="10" \
PROPERTY_KEY="CAM_HELP_PASSWORD" PROPERTY_VALUE="user" +              \
DEFAULT_PROPERTY_VALUE="user" FREAD_ONLY="FALSE"/> +
+        <!-- default LDAP configuration options -->
+        <data ID="11" PROPERTY_KEY="CAM_LDAP_NAMING_FACTORY_INITIAL"
+              PROPERTY_VALUE="com.sun.jndi.ldap.LdapCtxFactory"
+              DEFAULT_PROPERTY_VALUE="com.sun.jndi.ldap.LdapCtxFactory"
+              FREAD_ONLY="FALSE"/>
+        <data ID="12" PROPERTY_KEY="CAM_LDAP_NAMING_PROVIDER_URL"
+              PROPERTY_VALUE="ldap://localhost/"
+              DEFAULT_PROPERTY_VALUE="ldap://localhost/"
+              FREAD_ONLY="FALSE"/>
+        <data ID="13" PROPERTY_KEY="CAM_LDAP_LOGIN_PROPERTY"
+              PROPERTY_VALUE="cn"
+              DEFAULT_PROPERTY_VALUE="cn" FREAD_ONLY="FALSE"/>
+        <data ID="14" PROPERTY_KEY="CAM_LDAP_BASE_DN"
+              PROPERTY_VALUE="o=JBoss,c=US"
+              DEFAULT_PROPERTY_VALUE="o=JBoss,c=US"
+              FREAD_ONLY="FALSE"/>
+        <data ID="15" PROPERTY_KEY="CAM_LDAP_BIND_DN"
+              PROPERTY_VALUE=""
+              DEFAULT_PROPERTY_VALUE="" FREAD_ONLY="FALSE"/>
+        <data ID="16" PROPERTY_KEY="CAM_LDAP_BIND_PW"
+              PROPERTY_VALUE=""
+              DEFAULT_PROPERTY_VALUE="" FREAD_ONLY="FALSE"/>
+        <data ID="17" PROPERTY_KEY="CAM_LDAP_PROTOCOL"
+              PROPERTY_VALUE="" DEFAULT_PROPERTY_VALUE=""
+              FREAD_ONLY="FALSE"/>
+        <data ID="18" PROPERTY_KEY="CAM_LDAP_FILTER"
+              PROPERTY_VALUE="" DEFAULT_PROPERTY_VALUE=""
+              FREAD_ONLY="FALSE"/>
+
+        <!-- Does this build support Syslog actions? -->
+        <data ID="21" PROPERTY_KEY="CAM_SYSLOG_ACTIONS_ENABLED"
+              PROPERTY_VALUE="false" DEFAULT_PROPERTY_VALUE="false"
+              FREAD_ONLY="FALSE"/>
+        <data ID="23" PROPERTY_KEY="CAM_GUIDE_ENABLED"
+              PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+        <data ID="24" PROPERTY_KEY="CAM_RT_COLLECT_IP_ADDRS"
+              PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+
+        <!-- Default data storage options -->
+        <!-- Default 14 days -->
+        <data ID="26" PROPERTY_KEY="CAM_DATA_PURGE_1H"
+              PROPERTY_VALUE="1209600000" DEFAULT_PROPERTY_VALUE="1209600000"
+              FREAD_ONLY="FALSE"/>
+        <!-- Default 31 days -->
+        <data ID="27" PROPERTY_KEY="CAM_DATA_PURGE_6H"
+              PROPERTY_VALUE="2678400000" DEFAULT_PROPERTY_VALUE="2678400000"
+              FREAD_ONLY="FALSE"/>
+        <!-- Default 1 year -->
+        <data ID="28" PROPERTY_KEY="CAM_DATA_PURGE_1D"
+              PROPERTY_VALUE="31536000000" DEFAULT_PROPERTY_VALUE="31536000000"
+              FREAD_ONLY="FALSE"/>
+
+        <!-- Baseline options -->
+        <!-- How often to calculate, default 3 days; if 0, never calculate them \
automatically --> +        <data ID="29" PROPERTY_KEY="CAM_BASELINE_FREQUENCY"
+              PROPERTY_VALUE="259200000" DEFAULT_PROPERTY_VALUE="259200000"
+              FREAD_ONLY="FALSE"/>
+        <!-- How much data to include in the calulation, default 7 days -->
+        <data ID="30" PROPERTY_KEY="CAM_BASELINE_DATASET"
+              PROPERTY_VALUE="604800000" DEFAULT_PROPERTY_VALUE="604800000"
+              FREAD_ONLY="FALSE"/>
+
+        <!-- ID 31 has been deleted -->
+
+        <!-- How often to run database maintainence routines -->
+        <data ID="32" PROPERTY_KEY="CAM_DATA_MAINTENANCE"
+              PROPERTY_VALUE="3600000" DEFAULT_PROPERTY_VALUE="3600000" \
FREAD_ONLY="FALSE"/> +
+        <!-- How long to keep RT data around -->
+        <data ID="34" PROPERTY_KEY="RT_DATA_PURGE" PROPERTY_VALUE="2678400000"
+              DEFAULT_PROPERTY_VALUE="2678400000" FREAD_ONLY="FALSE"/>
+
+        <!-- Whether to reindex the data tables nightly -->
+        <data ID="35" PROPERTY_KEY="DATA_REINDEX_NIGHTLY" PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+
+        <!-- How long to keep alerts around -->
+        <data ID="36" PROPERTY_KEY="ALERT_PURGE" PROPERTY_VALUE="2678400000"
+              DEFAULT_PROPERTY_VALUE="2678400000" FREAD_ONLY="FALSE"/>
+
+        <!-- How long to keep events around (1209600000 millis == 14 days) -->
+        <data ID="51" PROPERTY_KEY="EVENT_PURGE" PROPERTY_VALUE="1209600000"
+              DEFAULT_PROPERTY_VALUE="1209600000" FREAD_ONLY="FALSE"/>
+
+        <!-- How long an agent is allowed to be quiet before we consider it down and \
backfill it --> +        <data ID="52" PROPERTY_KEY="AGENT_MAX_QUIET_TIME_ALLOWED" \
PROPERTY_VALUE="900000" +              DEFAULT_PROPERTY_VALUE="900000" \
FREAD_ONLY="FALSE"/> +
+        <!-- Will our server-cloud support agents auto-updating themselves? -->
+        <data ID="53" PROPERTY_KEY="ENABLE_AGENT_AUTO_UPDATE" PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+
+        <!-- How old does a trait have to be in order to get purged -->
+        <data ID="54" PROPERTY_KEY="TRAIT_PURGE" PROPERTY_VALUE="31536000000"
+              DEFAULT_PROPERTY_VALUE="31536000000" FREAD_ONLY="FALSE"/>
+
+        <!-- How old does availability have to be in order to get purged -->
+        <data ID="55" PROPERTY_KEY="AVAILABILITY_PURGE" PROPERTY_VALUE="31536000000"
+              DEFAULT_PROPERTY_VALUE="31536000000" FREAD_ONLY="FALSE"/>
+              
+        <data ID="56" PROPERTY_KEY="RESOURCE_GENERIC_PROPERTIES_UPGRADE" \
PROPERTY_VALUE="false" +              DEFAULT_PROPERTY_VALUE="false" \
FREAD_ONLY="FALSE"/> +
+        <!-- default drift server plugin settings -->
+        <data ID="57" PROPERTY_KEY="ACTIVE_DRIFT_PLUGIN" PROPERTY_VALUE="drift-jpa"
+              DEFAULT_PROPERTY_VALUE="drift-jpa" FREAD_ONLY="FALSE"/>
+
+        <!-- purge drift files older than 31 days by default -->
+        <data ID="58" PROPERTY_KEY="DRIFT_FILE_PURGE" PROPERTY_VALUE="2678400000"
+              DEFAULT_PROPERTY_VALUE="2678400000" FREAD_ONLY="FALSE"/>
+
+    </table>
+
+<!-- END: sysconfig-data.xml -->
+<!-- BEGIN: measurement-data.xml -->
+        
+    <table name="RHQ_NUMBERS">
+        <data i="0"/>
+        <data i="1"/>
+        <data i="2"/>
+        <data i="3"/>
+        <data i="4"/>
+        <data i="5"/>
+        <data i="6"/>
+        <data i="7"/>
+        <data i="8"/>
+        <data i="9"/>
+        <data i="10"/>
+        <data i="11"/>
+        <data i="12"/>
+        <data i="13"/>
+        <data i="14"/>
+        <data i="15"/>
+        <data i="16"/>
+        <data i="17"/>
+        <data i="18"/>
+        <data i="19"/>
+        <data i="20"/>
+        <data i="21"/>
+        <data i="22"/>
+        <data i="23"/>
+        <data i="24"/>
+        <data i="25"/>
+        <data i="26"/>
+        <data i="27"/>
+        <data i="28"/>
+        <data i="29"/>
+        <data i="30"/>
+        <data i="31"/>
+        <data i="32"/>
+        <data i="33"/>
+        <data i="34"/>
+        <data i="35"/>
+        <data i="36"/>
+        <data i="37"/>
+        <data i="38"/>
+        <data i="39"/>
+        <data i="40"/>
+        <data i="41"/>
+        <data i="42"/>
+        <data i="43"/>
+        <data i="44"/>
+        <data i="45"/>
+        <data i="46"/>
+        <data i="47"/>
+        <data i="48"/>
+        <data i="49"/>
+        <data i="50"/>
+        <data i="51"/>
+        <data i="52"/>
+        <data i="53"/>
+        <data i="54"/>
+        <data i="55"/>
+        <data i="56"/>
+        <data i="57"/>
+        <data i="58"/>
+        <data i="59"/>
+    </table>
+
+<!-- END: measurement-data.xml -->
+<!-- BEGIN: content-data.xml -->
+        
+    <table name="RHQ_ARCHITECTURE">
+        <data id="1" name="noarch"/>
+        <data id="2" name="i386"/>
+        <data id="3" name="i486"/>
+        <data id="4" name="i586"/>
+        <data id="5" name="i686"/>
+        <data id="6" name="alpha"/>
+        <data id="7" name="alphaev6"/>
+        <data id="8" name="ia64"/>
+        <data id="9" name="sparc"/>
+        <data id="10" name="sparcv9"/>
+        <data id="11" name="sparc64"/>
+        <data id="12" name="src"/>
+        <data id="13" name="s390"/>
+        <data id="14" name="athlon"/>
+        <data id="15" name="s390x"/>
+        <data id="16" name="ppc"/>
+        <data id="17" name="ppc64"/>
+        <data id="18" name="pSeries"/>
+        <data id="19" name="iSeries"/>
+        <data id="20" name="x86_64"/>
+        <data id="21" name="ppc64iseries"/>
+        <data id="22" name="ppc64pseries"/>
+        <data id="23" name="sparc-solaris"/>
+        <data id="24" name="sparc.sun4u-solaris"/>
+        <data id="25" name="tar"/>
+        <data id="26" name="ia32e"/>
+        <data id="27" name="amd64"/>
+        <data id="28" name="i386-solaris"/>
+        <data id="29" name="nosrc"/>
+        <data id="30" name="sparc-solaris-patch"/>
+        <data id="31" name="i386-solaris-patch"/>
+        <data id="32" name="sparc-solaris-patch-cluster"/>
+        <data id="33" name="i386-solaris-patch-cluster"/>
+        <data id="34" name="noarch-solaris"/>
+        <data id="35" name="noarch-solaris-patch"/>
+        <data id="36" name="noarch-solaris-patch-cluster"/>
+        <data id="37" name="solaris-patch"/>
+        <data id="38" name="solaris-patch-cluster"/>
+    </table>
+
+   <table name="RHQ_REPO_GROUP_TYPE">
+      <data id="1" name="family"/>
+   </table>
+
+   <table name="RHQ_REPO_RELATION_TYPE">
+      <data id="1" name="parent"/>
+      <data id="2" name="clone"/>
+   </table>
+
+   <table name="RHQ_DISTRIBUTION_TYPE">
+      <data id="1" name="kickstart" description="Linux kickstart distribution"/>
+      <data id="2" name="jumpstart" description="solaris jumpstart distribution"/>
+   </table>
+   
+<!-- END: content-data.xml -->
+<!-- BEGIN: jms-data.xml -->
+
+<!-- the schema matches that which would be automatically created by the JMS \
subsystem --> +<!-- see deploy/jms/rhq-jdbc-state-service.xml and \
rhq-jdbc2-service.xml --> +<!-- the data must match that which is expected in \
conf/login-config.xml  --> +
+
+    <table name="JMS_USERS">
+        <data USERID="guest" PASSWD="guest" />
+    </table>
+
+    <table name="JMS_ROLES">
+        <data ROLEID="guest" USERID="guest" />
+    </table>
+
+<!-- END: jms-data.xml -->
+</dbsetup>
diff --git a/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-rhq-4.3.0.xml \
b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-rhq-4.3.0.xml
 new file mode 100644
index 0000000..26574c4
--- /dev/null
+++ b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-data-combined-rhq-4.3.0.xml
 @@ -0,0 +1,398 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dbsetup name="data.xml">
+<!-- BEGIN: auth-data.xml -->
+
+
+    <table name="RHQ_PRINCIPAL">
+        <data id="2" PRINCIPAL="rhqadmin" PASSWORD="x1XwrxKuPvYUILiOnOZTLg=="/>
+    </table>
+
+<!-- END: auth-data.xml -->
+<!-- BEGIN: authz-data.xml -->
+
+
+    <!-- the overlord user -->
+    <table name="RHQ_SUBJECT">
+        <data ID="1"
+              NAME="admin"
+              FIRST_NAME="Super"
+              LAST_NAME="User"
+              FSYSTEM="TRUE"/>
+    </table>
+
+    <!-- the initial rhqadmin user -->
+    <table name="RHQ_SUBJECT">
+        <data ID="2"
+              NAME="rhqadmin"
+              FIRST_NAME="RHQ"
+              LAST_NAME="Administrator"
+              EMAIL_ADDRESS="rhqadmin at localhost"
+              FSYSTEM="FALSE"/>
+    </table>
+
+    <!-- Define the system root role which includes our overlord and rhqadmin users \
--> +    <table name="RHQ_ROLE">
+        <data ID="1"
+              NAME="Super User Role"
+              FSYSTEM="TRUE"
+              DESCRIPTION="System superuser role that provides full access to \
everything. This role cannot be modified."/> +        <data ID="2"
+              NAME="All Resources Role"
+              FSYSTEM="FALSE"
+              DESCRIPTION="Provides full access to all resources in inventory. \
Cannot modify users, roles or server settings."/> +    </table>
+
+    <!-- associate the root users with all security permissions -->
+    <table name="RHQ_SUBJECT_ROLE_MAP">
+        <!-- overlord user -->
+        <data SUBJECT_ID="1" ROLE_ID="1"/>
+        <!-- rhqadmin user -->
+        <data SUBJECT_ID="2" ROLE_ID="1"/>
+    </table>
+
+    <table name="RHQ_PERMISSION">
+        <!-- give super-user-role all permissions
+             (explicitly add resource perms, even though they are implied by \
MANAGE_INVENTORY) --> +        <data ROLE_ID="1" OPERATION="0"/>        <!-- \
Permission.MANAGE_SECURITY --> +        <data ROLE_ID="1" OPERATION="1"/>        <!-- \
Permission.MANAGE_INVENTORY --> +        <data ROLE_ID="1" OPERATION="2"/>        \
<!-- Permission.MANAGE_SETTINGS --> +        <data ROLE_ID="1" OPERATION="12"/>       \
<!-- Permission.MANAGE_BUNDLE --> +        <data ROLE_ID="1" OPERATION="15"/>       \
<!-- Permission.MANAGE_REPOSITORIES --> +        <data ROLE_ID="1" OPERATION="17"/>   \
<!-- Permission.VIEW_USERS --> +        <!-- resource permissions start here-->
+        <data ROLE_ID="1" OPERATION="3"/>        <!-- Permission.VIEW_RESOURCE -->
+        <data ROLE_ID="1" OPERATION="4"/>        <!-- Permission.MODIFY_RESOURCE -->
+        <data ROLE_ID="1" OPERATION="5"/>        <!-- Permission.DELETE_RESOURCE -->
+        <data ROLE_ID="1" OPERATION="6"/>        <!-- \
Permission.CREATE_CHILD_RESOURCES --> +        <data ROLE_ID="1" OPERATION="7"/>      \
<!-- Permission.MANAGE_ALERTS --> +        <data ROLE_ID="1" OPERATION="8"/>        \
<!-- Permission.MANAGE_MEASUREMENTS --> +        <data ROLE_ID="1" OPERATION="9"/>    \
<!-- Permission.MANAGE_CONTENT --> +        <data ROLE_ID="1" OPERATION="10"/>       \
<!-- Permission.CONTROL --> +        <data ROLE_ID="1" OPERATION="11"/>       <!-- \
Permission.CONFIGURE_WRITE --> +        <data ROLE_ID="1" OPERATION="13"/>       <!-- \
Permission.CONFIGURE_READ --> +        <data ROLE_ID="1" OPERATION="14"/>       <!-- \
Permission.MANAGE_EVENTS --> +        <data ROLE_ID="1" OPERATION="16"/>       <!-- \
Permission.MANAGE_DRIFT --> +
+        <!-- give all-resources-role MANAGE_INVENTORY and MANAGE_BUNDLE permissions
+             (explicitly add resource perms as well, even though they are implied by \
MANAGE_INVENTORY) --> +        <data ROLE_ID="2" OPERATION="1"/>        <!-- \
Permission.MANAGE_INVENTORY --> +        <data ROLE_ID="2" OPERATION="12"/>       \
<!-- Permission.MANAGE_BUNDLE --> +        <data ROLE_ID="2" OPERATION="17"/>       \
<!-- Permission.VIEW_USERS --> +        <!-- resource permissions start here-->
+        <data ROLE_ID="2" OPERATION="3"/>        <!-- Permission.VIEW_RESOURCE -->
+        <data ROLE_ID="2" OPERATION="4"/>        <!-- Permission.MODIFY_RESOURCE -->
+        <data ROLE_ID="2" OPERATION="5"/>        <!-- Permission.DELETE_RESOURCE -->
+        <data ROLE_ID="2" OPERATION="6"/>        <!-- \
Permission.CREATE_CHILD_RESOURCES --> +        <data ROLE_ID="2" OPERATION="7"/>      \
<!-- Permission.MANAGE_ALERTS --> +        <data ROLE_ID="2" OPERATION="8"/>        \
<!-- Permission.MANAGE_MEASUREMENTS --> +        <data ROLE_ID="2" OPERATION="9"/>    \
<!-- Permission.MANAGE_CONTENT --> +        <data ROLE_ID="2" OPERATION="10"/>       \
<!-- Permission.CONTROL --> +        <data ROLE_ID="2" OPERATION="11"/>       <!-- \
Permission.CONFIGURE_WRITE --> +        <data ROLE_ID="2" OPERATION="13"/>       <!-- \
Permission.CONFIGURE_READ --> +        <data ROLE_ID="2" OPERATION="14"/>       <!-- \
Permission.MANAGE_EVENTS --> +        <data ROLE_ID="2" OPERATION="16"/>       <!-- \
Permission.MANAGE_DRIFT --> +    </table>
+
+<!-- END: authz-data.xml -->
+<!-- BEGIN: search-data.xml -->
+
+
+    <!-- overlord-created, global, default saved searches -->
+    <table name="RHQ_SAVED_SEARCH">
+        <data ID="1" 
+              CONTEXT="RESOURCE" 
+              NAME="Downed Platforms" 
+              DESCRIPTION="All downed machines across the entire enterprise" 
+              PATTERN="availability=down category=platform" 
+              LAST_COMPUTE_TIME="0"
+              SUBJECT_ID="1"
+              GLOBAL="TRUE" />
+        <data ID="2" 
+              CONTEXT="RESOURCE" 
+              NAME="Downed Servers" 
+              DESCRIPTION="All downed servers across the entire enterprise" 
+              PATTERN="availability=down category=server" 
+              LAST_COMPUTE_TIME="0"
+              SUBJECT_ID="1"
+              GLOBAL="TRUE" />
+    </table>
+
+<!-- END: search-data.xml -->
+<!-- BEGIN: sysconfig-data.xml -->
+
+
+    <!--
+    This file contains the seed data for the configuration table.
+    All keys mentioned here should be referenced via the RHQConstants class
+    -->
+    <table name="RHQ_SYSTEM_CONFIG">
+        <data ID="1" PROPERTY_KEY="SERVER_VERSION" PROPERTY_VALUE="4.3.0"
+              DEFAULT_PROPERTY_VALUE="4.3.0" FREAD_ONLY="TRUE"/>
+        <data ID="2" PROPERTY_KEY="DB_SCHEMA_VERSION" PROPERTY_VALUE="2.119"
+              DEFAULT_PROPERTY_VALUE="2.119" FREAD_ONLY="TRUE"/>
+        <data ID="3" PROPERTY_KEY="CAM_JAAS_PROVIDER" PROPERTY_VALUE="JDBC"
+              DEFAULT_PROPERTY_VALUE="JDBC" FREAD_ONLY="FALSE"/>
+        <data ID="4" PROPERTY_KEY="CAM_BASE_URL" \
PROPERTY_VALUE="http://10.16.88.220:7080/" +              \
DEFAULT_PROPERTY_VALUE="http://10.16.88.220:7080/" FREAD_ONLY="FALSE"/> +        \
<data ID="9" PROPERTY_KEY="CAM_HELP_USER" PROPERTY_VALUE="web" +              \
DEFAULT_PROPERTY_VALUE="web" FREAD_ONLY="FALSE"/> +        <data ID="10" \
PROPERTY_KEY="CAM_HELP_PASSWORD" PROPERTY_VALUE="user" +              \
DEFAULT_PROPERTY_VALUE="user" FREAD_ONLY="FALSE"/> +
+        <!-- default LDAP configuration options -->
+        <data ID="11" PROPERTY_KEY="CAM_LDAP_NAMING_FACTORY_INITIAL"
+              PROPERTY_VALUE="com.sun.jndi.ldap.LdapCtxFactory"
+              DEFAULT_PROPERTY_VALUE="com.sun.jndi.ldap.LdapCtxFactory"
+              FREAD_ONLY="FALSE"/>
+        <data ID="12" PROPERTY_KEY="CAM_LDAP_NAMING_PROVIDER_URL"
+              PROPERTY_VALUE="ldap://localhost/"
+              DEFAULT_PROPERTY_VALUE="ldap://localhost/"
+              FREAD_ONLY="FALSE"/>
+        <data ID="13" PROPERTY_KEY="CAM_LDAP_LOGIN_PROPERTY"
+              PROPERTY_VALUE="cn"
+              DEFAULT_PROPERTY_VALUE="cn" FREAD_ONLY="FALSE"/>
+        <data ID="14" PROPERTY_KEY="CAM_LDAP_BASE_DN"
+              PROPERTY_VALUE="o=JBoss,c=US"
+              DEFAULT_PROPERTY_VALUE="o=JBoss,c=US"
+              FREAD_ONLY="FALSE"/>
+        <data ID="15" PROPERTY_KEY="CAM_LDAP_BIND_DN"
+              PROPERTY_VALUE=""
+              DEFAULT_PROPERTY_VALUE="" FREAD_ONLY="FALSE"/>
+        <data ID="16" PROPERTY_KEY="CAM_LDAP_BIND_PW"
+              PROPERTY_VALUE=""
+              DEFAULT_PROPERTY_VALUE="" FREAD_ONLY="FALSE"/>
+        <data ID="17" PROPERTY_KEY="CAM_LDAP_PROTOCOL"
+              PROPERTY_VALUE="" DEFAULT_PROPERTY_VALUE=""
+              FREAD_ONLY="FALSE"/>
+        <data ID="18" PROPERTY_KEY="CAM_LDAP_FILTER"
+              PROPERTY_VALUE="" DEFAULT_PROPERTY_VALUE=""
+              FREAD_ONLY="FALSE"/>
+
+        <!-- Does this build support Syslog actions? -->
+        <data ID="21" PROPERTY_KEY="CAM_SYSLOG_ACTIONS_ENABLED"
+              PROPERTY_VALUE="false" DEFAULT_PROPERTY_VALUE="false"
+              FREAD_ONLY="FALSE"/>
+        <data ID="23" PROPERTY_KEY="CAM_GUIDE_ENABLED"
+              PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+        <data ID="24" PROPERTY_KEY="CAM_RT_COLLECT_IP_ADDRS"
+              PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+
+        <!-- Default data storage options -->
+        <!-- Default 14 days -->
+        <data ID="26" PROPERTY_KEY="CAM_DATA_PURGE_1H"
+              PROPERTY_VALUE="1209600000" DEFAULT_PROPERTY_VALUE="1209600000"
+              FREAD_ONLY="FALSE"/>
+        <!-- Default 31 days -->
+        <data ID="27" PROPERTY_KEY="CAM_DATA_PURGE_6H"
+              PROPERTY_VALUE="2678400000" DEFAULT_PROPERTY_VALUE="2678400000"
+              FREAD_ONLY="FALSE"/>
+        <!-- Default 1 year -->
+        <data ID="28" PROPERTY_KEY="CAM_DATA_PURGE_1D"
+              PROPERTY_VALUE="31536000000" DEFAULT_PROPERTY_VALUE="31536000000"
+              FREAD_ONLY="FALSE"/>
+
+        <!-- Baseline options -->
+        <!-- How often to calculate, default 3 days; if 0, never calculate them \
automatically --> +        <data ID="29" PROPERTY_KEY="CAM_BASELINE_FREQUENCY"
+              PROPERTY_VALUE="259200000" DEFAULT_PROPERTY_VALUE="259200000"
+              FREAD_ONLY="FALSE"/>
+        <!-- How much data to include in the calulation, default 7 days -->
+        <data ID="30" PROPERTY_KEY="CAM_BASELINE_DATASET"
+              PROPERTY_VALUE="604800000" DEFAULT_PROPERTY_VALUE="604800000"
+              FREAD_ONLY="FALSE"/>
+
+        <!-- ID 31 has been deleted -->
+
+        <!-- How often to run database maintainence routines -->
+        <data ID="32" PROPERTY_KEY="CAM_DATA_MAINTENANCE"
+              PROPERTY_VALUE="3600000" DEFAULT_PROPERTY_VALUE="3600000" \
FREAD_ONLY="FALSE"/> +
+        <!-- How long to keep RT data around -->
+        <data ID="34" PROPERTY_KEY="RT_DATA_PURGE" PROPERTY_VALUE="2678400000"
+              DEFAULT_PROPERTY_VALUE="2678400000" FREAD_ONLY="FALSE"/>
+
+        <!-- Whether to reindex the data tables nightly -->
+        <data ID="35" PROPERTY_KEY="DATA_REINDEX_NIGHTLY" PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+
+        <!-- How long to keep alerts around -->
+        <data ID="36" PROPERTY_KEY="ALERT_PURGE" PROPERTY_VALUE="2678400000"
+              DEFAULT_PROPERTY_VALUE="2678400000" FREAD_ONLY="FALSE"/>
+
+        <!-- How long to keep events around (1209600000 millis == 14 days) -->
+        <data ID="51" PROPERTY_KEY="EVENT_PURGE" PROPERTY_VALUE="1209600000"
+              DEFAULT_PROPERTY_VALUE="1209600000" FREAD_ONLY="FALSE"/>
+
+        <!-- How long an agent is allowed to be quiet before we consider it down and \
backfill it --> +        <data ID="52" PROPERTY_KEY="AGENT_MAX_QUIET_TIME_ALLOWED" \
PROPERTY_VALUE="900000" +              DEFAULT_PROPERTY_VALUE="900000" \
FREAD_ONLY="FALSE"/> +
+        <!-- Will our server-cloud support agents auto-updating themselves? -->
+        <data ID="53" PROPERTY_KEY="ENABLE_AGENT_AUTO_UPDATE" PROPERTY_VALUE="true"
+              DEFAULT_PROPERTY_VALUE="true" FREAD_ONLY="FALSE"/>
+
+        <!-- How old does a trait have to be in order to get purged -->
+        <data ID="54" PROPERTY_KEY="TRAIT_PURGE" PROPERTY_VALUE="31536000000"
+              DEFAULT_PROPERTY_VALUE="31536000000" FREAD_ONLY="FALSE"/>
+
+        <!-- How old does availability have to be in order to get purged -->
+        <data ID="55" PROPERTY_KEY="AVAILABILITY_PURGE" PROPERTY_VALUE="31536000000"
+              DEFAULT_PROPERTY_VALUE="31536000000" FREAD_ONLY="FALSE"/>
+              
+        <data ID="56" PROPERTY_KEY="RESOURCE_GENERIC_PROPERTIES_UPGRADE" \
PROPERTY_VALUE="false" +              DEFAULT_PROPERTY_VALUE="false" \
FREAD_ONLY="FALSE"/> +
+        <!-- default drift server plugin settings -->
+        <data ID="57" PROPERTY_KEY="ACTIVE_DRIFT_PLUGIN" PROPERTY_VALUE="drift-jpa"
+              DEFAULT_PROPERTY_VALUE="drift-jpa" FREAD_ONLY="FALSE"/>
+
+        <!-- purge drift files older than 31 days by default -->
+        <data ID="58" PROPERTY_KEY="DRIFT_FILE_PURGE" PROPERTY_VALUE="2678400000"
+              DEFAULT_PROPERTY_VALUE="2678400000" FREAD_ONLY="FALSE"/>
+
+    </table>
+
+<!-- END: sysconfig-data.xml -->
+<!-- BEGIN: measurement-data.xml -->
+        
+    <table name="RHQ_NUMBERS">
+        <data i="0"/>
+        <data i="1"/>
+        <data i="2"/>
+        <data i="3"/>
+        <data i="4"/>
+        <data i="5"/>
+        <data i="6"/>
+        <data i="7"/>
+        <data i="8"/>
+        <data i="9"/>
+        <data i="10"/>
+        <data i="11"/>
+        <data i="12"/>
+        <data i="13"/>
+        <data i="14"/>
+        <data i="15"/>
+        <data i="16"/>
+        <data i="17"/>
+        <data i="18"/>
+        <data i="19"/>
+        <data i="20"/>
+        <data i="21"/>
+        <data i="22"/>
+        <data i="23"/>
+        <data i="24"/>
+        <data i="25"/>
+        <data i="26"/>
+        <data i="27"/>
+        <data i="28"/>
+        <data i="29"/>
+        <data i="30"/>
+        <data i="31"/>
+        <data i="32"/>
+        <data i="33"/>
+        <data i="34"/>
+        <data i="35"/>
+        <data i="36"/>
+        <data i="37"/>
+        <data i="38"/>
+        <data i="39"/>
+        <data i="40"/>
+        <data i="41"/>
+        <data i="42"/>
+        <data i="43"/>
+        <data i="44"/>
+        <data i="45"/>
+        <data i="46"/>
+        <data i="47"/>
+        <data i="48"/>
+        <data i="49"/>
+        <data i="50"/>
+        <data i="51"/>
+        <data i="52"/>
+        <data i="53"/>
+        <data i="54"/>
+        <data i="55"/>
+        <data i="56"/>
+        <data i="57"/>
+        <data i="58"/>
+        <data i="59"/>
+    </table>
+
+<!-- END: measurement-data.xml -->
+<!-- BEGIN: content-data.xml -->
+        
+    <table name="RHQ_ARCHITECTURE">
+        <data id="1" name="noarch"/>
+        <data id="2" name="i386"/>
+        <data id="3" name="i486"/>
+        <data id="4" name="i586"/>
+        <data id="5" name="i686"/>
+        <data id="6" name="alpha"/>
+        <data id="7" name="alphaev6"/>
+        <data id="8" name="ia64"/>
+        <data id="9" name="sparc"/>
+        <data id="10" name="sparcv9"/>
+        <data id="11" name="sparc64"/>
+        <data id="12" name="src"/>
+        <data id="13" name="s390"/>
+        <data id="14" name="athlon"/>
+        <data id="15" name="s390x"/>
+        <data id="16" name="ppc"/>
+        <data id="17" name="ppc64"/>
+        <data id="18" name="pSeries"/>
+        <data id="19" name="iSeries"/>
+        <data id="20" name="x86_64"/>
+        <data id="21" name="ppc64iseries"/>
+        <data id="22" name="ppc64pseries"/>
+        <data id="23" name="sparc-solaris"/>
+        <data id="24" name="sparc.sun4u-solaris"/>
+        <data id="25" name="tar"/>
+        <data id="26" name="ia32e"/>
+        <data id="27" name="amd64"/>
+        <data id="28" name="i386-solaris"/>
+        <data id="29" name="nosrc"/>
+        <data id="30" name="sparc-solaris-patch"/>
+        <data id="31" name="i386-solaris-patch"/>
+        <data id="32" name="sparc-solaris-patch-cluster"/>
+        <data id="33" name="i386-solaris-patch-cluster"/>
+        <data id="34" name="noarch-solaris"/>
+        <data id="35" name="noarch-solaris-patch"/>
+        <data id="36" name="noarch-solaris-patch-cluster"/>
+        <data id="37" name="solaris-patch"/>
+        <data id="38" name="solaris-patch-cluster"/>
+    </table>
+
+   <table name="RHQ_REPO_GROUP_TYPE">
+      <data id="1" name="family"/>
+   </table>
+
+   <table name="RHQ_REPO_RELATION_TYPE">
+      <data id="1" name="parent"/>
+      <data id="2" name="clone"/>
+   </table>
+
+   <table name="RHQ_DISTRIBUTION_TYPE">
+      <data id="1" name="kickstart" description="Linux kickstart distribution"/>
+      <data id="2" name="jumpstart" description="solaris jumpstart distribution"/>
+   </table>
+   
+<!-- END: content-data.xml -->
+<!-- BEGIN: jms-data.xml -->
+
+<!-- the schema matches that which would be automatically created by the JMS \
subsystem --> +<!-- see deploy/jms/rhq-jdbc-state-service.xml and \
rhq-jdbc2-service.xml --> +<!-- the data must match that which is expected in \
conf/login-config.xml  --> +
+
+    <table name="JMS_USERS">
+        <data USERID="guest" PASSWD="guest" />
+    </table>
+
+    <table name="JMS_ROLES">
+        <data ROLEID="guest" USERID="guest" />
+    </table>
+
+<!-- END: jms-data.xml -->
+</dbsetup>
diff --git a/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-2.4.0.xml \
b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-2.4.0.xml
 new file mode 100644
index 0000000..8ac0762
--- /dev/null
+++ b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-2.4.0.xml
 @@ -0,0 +1,2494 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dbsetup name="schema">
+<!-- BEGIN: config-schema.xml -->
+
+
+    <!-- Definition or Metadata tables -->
+
+    <table name="RHQ_CONFIG_DEF">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="true" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="250"/> +        <column name="VERSION" type="VARCHAR2" \
required="false" size="50"/> +        <column name="CONFIG_FORMAT" type="VARCHAR2" \
required="false" size="32"/> +    </table>
+
+    <table name="RHQ_CONFIG_PROP_GRP_DEF">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="true" size="100"/> +        <column name="DISPLAY_NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="250"/> +        <column name="DEFAULT_HIDDEN" type="BOOLEAN" \
required="false"/> +        <column name="ORDER_INDEX" type="INTEGER" \
required="false"/> +    </table>
+
+    <table name="RHQ_CONFIG_PROP_DEF">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="false" size="255"/> +        <column name="DISPLAY_NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="1000"/> +        <column name="DEFAULT_VALUE" type="VARCHAR2" \
required="false" size="2000"/> +        <column name="REQUIRED" type="BOOLEAN" \
required="false"/> +        <column name="READONLY" type="BOOLEAN" required="false"/>
+        <column name="SUMMARY" type="BOOLEAN" required="false"/>
+        <column name="ACTIVATION_POLICY" type="VARCHAR2" required="false" \
size="20"/> +        <column name="GROUP_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_PROP_GRP_DEF"/> +        <column name="ORDER_INDEX" \
type="INTEGER" required="false"/> +        <column name="VERSION" type="VARCHAR2" \
required="false" size="50"/> +        <column name="PARENT_MAP_DEFINITION_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG_PROP_DEF"/> +        <column \
name="PARENT_LIST_DEFINITION_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_PROP_DEF"/> +        <column name="SIMPLE_TYPE" \
type="VARCHAR2" required="false" size="20"/> +        <column \
name="ALLOW_CUSTOM_ENUM_VALUE" type="BOOLEAN" required="false"/> +        <column \
name="DTYPE" type="VARCHAR2" required="true" size="10"/> +        <column \
name="CONFIG_DEF_ID" type="INTEGER" required="false" references="RHQ_CONFIG_DEF"/> +
+        <!-- only simple properties (not lists and maps) have this -->
+        <column name="UNITS" type="SMALLINT" required="false"/>
+
+        <!-- only dynamic properties (not simple) have this -->
+        <column name="DYNAMIC_TYPE" type="VARCHAR2" size="20" required="false"/>
+        <column name="DYNAMIC_KEY" type="VARCHAR2" size="128" required="false"/>
+    </table>
+
+    <table name="RHQ_CONF_PROP_DEF_ENUM">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="STRING_VALUE" \
type="VARCHAR2" required="false" size="500"/> +        <column name="ORDER_INDEX" \
type="INTEGER" required="false"/> +        <column name="IS_DEFAULT" type="BOOLEAN" \
required="false"/> +        <column name="NAME" type="VARCHAR2" required="false" \
size="100"/> +        <column name="PROPERTY_DEF_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_PROP_DEF"/> +    </table>
+
+    <table name="RHQ_CONFIG_PROP_CONSTR">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="DTYPE" type="VARCHAR2" \
required="true" size="15"/> +        <column name="DETAILS" type="VARCHAR2" \
required="false" size="250"/> +        <column name="CONFIG_PROP_DEF_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG_PROP_DEF"/> +        <column \
name="ORDER_INDEX" type="INTEGER" required="false"/> +    </table>
+
+
+    <!-- Content or value tables -->
+
+    <table name="RHQ_CONFIG">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NOTES" type="VARCHAR2" \
required="false" size="512"/> +        <column name="VERSION" type="VARCHAR2" \
required="false" size="50"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+    </table>
+
+    <table name="RHQ_CONFIG_PROPERTY">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="CONFIGURATION_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG" ondelete="cascade"/> +        \
<column name="STRING_VALUE" type="VARCHAR2" required="false" size="2000"/> +        \
<column name="OVERRIDE" type="BOOLEAN" required="false"/> +        <column \
name="NAME" type="VARCHAR2" required="true" size="255"/> +        <column \
name="DTYPE" type="VARCHAR2" required="true" size="10"/> +        <!-- Recursive \
cascade path to RHQ_CONFIG_PROPERTY causes constraint creation errors on SQL Server, \
see +             http://support.microsoft.com/kb/321843 -->
+        <column name="PARENT_LIST_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_PROPERTY" ondelete="cascade" /> +        <column \
name="PARENT_MAP_ID" type="INTEGER" required="false" references="RHQ_CONFIG_PROPERTY" \
ondelete="cascade" /> +        <column name="LIST_INDEX" type="INTEGER"/>
+        <column name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/>
+        <index name="RHQ_CONFIG_PROP_idx_prop_key" unique="false">
+            <field ref="CONFIGURATION_ID"/>
+            <field ref="NAME"/>
+        </index>
+        <index name="RHQ_CONFIG_PROP_idx_map_key" unique="false">
+            <field ref="PARENT_MAP_ID"/>
+            <field ref="NAME"/>
+        </index>
+        <index name="RHQ_CONFIG_PROP_idx_list_key" unique="false">
+            <field ref="PARENT_LIST_ID"/>
+        </index>
+        <!-- List entries all have the same name -->
+    </table>
+
+    <table name="RHQ_CONFIG_TEMPLATE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="500"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG"/> +        <column name="CONFIG_DEF_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG_DEF"/> +        <column \
name="IS_DEFAULT" type="BOOLEAN" required="false"/> +    </table>
+
+    <table name="RHQ_RAW_CONFIG">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="true" references="RHQ_CONFIG(ID)"/> +        <column name="PATH" \
type="VARCHAR2" required="false" size="512"/> +        <column name="CONTENTS" \
type="CLOB" required="true"/> +        <column name="SHA256" type="VARCHAR2" \
size="64" required="true"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+    </table>
+
+<!-- END: config-schema.xml -->
+<!-- BEGIN: cluster-schema.xml -->
+
+    <table name="RHQ_AFFINITY_GROUP">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="255" type="VARCHAR2"/>
+    </table>
+
+    <table name="RHQ_SERVER">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="255" type="VARCHAR2"/>
+        <column name="ADDRESS" required="true" size="255" type="VARCHAR2"/>
+        <column name="PORT" required="true" type="INTEGER"/>
+        <column name="SECURE_PORT" required="true" type="INTEGER"/>
+        <column name="CTIME" required="true" type="LONG"/>
+        <column name="MTIME" required="true" type="LONG"/>
+        <column name="AFFINITY_GROUP_ID" type="INTEGER" \
references="RHQ_AFFINITY_GROUP" required="false"/> +        <column \
name="COMPUTE_POWER" required="true" type="INTEGER"/>         +        <column \
name="OPERATION_MODE" required="true" size="32" type="VARCHAR2"/> +        <column \
name="STATUS" type="INTEGER" required="false" default="0" /> +    
+        <!--  This index is for constraint, not performance -->    
+        <index name="RHQ_SERVER_NAME_UNIQUE" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!--  new agent -->
+    <table name="RHQ_AGENT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" required="true" \
size="255" type="VARCHAR2"/> +        <column name="ADDRESS" required="true" \
size="255" type="VARCHAR2"/> +        <column name="PORT" required="true" \
type="INTEGER"/> +        <column name="AGENTTOKEN" required="true" size="100" \
type="VARCHAR2"/> +        <column name="REMOTE_ENDPOINT" required="false" \
size="4000" type="VARCHAR2"/> +        <column name="CTIME" required="true" \
type="LONG"/> +        <column name="MTIME" required="true" type="LONG"/>
+        <column name="LAST_AVAILABILITY_REPORT" required="false" type="LONG"/>
+        <column name="AFFINITY_GROUP_ID" type="INTEGER" \
references="RHQ_AFFINITY_GROUP" required="false"/> +        <column name="SERVER_ID" \
type="INTEGER" references="RHQ_SERVER" required="false"/> +        <column \
name="STATUS" type="INTEGER" required="false" default="0" /> +        <column \
name="BACKFILLED" type="BOOLEAN" required="true" /> +
+        <index name="RHQ_AGENT_NAME_UNIQUE" unique="true">
+            <field ref="NAME"/>
+        </index>
+
+        <index name="RHQ_AGENT_ADDRESS_PORT" unique="true">
+            <field ref="ADDRESS"/>
+            <field ref="PORT"/>
+        </index>
+
+        <index name="RHQ_AGENT_TOKEN_UNIQUE" unique="true">
+            <field ref="AGENTTOKEN"/>
+        </index>
+    </table>
+    
+    <table name="RHQ_PARTITION_EVENT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="SUBJECT_NAME" required="true" size="255" type="VARCHAR2"/>
+        <column name="CTIME" required="true" type="LONG"/>
+        <column name="EVENT_TYPE" required="true" size="50" type="VARCHAR2"/>
+        <column name="EVENT_DETAIL" required="false" size="512" type="VARCHAR2"/>
+        <column name="EXECUTION_STATUS" required="true" size="32" type="VARCHAR2"/>  \
 +    </table>
+    
+    <table name="RHQ_PARTITION_DETAILS">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PARTITION_EVENT_ID" type="INTEGER" \
references="RHQ_PARTITION_EVENT" required="true"/> +        <column name="AGENT_NAME" \
type="VARCHAR2" size="255" required="true"/> +        <column name="SERVER_NAME" \
type="VARCHAR2" size="255" required="true"/> +    </table>
+
+    <table name="RHQ_FAILOVER_LIST">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PARTITION_EVENT_ID" type="INTEGER" \
references="RHQ_PARTITION_EVENT" required="true"/> +        <column name="AGENT_ID" \
type="INTEGER" references="RHQ_AGENT" required="true"/> +        <column name="CTIME" \
required="true" type="LONG"/> +    </table>
+
+    <table name="RHQ_FAILOVER_DETAILS">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="FAILOVER_LIST_ID" type="INTEGER" \
references="RHQ_FAILOVER_LIST" required="true"/> +        <column name="SERVER_ID" \
type="INTEGER" references="RHQ_SERVER" required="true"/> +        <column \
name="ORDINAL" type = "INTEGER" required="true"/> +    </table>
+
+<!-- END: cluster-schema.xml -->
+<!-- BEGIN: inventory-schema.xml -->
+
+
+    <!-- NEW RESOURCE TYPES -->
+    <table name="RHQ_RESOURCE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" type="VARCHAR2" size="100" required="true"/>
+        <column name="CATEGORY" type="VARCHAR2" size="16" required="true"/>
+        <column name="CREATION_DATA_TYPE" type="VARCHAR2" size="16" \
required="true"/> +        <column name="CREATE_DELETE_POLICY" type="VARCHAR2" \
size="16" required="true"/> +        <column name="SINGLETON" type="BOOLEAN" \
required="true"/> +        <column name="SUPPORTS_MANUAL_ADD" type="BOOLEAN" \
required="true"/> +        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+        <column name="PLUGIN" type="VARCHAR2" size="100"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="SUBCATEGORY_ID" type="INTEGER"/>
+        <!--
+        TODO add support to DB setup for tables with circular dependencies and then \
add back this RI +        <column name="SUBCATEGORY_ID" type="INTEGER" \
references="RHQ_RESOURCE_SUBCAT" /> +        -->
+        <column name="PLUGIN_CONFIG_DEF_ID" type="INTEGER" \
references="RHQ_CONFIG_DEF(ID)"/> +        <column name="RES_CONFIG_DEF_ID" \
type="INTEGER" references="RHQ_CONFIG_DEF(ID)"/> +
+        <index name="RHQ_RES_TYPE_IDX_PLG_NAME" unique="true">
+            <field ref="NAME"/>
+            <field ref="PLUGIN"/>
+        </index>
+    </table>
+
+    <!-- NEW RESOURCE SUBCATEGORIES -->
+    <table name="RHQ_RESOURCE_SUBCAT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" type="VARCHAR2" size="100"/>
+        <column name="DISPLAY_NAME" type="VARCHAR2" size="100"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="PARENT_SUBCATEGORY_ID" type="INTEGER" \
references="RHQ_RESOURCE_SUBCAT"/> +        <!-- resourceTypeId is not required on \
child sub categories --> +        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +    </table>
+
+    <!-- Many To Many mapping for resource type to its parents -->
+    <table name="RHQ_RESOURCE_TYPE_PARENTS">
+        <column name="RESOURCE_TYPE_ID" required="true" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +        <column name="PARENT_RESOURCE_TYPE_ID" \
required="true" type="INTEGER" references="RHQ_RESOURCE_TYPE"/> +
+        <!-- not using full words to fit index name length -->
+        <constraint name="RHQ_RES_TYPE_PARENTS_KEY">
+            <primaryKey>
+                <field ref="RESOURCE_TYPE_ID"/>
+                <field ref="PARENT_RESOURCE_TYPE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_PROCESS_SCAN">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="QUERY" type="VARCHAR2" size="256" required="true"/>
+        <column name="NAME" type="VARCHAR2" size="100" required="false"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +
+        <index name="RHQ_PROCESS_SCAN_QUERY_INDEX" unique="true">
+            <field ref="QUERY"/>
+            <field ref="RESOURCE_TYPE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PRD_VER">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="VERSION" type="VARCHAR2" \
size="50" required="true"/> +        <column name="RES_TYPE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_TYPE"/> +    </table>
+
+    <table name="RHQ_RESOURCE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_TYPE"/> +        <column name="UUID" type="CHAR" size="36" \
required="true"/> +        <column name="NAME" type="VARCHAR2" size="500"/>
+        <column name="RESOURCE_KEY" type="VARCHAR2" required="true" size="500"/>
+        <column name="AGENT_ID" required="false" type="INTEGER" \
references="RHQ_AGENT(id)"/> +        <column name="INVENTORY_STATUS" type="VARCHAR2" \
size="20"/> +        <column name="CONNECTED" type="BOOLEAN"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+        <column name="VERSION" type="VARCHAR2" size="50"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="ITIME" type="LONG"/>
+        <column name="RES_CONFIGURATION_ID" type="INTEGER" references="RHQ_CONFIG"/>
+        <column name="PLUGIN_CONFIGURATION_ID" type="INTEGER" \
references="RHQ_CONFIG"/> +        <column name="MODIFIED_BY" required="false" \
type="INTEGER"/> +        <column name="LOCATION" required="false" size="100" \
type="VARCHAR2"/> +        <column name="PARENT_RESOURCE_ID" type="INTEGER" \
references="RHQ_RESOURCE"/> +        <column name="PRODUCT_VERSION_ID" type="INTEGER" \
references="RHQ_PRD_VER"/> +
+        <index name="RHQ_RESOURCE_idx_key">
+            <field ref="RESOURCE_KEY"/>
+        </index>
+
+        <index name="RHQ_RESOURCE_idx_type">
+            <field ref="RESOURCE_TYPE_ID"/>
+        </index>
+
+        <index name="RHQ_RESOURCE_idx_agent">
+            <field ref="AGENT_ID"/>
+        </index>
+
+        <index name="RHQ_RESOURCE_idx_parent">
+            <field ref="PARENT_RESOURCE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_RESOURCE_ERROR">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE"/> +        <column \
name="TIME_OCCURRED" type="LONG" required="true"/> +        <column name="ERROR_TYPE" \
type="VARCHAR2" required="true" size="32"/> +        <column name="SUMMARY" \
type="VARCHAR2" required="true" size="1000"/> +        <column name="DETAIL" \
type="LONGVARCHAR" required="false"/> +
+        <index name="RHQ_RES_ERROR_IDX_RES_ID">
+            <field ref="RESOURCE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_GROUP_DEF">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="DESCRIPTION" size="100" type="VARCHAR2"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="CALC_TIME" type="LONG"/>
+        <column name="CALC_INTERVAL" type="LONG"/>
+        <column name="RECURSIVE" type="BOOLEAN"/>
+        <column name="EXPRESSION" type="VARCHAR2" size="1000"/>
+
+        <index name="RHQ_GROUP_DEF_NAME" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_RESOURCE_GROUP">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <!-- this name can be longer than the size of the GROUP_BY column, which is \
used to uniquely identify it --> +        <!-- Max bytes for Oracle Varchar2 to \
accommodate large cluster keys --> +        <column name="NAME" required="true" \
size="4000" type="VARCHAR2"/> +        <column name="DESCRIPTION" size="100" \
type="VARCHAR2"/> +        <column name="LOCATION" required="false" size="100" \
type="VARCHAR2"/> +        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +        <!-- Compatible groups only -->
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="MODIFIED_BY" required="false" type="INTEGER"/>
+        <!-- TODO: Reorder to allow this references="RHQ_SUBJECT" -->
+        <column name="RECURSIVE" type="BOOLEAN"/>
+
+        <column name="GROUP_DEFINITION_ID" required="false" type="INTEGER" \
references="RHQ_GROUP_DEF"/> +        <column name="GROUP_BY" size="500" \
type="VARCHAR2"/> +
+        <column name="CATEGORY" type="VARCHAR2" size="20" required="true"/>
+
+        <column name="CLUSTER_KEY" type="VARCHAR2" size="4000" required="false"/>
+        
+        <!--  These two only set if this is a backing group for a resource cluster \
--> +        <column name="CLUSTER_RESOURCE_GROUP_ID" type="INTEGER" \
references="RHQ_RESOURCE_GROUP"/> +
+        <column name="VISIBLE" type="BOOLEAN"/>
+        
+        <index name="RHQ_RES_GROUP_NAME" unique="false">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- Many To Many mapping for groups to implicit resources -->
+    <table name="RHQ_RESOURCE_GROUP_RES_IMP_MAP">
+        <column name="RESOURCE_ID" required="true" type="INTEGER" \
references="RHQ_RESOURCE"/> +        <column name="RESOURCE_GROUP_ID" required="true" \
type="INTEGER" references="RHQ_RESOURCE_GROUP"/> +
+        <!-- not using full words to fit index name length -->
+        <constraint name="RHQ_RES_GROUP_RES_IMP_MAP_KEY">
+            <primaryKey>
+                <field ref="RESOURCE_ID"/>
+                <field ref="RESOURCE_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!-- Many To Many mapping for groups to explicit resources -->
+    <table name="RHQ_RESOURCE_GROUP_RES_EXP_MAP">
+        <column name="RESOURCE_ID" required="true" type="INTEGER" \
references="RHQ_RESOURCE"/> +        <column name="RESOURCE_GROUP_ID" required="true" \
type="INTEGER" references="RHQ_RESOURCE_GROUP"/> +
+        <!-- not using full words to fit index name length -->
+        <constraint name="RHQ_RES_GROUP_RES_EXP_MAP_KEY">
+            <primaryKey>
+                <field ref="RESOURCE_ID"/>
+                <field ref="RESOURCE_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_CONFIG_GROUP_UPDATE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="GROUP_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_GROUP"/> +        <column \
name="CONFIGURATION_ID" type="INTEGER" required="true" references="RHQ_CONFIG"/> +    \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="false" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="DTYPE" type="VARCHAR2" required="true" \
size="10"/> +    </table>
+
+    <table name="RHQ_CONFIG_UPDATE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="CONFIGURATION_ID" \
type="INTEGER" required="true" references="RHQ_CONFIG"  ondelete="cascade"/> +        \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="false" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="CONFIG_RES_ID" type="INTEGER" \
required="false" references="RHQ_RESOURCE"/> +        <column \
name="PLUGIN_CONFIG_RES_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +        <column name="AGG_RES_UPDATE_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_GROUP_UPDATE"/> +        <column \
name="AGG_PLUGIN_UPDATE_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_GROUP_UPDATE"/> +        <column name="DTYPE" type="VARCHAR2" \
required="true" size="10"/> +    </table>
+
+
+    <table name="RHQ_TAGGING">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAMESPACE" type="VARCHAR2" \
required="false" size="20"/> +        <column name="SEMANTIC" type="VARCHAR2" \
required="false" size="50"/> +        <column name="NAME" type="VARCHAR2" \
required="true" size="100"/> +    </table>
+
+    <table name="RHQ_TAGGING_RESOURCE_MAP">
+        <column name="RESOURCE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_RESOURCE_MAP_KEY"> +            <primaryKey>
+                <field ref="RESOURCE_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_TAGGING_RES_GROUP_MAP">
+        <column name="RESOURCE_GROUP_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_GROUP"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_RES_GROUP_MAP_KEY"> +            <primaryKey>
+                <field ref="RESOURCE_GROUP_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+<!-- END: inventory-schema.xml -->
+<!-- BEGIN: auth-schema.xml -->
+
+
+    <table name="RHQ_PRINCIPAL">
+
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PRINCIPAL" required="true" type="VARCHAR2" size="100"/>
+        <column name="PASSWORD" required="true" type="VARCHAR2" size="64"/>
+
+        <!-- ensure that principals are unique -->
+        <index name="RHQ_PRINCIPAL_PRINCIPAL_KEY" unique="true">
+            <field ref="PRINCIPAL"/>
+        </index>
+
+    </table>
+
+<!-- END: auth-schema.xml -->
+<!-- BEGIN: authz-schema.xml -->
+
+
+    <table name="RHQ_ROLE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="DESCRIPTION" size="100" type="VARCHAR2"/>
+        <column name="FSYSTEM" type="BOOLEAN" default="false"/>
+
+        <index name="RHQ_ROLE_NAME_KEY" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ROLE_RESOURCE_GROUP_MAP">
+        <column name="ROLE_ID" required="true" type="INTEGER" \
references="RHQ_ROLE"/> +        <column name="RESOURCE_GROUP_ID" required="true" \
type="INTEGER" references="RHQ_RESOURCE_GROUP"/> +
+        <constraint name="RHQ_ROLE_RES_GROUP_MAP_KEY">
+            <primaryKey>
+                <field ref="ROLE_ID"/>
+                <field ref="RESOURCE_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_ROLE_LDAP_GROUP">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ROLE_ID" required="true" type="INTEGER" \
references="RHQ_ROLE"/> +        <column name="LDAP_GROUP_NAME" size="128" \
required="true" type="VARCHAR2"/> +
+        <index name="RHQ_ROLE_LDAP_GROUP_IDX" unique="true">
+            <field ref="ROLE_ID"/>
+            <field ref="LDAP_GROUP_NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PERMISSION">
+        <column name="ROLE_ID" type="INTEGER" references="RHQ_ROLE" \
required="true"/> +        <column name="OPERATION" type="INTEGER" required="true"/>
+        <constraint name="RHQ_PERMISSION_PK">
+            <primaryKey>
+                <field ref="ROLE_ID"/>
+                <field ref="OPERATION"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_SUBJECT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="CONFIGURATION_ID" type="INTEGER" references="RHQ_CONFIG"/>
+        <column name="FIRST_NAME" required="false" size="100" type="VARCHAR2"/>
+        <column name="LAST_NAME" required="false" size="100" type="VARCHAR2"/>
+        <column name="EMAIL_ADDRESS" size="100" type="VARCHAR2"/>
+        <column name="SMS_ADDRESS" size="100" type="VARCHAR2"/>
+        <column name="PHONE_NUMBER" size="100" type="VARCHAR2"/>
+        <column name="DEPARTMENT" size="100" type="VARCHAR2"/>
+        <column name="FACTIVE" required="true" type="BOOLEAN" default="true"/>
+        <column name="FSYSTEM" required="true" type="BOOLEAN" default="false"/>
+
+        <index name="RHQ_SUBJECT_AUTH_KEY" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_SUBJECT_ROLE_MAP">
+        <column name="SUBJECT_ID" required="true" type="INTEGER" \
references="RHQ_SUBJECT"/> +        <column name="ROLE_ID" required="true" \
type="INTEGER" references="RHQ_ROLE"/> +
+        <constraint name="RHQ_SUBJECT_ROLE_MAPPING_KEY">
+            <primaryKey>
+                <field ref="SUBJECT_ID"/>
+                <field ref="ROLE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_SUBJECT_ROLE_LDAP_MAP">
+        <column name="SUBJECT_ID" required="true" type="INTEGER" \
references="RHQ_SUBJECT"/> +        <column name="ROLE_ID" required="true" \
type="INTEGER" references="RHQ_ROLE"/> +        <constraint \
name="RHQ_SUBJECT_ROLE_LDAP_MAP_PK"> +            <primaryKey>
+                <field ref="SUBJECT_ID" />
+                <field ref="ROLE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+<!-- END: authz-schema.xml -->
+<!-- BEGIN: search-schema.xml -->
+
+
+    <table name="RHQ_SAVED_SEARCH">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CONTEXT" type="VARCHAR2" \
size="25" required="true"/> +        
+        <column name="NAME" type="VARCHAR2" size="200" required="true"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="500" required="false"/>
+        <column name="PATTERN" type="VARCHAR2" size="1000" required="true"/>
+        
+        <column name="LAST_COMPUTE_TIME" type="LONG" required="true"/>
+        <column name="RESULT_COUNT" type="LONG" required="false"/>
+        
+        <column name="SUBJECT_ID" type="INTEGER" references="RHQ_SUBJECT" \
required="true"/> +        <column name="GLOBAL" type="BOOLEAN" required="true"/>
+    </table>
+
+<!-- END: search-schema.xml -->
+<!-- BEGIN: operation-schema.xml -->
+
+
+    <table name="RHQ_OPERATION_DEF">
+
+        <!-- === required columns === -->
+
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE(ID)"/> +        <column \
name="NAME" type="VARCHAR2" required="true" size="100"/> +
+        <!-- === optional columns === -->
+
+        <!-- an OSGI version range - if null, the operation def applies to all \
versions of the associated resource type --> +        <column \
name="RESOURCE_VERSION_RANGE" type="VARCHAR2" size="100"/> +
+        <!-- A parameter config definition is only required for operations that have \
parameters. --> +        <!-- A results config definition is only required for \
operations that return data. --> +        <column name="PARAMETER_CONFIG_DEF_ID" \
type="INTEGER" references="RHQ_CONFIG_DEF(ID)"/> +        <column \
name="RESULTS_CONFIG_DEF_ID" type="INTEGER" references="RHQ_CONFIG_DEF(ID)"/> +       \
<column name="DISPLAY_NAME" type="VARCHAR2" size="100"/> +        <column \
name="DESCRIPTION" type="VARCHAR2" size="4000"/> +        <column name="TIMEOUT" \
type="INTEGER"/> +
+        <!-- === business key (RESOURCE_TYPE_ID + NAME) === -->
+        <index name="RHQ_OPERATION_DEF_KEY_IDX" unique="true">
+            <field ref="RESOURCE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_OPERATION_HISTORY">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="DTYPE" type="VARCHAR2" \
required="true" size="8"/> +        <column name="JOB_NAME" type="VARCHAR2" \
required="true" size="100"/> +        <column name="JOB_GROUP" type="VARCHAR2" \
required="true" size="100"/> +        <column name="OPERATION_DEF_ID" type="INTEGER" \
required="true" references="RHQ_OPERATION_DEF"/> +        <column name="STATUS" \
type="VARCHAR2" required="true" size="16"/> +        <column name="ERROR_MESSAGE" \
type="LONGVARCHAR" required="false"/> +        <column name="SUBJECT_NAME" \
type="VARCHAR2" required="true" size="100"/> +        <column name="CTIME" \
type="LONG" required="true"/> +        <column name="STIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+        <column name="PARAMETERS_CONFIG_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG"/> +
+        <!-- for resource history -->
+        <column name="RESOURCE_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +        <column name="RESULTS_CONFIG_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG"/> +        <column name="GROUP_HISTORY_ID" \
type="INTEGER" required="false" references="RHQ_OPERATION_HISTORY"/> +
+        <!-- for group history -->
+        <column name="GROUP_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE_GROUP"/> +
+        <index name="RHQ_OPERATION_HISTORY_JOB_IDX" unique="true">
+            <field ref="JOB_NAME"/>
+            <field ref="JOB_GROUP"/>
+            <field ref="CTIME"/>
+        </index>
+
+    </table>
+
+    <!--
+    This table is really just to support some specific use-cases.
+    Specifically, to be able to get a list of histories for a specific schedule (aka \
quartz job) +    and to be able to query a list of all schedules along with their \
associated resource/group IDs +    possibly sorted by their next fire time.
+    Note that a NULL next fire time means it won't fire again and the row is probaby \
about to be deleted; +    we can probably not even insert rows with NULL and make it \
a non-nullable field.  But rather than +    code special conditions into the session \
bean, we'll allow a short-lived NULL next fire time row. +    -->
+    <table name="RHQ_OPERATION_SCHEDULE">
+        <column name="JOB_NAME" type="VARCHAR2" required="true" size="100"/>
+        <column name="JOB_GROUP" type="VARCHAR2" required="true" size="100"/>
+        <column name="DTYPE" type="VARCHAR2" required="true" size="8"/>
+        <column name="NEXT_FIRE_TIME" type="LONG" required="false"/>
+
+        <!-- for resource history -->
+        <column name="RESOURCE_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +
+        <!-- for group history -->
+        <column name="GROUP_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE_GROUP"/> +
+        <!--
+        Note that this is the same primary key that Quartz uses for its schedules \
(RHQ_qrtz_job_details). +        We do not need to add DTYPE to the key, because we \
ensure the name/group are unique +        across resource/group schedules
+        -->
+        <constraint name="RHQ_OPERATION_SCHEDULE_KEY">
+            <primaryKey>
+                <field ref="JOB_NAME"/>
+                <field ref="JOB_GROUP"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+<!-- END: operation-schema.xml -->
+<!-- BEGIN: event-schema.xml -->
+
+
+    <!-- metadata -->
+
+    <table name="RHQ_EVENT_DEF">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_TYPE(ID)"/> +
+        <column name="NAME" type="VARCHAR2" size="100" required="true"/>
+        <column name="DISPLAY_NAME" type="VARCHAR2" size="100"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+
+        <index name="RHQ_EVENT_DEF_IDX" unique="true">
+            <field ref="RESOURCE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- instance data -->
+
+    <table name="RHQ_EVENT_SOURCE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="EVENT_DEF_ID" type="INTEGER" required="true" \
references="RHQ_EVENT_DEF(ID)"/> +        <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE(ID)"/> +
+        <column name="LOCATION" required="true" size="2000" type="VARCHAR2"/>
+
+        <index name="RHQ_EVENT_SOURCE_IDX" unique="true">
+            <field ref="EVENT_DEF_ID"/>
+            <field ref="RESOURCE_ID"/>
+            <field ref="LOCATION"/>
+        </index>
+    </table>
+
+    <table name="RHQ_EVENT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="EVENT_SOURCE_ID" type="INTEGER" required="true" \
references="RHQ_EVENT_SOURCE(ID)"/> +
+        <column name="TIMESTAMP" required="true" type="LONG"/>
+        <column name="SEVERITY" required="true" size="20" type="VARCHAR2"/>
+        <column name="DETAIL" required="true" size="4000" type="VARCHAR2"/>
+        <index name="RHQ_EVENT_IDX" unique="false">
+            <field ref="EVENT_SOURCE_ID"/>
+            <field ref="TIMESTAMP"/>
+        </index>
+    </table>
+
+<!-- END: event-schema.xml -->
+<!-- BEGIN: alert-schema.xml -->
+
+
+    <table name="RHQ_ALERT_DEFINITION">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="CTIME" type="LONG" required="true"/>
+        <column name="MTIME" type="LONG" required="true"/>
+        <column name="PARENT_ID" type="INTEGER" required="false"/>
+        <column name="GROUP_ALERT_DEF_ID" type="INTEGER" required="false"/>
+        <column name="DESCRIPTION" required="false" size="250" type="VARCHAR2"/>
+        <column name="PRIORITY" type="VARCHAR2" size="15" required="true"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE" required="false"/> +        <column name="RESOURCE_ID" \
type="INTEGER" references="RHQ_RESOURCE" required="false"/> +        <column \
name="RESOURCE_GROUP_ID" type="INTEGER" references="RHQ_RESOURCE_GROUP" \
required="false"/> +        <column name="ENABLED" required="true" default="TRUE" \
type="BOOLEAN"/> +
+        <column name="REQUIRED" required="true" type="SMALLINT"/>
+
+        <column name="RECOVERY_ID" type="INTEGER" required="true"/>
+        <!-- required, but 0 effectively means null -->
+        <column name="WILL_RECOVER" required="true" default="false" type="BOOLEAN"/>
+        <column name="NOTIFY_FILTERED" required="true" default="false" \
type="BOOLEAN"/> +        <column name="CONTROL_FILTERED" required="true" \
default="FALSE" type="BOOLEAN"/> +
+        <column name="DELETED" required="true" default="FALSE" type="BOOLEAN"/>
+        <column name="READ_ONLY" required="true" default="FALSE" type="BOOLEAN"/>
+
+        <column name="DAMPENING_CATEGORY" type="SMALLINT" required="true"/>
+        <column name="DAMPENING_VALUE" type="INTEGER"/>
+        <column name="DAMPENING_VALUE_UNITS" type="SMALLINT"/>
+        <column name="DAMPENING_PERIOD" type="INTEGER"/>
+        <column name="DAMPENING_PERIOD_UNITS" type="SMALLINT"/>
+    </table>
+
+    <table name="RHQ_ALERT_DAMPEN_EVENT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ALERT_DEFINITION_ID" \
required="false" type="INTEGER" references="RHQ_ALERT_DEFINITION(ID)"/> +        \
<column name="EVENT_TYPE" required="true" type="SMALLINT"/> +        <column \
name="EVENT_TIMESTAMP" required="true" type="LONG"/> +
+        <index name="RHQ_DAMPENING_EVENT_TYPE_IDX">
+            <field ref="EVENT_TYPE"/>
+        </index>
+        <index name="RHQ_DAMPENING_EVENT_TS_IDX">
+            <field ref="EVENT_TIMESTAMP"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ALERT_CONDITION">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="TYPE" required="true" type="VARCHAR2" size="15"/>
+        <!--
+           <column name="REQUIRED" required="true"  type="BOOLEAN"/>
+        -->
+        <column name="MEASUREMENT_DEFINITION_ID" required="false" type="INTEGER"/>
+        <column name="NAME" required="false" size="100" type="VARCHAR2"/>
+        <column name="COMPARATOR" required="false" size="2" type="VARCHAR2"/>
+        <column name="THRESHOLD" required="false" type="DOUBLE"/>
+        <!-- event-based conditions use OPTION_STATUS for the string match, so \
should be a decent length --> +        <column name="OPTION_STATUS" required="false" \
size="256" type="VARCHAR2"/> +        <column name="ALERT_DEFINITION_ID" \
required="false" type="INTEGER" references="RHQ_ALERT_DEFINITION(ID)"/> +        \
<column name="TRIGGER_ID" required="false" type="INTEGER"/> +    </table>
+
+    <table name="RHQ_ALERT" tablespace="DEFAULT"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ALERT_DEFINITION_ID" required="false" type="INTEGER" \
references="RHQ_ALERT_DEFINITION(ID)"/> +        <column name="CTIME" required="true" \
type="LONG"/> +        <column name="RECOVERY_ID" type="INTEGER" required="true"/>
+        <!-- required, but 0 effectively means null -->
+        <column name="WILL_RECOVER" required="true" default="false" type="BOOLEAN"/>
+        <column name="ACK_TIME" required="false" type="LONG"/>
+        <column name="ACK_SUBJECT" required="false" size="100" type="VARCHAR2"/>
+        <index name="RHQ_ALERT_IDX_TIME" unique="false">
+            <field ref="CTIME"/>
+        </index>
+        <index name="RHQ_ALERT_IDX_ALERTDEF" unique="false">
+            <field ref="ALERT_DEFINITION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ALERT_NOTIF_LOG" tablespace="DEFAULT"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ALERT_ID" required="true" type="INTEGER" \
references="RHQ_ALERT(ID)"/> +        <index name="RHQ_ALERT_IDX_ALERT" \
unique="false"> +            <field ref="ALERT_ID"/>
+        </index>
+        <column name="SENDER" required="false" size="100" type="VARCHAR2"/>
+        <column name="RESULT_STATE" required="false" size="20" type="VARCHAR2"/>
+        <column name="MESSAGE" required="false" size="4000" type="VARCHAR2"/>
+    </table>
+
+    <table name="RHQ_ALERT_CONDITION_LOG" tablespace="DEFAULT"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="CTIME" required="true" type="LONG"/>
+        <column name="ALERT_ID" required="false" type="INTEGER" \
references="RHQ_ALERT(ID)"/> +        <column name="CONDITION_ID" required="true" \
type="INTEGER" references="RHQ_ALERT_CONDITION(ID)"/> +        <column name="VALUE" \
required="false" size="250" type="VARCHAR2"/> +        <index \
name="RHQ_ALERT_COND_LOG_IDX_TIME"> +            <field ref="CTIME" />
+        </index>
+        <index name="RHQ_ALERT_COND_LOG_IDX_ALERT">
+            <field ref="ALERT_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ALERT_NOTIFICATION" tablespace="DEFAULT"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ALERT_DEFINITION_ID" required="false" type="INTEGER" \
references="RHQ_ALERT_DEFINITION(ID)"/> +        <column name="SENDER_CONFIG_ID" \
required="false" type="INTEGER" references="RHQ_CONFIG(ID)"/> +        <column \
name="EXTRA_CONFIG_ID" required="false" type="INTEGER" references="RHQ_CONFIG(ID)"/> \
+        <column name="SENDER_NAME" required="true" size="100" type="VARCHAR2" /> +   \
</table> +
+<!-- END: alert-schema.xml -->
+<!-- BEGIN: sysconfig-schema.xml -->
+
+
+    <table name="RHQ_SYSTEM_CONFIG">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PROPERTY_KEY" type="VARCHAR2" size="80"/>
+        <column name="PROPERTY_VALUE" type="VARCHAR2" size="300"/>
+        <column name="DEFAULT_PROPERTY_VALUE" type="VARCHAR2" size="300"/>
+        <column name="FREAD_ONLY" type="BOOLEAN" default="FALSE"/>
+
+        <index name="RHQ_SYSTEM_CONFIG_KEY_INDX" unique="true">
+            <field ref="PROPERTY_KEY"/>
+        </index>
+    </table>
+
+<!-- END: sysconfig-schema.xml -->
+<!-- BEGIN: scheduler-schema.xml -->
+
+
+    <table name="RHQ_QRTZ_JOB_DETAILS">
+        <column name="JOB_NAME" required="true" type="VARCHAR2" size="80"/>
+        <column name="JOB_GROUP" required="true" type="VARCHAR2" size="80"/>
+        <column name="DESCRIPTION" required="false" type="VARCHAR2" size="120"/>
+        <column name="JOB_CLASS_NAME" required="true" type="VARCHAR2" size="128"/>
+        <column name="IS_DURABLE" required="true" type="BOOLEAN" default="FALSE"/>
+        <column name="IS_VOLATILE" required="true" type="BOOLEAN"/>
+        <column name="IS_STATEFUL" required="true" type="BOOLEAN" default="FALSE"/>
+        <column name="REQUESTS_RECOVERY" required="true" type="BOOLEAN" \
default="FALSE"/> +        <column name="JOB_DATA" required="false" type="BLOB"/>
+
+        <constraint name="RHQ_PK_QRTZ_JOB_DETAILS">
+            <primaryKey>
+                <field ref="JOB_NAME"/>
+                <field ref="JOB_GROUP"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_QRTZ_JOB_LISTENERS">
+        <column name="JOB_NAME" required="true" type="VARCHAR2" size="80"/>
+        <column name="JOB_GROUP" required="true" type="VARCHAR2" size="80"/>
+        <column name="JOB_LISTENER" required="true" type="VARCHAR2" size="80"/>
+
+        <constraint name="RHQ_PK_QRTZ_JOB_LISTENERS">
+            <primaryKey>
+                <field ref="JOB_NAME"/>
+                <field ref="JOB_GROUP"/>
+                <field ref="JOB_LISTENER"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_JOB_LSTNRS_JN_JG">
+            <foreignKey local="JOB_NAME,JOB_GROUP"
+                        references="RHQ_QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+    </table>
+
+    <table name="RHQ_QRTZ_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" required="true" size="80"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" required="true" size="80"/>
+        <column name="JOB_NAME" type="VARCHAR2" required="true" size="80"/>
+        <column name="JOB_GROUP" type="VARCHAR2" required="true" size="80"/>
+        <column name="IS_VOLATILE" type="BOOLEAN" required="true"/>
+        <column name="DESCRIPTION" type="VARCHAR2" required="false" size="120"/>
+        <column name="NEXT_FIRE_TIME" type="LONG" required="false"/>
+        <column name="PREV_FIRE_TIME" type="LONG" required="false"/>
+        <column name="PRIORITY" type="INTEGER" required="false"/>
+        <column name="TRIGGER_STATE" type="VARCHAR" required="true" size="16"/>
+        <column name="TRIGGER_TYPE" type="VARCHAR" required="true" size="8"/>
+        <column name="START_TIME" type="LONG" required="true"/>
+        <column name="END_TIME" type="LONG" required="false"/>
+        <column name="CALENDAR_NAME" type="VARCHAR2" required="false" size="80"/>
+        <column name="MISFIRE_INSTR" type="INTEGER" required="false"/>
+        <column name="JOB_DATA" type="BLOB" required="false"/>
+
+        <constraint name="RHQ_PK_QRTZ_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_TRIGGERS_JN_JG">
+            <foreignKey local="JOB_NAME,JOB_GROUP"
+                        references="RHQ_QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend these indexes. -->
+        <index name="RHQ_QRTZ_TRIGGERS_JN_JG_IDX">
+            <field ref="JOB_NAME"/>
+            <field ref="JOB_GROUP"/>
+        </index>
+        <index name="RHQ_QRTZ_TRIGGERS_NFT_IDX">
+            <field ref="NEXT_FIRE_TIME"/>
+        </index>
+        <index name="RHQ_QRTZ_TRIGGERS_TS_IDX">
+            <field ref="TRIGGER_STATE"/>
+        </index>
+        <index name="RHQ_QRTZ_TRIGGERS_TS_NFT_IDX">
+            <field ref="TRIGGER_STATE"/>
+            <field ref="NEXT_FIRE_TIME"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_QRTZ_SIMPLE_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" required="true" size="80"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" required="true" size="80"/>
+        <column name="REPEAT_COUNT" type="LONG" required="true"/>
+        <column name="REPEAT_INTERVAL" type="LONG" required="true"/>
+        <column name="TIMES_TRIGGERED" type="LONG" required="true"/>
+
+        <constraint name="RHQ_PK_QRTZ_SIMPLE_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_SIMPLE_TRGRS_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <!-- Commenting out, because Oracle auto-creates an index for the
+              primary key column(s) and fails if you try to create another
+             index for the same column(s) (ips, 03/29/07).
+        -->
+        <!--
+      <index name="RHQ_QRTZ_SIMPLE_TRGRS_TN_TG_IDX">
+         <field ref="TRIGGER_NAME"/>
+         <field ref="TRIGGER_GROUP"/>
+      </index>
+      -->
+    </table>
+
+    <table name="RHQ_QRTZ_CRON_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" required="true"/>
+        <column name="CRON_EXPRESSION" type="VARCHAR2" size="80" required="true"/>
+        <column name="TIME_ZONE_ID" type="VARCHAR2" size="80" required="false"/>
+
+        <constraint name="RHQ_PK_QRTZ_CRON_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_CRON_TRIG_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <!-- Commenting out, because Oracle auto-creates an index for the
+              primary key column(s) and fails if you try to create another
+             index for the same column(s) (ips, 03/29/07).
+        -->
+        <!--
+      <index name="RHQ_QRTZ_CRON_TRGRS_TN_TG_IDX">
+         <field ref="TRIGGER_NAME"/>
+         <field ref="TRIGGER_GROUP"/>
+      </index>
+      -->
+    </table>
+
+    <table name="RHQ_QRTZ_BLOB_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" required="true"/>
+        <column name="BLOB_DATA" type="BLOB" required="false"/>
+
+        <constraint name="RHQ_PK_QRTZ_BLOB_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_BLOB_TRIGG_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <!-- Commenting out, because Oracle auto-creates an index for the
+              primary key column(s) and fails if you try to create another
+             index for the same column(s) (ips, 03/29/07).
+        -->
+        <!--
+        <index name="RHQ_QRTZ_BLOB_TRGRS_TN_TG_IDX">
+           <field ref="TRIGGER_NAME"/>
+           <field ref="TRIGGER_GROUP"/>
+        </index>
+        -->
+    </table>
+
+    <table name="RHQ_QRTZ_TRIGGER_LISTENERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_LISTENER" type="VARCHAR2" size="80" required="true"/>
+
+        <constraint name="RHQ_PK_QRTZ_TRIGGER_LISTENERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+                <field ref="TRIGGER_LISTENER"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_TRGR_LSTNRS_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <index name="RHQ_QRTZ_TRGR_LSTNRS_TN_TG_IDX">
+            <field ref="TRIGGER_NAME"/>
+            <field ref="TRIGGER_GROUP"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_QRTZ_FIRED_TRIGGERS">
+        <column name="ENTRY_ID" primarykey="true" type="VARCHAR2" size="95" \
required="true"/> +        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" \
required="true"/> +        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" \
required="true"/> +        <column name="INSTANCE_NAME" type="VARCHAR2" size="80" \
required="true"/> +        <column name="FIRED_TIME" type="LONG" required="true"/>
+        <column name="PRIORITY" type="INTEGER" required="false"/>
+        <column name="STATE" type="VARCHAR2" size="16" required="true"/>
+        <column name="IS_VOLATILE" type="BOOLEAN" required="true"/>
+        <column name="JOB_NAME" type="VARCHAR2" size="80" required="false"/>
+        <column name="JOB_GROUP" type="VARCHAR2" size="80" required="false"/>
+        <column name="IS_STATEFUL" type="BOOLEAN" required="false"/>
+        <column name="REQUESTS_RECOVERY" type="BOOLEAN" required="false"/>
+
+        <!-- Quartz docs recommend these indexes. -->
+        <index name="RHQ_QRTZ_FIRED_TRGRS_TN_IDX">
+            <field ref="TRIGGER_NAME"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_TG_IDX">
+            <field ref="TRIGGER_GROUP"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_TN_TG_IDX">
+            <field ref="TRIGGER_NAME"/>
+            <field ref="TRIGGER_GROUP"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_IN_IDX">
+            <field ref="INSTANCE_NAME"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_JN_IDX">
+            <field ref="JOB_NAME"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_JG_IDX">
+            <field ref="JOB_GROUP"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_QRTZ_CALENDARS">
+        <column name="CALENDAR_NAME" primarykey="true" type="VARCHAR2" size="80" \
required="true"/> +        <column name="CALENDAR" type="BLOB" required="true"/>
+    </table>
+
+    <table name="RHQ_QRTZ_PAUSED_TRIGGER_GRPS">
+        <column name="TRIGGER_GROUP" primarykey="true" type="VARCHAR2" size="80" \
required="true"/> +    </table>
+
+    <table name="RHQ_QRTZ_SCHEDULER_STATE">
+        <column name="INSTANCE_NAME" primarykey="true" type="VARCHAR2" size="80" \
required="true"/> +        <column name="LAST_CHECKIN_TIME" type="LONG" \
required="true"/> +        <column name="CHECKIN_INTERVAL" type="LONG" \
required="true"/> +        <column name="RECOVERER" type="VARCHAR2" size="80" \
required="false"/> +    </table>
+
+    <table name="RHQ_QRTZ_LOCKS">
+        <column name="LOCK_NAME" primarykey="true" type="VARCHAR2" size="40" \
required="true"/> +        <data LOCK_NAME="TRIGGER_ACCESS"/>
+        <data LOCK_NAME="JOB_ACCESS"/>
+        <data LOCK_NAME="CALENDAR_ACCESS"/>
+        <data LOCK_NAME="STATE_ACCESS"/>
+        <data LOCK_NAME="MISFIRE_ACCESS"/>
+    </table>
+
+<!-- END: scheduler-schema.xml -->
+<!-- BEGIN: amps-schema.xml -->
+
+
+    <table name="RHQ_PLUGIN">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="VERSION" size="200" \
type="VARCHAR2" required="false"/> +        <column name="AMPS_VERSION" size="16" \
type="VARCHAR2" required="false"/> +        <column name="ENABLED" type="BOOLEAN" \
required="true"/> +        <column name="STATUS" size="16" type="VARCHAR2" \
required="true"/> +        <column name="HELP" type="CLOB" required="false"/>
+        <column name="PATH" size="500" type="VARCHAR2" required="true"/>
+        <column name="MD5" size="100" type="VARCHAR2" required="true"/>
+        <column name="CTIME" type="LONG" required="true"/>
+        <column name="MTIME" type="LONG" required="true"/>
+        <column name="DEPLOYMENT" size="8" type="VARCHAR2" required="true"/>
+        <column name="PTYPE" size="200" type="VARCHAR2" required="false"/>
+        <column name="PLUGIN_CONFIG_ID" type="INTEGER" references="RHQ_CONFIG" \
required="false"/> +        <column name="JOBS_CONFIG_ID" type="INTEGER" \
references="RHQ_CONFIG" required="false"/> +        <column name="CONTENT" \
type="BLOB" required="false"/> +
+        <index name="RHQ_PLUGIN_NAME_DEPLOY_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="DEPLOYMENT"/>
+        </index>
+    </table>
+
+<!-- END: amps-schema.xml -->
+<!-- BEGIN: measurement-schema.xml -->
+
+   <table name="RHQ_MEASUREMENT_DEF">
+
+      <!-- === required columns === -->
+      <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +      <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE(ID)"/> +      <column \
name="NAME" type="VARCHAR2" size="100" required="true"/> +
+      <!-- === optional columns === -->
+      <!-- an OSGI version range - if null, the metric def applies to all versions \
of the associated resource type --> +      <column name="RESOURCE_VERSION_RANGE" \
type="VARCHAR2" size="100"/> +      <column name="CATEGORY" type="SMALLINT"/>
+      <column name="UNITS" type="SMALLINT"/>
+      <column name="NUMERIC_TYPE" type="SMALLINT"/>
+      <column name="DISPLAY_TYPE" type="SMALLINT"/>
+      <column name="DATA_TYPE" type="SMALLINT"/>
+      <column name="RAW_NUMERIC_TYPE" type="SMALLINT"/>
+      <column name="DEFAULT_ON" type="BOOLEAN" default="false"/>
+      <column name="DEFAULT_INTERVAL" type="LONG" />
+      <column name="DISPLAY_NAME" type="VARCHAR2" size="100"/>
+      <column name="DISPLAY_ORDER" type="INTEGER" default="1000"/>
+      <column name="DESCRIPTION" type="VARCHAR2" size="500"/>
+      <column name="DESTINATION_TYPE" type="VARCHAR2" size="100"/>
+
+      <column name="VERSION" type="INTEGER"/>
+      <!-- for optimistic locking -->
+
+      <!-- === business key (RESOURCE_TYPE_ID + NAME + RAW_NUMERIC_TYPE) === -->
+      <index name="RHQ_METRIC_DEF_KEY_IDX" unique="true">
+         <field ref="RESOURCE_TYPE_ID"/>
+         <field ref="NAME"/>
+         <field ref="RAW_NUMERIC_TYPE"/>
+      </index>
+      <index name="RHQ_METRIC_DEF_NT_IDX">
+          <field ref="NUMERIC_TYPE"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_SCHED">
+      <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +
+      <column name="ENABLED" type="BOOLEAN" default="false"/>
+      <column name="MTIME" type="LONG" />
+      <column name="DEFINITION" type="INTEGER" \
references="RHQ_MEASUREMENT_DEF(ID)"/> +      <column name="VERSION" type="INTEGER" \
/> +      <column name="COLL_INTERVAL" type="LONG" />
+      <column name="RESOURCE_ID" type="INTEGER" references="RHQ_RESOURCE(ID)"/>
+      <index name="RHQ_MEAS_SCHED_UNIQ" unique="true">
+         <field ref="RESOURCE_ID"/>
+         <field ref="DEFINITION"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_BLINE">
+      <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +
+      <column name="BL_USER_ENTERED" type="BOOLEAN" default="false" \
required="true"/> +      <column name="BL_MIN" type="DOUBLE" required="true"/>
+      <column name="BL_MAX" type="DOUBLE" required="true"/>
+      <column name="BL_MEAN" type="DOUBLE" required="true"/>
+      <column name="BL_COMPUTE_TIME" type="LONG" required="true"/>
+      <column name="SCHEDULE_ID" type="INTEGER" required="true" \
references="RHQ_MEASUREMENT_SCHED(ID)"/> +      <index \
name="RHQ_MEAS_BASELINE_CTIME_IDX"> +         <field ref="BL_COMPUTE_TIME"/>
+      </index>
+      <index name="RHQ_MEAS_BASELINE_SID_IDX">
+         <field ref="SCHEDULE_ID"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_NUM_1H" logging="false" cache="true"
+          tablespace="DEFAULT" storage-options="freelists 20">
+
+      <column name="TIME_STAMP" required="true" type="LONG"/>
+      <column name="SCHEDULE_ID" required="true" type="INTEGER"/>
+      <column name="VALUE" required="false" type="DOUBLE"/>
+      <column name="MINVALUE" required="false" type="DOUBLE"/>
+      <column name="MAXVALUE" required="false" type="DOUBLE"/>
+
+      <constraint name="RHQ_MEAS_DATA_1H_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+
+      <index name="RHQ_MEAS_DATA_1H_TIME_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_NUM_6H" logging="false" cache="true"
+          tablespace="DEFAULT" storage-options="freelists 20">
+
+      <column name="TIME_STAMP" required="true" type="LONG"/>
+      <column name="SCHEDULE_ID" required="true" type="INTEGER"/>
+      <column name="VALUE" required="false" type="DOUBLE"/>
+      <column name="MINVALUE" required="false" type="DOUBLE"/>
+      <column name="MAXVALUE" required="false" type="DOUBLE"/>
+
+      <constraint name="RHQ_MEAS_DATA_6H_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+
+      <index name="RHQ_MEAS_DATA_6H_TIME_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_NUM_1D" logging="false" cache="true"
+          tablespace="DEFAULT" storage-options="freelists 20">
+
+      <column name="TIME_STAMP" required="true" type="LONG"/>
+      <column name="SCHEDULE_ID" required="true" type="INTEGER"/>
+      <column name="VALUE" required="false" type="DOUBLE"/>
+      <column name="MINVALUE" required="false" type="DOUBLE"/>
+      <column name="MAXVALUE" required="false" type="DOUBLE"/>
+
+      <constraint name="RHQ_MEAS_DATA_1D_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_TRAIT">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER" />
+      <column name="VALUE" type="VARCHAR2" size="4000" />
+      <constraint name="RHQ_MEAS_DATA_TRAIT_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+
+
+   <table name="RHQ_CALLTIME_DATA_KEY">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="SCHEDULE_ID" type="INTEGER" \
required="true"/> +      <column name="CALL_DESTINATION" type="VARCHAR2" size="4000" \
required="true"/> +      <index name="RHQ_CALLTIME_DATA_KEY_IDX" unique="true">
+         <field ref="SCHEDULE_ID"/>
+         <field ref="CALL_DESTINATION"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_CALLTIME_DATA_VALUE">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="KEY_ID" type="INTEGER" \
references="RHQ_CALLTIME_DATA_KEY" required="true"/> +      <column name="BEGIN_TIME" \
type="LONG" required="true"/> +      <column name="END_TIME" type="LONG" \
required="true"/> +      <column name="MINIMUM" type="DOUBLE" required="true"/>
+      <column name="MAXIMUM" type="DOUBLE" required="true"/>
+      <column name="TOTAL" type="DOUBLE" required="true"/>
+      <column name="COUNT" type="LONG" required="true"/>
+      <index name="RHQ_CT_DA_VA_END_TIM_IDX">
+          <field ref="END_TIME"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_AVAILABILITY">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE(ID)"/> +      <column name="START_TIME" \
type="LONG" required="true" /> +      <column name="END_TIME" type="LONG" \
required="false" /> +      <column name="AVAILABILITY_TYPE" type="SMALLINT" \
required="false" /> +      <index name="RHQ_AVAIL_RESOURCE_START_IDX">
+         <field ref="RESOURCE_ID"/>
+         <field ref="START_TIME"/>
+      </index>
+      <!-- only one null row can exist for any resource -->
+      <index name="RHQ_AVAIL_RESOURCE_END_IDX" condition="END_TIME IS NULL">
+         <field ref="RESOURCE_ID"/>
+         <field ref="END_TIME" />
+      </index>
+   </table>
+
+   <table name="RHQ_RESOURCE_AVAIL">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE(ID)" ondelete="cascade"/> +      <column \
name="AVAILABILITY_TYPE" type="SMALLINT" required="false" /> +      <index \
name="RHQ_RESOURCE_AVAIL_IDX"> +         <field ref="RESOURCE_ID" />
+      </index>
+   </table>
+
+   <table name="RHQ_MEASUREMENT_OOB">
+       <column name="SCHEDULE_ID" type="INTEGER" \
references="RHQ_MEASUREMENT_SCHED(ID)" required="true"/> +       <column \
name="TIME_STAMP" type="LONG" required="true"/> +       <column name="OOB_FACTOR" \
type="INTEGER" required="true" /> +       <constraint name="RHQ_MEAS_OOB_ID_PK">
+          <primaryKey>
+             <field ref="SCHEDULE_ID"/>
+          </primaryKey>
+       </constraint>
+   </table>
+
+   <table name="RHQ_MEASUREMENT_OOB_TMP">
+       <column name="SCHEDULE_ID" type="INTEGER" required="true"/>
+       <column name="TIME_STAMP" type="LONG" required="true"/>
+       <column name="OOB_FACTOR" type="INTEGER" required="true" />
+       <constraint name="RHQ_MEAS_OOB_TMP_ID_PK">
+          <primaryKey>
+             <field ref="SCHEDULE_ID"/>
+          </primaryKey>
+       </constraint>
+   </table>
+
+   <table name="RHQ_NUMBERS">
+      <column name="i" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true" /> +   </table>
+
+
+   <table name="RHQ_MEAS_DATA_NUM_R00">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R00_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R00_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R01">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R01_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R01_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R02">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R02_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R02_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R03">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R03_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R03_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R04">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R04_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R04_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R05">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R05_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R05_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R06">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R06_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R06_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R07">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R07_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R07_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R08">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R08_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R08_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R09">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R09_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R09_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R10">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R10_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R10_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R11">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R11_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R11_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R12">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R12_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R12_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R13">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R13_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R13_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R14">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R14_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R14_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+
+<!-- END: measurement-schema.xml -->
+<!-- BEGIN: content-schema.xml -->
+
+
+    <table name="RHQ_ARCHITECTURE">
+        <column name="ID" default="sequence-only" initial="100" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="50" \
type="VARCHAR2" required="true"/> +        <index name="RHQ_ARCHITECTURE_NAME_IDX" \
unique="true"> +            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_REPO_GROUP_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +    </table>
+
+
+    <table name="RHQ_REPO_GROUP">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +
+        <column name="REPO_GROUP_TYPE_ID" type="INTEGER" \
references="RHQ_REPO_GROUP_TYPE" required="true"/> +
+        <index name="RHQ_REPO_GROUP_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="REPO_GROUP_TYPE_ID"/>
+        </index>
+    </table>
+
+
+    <table name="RHQ_CONTENT_SOURCE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="false"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="PLUGIN_NAME" size="100" \
type="VARCHAR2" required="false"/> +        <!-- we might want this as part of \
natural key --> +        <column name="DEFAULT_LAZY_LOAD" type="BOOLEAN" \
required="true"/> +        <column name="DEFAULT_DOWNLOAD_MODE" size="16" \
type="VARCHAR2" required="true"/> +        <column name="DEFAULT_SYNC_SCHEDULE" \
size="64" type="VARCHAR2" required="false"/> +        <column name="API_CLASS" \
size="100" type="VARCHAR2" required="true"/> +
+        <column name="SOURCE_CONFIG_DEF_ID" type="INTEGER" \
references="RHQ_CONFIG_DEF" required="false"/> +
+        <index name="RHQ_CONTENT_SOURCE_TYPE_IDX" unique="true">
+            <field ref="NAME"/>
+            <!-- <field ref="PLUGIN_NAME"/> -->
+        </index>
+    </table>
+
+    <table name="RHQ_CONTENT_SOURCE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="LAZY_LOAD" type="BOOLEAN" \
required="true"/> +        <column name="DOWNLOAD_MODE" size="16" type="VARCHAR2" \
required="true"/> +        <column name="SYNC_SCHEDULE" size="64" type="VARCHAR2" \
required="false"/> +        <column name="LOAD_ERROR_MESSAGE" type="LONGVARCHAR" \
required="false"/> +        <column name="CREATION_TIME" type="LONG" \
required="true"/> +        <column name="LAST_MODIFIED_TIME" type="LONG" \
required="true"/> +
+        <column name="CONTENT_SOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_CONTENT_SOURCE_TYPE" required="true"/> +        <column \
name="CONFIGURATION_ID" type="INTEGER" references="RHQ_CONFIG" required="false"/> +
+        <index name="RHQ_CONTENT_SOURCE_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="CONTENT_SOURCE_TYPE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_REPO">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CREATION_TIME" type="LONG" \
required="true"/> +        <column name="LAST_MODIFIED_TIME" type="LONG" \
required="true"/> +        <column name="IS_CANDIDATE" type="BOOLEAN" \
required="true"/> +        <column name="SYNC_SCHEDULE" size="64" type="VARCHAR2" \
required="false"/> +
+        <index name="RHQ_REPO_IDX" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+
+    <table name="RHQ_REPO_RELATION_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +    </table>
+
+
+    <table name="RHQ_REPO_RELATION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="RELATED_REPO_ID" \
type="INTEGER" references="RHQ_REPO" required="true"/> +        <column \
name="REPO_RELATION_TYPE_ID" type="INTEGER" references="RHQ_REPO_RELATION_TYPE" \
required="true"/> +    </table>
+
+
+
+    <table name="RHQ_PACKAGE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="false"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CATEGORY" size="50" \
type="VARCHAR2" required="false"/> +        <column name="DISCOVERY_INTERVAL" \
type="INTEGER" required="false"/> +        <column name="IS_CREATION_DATA" \
type="BOOLEAN" required="true"/> +        <column name="SUPPORTS_ARCHITECTURE" \
type="BOOLEAN" required="true"/> +
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE" required="true"/> +        <column \
name="DEPLOYMENT_CONFIG_DEF_ID" type="INTEGER" references="RHQ_CONFIG_DEF" \
required="false"/> +        <column name="PACKAGE_EXTRA_CONFIG_ID" type="INTEGER" \
references="RHQ_CONFIG_DEF" required="false"/> +
+        <index name="RHQ_PACKAGE_TYPE_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="RESOURCE_TYPE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_PACKAGE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="CLASSIFICATION" size="200" \
type="VARCHAR2" required="false"/> +
+        <column name="PACKAGE_TYPE_ID" type="INTEGER" references="RHQ_PACKAGE_TYPE" \
required="true"/> +
+        <index name="RHQ_PACKAGE_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="PACKAGE_TYPE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PACKAGE_BITS">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="BITS" type="LARGEOBJECT" \
required="false"/> +    </table>
+
+    <table name="RHQ_PACKAGE_VERSION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="false"/> +        <column name="SHORT_DESCRIPTION" \
size="10000" type="CLOB" required="false"/> +        <column name="LONG_DESCRIPTION" \
size="50000" type="CLOB" required="false"/> +        <column name="VERSION" \
size="500" type="VARCHAR2" required="true"/> +        <column name="DISPLAY_VERSION" \
size="500" type="VARCHAR2" required="false"/> +        <column name="FILE_NAME" \
size="255" type="VARCHAR2" required="false"/> +        <column name="FILE_SIZE" \
type="LONG" required="false"/> +        <column name="FILE_MD5" size="32" \
type="VARCHAR2" required="false"/> +        <column name="FILE_SHA256" size="64" \
type="VARCHAR2" required="false"/> +        <column name="FILE_CREATION_TIME" \
type="LONG" required="false"/> +        <column name="LICENSE_NAME" size="255" \
type="VARCHAR2" required="false"/> +        <column name="LICENSE_VERSION" size="20" \
type="VARCHAR2" required="false"/> +        <column name="METADATA" type="BLOB" \
required="false"/> +
+        <column name="PACKAGE_ID" type="INTEGER" references="RHQ_PACKAGE" \
required="true"/> +        <column name="ARCHITECTURE_ID" type="INTEGER" \
references="RHQ_ARCHITECTURE" required="true"/> +        <column name="CONFIG_ID" \
type="INTEGER" references="RHQ_CONFIG" required="false"/> +        <column \
name="PACKAGE_BITS_ID" type="INTEGER" references="RHQ_PACKAGE_BITS" \
required="false"/> +
+        <index name="RHQ_PACKAGE_VERSION_IDX" unique="true">
+            <field ref="PACKAGE_ID"/>
+            <field ref="VERSION"/>
+            <field ref="ARCHITECTURE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_CONTENT_REQ">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE"/> +        <column \
name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="true" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="REQUEST_TYPE" type="VARCHAR2" \
required="true" size="20"/> +        <column name="NOTES" type="VARCHAR2" \
required="false" size="512"/> +    </table>
+
+    <table name="RHQ_INSTALLED_PACKAGE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="INSTALLATION_TIME" \
type="LONG" required="false"/> +
+        <column name="RESOURCE_ID" type="INTEGER" references="RHQ_RESOURCE" \
required="true"/> +        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
references="RHQ_PACKAGE_VERSION" required="true"/> +        <column name="SUBJECT_ID" \
type="INTEGER" references="RHQ_SUBJECT" required="false"/> +    </table>
+
+    <table name="RHQ_INSTALLED_PKG_HIST">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STATUS" type="VARCHAR2" \
size="24" required="true"/> +        <column name="ERROR_MESSAGE" type="LONGVARCHAR" \
required="false"/> +        <column name="HISTORY_TIMESTAMP" type="LONG" \
required="false"/> +
+        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
references="RHQ_PACKAGE_VERSION" required="true"/> +        <column \
name="RESOURCE_ID" type="INTEGER" references="RHQ_RESOURCE" required="true"/> +       \
<column name="DEPLOYMENT_CONFIG_ID" type="INTEGER" references="RHQ_CONFIG" \
required="false"/> +        <column name="CONTENT_SERVICE_REQUEST_ID" type="INTEGER" \
references="RHQ_CONTENT_REQ" required="false"/> +    </table>
+
+    <table name="RHQ_CONTENT_SRC_SYNC">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STATUS" type="VARCHAR2" \
size="16" required="true"/> +        <column name="START_TIME" type="LONG" \
required="true"/> +        <column name="END_TIME" type="LONG" required="false"/>
+        <column name="RESULTS" type="LONGVARCHAR" required="false"/>
+        <column name="CONTENT_SRC_ID" type="INTEGER" required="true" \
references="RHQ_CONTENT_SOURCE"/> +    </table>
+
+   <table name="RHQ_REPO_SYNC">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STATUS" type="VARCHAR2" \
size="16" required="true"/> +        <column name="START_TIME" type="LONG" \
required="true"/> +        <column name="END_TIME" type="LONG" required="false"/>
+        <column name="RESULTS" type="LONGVARCHAR" required="false"/>
+        <column name="PERCENT_COMPLETE" type="LONG" required="false"/>
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +    </table>
+
+
+    <table name="RHQ_PACKAGE_INST_STEP">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STEP_KEY" type="VARCHAR2" \
size="500" required="true"/> +        <column name="STEP_ORDER" type="INTEGER" \
required="true"/> +        <column name="DESCRIPTION" type="VARCHAR2" size="4000" \
required="true"/> +        <column name="ERROR_MSG" type="LONGVARCHAR" \
required="false"/> +        <column name="RESULT" type="VARCHAR2" size="25" \
required="true"/> +
+        <column name="INSTALLED_PKG_HIST_ID" type="INTEGER" \
references="RHQ_INSTALLED_PKG_HIST"/> +    </table>
+
+    <table name="RHQ_REPO_RESOURCE_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE"/> +        <column name="CTIME" type="LONG" \
required="true"/> +
+        <constraint name="RHQ_REPO_RESOURCE_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="RESOURCE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_REPO_CONTENT_SRC_MAP">                                          \
1 +        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="CONTENT_SRC_ID" type="INTEGER" \
required="true" references="RHQ_CONTENT_SOURCE"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_CONTENT_SRC_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="CONTENT_SRC_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_REPO_REPO_GROUP_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="REPO_GROUP_ID" type="INTEGER" \
required="true" references="RHQ_REPO_GROUP"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_REPO_GROUP_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="REPO_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_REPO_REPO_RELATION_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="REPO_RELATION_ID" type="INTEGER" \
required="true" references="RHQ_REPO_RELATION"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_REPO_RELATION_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="REPO_RELATION_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+
+    <table name="RHQ_REPO_PKG_VERSION_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
required="true" references="RHQ_PACKAGE_VERSION"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_PKG_VER_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="PACKAGE_VERSION_ID"/>
+            </primaryKey>
+        </constraint>
+        <index name="RHQ_REPO_PKG_VER_MAP_IDX" unique="false">
+            <field ref="PACKAGE_VERSION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PKG_VER_CONTENT_SRC_MAP">
+        <column name="PACKAGE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +        <column name="CONTENT_SRC_ID" \
type="INTEGER" required="true" references="RHQ_CONTENT_SOURCE"/> +        <column \
name="LOCATION" type="VARCHAR2" size="4000" required="true"/> +
+        <constraint name="RHQ_PKG_VER_CONTENT_SRC_KEY">
+            <primaryKey>
+                <field ref="PACKAGE_VERSION_ID"/>
+                <field ref="CONTENT_SRC_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_PKG_PRD_MAP">
+        <column name="PKG_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +        <column name="PRD_ID" type="INTEGER" \
required="true" references="RHQ_PRD_VER"/> +
+        <constraint name="RHQ_PKG_PRD_KEY">
+            <primaryKey>
+                <field ref="PKG_ID"/>
+                <field ref="PRD_ID"/>
+            </primaryKey>
+        </constraint>
+
+    </table>
+
+    <table name="RHQ_DISTRIBUTION_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +
+    </table>
+
+    <table name="RHQ_DISTRIBUTION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DISTRIBUTION_TYPE_ID" \
type="INTEGER"  required="true" references="RHQ_DISTRIBUTION_TYPE"/> +        <column \
name="LABEL" size="64" type="VARCHAR2" required="true"/> +        <column \
name="BASE_PATH" size="256" type="VARCHAR2" required="true"/> +        <column \
name="LAST_MODIFIED" type="LONG" required="true"/> +
+        <index name="RHQ_DISTRIBUTION_IDX" unique="true">
+            <field ref="LABEL"/>
+            <field ref="BASE_PATH"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_REPO_DISTRIBUTION">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="DISTRIBUTION_ID" type="INTEGER" \
required="true" references="RHQ_DISTRIBUTION"/> +        <column name="LAST_MODIFIED" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_DIST_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="DISTRIBUTION_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+
+
+    <table name="RHQ_DISTRIBUTION_FILE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DISTRIBUTION_ID" \
type="INTEGER" required="true" references="RHQ_DISTRIBUTION"/> +        <column \
name="RELATIVE_FILENAME" size="256" type="VARCHAR2" required="true"/> +        \
<!--<column name="FILE_SIZE" type="NUMBER" required="true"/>--> +        <column \
name="MD5SUM" size="64" type="VARCHAR2" required="true"/> +        <column \
name="LAST_MODIFIED" type="LONG" required="true"/> +        <!--<column name="CTIME" \
type="LONG" required="true"/>--> +
+        <index name="RHQ_DISTRIBUTION_FILE_IDX" unique="true">
+            <field ref="DISTRIBUTION_ID"/>
+            <field ref="RELATIVE_FILENAME"/>
+        </index>
+    </table>
+
+
+
+
+    <table name="RHQ_ADVISORY">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY" size="64" \
type="VARCHAR2" required="true"/> +        <column name="ADVISORY_TYPE" size="64" \
type="VARCHAR2"  required="true" /> +        <column name="ADVISORY_REL" size="64" \
type="VARCHAR2" required="false"/> +        <column name="ADVISORY_NAME" size="64" \
type="VARCHAR2" required="false"/> +        <column name="DESCRIPTION" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="SYNOPSIS" size="4000" \
type="VARCHAR2" required="true"/> +        <column name="TOPIC" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="SOLUTION" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="SEVERITY" size="64" \
type="VARCHAR2"  required="false"/> +        <column name="ISSUE_DATE" type="LONG" \
required="false"/> +        <column name="UPDATE_DATE" type="LONG" required="false"/>
+        <column name="CTIME" type="LONG" required="true"/>
+        <column name="LAST_MODIFIED" type="LONG" required="true"/>
+
+        <index name="RHQ_ADVISORY_NAME_UQ" unique="true">
+            <field ref="ADVISORY_NAME"/>
+        </index>
+
+        <index name="RHQ_ADVISORY_UQ" unique="true">
+            <field ref="ADVISORY"/>
+        </index>
+
+        <index name="RHQ_ADVISORY_UDATE_IDX" unique="false">
+            <field ref="UPDATE_DATE"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ADVISORY_PACKAGE">
+    	  <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column \
name="PACKAGE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +        <column name="LAST_MODIFIED" type="LONG" \
required="true"/> +
+        <index name="RHQ_ADVISORY_PKG_IDX" unique="true">
+                <field ref="ADVISORY_ID"/>
+                <field ref="PACKAGE_VERSION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_CVE">
+        <column name="ID" default="sequence-only" initial="101" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="64" \
type="VARCHAR2" required="true"/> +    </table>
+
+    <table name="RHQ_ADVISORY_CVE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column name="CVE_ID" \
type="INTEGER" required="true" references="RHQ_CVE"/> +        <column \
name="LAST_MODIFIED" type="LONG" required="true"/> +
+        <index name="RHQ_ADVISORY_CVE_IDX" unique="true">
+                <field ref="ADVISORY_ID"/>
+                <field ref="CVE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_ADVISORY_BUGLIST">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column name="BUG_ID" size="256" \
type="VARCHAR2" required="true"/> +        <column name="LAST_MODIFIED" type="LONG" \
required="true"/> +
+        <index name="RHQ_ADVISORY_BUG_IDX" unique="true">
+                <field ref="ADVISORY_ID"/>
+                <field ref="BUG_ID"/>
+        </index>
+    </table>
+
+
+    <table name="RHQ_REPO_ADVISORY">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column name="LAST_MODIFIED" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_ADV_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="ADVISORY_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!-- BUNDLE_TYPE is things like "Cobbler profile" or "file-based bundle" or \
"puppet recipe" --> +    <table name="RHQ_BUNDLE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE"/> +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_TYPE_UNIQUE" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- BUNDLE is a named piece of content that can be versioned and installed \
somewhere --> +    <table name="RHQ_BUNDLE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="BUNDLE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_TYPE"/> +        <column \
name="PACKAGE_TYPE_ID" type="INTEGER" required="true" references="RHQ_PACKAGE_TYPE"/> \
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/>         +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_UNIQUE" unique="true">
+            <field ref="BUNDLE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- BUNDLE_VERSION represents an actual piece of content that needs to be \
installed somewhere --> +    <table name="RHQ_BUNDLE_VERSION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="VERSION" size="500" \
type="VARCHAR2" required="true"/> +        <column name="VERSION_ORDER" \
type="INTEGER" required="true"/> +        <column name="ACTION" type="CLOB" \
required="true"/> +        <column name="CONFIG_DEF_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_DEF" /> +        <column name="BUNDLE_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE"/> +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_VERSION_UNIQUE" unique="true">
+            <field ref="BUNDLE_ID"/>
+            <field ref="NAME"/>
+            <field ref="VERSION"/>
+        </index>
+    </table>
+
+    <!-- Many-to-many table that links many repos to a particular bundle version. \
destination platforms --> +    <!-- would be required to have associations to the \
specified repos (to access required content --> +    <table \
name="RHQ_BUNDLE_VERSION_REPO"> +        <column name="BUNDLE_VERSION_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_VERSION"/> +        <column \
name="REPO_ID" type="INTEGER" required="true" references="RHQ_REPO"/> +
+        <constraint name="RHQ_BUNDLE_VERSION_REPO_KEY">
+            <primaryKey>
+                <field ref="BUNDLE_VERSION_ID"/>
+                <field ref="REPO_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!-- BUNDLE_FILE represents a file that is associated with (possibly bundled \
inside) a bundle version --> +    <table name="RHQ_BUNDLE_FILE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="BUNDLE_VERSION_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_VERSION"/> +        <column \
name="PACKAGE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +    </table>
+
+    <!-- A logical destination for a bundle deployment. Defines the platforms and \
directory on those targets.  -->     +    <table name="RHQ_BUNDLE_DESTINATION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+        <column name="BUNDLE_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE"/>         +        <column name="GROUP_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_GROUP"/>         +        <column \
name="DEPLOY_DIR" size="256" type="VARCHAR2" required="true"/> +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_DESTINATION_UNIQUE" unique="true">
+            <field ref="BUNDLE_ID"/>            
+            <field ref="GROUP_ID"/>            
+            <field ref="DEPLOY_DIR"/>
+        </index>
+    </table>
+
+    <!-- An actual deployment of a bundle version to a destination, with a specific \
config. Bundle deployments +         can differ only on ctime, which is assumed to be \
different -->     +    <table name="RHQ_BUNDLE_DEPLOYMENT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+        <column name="BUNDLE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_VERSION"/> +        <column name="BUNDLE_DESTINATION_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_DESTINATION"/>         +        \
<column name="CONFIG_ID" type="INTEGER" required="false" references="RHQ_CONFIG" />   \
 +        <column name="SUBJECT_NAME" type="VARCHAR2" required="false" size="255"/>
+        <column name="STATUS" type="VARCHAR2" required="true" size="16"/>
+        <column name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/>        
+        <column name="IS_LIVE" type="BOOLEAN" required="true"/>        
+        <column name="REPLACED_BUNDLE_DEPLOYMENT_ID" type="INTEGER" required="false" \
references="RHQ_BUNDLE_DEPLOYMENT"/>         +    </table>
+
+    <!-- Represents a bundle version that is deployed on a platform resource -->
+    <table name="RHQ_BUNDLE_RES_DEPLOY">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/>     +        <column name="BUNDLE_DEPLOYMENT_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_DEPLOYMENT" /> +        <column \
name="RESOURCE_ID" type="INTEGER" required="true" references="RHQ_RESOURCE" /> +      \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/>         +        \
<column name="CTIME" type="LONG" required="true"/> +        
+        <index name="RHQ_BUNDLE_RES_DEPLOY_IDX" unique="true">
+            <field ref="BUNDLE_DEPLOYMENT_ID"/>
+            <field ref="RESOURCE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_BUNDLE_RES_DEP_HIST">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="BUNDLE_RES_DEPLOY_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_RES_DEPLOY" />         +        \
<column name="SUBJECT_NAME" required="false" size="255" type="VARCHAR2"/> +        \
<column name="AUDIT_TIME" required="true" type="LONG"/> +        <column \
name="ACTION" required="true" size="128" type="VARCHAR2"/> +        <column \
name="INFO" required="true" size="512" type="VARCHAR2"/>         +        <column \
name="CATEGORY" required="false" size="32" type="VARCHAR2"/>         +        <column \
name="STATUS" required="true" type="VARCHAR2" size="16"/>         +        <column \
name="MESSAGE" required="false" type="LONGVARCHAR"/> +        <column \
name="ATTACHMENT" required="false" type="LONGVARCHAR"/>         +    </table>
+
+    <table name="RHQ_TAGGING_BUNDLE_MAP">
+        <column name="BUNDLE_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_TAGGING_BUNDLE_VERSION_MAP">
+        <column name="BUNDLE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_VERSION"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_VER_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_VERSION_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_TAGGING_BUNDLE_DEPLOY_MAP">
+        <column name="BUNDLE_DEPLOYMENT_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_DEPLOYMENT"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_DEP_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_DEPLOYMENT_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+    
+    <table name="RHQ_TAGGING_BUNDLE_DEST_MAP">
+        <column name="BUNDLE_DESTINATION_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_DESTINATION"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_DES_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_DESTINATION_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+    
+
+<!-- END: content-schema.xml -->
+<!-- BEGIN: resource-request-schema.xml -->
+        
+
+    <table name="RHQ_CREATE_RES_HIST">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="PARENT_RESOURCE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE"/> +        <column \
name="CREATED_RESOURCE_NAME" type="VARCHAR2" size="500" required="false"/> +        \
<column name="NEW_RESOURCE_KEY" type="VARCHAR2" required="false" size="500"/> +       \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="true" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_TYPE"/> +        <column \
name="CONFIGURATION_ID" type="INTEGER" required="false" references="RHQ_CONFIG"/> +   \
<column name="INSTALLED_PACKAGE_ID" type="INTEGER" required="false" \
references="RHQ_INSTALLED_PACKAGE"/> +    </table>
+
+    <table name="RHQ_DELETE_RES_HIST">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="ERROR_MESSAGE" \
type="LONGVARCHAR" required="false"/> +        <column name="SUBJECT_NAME" \
type="VARCHAR2" required="true" size="100"/> +        <column name="CTIME" \
type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="STATUS" type="VARCHAR2" required="true" \
size="16"/> +        <column name="RESOURCE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE"/> +    </table>
+
+<!-- END: resource-request-schema.xml -->
+<!-- BEGIN: jms-schema.xml -->
+
+<!-- the schema matches that which would be automatically created by the JMS \
subsystem --> +<!-- see deploy/jms/rhq-jdbc-state-service.xml and \
rhq-jdbc2-service.xml --> +
+
+    <table name="JMS_MESSAGES">
+        <column name="MESSAGEID"   required="true"  type="INTEGER" />
+        <column name="DESTINATION" required="true"  type="VARCHAR2" size="255" />
+        <column name="TXID"        required="false" type="INTEGER" />
+        <column name="TXOP"        required="false" type="CHAR" size="1" />
+        <column name="MESSAGEBLOB" required="false" type="BLOB" />
+
+        <constraint name="JMS_MESSAGES_PKEY">
+            <primaryKey>
+                <field ref="MESSAGEID"/>
+                <field ref="DESTINATION"/>
+            </primaryKey>
+        </constraint>
+
+        <index name="JMS_MESSAGES_TXOP_TXID">
+            <field ref="TXOP"/>
+            <field ref="TXID"/>
+        </index>
+        <index name="JMS_MESSAGES_DESTINATION">
+            <field ref="DESTINATION"/>
+        </index>
+    </table>
+
+    <table name="JMS_TRANSACTIONS">
+        <column name="TXID" required="true" type="INTEGER" primarykey="true" />
+    </table>
+
+    <table name="JMS_USERS">
+        <column name="USERID"   required="true"  type="VARCHAR2" size="32" \
primarykey="true" /> +        <column name="PASSWD"   required="true"  \
type="VARCHAR2" size="32" /> +        <column name="CLIENTID" required="false" \
type="VARCHAR2" size="128" /> +    </table>
+
+    <table name="JMS_ROLES">
+        <column name="ROLEID" required="true" type="VARCHAR2" size="32" />
+        <column name="USERID" required="true" type="VARCHAR2" size="32" />
+
+        <constraint name="JMS_ROLES_PKEY">
+            <primaryKey>
+                <field ref="USERID"/>
+                <field ref="ROLEID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="JMS_SUBSCRIPTIONS">
+        <column name="CLIENTID" required="true"  type="VARCHAR2" size="128" />
+        <column name="SUBNAME"  required="true"  type="VARCHAR2" size="128" />
+        <column name="TOPIC"    required="true"  type="VARCHAR2" size="255" />
+        <column name="SELECTOR" required="false" type="VARCHAR2" size="255" />
+
+        <constraint name="JMS_SUBSCRIPTIONS_PKEY">
+            <primaryKey>
+                <field ref="CLIENTID"/>
+                <field ref="SUBNAME"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+<!-- END: jms-schema.xml -->
+<!-- BEGIN: obsolete-schema.xml -->
+        
+    
+    <!-- NOTE: The tables will be dropped in the *** REVERSE ORDER *** as listed in \
this file! --> +    <!-- NOTE: So, put the table you want dropped first at the \
bottom, and so on... --> +
+
+    <!-- !!! REMOVED FROM CONTENT-SCHEMA !!!! -->
+    
+    <table name="RHQ_BUNDLE_CONFIG" obsolete="true">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG" /> +        <!-- this probably needs a DTYPE \
discriminator so we know if its a bundle or a specific bundle version --> +        \
<column name="BUNDLE_VERSION_ID" type="INTEGER" required="false" \
references="RHQ_BUNDLE_VERSION"/> +        <column name="BUNDLE_ID" type="INTEGER" \
required="false" references="RHQ_BUNDLE"/> +    </table>
+
+    <table name="RHQ_CHANNEL" obsolete="true">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CREATION_TIME" type="LONG" \
required="true"/> +        <column name="LAST_MODIFIED_TIME" type="LONG" \
required="true"/> +
+        <index name="RHQ_CHANNEL_IDX" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_CHANNEL_RESOURCE_MAP" obsolete="true">
+        <column name="CHANNEL_ID" type="INTEGER" required="true" \
references="RHQ_CHANNEL"/> +        <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE"/> +        <column name="CTIME" type="LONG" \
required="true"/> +
+        <constraint name="RHQ_CHANNEL_RESOURCE_MAP_KEY">
+            <primaryKey>
+                <field ref="CHANNEL_ID"/>
+                <field ref="RESOURCE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_CHANNEL_CONTENT_SRC_MAP" obsolete="true">
+        <column name="CHANNEL_ID" type="INTEGER" required="true" \
references="RHQ_CHANNEL"/> +        <column name="CONTENT_SRC_ID" type="INTEGER" \
required="true" references="RHQ_CONTENT_SOURCE"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_CHAN_CONTENT_SRC_MAP_KEY">
+            <primaryKey>
+                <field ref="CHANNEL_ID"/>
+                <field ref="CONTENT_SRC_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_CHANNEL_PKG_VERSION_MAP" obsolete="true">
+        <column name="CHANNEL_ID" type="INTEGER" required="true" \
references="RHQ_CHANNEL"/> +        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
required="true" references="RHQ_PACKAGE_VERSION"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_CHANNEL_PKG_VER_MAP_KEY">
+            <primaryKey>
+                <field ref="CHANNEL_ID"/>
+                <field ref="PACKAGE_VERSION_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+   <!-- !!! REMOVED FROM MEASUREMENT-SCHEMA !!!! -->
+
+   <table name="RHQ_MEASUREMENT_OOB" obsolete="true">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="SCHEDULE_ID" type="INTEGER" \
references="RHQ_MEASUREMENT_SCHED(ID)" required="true"/> +      <column \
name="OCCURRED" type="LONG" required="true"/> +      <column name="DIFF" \
type="DOUBLE" required="true"/> +
+      <index name="RHQ_MEASUREMENT_OOB_IDX" unique="true">
+         <field ref="SCHEDULE_ID" />
+         <field ref="OCCURRED" />
+      </index>
+   </table>
+
+
+     <table name="RHQ_TAG" obsolete="true">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +    </table>
+
+     <table name="RHQ_REPO_TAG_MAP" obsolete="true">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="TAG_ID" type="INTEGER" required="true" \
references="RHQ_TAG"/> +
+        <constraint name="RHQ_REPO_TAG_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+
+<!-- END: obsolete-schema.xml -->
+</dbsetup>
diff --git a/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-3.0.0.xml \
b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-3.0.0.xml
 new file mode 100644
index 0000000..4c07e1a
--- /dev/null
+++ b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-3.0.0.xml
 @@ -0,0 +1,2649 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dbsetup name="schema">
+<!-- BEGIN: config-schema.xml -->
+
+
+    <!-- Definition or Metadata tables -->
+
+    <table name="RHQ_CONFIG_DEF">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="true" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="250"/> +        <column name="VERSION" type="VARCHAR2" \
required="false" size="50"/> +        <column name="CONFIG_FORMAT" type="VARCHAR2" \
required="false" size="32"/> +    </table>
+
+    <table name="RHQ_CONFIG_PROP_GRP_DEF">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="true" size="100"/> +        <column name="DISPLAY_NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="250"/> +        <column name="DEFAULT_HIDDEN" type="BOOLEAN" \
required="false"/> +        <column name="ORDER_INDEX" type="INTEGER" \
required="false"/> +    </table>
+
+    <table name="RHQ_CONFIG_PROP_DEF">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="false" size="255"/> +        <column name="DISPLAY_NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="1000"/> +        <column name="DEFAULT_VALUE" type="VARCHAR2" \
required="false" size="2000"/> +        <column name="REQUIRED" type="BOOLEAN" \
required="false"/> +        <column name="READONLY" type="BOOLEAN" required="false"/>
+        <column name="SUMMARY" type="BOOLEAN" required="false"/>
+        <column name="ACTIVATION_POLICY" type="VARCHAR2" required="false" \
size="20"/> +        <column name="GROUP_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_PROP_GRP_DEF"/> +        <column name="ORDER_INDEX" \
type="INTEGER" required="false"/> +        <column name="VERSION" type="VARCHAR2" \
required="false" size="50"/> +        <column name="PARENT_MAP_DEFINITION_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG_PROP_DEF"/> +        <column \
name="PARENT_LIST_DEFINITION_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_PROP_DEF"/> +        <column name="SIMPLE_TYPE" \
type="VARCHAR2" required="false" size="20"/> +        <column \
name="ALLOW_CUSTOM_ENUM_VALUE" type="BOOLEAN" required="false"/> +        <column \
name="DTYPE" type="VARCHAR2" required="true" size="10"/> +        <column \
name="CONFIG_DEF_ID" type="INTEGER" required="false" references="RHQ_CONFIG_DEF"/> +
+        <!-- only simple properties (not lists and maps) have this -->
+        <column name="UNITS" type="SMALLINT" required="false"/>
+
+        <!-- only dynamic properties (not simple) have this -->
+        <column name="DYNAMIC_TYPE" type="VARCHAR2" size="20" required="false"/>
+        <column name="DYNAMIC_KEY" type="VARCHAR2" size="128" required="false"/>
+    </table>
+
+    <table name="RHQ_CONF_PROP_DEF_ENUM">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="STRING_VALUE" \
type="VARCHAR2" required="false" size="500"/> +        <column name="ORDER_INDEX" \
type="INTEGER" required="false"/> +        <column name="NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="PROPERTY_DEF_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_PROP_DEF"/> +    </table>
+
+    <table name="RHQ_CONFIG_PD_OSRC">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="LINK_TO_TARGET" \
type="BOOLEAN" required="false"/> +        <column name="FILTER" type="VARCHAR2" \
required="false" size="40"/> +        <column name="EXPRESSION" type="VARCHAR2" \
required="true" size="400"/> +        <column name="TARGET_TYPE" type="VARCHAR2" \
required="true" size="20"/> +        <column name="PROPERTY_DEF_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_PROP_DEF"/> +    </table>
+
+    <table name="RHQ_CONFIG_PROP_CONSTR">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="DTYPE" type="VARCHAR2" \
required="true" size="15"/> +        <column name="DETAILS" type="VARCHAR2" \
required="false" size="250"/> +        <column name="CONFIG_PROP_DEF_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG_PROP_DEF"/> +        <column \
name="ORDER_INDEX" type="INTEGER" required="false"/> +    </table>
+
+
+    <!-- Content or value tables -->
+
+    <table name="RHQ_CONFIG">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NOTES" type="VARCHAR2" \
required="false" size="512"/> +        <column name="VERSION" type="VARCHAR2" \
required="false" size="50"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+    </table>
+
+    <table name="RHQ_CONFIG_PROPERTY">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="CONFIGURATION_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG" ondelete="cascade"/> +        \
<column name="STRING_VALUE" type="VARCHAR2" required="false" size="2000"/> +        \
<column name="OVERRIDE" type="BOOLEAN" required="false"/> +        <column \
name="NAME" type="VARCHAR2" required="true" size="255"/> +        <column \
name="DTYPE" type="VARCHAR2" required="true" size="10"/> +        <!-- Recursive \
cascade path to RHQ_CONFIG_PROPERTY causes constraint creation errors on SQL Server, \
see +             http://support.microsoft.com/kb/321843 -->
+        <column name="PARENT_LIST_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_PROPERTY" ondelete="cascade" /> +        <column \
name="PARENT_MAP_ID" type="INTEGER" required="false" references="RHQ_CONFIG_PROPERTY" \
ondelete="cascade" /> +        <column name="LIST_INDEX" type="INTEGER"/>
+        <column name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/>
+        <index name="RHQ_CONFIG_PROP_idx_prop_key" unique="false">
+            <field ref="CONFIGURATION_ID"/>
+            <field ref="NAME"/>
+        </index>
+        <index name="RHQ_CONFIG_PROP_idx_map_key" unique="false">
+            <field ref="PARENT_MAP_ID"/>
+            <field ref="NAME"/>
+        </index>
+        <index name="RHQ_CONFIG_PROP_idx_list_key" unique="false">
+            <field ref="PARENT_LIST_ID"/>
+        </index>
+        <!-- List entries all have the same name -->
+    </table>
+
+    <table name="RHQ_CONFIG_TEMPLATE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="500"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG"/> +        <column name="CONFIG_DEF_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG_DEF"/> +        <column \
name="IS_DEFAULT" type="BOOLEAN" required="false"/> +    </table>
+
+    <table name="RHQ_RAW_CONFIG">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="true" references="RHQ_CONFIG(ID)"/> +        <column name="PATH" \
type="VARCHAR2" required="false" size="512"/> +        <column name="CONTENTS" \
type="CLOB" required="true"/> +        <column name="SHA256" type="VARCHAR2" \
size="64" required="true"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+    </table>
+
+<!-- END: config-schema.xml -->
+<!-- BEGIN: cluster-schema.xml -->
+
+    <table name="RHQ_AFFINITY_GROUP">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="255" type="VARCHAR2"/>
+    </table>
+
+    <table name="RHQ_SERVER">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="255" type="VARCHAR2"/>
+        <column name="ADDRESS" required="true" size="255" type="VARCHAR2"/>
+        <column name="PORT" required="true" type="INTEGER"/>
+        <column name="SECURE_PORT" required="true" type="INTEGER"/>
+        <column name="CTIME" required="true" type="LONG"/>
+        <column name="MTIME" required="true" type="LONG"/>
+        <column name="AFFINITY_GROUP_ID" type="INTEGER" \
references="RHQ_AFFINITY_GROUP" required="false"/> +        <column \
name="COMPUTE_POWER" required="true" type="INTEGER"/>         +        <column \
name="OPERATION_MODE" required="true" size="32" type="VARCHAR2"/> +        <column \
name="STATUS" type="INTEGER" required="false" default="0" /> +    
+        <!--  This index is for constraint, not performance -->    
+        <index name="RHQ_SERVER_NAME_UNIQUE" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!--  new agent -->
+    <table name="RHQ_AGENT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" required="true" \
size="255" type="VARCHAR2"/> +        <column name="ADDRESS" required="true" \
size="255" type="VARCHAR2"/> +        <column name="PORT" required="true" \
type="INTEGER"/> +        <column name="AGENTTOKEN" required="true" size="100" \
type="VARCHAR2"/> +        <column name="REMOTE_ENDPOINT" required="false" \
size="4000" type="VARCHAR2"/> +        <column name="CTIME" required="true" \
type="LONG"/> +        <column name="MTIME" required="true" type="LONG"/>
+        <column name="LAST_AVAILABILITY_REPORT" required="false" type="LONG"/>
+        <column name="AFFINITY_GROUP_ID" type="INTEGER" \
references="RHQ_AFFINITY_GROUP" required="false"/> +        <column name="SERVER_ID" \
type="INTEGER" references="RHQ_SERVER" required="false"/> +        <column \
name="STATUS" type="INTEGER" required="false" default="0" /> +        <column \
name="BACKFILLED" type="BOOLEAN" required="true" /> +
+        <index name="RHQ_AGENT_NAME_UNIQUE" unique="true">
+            <field ref="NAME"/>
+        </index>
+
+        <index name="RHQ_AGENT_ADDRESS_PORT" unique="true">
+            <field ref="ADDRESS"/>
+            <field ref="PORT"/>
+        </index>
+
+        <index name="RHQ_AGENT_TOKEN_UNIQUE" unique="true">
+            <field ref="AGENTTOKEN"/>
+        </index>
+    </table>
+    
+    <table name="RHQ_PARTITION_EVENT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="SUBJECT_NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="CTIME" required="true" type="LONG"/>
+        <column name="EVENT_TYPE" required="true" size="50" type="VARCHAR2"/>
+        <column name="EVENT_DETAIL" required="false" size="512" type="VARCHAR2"/>
+        <column name="EXECUTION_STATUS" required="true" size="32" type="VARCHAR2"/>  \
 +    </table>
+    
+    <table name="RHQ_PARTITION_DETAILS">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PARTITION_EVENT_ID" type="INTEGER" \
references="RHQ_PARTITION_EVENT" required="true"/> +        <column name="AGENT_NAME" \
type="VARCHAR2" size="255" required="true"/> +        <column name="SERVER_NAME" \
type="VARCHAR2" size="255" required="true"/> +    </table>
+
+    <table name="RHQ_FAILOVER_LIST">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PARTITION_EVENT_ID" type="INTEGER" \
references="RHQ_PARTITION_EVENT" required="true"/> +        <column name="AGENT_ID" \
type="INTEGER" references="RHQ_AGENT" required="true"/> +        <column name="CTIME" \
required="true" type="LONG"/> +    </table>
+
+    <table name="RHQ_FAILOVER_DETAILS">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="FAILOVER_LIST_ID" type="INTEGER" \
references="RHQ_FAILOVER_LIST" required="true"/> +        <column name="SERVER_ID" \
type="INTEGER" references="RHQ_SERVER" required="true"/> +        <column \
name="ORDINAL" type = "INTEGER" required="true"/> +    </table>
+
+<!-- END: cluster-schema.xml -->
+<!-- BEGIN: auth-schema.xml -->
+
+
+    <table name="RHQ_PRINCIPAL">
+
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PRINCIPAL" required="true" type="VARCHAR2" size="100"/>
+        <column name="PASSWORD" required="true" type="VARCHAR2" size="64"/>
+
+        <!-- ensure that principals are unique -->
+        <index name="RHQ_PRINCIPAL_PRINCIPAL_KEY" unique="true">
+            <field ref="PRINCIPAL"/>
+        </index>
+
+    </table>
+    
+    <table name="RHQ_SUBJECT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="CONFIGURATION_ID" type="INTEGER" references="RHQ_CONFIG"/>
+        <column name="FIRST_NAME" required="false" size="100" type="VARCHAR2"/>
+        <column name="LAST_NAME" required="false" size="100" type="VARCHAR2"/>
+        <column name="EMAIL_ADDRESS" size="100" type="VARCHAR2"/>
+        <column name="SMS_ADDRESS" size="100" type="VARCHAR2"/>
+        <column name="PHONE_NUMBER" size="100" type="VARCHAR2"/>
+        <column name="DEPARTMENT" size="100" type="VARCHAR2"/>
+        <column name="FACTIVE" required="true" type="BOOLEAN" default="true"/>
+        <column name="FSYSTEM" required="true" type="BOOLEAN" default="false"/>
+
+        <index name="RHQ_SUBJECT_AUTH_KEY" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>    
+
+<!-- END: auth-schema.xml -->
+<!-- BEGIN: inventory-schema.xml -->
+
+
+    <!-- NEW RESOURCE TYPES -->
+    <table name="RHQ_RESOURCE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" type="VARCHAR2" size="100" required="true"/>
+        <column name="CATEGORY" type="VARCHAR2" size="16" required="true"/>
+        <column name="CREATION_DATA_TYPE" type="VARCHAR2" size="16" \
required="true"/> +        <column name="CREATE_DELETE_POLICY" type="VARCHAR2" \
size="16" required="true"/> +        <column name="SINGLETON" type="BOOLEAN" \
required="true"/> +        <column name="SUPPORTS_MANUAL_ADD" type="BOOLEAN" \
required="true"/> +        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+        <column name="PLUGIN" type="VARCHAR2" size="100"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="DELETED" type="BOOLEAN" default="FALSE" required="TRUE"/>
+        <column name="SUBCATEGORY_ID" type="INTEGER"/>
+        <!--
+        TODO add support to DB setup for tables with circular dependencies and then \
add back this RI +        <column name="SUBCATEGORY_ID" type="INTEGER" \
references="RHQ_RESOURCE_SUBCAT" /> +        -->
+        <column name="PLUGIN_CONFIG_DEF_ID" type="INTEGER" \
references="RHQ_CONFIG_DEF(ID)"/> +        <column name="RES_CONFIG_DEF_ID" \
type="INTEGER" references="RHQ_CONFIG_DEF(ID)"/> +        <column \
name="BUNDLE_CONFIG_ID" type="INTEGER" references="RHQ_CONFIG"/> +
+        <index name="RHQ_RES_TYPE_IDX_PLG_NAME" unique="true">
+            <field ref="NAME"/>
+            <field ref="PLUGIN"/>
+        </index>
+    </table>
+
+    <!-- NEW RESOURCE SUBCATEGORIES -->
+    <table name="RHQ_RESOURCE_SUBCAT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" type="VARCHAR2" size="100"/>
+        <column name="DISPLAY_NAME" type="VARCHAR2" size="100"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="PARENT_SUBCATEGORY_ID" type="INTEGER" \
references="RHQ_RESOURCE_SUBCAT"/> +        <!-- resourceTypeId is not required on \
child sub categories --> +        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +    </table>
+
+    <!-- Many To Many mapping for resource type to its parents -->
+    <table name="RHQ_RESOURCE_TYPE_PARENTS">
+        <column name="RESOURCE_TYPE_ID" required="true" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +        <column name="PARENT_RESOURCE_TYPE_ID" \
required="true" type="INTEGER" references="RHQ_RESOURCE_TYPE"/> +
+        <!-- not using full words to fit index name length -->
+        <constraint name="RHQ_RES_TYPE_PARENTS_KEY">
+            <primaryKey>
+                <field ref="RESOURCE_TYPE_ID"/>
+                <field ref="PARENT_RESOURCE_TYPE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_PROCESS_SCAN">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="QUERY" type="VARCHAR2" size="256" required="true"/>
+        <column name="NAME" type="VARCHAR2" size="100" required="false"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +
+        <index name="RHQ_PROCESS_SCAN_QUERY_INDEX" unique="true">
+            <field ref="QUERY"/>
+            <field ref="RESOURCE_TYPE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PRD_VER">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="VERSION" type="VARCHAR2" \
size="100" required="true"/> +        <column name="RES_TYPE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_TYPE"/> +    </table>
+
+    <table name="RHQ_RESOURCE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_TYPE"/> +        <column name="UUID" type="CHAR" size="36" \
required="true"/> +        <column name="NAME" type="VARCHAR2" size="500"/>
+        <!--  ancestry holds the full parental ancestry, used for disambiguation -->
+        <column name="ANCESTRY" type="VARCHAR2" required="false" size="4000"/>       \
 +        <column name="RESOURCE_KEY" type="VARCHAR2" required="true" size="500"/>
+        <column name="AGENT_ID" required="false" type="INTEGER" \
references="RHQ_AGENT(id)"/> +        <column name="INVENTORY_STATUS" type="VARCHAR2" \
size="20"/> +        <column name="CONNECTED" type="BOOLEAN"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+        <column name="VERSION" type="VARCHAR2" size="100"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="ITIME" type="LONG"/>
+        <column name="RES_CONFIGURATION_ID" type="INTEGER" references="RHQ_CONFIG"/>
+        <column name="PLUGIN_CONFIGURATION_ID" type="INTEGER" \
references="RHQ_CONFIG"/> +        <column name="MODIFIED_BY" required="false" \
size="100" type="VARCHAR2"/> +        <column name="LOCATION" required="false" \
size="100" type="VARCHAR2"/> +        <column name="PARENT_RESOURCE_ID" \
type="INTEGER" references="RHQ_RESOURCE"/> +        <column name="PRODUCT_VERSION_ID" \
type="INTEGER" references="RHQ_PRD_VER"/> +
+        <index name="RHQ_RESOURCE_idx_key">
+            <field ref="RESOURCE_KEY"/>
+        </index>
+
+        <index name="RHQ_RESOURCE_idx_type">
+            <field ref="RESOURCE_TYPE_ID"/>
+        </index>
+
+        <index name="RHQ_RESOURCE_idx_agent">
+            <field ref="AGENT_ID"/>
+        </index>
+
+        <index name="RHQ_RESOURCE_idx_parent">
+            <field ref="PARENT_RESOURCE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_RESOURCE_ERROR">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE"/> +        <column \
name="TIME_OCCURRED" type="LONG" required="true"/> +        <column name="ERROR_TYPE" \
type="VARCHAR2" required="true" size="32"/> +        <column name="SUMMARY" \
type="VARCHAR2" required="true" size="1000"/> +        <column name="DETAIL" \
type="LONGVARCHAR" required="false"/> +
+        <index name="RHQ_RES_ERROR_IDX_RES_ID">
+            <field ref="RESOURCE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_GROUP_DEF">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="DESCRIPTION" size="100" type="VARCHAR2"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="CALC_TIME" type="LONG"/>
+        <column name="CALC_INTERVAL" type="LONG"/>
+        <column name="RECURSIVE" type="BOOLEAN"/>
+        <column name="EXPRESSION" type="VARCHAR2" size="1000"/>
+
+        <index name="RHQ_GROUP_DEF_NAME" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_RESOURCE_GROUP">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <!-- this name can be longer than the size of the GROUP_BY column, which is \
used to uniquely identify it --> +        <!-- Max bytes for Oracle Varchar2 to \
accommodate large cluster keys --> +        <column name="NAME" required="true" \
size="4000" type="VARCHAR2"/> +        <column name="DESCRIPTION" size="100" \
type="VARCHAR2"/> +        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +        <!-- Compatible groups only -->
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="MODIFIED_BY" required="false" size="100" type="VARCHAR2"/>
+        <column name="RECURSIVE" type="BOOLEAN"/>
+
+        <column name="GROUP_DEFINITION_ID" required="false" type="INTEGER" \
references="RHQ_GROUP_DEF"/> +        <column name="GROUP_BY" size="500" \
type="VARCHAR2"/> +
+        <column name="CATEGORY" type="VARCHAR2" size="20" required="true"/>
+
+        <!--  This is only set if this is a subject-owned group (like an autogroup) \
--> +        <column name="SUBJECT_ID" type="INTEGER" references="RHQ_SUBJECT"/>
+
+        <!--  These two only set if this is a backing group for a resource \
auto-cluster --> +        <column name="CLUSTER_KEY" type="VARCHAR2" size="4000" \
required="false"/> +        <column name="CLUSTER_RESOURCE_GROUP_ID" type="INTEGER" \
references="RHQ_RESOURCE_GROUP"/> +
+        <!--  This is only set if this is a backing group for a resource auto-group \
--> +        <column name="AUTO_GROUP_PARENT_RESOURCE_ID" type="INTEGER" \
references="RHQ_RESOURCE"/> +
+        <column name="VISIBLE" type="BOOLEAN"/>
+        
+        <index name="RHQ_RES_GROUP_NAME" unique="false">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- Many To Many mapping for groups to implicit resources -->
+    <table name="RHQ_RESOURCE_GROUP_RES_IMP_MAP">
+        <column name="RESOURCE_ID" required="true" type="INTEGER" \
references="RHQ_RESOURCE"/> +        <column name="RESOURCE_GROUP_ID" required="true" \
type="INTEGER" references="RHQ_RESOURCE_GROUP"/> +
+        <!-- not using full words to fit index name length -->
+        <constraint name="RHQ_RES_GROUP_RES_IMP_MAP_KEY">
+            <primaryKey>
+                <field ref="RESOURCE_ID"/>
+                <field ref="RESOURCE_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!-- Many To Many mapping for groups to explicit resources -->
+    <table name="RHQ_RESOURCE_GROUP_RES_EXP_MAP">
+        <column name="RESOURCE_ID" required="true" type="INTEGER" \
references="RHQ_RESOURCE"/> +        <column name="RESOURCE_GROUP_ID" required="true" \
type="INTEGER" references="RHQ_RESOURCE_GROUP"/> +
+        <!-- not using full words to fit index name length -->
+        <constraint name="RHQ_RES_GROUP_RES_EXP_MAP_KEY">
+            <primaryKey>
+                <field ref="RESOURCE_ID"/>
+                <field ref="RESOURCE_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_CONFIG_GROUP_UPDATE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="GROUP_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_GROUP"/> +        <column \
name="CONFIGURATION_ID" type="INTEGER" required="true" references="RHQ_CONFIG"/> +    \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="false" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="DTYPE" type="VARCHAR2" required="true" \
size="10"/> +    </table>
+
+    <table name="RHQ_CONFIG_UPDATE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="CONFIGURATION_ID" \
type="INTEGER" required="true" references="RHQ_CONFIG"  ondelete="cascade"/> +        \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="false" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="CONFIG_RES_ID" type="INTEGER" \
required="false" references="RHQ_RESOURCE"/> +        <column \
name="PLUGIN_CONFIG_RES_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +        <column name="AGG_RES_UPDATE_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_GROUP_UPDATE"/> +        <column \
name="AGG_PLUGIN_UPDATE_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_GROUP_UPDATE"/> +        <column name="DTYPE" type="VARCHAR2" \
required="true" size="10"/> +    </table>
+
+
+    <table name="RHQ_TAGGING">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAMESPACE" type="VARCHAR2" \
required="false" size="20"/> +        <column name="SEMANTIC" type="VARCHAR2" \
required="false" size="50"/> +        <column name="NAME" type="VARCHAR2" \
required="true" size="100"/> +    </table>
+
+    <table name="RHQ_TAGGING_RESOURCE_MAP">
+        <column name="RESOURCE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_RESOURCE_MAP_KEY"> +            <primaryKey>
+                <field ref="RESOURCE_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_TAGGING_RES_GROUP_MAP">
+        <column name="RESOURCE_GROUP_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_GROUP"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_RES_GROUP_MAP_KEY"> +            <primaryKey>
+                <field ref="RESOURCE_GROUP_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+<!-- END: inventory-schema.xml -->
+<!-- BEGIN: authz-schema.xml -->
+
+
+    <table name="RHQ_ROLE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="DESCRIPTION" size="100" type="VARCHAR2"/>
+        <column name="FSYSTEM" type="BOOLEAN" default="false"/>
+
+        <index name="RHQ_ROLE_NAME_KEY" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ROLE_RESOURCE_GROUP_MAP">
+        <column name="ROLE_ID" required="true" type="INTEGER" \
references="RHQ_ROLE"/> +        <column name="RESOURCE_GROUP_ID" required="true" \
type="INTEGER" references="RHQ_RESOURCE_GROUP"/> +
+        <constraint name="RHQ_ROLE_RES_GROUP_MAP_KEY">
+            <primaryKey>
+                <field ref="ROLE_ID"/>
+                <field ref="RESOURCE_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_ROLE_LDAP_GROUP">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ROLE_ID" required="true" type="INTEGER" \
references="RHQ_ROLE"/> +        <column name="LDAP_GROUP_NAME" size="128" \
required="true" type="VARCHAR2"/> +
+        <index name="RHQ_ROLE_LDAP_GROUP_IDX" unique="true">
+            <field ref="ROLE_ID"/>
+            <field ref="LDAP_GROUP_NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PERMISSION">
+        <column name="ROLE_ID" type="INTEGER" references="RHQ_ROLE" \
required="true"/> +        <column name="OPERATION" type="INTEGER" required="true"/>
+        <constraint name="RHQ_PERMISSION_PK">
+            <primaryKey>
+                <field ref="ROLE_ID"/>
+                <field ref="OPERATION"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_SUBJECT_ROLE_MAP">
+        <column name="SUBJECT_ID" required="true" type="INTEGER" \
references="RHQ_SUBJECT"/> +        <column name="ROLE_ID" required="true" \
type="INTEGER" references="RHQ_ROLE"/> +
+        <constraint name="RHQ_SUBJECT_ROLE_MAPPING_KEY">
+            <primaryKey>
+                <field ref="SUBJECT_ID"/>
+                <field ref="ROLE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_SUBJECT_ROLE_LDAP_MAP">
+        <column name="SUBJECT_ID" required="true" type="INTEGER" \
references="RHQ_SUBJECT"/> +        <column name="ROLE_ID" required="true" \
type="INTEGER" references="RHQ_ROLE"/> +        <constraint \
name="RHQ_SUBJECT_ROLE_LDAP_MAP_PK"> +            <primaryKey>
+                <field ref="SUBJECT_ID" />
+                <field ref="ROLE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+<!-- END: authz-schema.xml -->
+<!-- BEGIN: search-schema.xml -->
+
+
+    <table name="RHQ_SAVED_SEARCH">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CONTEXT" type="VARCHAR2" \
size="25" required="true"/> +        
+        <column name="NAME" type="VARCHAR2" size="200" required="true"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="500" required="false"/>
+        <column name="PATTERN" type="VARCHAR2" size="1000" required="true"/>
+        
+        <column name="LAST_COMPUTE_TIME" type="LONG" required="true"/>
+        <column name="RESULT_COUNT" type="LONG" required="false"/>
+        
+        <column name="SUBJECT_ID" type="INTEGER" references="RHQ_SUBJECT" \
required="true"/> +        <column name="GLOBAL" type="BOOLEAN" required="true"/>
+    </table>
+
+<!-- END: search-schema.xml -->
+<!-- BEGIN: dashboard-schema.xml -->
+
+
+
+    <table name="RHQ_DASHBOARD">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" type="VARCHAR2" \
size="200" required="true"/> +        <column name="SUBJECT_ID" type="INTEGER" \
required="true" references="RHQ_SUBJECT"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="false" references="RHQ_RESOURCE"/> +        <column \
name="GROUP_ID" type="INTEGER" required="false" references="RHQ_RESOURCE_GROUP"/>     \
 +        <column name="CATEGORY" type="VARCHAR2" size="20" required="true"/>         \
 +        <column name="SHARED" type="BOOLEAN" required="true"/>
+        <column name="CONFIGURATION_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG"/> +    </table>
+
+
+    <table name="RHQ_DASHBOARD_PORTLET">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" type="VARCHAR2" \
size="200" required="true"/> +        <column name="PORTLET_KEY" type="VARCHAR2" \
size="200" required="true"/> +        <column name="COL" type="INTEGER" \
required="true"/> +        <column name="COL_INDEX" type="INTEGER" required="true"/>
+        <column name="HEIGHT" type="INTEGER" required="true"/>
+        <column name="CONFIGURATION_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG"/> +        <column name="DASHBOARD_ID" type="INTEGER" \
required="false" references="RHQ_DASHBOARD"/> +    </table>
+
+<!-- END: dashboard-schema.xml -->
+<!-- BEGIN: operation-schema.xml -->
+
+
+    <table name="RHQ_OPERATION_DEF">
+
+        <!-- === required columns === -->
+
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE(ID)"/> +        <column \
name="NAME" type="VARCHAR2" required="true" size="100"/> +
+        <!-- === optional columns === -->
+
+        <!-- an OSGI version range - if null, the operation def applies to all \
versions of the associated resource type --> +        <column \
name="RESOURCE_VERSION_RANGE" type="VARCHAR2" size="100"/> +
+        <!-- A parameter config definition is only required for operations that have \
parameters. --> +        <!-- A results config definition is only required for \
operations that return data. --> +        <column name="PARAMETER_CONFIG_DEF_ID" \
type="INTEGER" references="RHQ_CONFIG_DEF(ID)"/> +        <column \
name="RESULTS_CONFIG_DEF_ID" type="INTEGER" references="RHQ_CONFIG_DEF(ID)"/> +       \
<column name="DISPLAY_NAME" type="VARCHAR2" size="100"/> +        <column \
name="DESCRIPTION" type="VARCHAR2" size="4000"/> +        <column name="TIMEOUT" \
type="INTEGER"/> +
+        <!-- === business key (RESOURCE_TYPE_ID + NAME) === -->
+        <index name="RHQ_OPERATION_DEF_KEY_IDX" unique="true">
+            <field ref="RESOURCE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_OPERATION_HISTORY">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="DTYPE" type="VARCHAR2" \
required="true" size="8"/> +        <column name="JOB_NAME" type="VARCHAR2" \
required="true" size="100"/> +        <column name="JOB_GROUP" type="VARCHAR2" \
required="true" size="100"/> +        <column name="OPERATION_DEF_ID" type="INTEGER" \
required="true" references="RHQ_OPERATION_DEF"/> +        <column name="STATUS" \
type="VARCHAR2" required="true" size="16"/> +        <column name="ERROR_MESSAGE" \
type="LONGVARCHAR" required="false"/> +        <column name="SUBJECT_NAME" \
type="VARCHAR2" required="true" size="100"/> +        <column name="CTIME" \
type="LONG" required="true"/> +        <column name="STIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+        <column name="PARAMETERS_CONFIG_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG"/> +
+        <!-- for resource history -->
+        <column name="RESOURCE_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +        <column name="RESULTS_CONFIG_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG"/> +        <column name="GROUP_HISTORY_ID" \
type="INTEGER" required="false" references="RHQ_OPERATION_HISTORY"/> +
+        <!-- for group history -->
+        <column name="GROUP_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE_GROUP"/> +
+        <index name="RHQ_OPERATION_HISTORY_JOB_IDX" unique="true">
+            <field ref="JOB_NAME"/>
+            <field ref="JOB_GROUP"/>
+            <field ref="CTIME"/>
+        </index>
+
+    </table>
+
+    <!--
+    This table is really just to support some specific use-cases.
+    Specifically, to be able to get a list of histories for a specific schedule (aka \
quartz job) +    and to be able to query a list of all schedules along with their \
associated resource/group IDs +    possibly sorted by their next fire time.
+    Note that a NULL next fire time means it won't fire again and the row is probaby \
about to be deleted; +    we can probably not even insert rows with NULL and make it \
a non-nullable field.  But rather than +    code special conditions into the session \
bean, we'll allow a short-lived NULL next fire time row. +    -->
+    <table name="RHQ_OPERATION_SCHEDULE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +
+        <column name="JOB_NAME" type="VARCHAR2" required="true" size="100"/>
+        <column name="JOB_GROUP" type="VARCHAR2" required="true" size="100"/>
+        <column name="DTYPE" type="VARCHAR2" required="true" size="8"/>
+        <column name="NEXT_FIRE_TIME" type="LONG" required="false"/>
+
+        <!-- for resource history -->
+        <column name="RESOURCE_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +
+        <!-- for group history -->
+        <column name="GROUP_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE_GROUP"/> +
+        <!--
+        Note, this is the same as the primary key that Quartz uses for its schedules \
(RHQ_QRTZ_JOB_DETAILS). +        We do not need to add DTYPE to the key, because we \
ensure the name/group are unique across resource/group +        schedules
+        -->
+        <!-- === business key (JOB_NAME + JOB_GROUP) === -->
+        <index name="RHQ_OPERATION_SCHEDULE_KEY_IDX" unique="true">
+            <field ref="JOB_NAME"/>
+            <field ref="JOB_GROUP"/>
+        </index>
+    </table>
+
+<!-- END: operation-schema.xml -->
+<!-- BEGIN: event-schema.xml -->
+
+
+    <!-- metadata -->
+
+    <table name="RHQ_EVENT_DEF">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_TYPE(ID)"/> +
+        <column name="NAME" type="VARCHAR2" size="100" required="true"/>
+        <column name="DISPLAY_NAME" type="VARCHAR2" size="100"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+
+        <index name="RHQ_EVENT_DEF_IDX" unique="true">
+            <field ref="RESOURCE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- instance data -->
+
+    <table name="RHQ_EVENT_SOURCE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="EVENT_DEF_ID" type="INTEGER" required="true" \
references="RHQ_EVENT_DEF(ID)"/> +        <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE(ID)"/> +
+        <column name="LOCATION" required="true" size="2000" type="VARCHAR2"/>
+
+        <index name="RHQ_EVENT_SOURCE_IDX" unique="true">
+            <field ref="EVENT_DEF_ID"/>
+            <field ref="RESOURCE_ID"/>
+            <field ref="LOCATION"/>
+        </index>
+    </table>
+
+    <table name="RHQ_EVENT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="EVENT_SOURCE_ID" type="INTEGER" required="true" \
references="RHQ_EVENT_SOURCE(ID)"/> +
+        <column name="TIMESTAMP" required="true" type="LONG"/>
+        <column name="SEVERITY" required="true" size="20" type="VARCHAR2"/>
+        <column name="DETAIL" required="true" size="4000" type="VARCHAR2"/>
+        <index name="RHQ_EVENT_IDX" unique="false">
+            <field ref="EVENT_SOURCE_ID"/>
+            <field ref="TIMESTAMP"/>
+        </index>
+    </table>
+
+<!-- END: event-schema.xml -->
+<!-- BEGIN: alert-schema.xml -->
+
+
+    <table name="RHQ_ALERT_DEFINITION">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="CTIME" type="LONG" required="true"/>
+        <column name="MTIME" type="LONG" required="true"/>
+        <column name="PARENT_ID" type="INTEGER" required="false"/>
+        <column name="GROUP_ALERT_DEF_ID" type="INTEGER" required="false"/>
+        <column name="DESCRIPTION" required="false" size="250" type="VARCHAR2"/>
+        <column name="PRIORITY" type="VARCHAR2" size="15" required="true"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE" required="false"/> +        <column name="RESOURCE_ID" \
type="INTEGER" references="RHQ_RESOURCE" required="false"/> +        <column \
name="RESOURCE_GROUP_ID" type="INTEGER" references="RHQ_RESOURCE_GROUP" \
required="false"/> +        <column name="ENABLED" required="true" default="TRUE" \
type="BOOLEAN"/> +
+        <column name="REQUIRED" required="true" type="SMALLINT"/>
+
+        <column name="RECOVERY_ID" type="INTEGER" required="true"/>
+        <!-- required, but 0 effectively means null -->
+        <column name="WILL_RECOVER" required="true" default="false" type="BOOLEAN"/>
+        <column name="NOTIFY_FILTERED" required="true" default="false" \
type="BOOLEAN"/> +        <column name="CONTROL_FILTERED" required="true" \
default="FALSE" type="BOOLEAN"/> +
+        <column name="DELETED" required="true" default="FALSE" type="BOOLEAN"/>
+        <column name="READ_ONLY" required="true" default="FALSE" type="BOOLEAN"/>
+
+        <column name="DAMPENING_CATEGORY" type="SMALLINT" required="true"/>
+        <column name="DAMPENING_VALUE" type="INTEGER"/>
+        <column name="DAMPENING_VALUE_UNITS" type="SMALLINT"/>
+        <column name="DAMPENING_PERIOD" type="INTEGER"/>
+        <column name="DAMPENING_PERIOD_UNITS" type="SMALLINT"/>
+    </table>
+
+    <table name="RHQ_ALERT_DAMPEN_EVENT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ALERT_DEFINITION_ID" \
required="false" type="INTEGER" references="RHQ_ALERT_DEFINITION(ID)"/> +        \
<column name="EVENT_TYPE" required="true" type="SMALLINT"/> +        <column \
name="EVENT_TIMESTAMP" required="true" type="LONG"/> +
+        <index name="RHQ_DAMPENING_EVENT_TYPE_IDX">
+            <field ref="EVENT_TYPE"/>
+        </index>
+        <index name="RHQ_DAMPENING_EVENT_TS_IDX">
+            <field ref="EVENT_TIMESTAMP"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ALERT_CONDITION">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="TYPE" required="true" type="VARCHAR2" size="15"/>
+        <!--
+           <column name="REQUIRED" required="true"  type="BOOLEAN"/>
+        -->
+        <column name="MEASUREMENT_DEFINITION_ID" required="false" type="INTEGER"/>
+        <column name="NAME" required="false" size="100" type="VARCHAR2"/>
+        <column name="COMPARATOR" required="false" size="2" type="VARCHAR2"/>
+        <column name="THRESHOLD" required="false" type="DOUBLE"/>
+        <!-- event-based conditions use OPTION_STATUS for the string match, so \
should be a decent length --> +        <column name="OPTION_STATUS" required="false" \
size="256" type="VARCHAR2"/> +        <column name="ALERT_DEFINITION_ID" \
required="false" type="INTEGER" references="RHQ_ALERT_DEFINITION(ID)"/> +        \
<column name="TRIGGER_ID" required="false" type="INTEGER"/> +    </table>
+
+    <table name="RHQ_ALERT" tablespace="@@@LARGE_TABLESPACE_FOR_DATA@@@"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ALERT_DEFINITION_ID" required="false" type="INTEGER" \
references="RHQ_ALERT_DEFINITION(ID)"/> +        <column name="CTIME" required="true" \
type="LONG"/> +        <column name="RECOVERY_ID" type="INTEGER" required="true"/>
+        <!-- required, but 0 effectively means null -->
+        <column name="WILL_RECOVER" required="true" default="false" type="BOOLEAN"/>
+        <column name="ACK_TIME" required="false" type="LONG"/>
+        <column name="ACK_SUBJECT" required="false" size="100" type="VARCHAR2"/>
+        <index name="RHQ_ALERT_IDX_TIME" unique="false">
+            <field ref="CTIME"/>
+        </index>
+        <index name="RHQ_ALERT_IDX_ALERTDEF" unique="false">
+            <field ref="ALERT_DEFINITION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ALERT_NOTIF_LOG" tablespace="@@@LARGE_TABLESPACE_FOR_DATA@@@"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ALERT_ID" required="true" type="INTEGER" \
references="RHQ_ALERT(ID)"/> +        <index name="RHQ_ALERT_IDX_ALERT" \
unique="false"> +            <field ref="ALERT_ID"/>
+        </index>
+        <column name="SENDER" required="false" size="100" type="VARCHAR2"/>
+        <column name="RESULT_STATE" required="false" size="20" type="VARCHAR2"/>
+        <column name="MESSAGE" required="false" size="4000" type="VARCHAR2"/>
+    </table>
+
+    <table name="RHQ_ALERT_CONDITION_LOG" \
tablespace="@@@LARGE_TABLESPACE_FOR_DATA@@@" +           storage-options="freelists \
5" cache="true" logging="false"> +        <column name="ID" default="sequence-only" \
initial="10001" +                primarykey="true" required="true" type="INTEGER"/>
+        <column name="CTIME" required="true" type="LONG"/>
+        <column name="ALERT_ID" required="false" type="INTEGER" \
references="RHQ_ALERT(ID)"/> +        <column name="CONDITION_ID" required="true" \
type="INTEGER" references="RHQ_ALERT_CONDITION(ID)"/> +        <column name="VALUE" \
required="true" size="250" type="VARCHAR2"/> +        <index \
name="RHQ_ALERT_COND_LOG_IDX_TIME"> +            <field ref="CTIME" />
+        </index>
+        <index name="RHQ_ALERT_COND_LOG_IDX_ALERT">
+            <field ref="ALERT_ID"/>
+        </index>
+        <index name="RHQ_ALERT_COND_LOG_COND_IDX">
+            <field ref="CONDITION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ALERT_NOTIFICATION" \
tablespace="@@@LARGE_TABLESPACE_FOR_DATA@@@" +           storage-options="freelists \
5" cache="true" logging="false"> +        <column name="ID" default="sequence-only" \
initial="10001" +                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ALERT_DEFINITION_ID" required="false" type="INTEGER" \
references="RHQ_ALERT_DEFINITION(ID)"/> +        <column name="SENDER_CONFIG_ID" \
required="false" type="INTEGER" references="RHQ_CONFIG(ID)"/> +        <column \
name="EXTRA_CONFIG_ID" required="false" type="INTEGER" references="RHQ_CONFIG(ID)"/> \
+        <column name="SENDER_NAME" required="true" size="100" type="VARCHAR2" /> +   \
</table> +
+<!-- END: alert-schema.xml -->
+<!-- BEGIN: sysconfig-schema.xml -->
+
+
+    <table name="RHQ_SYSTEM_CONFIG">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PROPERTY_KEY" type="VARCHAR2" size="80"/>
+        <column name="PROPERTY_VALUE" type="VARCHAR2" size="300"/>
+        <column name="DEFAULT_PROPERTY_VALUE" type="VARCHAR2" size="300"/>
+        <column name="FREAD_ONLY" type="BOOLEAN" default="FALSE"/>
+
+        <index name="RHQ_SYSTEM_CONFIG_KEY_INDX" unique="true">
+            <field ref="PROPERTY_KEY"/>
+        </index>
+    </table>
+
+<!-- END: sysconfig-schema.xml -->
+<!-- BEGIN: scheduler-schema.xml -->
+
+
+    <table name="RHQ_QRTZ_JOB_DETAILS">
+        <column name="JOB_NAME" required="true" type="VARCHAR2" size="80"/>
+        <column name="JOB_GROUP" required="true" type="VARCHAR2" size="80"/>
+        <column name="DESCRIPTION" required="false" type="VARCHAR2" size="120"/>
+        <column name="JOB_CLASS_NAME" required="true" type="VARCHAR2" size="128"/>
+        <column name="IS_DURABLE" required="true" type="BOOLEAN" default="FALSE"/>
+        <column name="IS_VOLATILE" required="true" type="BOOLEAN"/>
+        <column name="IS_STATEFUL" required="true" type="BOOLEAN" default="FALSE"/>
+        <column name="REQUESTS_RECOVERY" required="true" type="BOOLEAN" \
default="FALSE"/> +        <column name="JOB_DATA" required="false" type="BLOB"/>
+
+        <constraint name="RHQ_PK_QRTZ_JOB_DETAILS">
+            <primaryKey>
+                <field ref="JOB_NAME"/>
+                <field ref="JOB_GROUP"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_QRTZ_JOB_LISTENERS">
+        <column name="JOB_NAME" required="true" type="VARCHAR2" size="80"/>
+        <column name="JOB_GROUP" required="true" type="VARCHAR2" size="80"/>
+        <column name="JOB_LISTENER" required="true" type="VARCHAR2" size="80"/>
+
+        <constraint name="RHQ_PK_QRTZ_JOB_LISTENERS">
+            <primaryKey>
+                <field ref="JOB_NAME"/>
+                <field ref="JOB_GROUP"/>
+                <field ref="JOB_LISTENER"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_JOB_LSTNRS_JN_JG">
+            <foreignKey local="JOB_NAME,JOB_GROUP"
+                        references="RHQ_QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+    </table>
+
+    <table name="RHQ_QRTZ_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" required="true" size="80"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" required="true" size="80"/>
+        <column name="JOB_NAME" type="VARCHAR2" required="true" size="80"/>
+        <column name="JOB_GROUP" type="VARCHAR2" required="true" size="80"/>
+        <column name="IS_VOLATILE" type="BOOLEAN" required="true"/>
+        <column name="DESCRIPTION" type="VARCHAR2" required="false" size="120"/>
+        <column name="NEXT_FIRE_TIME" type="LONG" required="false"/>
+        <column name="PREV_FIRE_TIME" type="LONG" required="false"/>
+        <column name="PRIORITY" type="INTEGER" required="false"/>
+        <column name="TRIGGER_STATE" type="VARCHAR" required="true" size="16"/>
+        <column name="TRIGGER_TYPE" type="VARCHAR" required="true" size="8"/>
+        <column name="START_TIME" type="LONG" required="true"/>
+        <column name="END_TIME" type="LONG" required="false"/>
+        <column name="CALENDAR_NAME" type="VARCHAR2" required="false" size="80"/>
+        <column name="MISFIRE_INSTR" type="INTEGER" required="false"/>
+        <column name="JOB_DATA" type="BLOB" required="false"/>
+
+        <constraint name="RHQ_PK_QRTZ_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_TRIGGERS_JN_JG">
+            <foreignKey local="JOB_NAME,JOB_GROUP"
+                        references="RHQ_QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend these indexes. -->
+        <index name="RHQ_QRTZ_TRIGGERS_JN_JG_IDX">
+            <field ref="JOB_NAME"/>
+            <field ref="JOB_GROUP"/>
+        </index>
+        <index name="RHQ_QRTZ_TRIGGERS_NFT_IDX">
+            <field ref="NEXT_FIRE_TIME"/>
+        </index>
+        <index name="RHQ_QRTZ_TRIGGERS_TS_IDX">
+            <field ref="TRIGGER_STATE"/>
+        </index>
+        <index name="RHQ_QRTZ_TRIGGERS_TS_NFT_IDX">
+            <field ref="TRIGGER_STATE"/>
+            <field ref="NEXT_FIRE_TIME"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_QRTZ_SIMPLE_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" required="true" size="80"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" required="true" size="80"/>
+        <column name="REPEAT_COUNT" type="LONG" required="true"/>
+        <column name="REPEAT_INTERVAL" type="LONG" required="true"/>
+        <column name="TIMES_TRIGGERED" type="LONG" required="true"/>
+
+        <constraint name="RHQ_PK_QRTZ_SIMPLE_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_SIMPLE_TRGRS_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <!-- Commenting out, because Oracle auto-creates an index for the
+              primary key column(s) and fails if you try to create another
+             index for the same column(s) (ips, 03/29/07).
+        -->
+        <!--
+      <index name="RHQ_QRTZ_SIMPLE_TRGRS_TN_TG_IDX">
+         <field ref="TRIGGER_NAME"/>
+         <field ref="TRIGGER_GROUP"/>
+      </index>
+      -->
+    </table>
+
+    <table name="RHQ_QRTZ_CRON_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" required="true"/>
+        <column name="CRON_EXPRESSION" type="VARCHAR2" size="80" required="true"/>
+        <column name="TIME_ZONE_ID" type="VARCHAR2" size="80" required="false"/>
+
+        <constraint name="RHQ_PK_QRTZ_CRON_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_CRON_TRIG_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <!-- Commenting out, because Oracle auto-creates an index for the
+              primary key column(s) and fails if you try to create another
+             index for the same column(s) (ips, 03/29/07).
+        -->
+        <!--
+      <index name="RHQ_QRTZ_CRON_TRGRS_TN_TG_IDX">
+         <field ref="TRIGGER_NAME"/>
+         <field ref="TRIGGER_GROUP"/>
+      </index>
+      -->
+    </table>
+
+    <table name="RHQ_QRTZ_BLOB_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" required="true"/>
+        <column name="BLOB_DATA" type="BLOB" required="false"/>
+
+        <constraint name="RHQ_PK_QRTZ_BLOB_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_BLOB_TRIGG_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <!-- Commenting out, because Oracle auto-creates an index for the
+              primary key column(s) and fails if you try to create another
+             index for the same column(s) (ips, 03/29/07).
+        -->
+        <!--
+        <index name="RHQ_QRTZ_BLOB_TRGRS_TN_TG_IDX">
+           <field ref="TRIGGER_NAME"/>
+           <field ref="TRIGGER_GROUP"/>
+        </index>
+        -->
+    </table>
+
+    <table name="RHQ_QRTZ_TRIGGER_LISTENERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_LISTENER" type="VARCHAR2" size="80" required="true"/>
+
+        <constraint name="RHQ_PK_QRTZ_TRIGGER_LISTENERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+                <field ref="TRIGGER_LISTENER"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_TRGR_LSTNRS_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <index name="RHQ_QRTZ_TRGR_LSTNRS_TN_TG_IDX">
+            <field ref="TRIGGER_NAME"/>
+            <field ref="TRIGGER_GROUP"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_QRTZ_FIRED_TRIGGERS">
+        <column name="ENTRY_ID" primarykey="true" type="VARCHAR2" size="95" \
required="true"/> +        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" \
required="true"/> +        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" \
required="true"/> +        <column name="INSTANCE_NAME" type="VARCHAR2" size="80" \
required="true"/> +        <column name="FIRED_TIME" type="LONG" required="true"/>
+        <column name="PRIORITY" type="INTEGER" required="false"/>
+        <column name="STATE" type="VARCHAR2" size="16" required="true"/>
+        <column name="IS_VOLATILE" type="BOOLEAN" required="true"/>
+        <column name="JOB_NAME" type="VARCHAR2" size="80" required="false"/>
+        <column name="JOB_GROUP" type="VARCHAR2" size="80" required="false"/>
+        <column name="IS_STATEFUL" type="BOOLEAN" required="false"/>
+        <column name="REQUESTS_RECOVERY" type="BOOLEAN" required="false"/>
+
+        <!-- Quartz docs recommend these indexes. -->
+        <index name="RHQ_QRTZ_FIRED_TRGRS_TN_IDX">
+            <field ref="TRIGGER_NAME"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_TG_IDX">
+            <field ref="TRIGGER_GROUP"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_TN_TG_IDX">
+            <field ref="TRIGGER_NAME"/>
+            <field ref="TRIGGER_GROUP"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_IN_IDX">
+            <field ref="INSTANCE_NAME"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_JN_IDX">
+            <field ref="JOB_NAME"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_JG_IDX">
+            <field ref="JOB_GROUP"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_QRTZ_CALENDARS">
+        <column name="CALENDAR_NAME" primarykey="true" type="VARCHAR2" size="80" \
required="true"/> +        <column name="CALENDAR" type="BLOB" required="true"/>
+    </table>
+
+    <table name="RHQ_QRTZ_PAUSED_TRIGGER_GRPS">
+        <column name="TRIGGER_GROUP" primarykey="true" type="VARCHAR2" size="80" \
required="true"/> +    </table>
+
+    <table name="RHQ_QRTZ_SCHEDULER_STATE">
+        <column name="INSTANCE_NAME" primarykey="true" type="VARCHAR2" size="80" \
required="true"/> +        <column name="LAST_CHECKIN_TIME" type="LONG" \
required="true"/> +        <column name="CHECKIN_INTERVAL" type="LONG" \
required="true"/> +        <column name="RECOVERER" type="VARCHAR2" size="80" \
required="false"/> +    </table>
+
+    <table name="RHQ_QRTZ_LOCKS">
+        <column name="LOCK_NAME" primarykey="true" type="VARCHAR2" size="40" \
required="true"/> +        <data LOCK_NAME="TRIGGER_ACCESS"/>
+        <data LOCK_NAME="JOB_ACCESS"/>
+        <data LOCK_NAME="CALENDAR_ACCESS"/>
+        <data LOCK_NAME="STATE_ACCESS"/>
+        <data LOCK_NAME="MISFIRE_ACCESS"/>
+    </table>
+
+<!-- END: scheduler-schema.xml -->
+<!-- BEGIN: amps-schema.xml -->
+
+
+    <table name="RHQ_PLUGIN">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="VERSION" size="200" \
type="VARCHAR2" required="false"/> +        <column name="AMPS_VERSION" size="16" \
type="VARCHAR2" required="false"/> +        <column name="ENABLED" type="BOOLEAN" \
required="true"/> +        <column name="STATUS" size="16" type="VARCHAR2" \
required="true"/> +        <column name="HELP" type="CLOB" required="false"/>
+        <column name="PATH" size="500" type="VARCHAR2" required="true"/>
+        <column name="MD5" size="100" type="VARCHAR2" required="true"/>
+        <column name="CTIME" type="LONG" required="true"/>
+        <column name="MTIME" type="LONG" required="true"/>
+        <column name="DEPLOYMENT" size="8" type="VARCHAR2" required="true"/>
+        <column name="PTYPE" size="200" type="VARCHAR2" required="false"/>
+        <column name="PLUGIN_CONFIG_ID" type="INTEGER" references="RHQ_CONFIG" \
required="false"/> +        <column name="JOBS_CONFIG_ID" type="INTEGER" \
references="RHQ_CONFIG" required="false"/> +        <column name="CONTENT" \
type="BLOB" required="false"/> +
+        <index name="RHQ_PLUGIN_NAME_DEPLOY_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="DEPLOYMENT"/>
+        </index>
+    </table>
+
+<!-- END: amps-schema.xml -->
+<!-- BEGIN: measurement-schema.xml -->
+
+   <table name="RHQ_MEASUREMENT_DEF">
+
+      <!-- === required columns === -->
+      <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +      <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE(ID)"/> +      <column \
name="NAME" type="VARCHAR2" size="100" required="true"/> +
+      <!-- === optional columns === -->
+      <!-- an OSGI version range - if null, the metric def applies to all versions \
of the associated resource type --> +      <column name="RESOURCE_VERSION_RANGE" \
type="VARCHAR2" size="100"/> +      <column name="CATEGORY" type="SMALLINT"/>
+      <column name="UNITS" type="SMALLINT"/>
+      <column name="NUMERIC_TYPE" type="SMALLINT"/>
+      <column name="DISPLAY_TYPE" type="SMALLINT"/>
+      <column name="DATA_TYPE" type="SMALLINT"/>
+      <column name="RAW_NUMERIC_TYPE" type="SMALLINT"/>
+      <column name="DEFAULT_ON" type="BOOLEAN" default="false"/>
+      <column name="DEFAULT_INTERVAL" type="LONG" />
+      <column name="DISPLAY_NAME" type="VARCHAR2" size="100"/>
+      <column name="DISPLAY_ORDER" type="INTEGER" default="1000"/>
+      <column name="DESCRIPTION" type="VARCHAR2" size="500"/>
+      <column name="DESTINATION_TYPE" type="VARCHAR2" size="100"/>
+
+      <column name="VERSION" type="INTEGER"/>
+      <!-- for optimistic locking -->
+
+      <!-- === business key (RESOURCE_TYPE_ID + NAME + RAW_NUMERIC_TYPE) === -->
+      <index name="RHQ_METRIC_DEF_KEY_IDX" unique="true">
+         <field ref="RESOURCE_TYPE_ID"/>
+         <field ref="NAME"/>
+         <field ref="RAW_NUMERIC_TYPE"/>
+      </index>
+      <index name="RHQ_METRIC_DEF_NT_IDX">
+          <field ref="NUMERIC_TYPE"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_SCHED">
+      <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +
+      <column name="ENABLED" type="BOOLEAN" default="false"/>
+      <column name="MTIME" type="LONG" />
+      <column name="DEFINITION" type="INTEGER" \
references="RHQ_MEASUREMENT_DEF(ID)"/> +      <column name="VERSION" type="INTEGER" \
/> +      <column name="COLL_INTERVAL" type="LONG" />
+      <column name="RESOURCE_ID" type="INTEGER" references="RHQ_RESOURCE(ID)"/>
+      <index name="RHQ_MEAS_SCHED_UNIQ" unique="true">
+         <field ref="RESOURCE_ID"/>
+         <field ref="DEFINITION"/>
+      </index>
+       <index name="RHQ_MEAS_SCHED_RESID_IDX">
+          <field ref="RESOURCE_ID"/>
+       </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_BLINE">
+      <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +
+      <column name="BL_USER_ENTERED" type="BOOLEAN" default="false" \
required="true"/> +      <column name="BL_MIN" type="DOUBLE" required="true"/>
+      <column name="BL_MAX" type="DOUBLE" required="true"/>
+      <column name="BL_MEAN" type="DOUBLE" required="true"/>
+      <column name="BL_COMPUTE_TIME" type="LONG" required="true"/>
+      <column name="SCHEDULE_ID" type="INTEGER" required="true" \
references="RHQ_MEASUREMENT_SCHED(ID)"/> +      <index \
name="RHQ_MEAS_BASELINE_CTIME_IDX"> +         <field ref="BL_COMPUTE_TIME"/>
+      </index>
+      <index name="RHQ_MEAS_BASELINE_SID_IDX">
+         <field ref="SCHEDULE_ID"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_NUM_1H" logging="false" cache="true"
+          tablespace="@@@LARGE_TABLESPACE_FOR_DATA@@@" storage-options="freelists \
20"> +
+      <column name="TIME_STAMP" required="true" type="LONG"/>
+      <column name="SCHEDULE_ID" required="true" type="INTEGER"/>
+      <column name="VALUE" required="false" type="DOUBLE"/>
+      <column name="MINVALUE" required="false" type="DOUBLE"/>
+      <column name="MAXVALUE" required="false" type="DOUBLE"/>
+
+      <constraint name="RHQ_MEAS_DATA_1H_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+
+      <index name="RHQ_MEAS_DATA_1H_TIME_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_NUM_6H" logging="false" cache="true"
+          tablespace="@@@LARGE_TABLESPACE_FOR_DATA@@@" storage-options="freelists \
20"> +
+      <column name="TIME_STAMP" required="true" type="LONG"/>
+      <column name="SCHEDULE_ID" required="true" type="INTEGER"/>
+      <column name="VALUE" required="false" type="DOUBLE"/>
+      <column name="MINVALUE" required="false" type="DOUBLE"/>
+      <column name="MAXVALUE" required="false" type="DOUBLE"/>
+
+      <constraint name="RHQ_MEAS_DATA_6H_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+
+      <index name="RHQ_MEAS_DATA_6H_TIME_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_NUM_1D" logging="false" cache="true"
+          tablespace="@@@LARGE_TABLESPACE_FOR_DATA@@@" storage-options="freelists \
20"> +
+      <column name="TIME_STAMP" required="true" type="LONG"/>
+      <column name="SCHEDULE_ID" required="true" type="INTEGER"/>
+      <column name="VALUE" required="false" type="DOUBLE"/>
+      <column name="MINVALUE" required="false" type="DOUBLE"/>
+      <column name="MAXVALUE" required="false" type="DOUBLE"/>
+
+      <constraint name="RHQ_MEAS_DATA_1D_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+
+      <index name="RHQ_MEAS_DATA_1D_TIME_IDX">
+         <field ref="TIME_STAMP" />
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_TRAIT">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER" />
+      <column name="VALUE" type="VARCHAR2" size="4000" />
+      <constraint name="RHQ_MEAS_DATA_TRAIT_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+
+
+   <table name="RHQ_CALLTIME_DATA_KEY">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="SCHEDULE_ID" type="INTEGER" \
required="true"/> +      <column name="CALL_DESTINATION" type="VARCHAR2" size="4000" \
required="true"/> +      <index name="RHQ_CALLTIME_DATA_KEY_IDX" unique="true">
+         <field ref="SCHEDULE_ID"/>
+         <field ref="CALL_DESTINATION"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_CALLTIME_DATA_VALUE">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="KEY_ID" type="INTEGER" \
references="RHQ_CALLTIME_DATA_KEY" required="true"/> +      <column name="BEGIN_TIME" \
type="LONG" required="true"/> +      <column name="END_TIME" type="LONG" \
required="true"/> +      <column name="MINIMUM" type="DOUBLE" required="true"/>
+      <column name="MAXIMUM" type="DOUBLE" required="true"/>
+      <column name="TOTAL" type="DOUBLE" required="true"/>
+      <column name="COUNT" type="LONG" required="true"/>
+      <index name="RHQ_CT_DA_VA_END_TIM_IDX">
+          <field ref="END_TIME"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_AVAILABILITY">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE(ID)"/> +      <column name="START_TIME" \
type="LONG" required="true" /> +      <column name="END_TIME" type="LONG" \
required="false" /> +      <column name="AVAILABILITY_TYPE" type="SMALLINT" \
required="false" /> +      <index name="RHQ_AVAIL_RESOURCE_START_IDX">
+         <field ref="RESOURCE_ID"/>
+         <field ref="START_TIME"/>
+      </index>
+      <!-- only one null row can exist for any resource -->
+      <index name="RHQ_AVAIL_RESOURCE_END_IDX" condition="END_TIME IS NULL">
+         <field ref="RESOURCE_ID"/>
+         <field ref="END_TIME" />
+      </index>
+   </table>
+
+   <table name="RHQ_RESOURCE_AVAIL">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE(ID)" ondelete="cascade"/> +      <column \
name="AVAILABILITY_TYPE" type="SMALLINT" required="false" /> +      <index \
name="RHQ_RESOURCE_AVAIL_IDX"> +         <field ref="RESOURCE_ID" />
+      </index>
+   </table>
+
+   <table name="RHQ_MEASUREMENT_OOB">
+       <column name="SCHEDULE_ID" type="INTEGER" \
references="RHQ_MEASUREMENT_SCHED(ID)" required="true"/> +       <column \
name="TIME_STAMP" type="LONG" required="true"/> +       <column name="OOB_FACTOR" \
type="INTEGER" required="true" /> +       <constraint name="RHQ_MEAS_OOB_ID_PK">
+          <primaryKey>
+             <field ref="SCHEDULE_ID"/>
+          </primaryKey>
+       </constraint>
+   </table>
+
+   <table name="RHQ_MEASUREMENT_OOB_TMP">
+       <column name="SCHEDULE_ID" type="INTEGER" required="true"/>
+       <column name="TIME_STAMP" type="LONG" required="true"/>
+       <column name="OOB_FACTOR" type="INTEGER" required="true" />
+       <constraint name="RHQ_MEAS_OOB_TMP_ID_PK">
+          <primaryKey>
+             <field ref="SCHEDULE_ID"/>
+          </primaryKey>
+       </constraint>
+   </table>
+
+   <table name="RHQ_NUMBERS">
+      <column name="i" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true" /> +   </table>
+
+
+   <table name="RHQ_MEAS_DATA_NUM_R00">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R00_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R00_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R01">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R01_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R01_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R02">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R02_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R02_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R03">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R03_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R03_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R04">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R04_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R04_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R05">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R05_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R05_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R06">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R06_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R06_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R07">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R07_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R07_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R08">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R08_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R08_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R09">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R09_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R09_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R10">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R10_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R10_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R11">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R11_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R11_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R12">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R12_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R12_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R13">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R13_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R13_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R14">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R14_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R14_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+
+<!-- END: measurement-schema.xml -->
+<!-- BEGIN: content-schema.xml -->
+
+
+    <table name="RHQ_ARCHITECTURE">
+        <column name="ID" default="sequence-only" initial="100" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="50" \
type="VARCHAR2" required="true"/> +        <index name="RHQ_ARCHITECTURE_NAME_IDX" \
unique="true"> +            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_REPO_GROUP_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +    </table>
+
+
+    <table name="RHQ_REPO_GROUP">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +
+        <column name="REPO_GROUP_TYPE_ID" type="INTEGER" \
references="RHQ_REPO_GROUP_TYPE" required="true"/> +
+        <index name="RHQ_REPO_GROUP_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="REPO_GROUP_TYPE_ID"/>
+        </index>
+    </table>
+
+
+    <table name="RHQ_CONTENT_SOURCE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="false"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="PLUGIN_NAME" size="100" \
type="VARCHAR2" required="false"/> +        <!-- we might want this as part of \
natural key --> +        <column name="DEFAULT_LAZY_LOAD" type="BOOLEAN" \
required="true"/> +        <column name="DEFAULT_DOWNLOAD_MODE" size="16" \
type="VARCHAR2" required="true"/> +        <column name="DEFAULT_SYNC_SCHEDULE" \
size="64" type="VARCHAR2" required="false"/> +        <column name="API_CLASS" \
size="100" type="VARCHAR2" required="true"/> +
+        <column name="SOURCE_CONFIG_DEF_ID" type="INTEGER" \
references="RHQ_CONFIG_DEF" required="false"/> +
+        <index name="RHQ_CONTENT_SOURCE_TYPE_IDX" unique="true">
+            <field ref="NAME"/>
+            <!-- <field ref="PLUGIN_NAME"/> -->
+        </index>
+    </table>
+
+    <table name="RHQ_CONTENT_SOURCE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="LAZY_LOAD" type="BOOLEAN" \
required="true"/> +        <column name="DOWNLOAD_MODE" size="16" type="VARCHAR2" \
required="true"/> +        <column name="SYNC_SCHEDULE" size="64" type="VARCHAR2" \
required="false"/> +        <column name="LOAD_ERROR_MESSAGE" type="LONGVARCHAR" \
required="false"/> +        <column name="CREATION_TIME" type="LONG" \
required="true"/> +        <column name="LAST_MODIFIED_TIME" type="LONG" \
required="true"/> +
+        <column name="CONTENT_SOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_CONTENT_SOURCE_TYPE" required="true"/> +        <column \
name="CONFIGURATION_ID" type="INTEGER" references="RHQ_CONFIG" required="false"/> +
+        <index name="RHQ_CONTENT_SOURCE_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="CONTENT_SOURCE_TYPE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_REPO">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CREATION_TIME" type="LONG" \
required="true"/> +        <column name="LAST_MODIFIED_TIME" type="LONG" \
required="true"/> +        <column name="IS_CANDIDATE" type="BOOLEAN" \
required="true"/> +        <column name="SYNC_SCHEDULE" size="64" type="VARCHAR2" \
required="false"/> +        <column name="OWNER_ID" type="INTEGER" required="false" \
references="RHQ_SUBJECT" /> +        <column name="IS_PRIVATE" type="BOOLEAN" \
required="true" /> +        
+        <index name="RHQ_REPO_IDX" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+
+    <table name="RHQ_REPO_RELATION_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +    </table>
+
+
+    <table name="RHQ_REPO_RELATION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="RELATED_REPO_ID" \
type="INTEGER" references="RHQ_REPO" required="true"/> +        <column \
name="REPO_RELATION_TYPE_ID" type="INTEGER" references="RHQ_REPO_RELATION_TYPE" \
required="true"/> +    </table>
+
+
+
+    <table name="RHQ_PACKAGE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="false"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CATEGORY" size="50" \
type="VARCHAR2" required="false"/> +        <column name="DISCOVERY_INTERVAL" \
type="INTEGER" required="false"/> +        <column name="IS_CREATION_DATA" \
type="BOOLEAN" required="true"/> +        <column name="SUPPORTS_ARCHITECTURE" \
type="BOOLEAN" required="true"/> +
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE" required="false"/> +        <column \
name="DEPLOYMENT_CONFIG_DEF_ID" type="INTEGER" references="RHQ_CONFIG_DEF" \
required="false"/> +        <column name="PACKAGE_EXTRA_CONFIG_ID" type="INTEGER" \
references="RHQ_CONFIG_DEF" required="false"/> +
+        <index name="RHQ_PACKAGE_TYPE_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="RESOURCE_TYPE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_PACKAGE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="CLASSIFICATION" size="200" \
type="VARCHAR2" required="false"/> +
+        <column name="PACKAGE_TYPE_ID" type="INTEGER" references="RHQ_PACKAGE_TYPE" \
required="true"/> +
+        <index name="RHQ_PACKAGE_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="PACKAGE_TYPE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PACKAGE_BITS">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="BITS" type="LARGEOBJECT" \
required="false"/> +    </table>
+
+    <table name="RHQ_PACKAGE_VERSION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="false"/> +        <column name="SHORT_DESCRIPTION" \
size="10000" type="CLOB" required="false"/> +        <column name="LONG_DESCRIPTION" \
size="50000" type="CLOB" required="false"/> +        <column name="VERSION" \
size="500" type="VARCHAR2" required="true"/> +        <column name="DISPLAY_VERSION" \
size="500" type="VARCHAR2" required="false"/> +        <column name="FILE_NAME" \
size="255" type="VARCHAR2" required="false"/> +        <column name="FILE_SIZE" \
type="LONG" required="false"/> +        <column name="FILE_MD5" size="32" \
type="VARCHAR2" required="false"/> +        <column name="FILE_SHA256" size="64" \
type="VARCHAR2" required="false"/> +        <column name="FILE_CREATION_TIME" \
type="LONG" required="false"/> +        <column name="LICENSE_NAME" size="255" \
type="VARCHAR2" required="false"/> +        <column name="LICENSE_VERSION" size="20" \
type="VARCHAR2" required="false"/> +        <column name="METADATA" type="BLOB" \
required="false"/> +
+        <column name="PACKAGE_ID" type="INTEGER" references="RHQ_PACKAGE" \
required="true"/> +        <column name="ARCHITECTURE_ID" type="INTEGER" \
references="RHQ_ARCHITECTURE" required="true"/> +        <column name="CONFIG_ID" \
type="INTEGER" references="RHQ_CONFIG" required="false"/> +        <column \
name="PACKAGE_BITS_ID" type="INTEGER" references="RHQ_PACKAGE_BITS" \
required="false"/> +
+        <index name="RHQ_PACKAGE_VERSION_IDX" unique="true">
+            <field ref="PACKAGE_ID"/>
+            <field ref="VERSION"/>
+            <field ref="ARCHITECTURE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_CONTENT_REQ">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE"/> +        <column \
name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="true" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="REQUEST_TYPE" type="VARCHAR2" \
required="true" size="20"/> +        <column name="NOTES" type="VARCHAR2" \
required="false" size="512"/> +    </table>
+
+    <table name="RHQ_INSTALLED_PACKAGE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="INSTALLATION_TIME" \
type="LONG" required="false"/> +
+        <column name="RESOURCE_ID" type="INTEGER" references="RHQ_RESOURCE" \
required="true"/> +        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
references="RHQ_PACKAGE_VERSION" required="true"/> +        <column name="SUBJECT_ID" \
type="INTEGER" references="RHQ_SUBJECT" required="false"/> +    </table>
+
+    <table name="RHQ_INSTALLED_PKG_HIST">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STATUS" type="VARCHAR2" \
size="24" required="true"/> +        <column name="ERROR_MESSAGE" type="LONGVARCHAR" \
required="false"/> +        <column name="HISTORY_TIMESTAMP" type="LONG" \
required="false"/> +
+        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
references="RHQ_PACKAGE_VERSION" required="true"/> +        <column \
name="RESOURCE_ID" type="INTEGER" references="RHQ_RESOURCE" required="true"/> +       \
<column name="DEPLOYMENT_CONFIG_ID" type="INTEGER" references="RHQ_CONFIG" \
required="false"/> +        <column name="CONTENT_SERVICE_REQUEST_ID" type="INTEGER" \
references="RHQ_CONTENT_REQ" required="false"/> +    </table>
+
+    <table name="RHQ_CONTENT_SRC_SYNC">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STATUS" type="VARCHAR2" \
size="16" required="true"/> +        <column name="START_TIME" type="LONG" \
required="true"/> +        <column name="END_TIME" type="LONG" required="false"/>
+        <column name="RESULTS" type="LONGVARCHAR" required="false"/>
+        <column name="CONTENT_SRC_ID" type="INTEGER" required="true" \
references="RHQ_CONTENT_SOURCE"/> +    </table>
+
+   <table name="RHQ_REPO_SYNC">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STATUS" type="VARCHAR2" \
size="16" required="true"/> +        <column name="START_TIME" type="LONG" \
required="true"/> +        <column name="END_TIME" type="LONG" required="false"/>
+        <column name="RESULTS" type="LONGVARCHAR" required="false"/>
+        <column name="PERCENT_COMPLETE" type="LONG" required="false"/>
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +    </table>
+
+
+    <table name="RHQ_PACKAGE_INST_STEP">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STEP_KEY" type="VARCHAR2" \
size="500" required="true"/> +        <column name="STEP_ORDER" type="INTEGER" \
required="true"/> +        <column name="DESCRIPTION" type="VARCHAR2" size="4000" \
required="true"/> +        <column name="ERROR_MSG" type="LONGVARCHAR" \
required="false"/> +        <column name="RESULT" type="VARCHAR2" size="25" \
required="true"/> +
+        <column name="INSTALLED_PKG_HIST_ID" type="INTEGER" \
references="RHQ_INSTALLED_PKG_HIST"/> +    </table>
+
+    <table name="RHQ_REPO_RESOURCE_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE"/> +        <column name="CTIME" type="LONG" \
required="true"/> +
+        <constraint name="RHQ_REPO_RESOURCE_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="RESOURCE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_REPO_CONTENT_SRC_MAP">                                          \
1 +        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="CONTENT_SRC_ID" type="INTEGER" \
required="true" references="RHQ_CONTENT_SOURCE"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_CONTENT_SRC_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="CONTENT_SRC_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_REPO_REPO_GROUP_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="REPO_GROUP_ID" type="INTEGER" \
required="true" references="RHQ_REPO_GROUP"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_REPO_GROUP_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="REPO_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_REPO_REPO_RELATION_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="REPO_RELATION_ID" type="INTEGER" \
required="true" references="RHQ_REPO_RELATION"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_REPO_RELATION_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="REPO_RELATION_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+
+    <table name="RHQ_REPO_PKG_VERSION_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
required="true" references="RHQ_PACKAGE_VERSION"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_PKG_VER_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="PACKAGE_VERSION_ID"/>
+            </primaryKey>
+        </constraint>
+        <index name="RHQ_REPO_PKG_VER_MAP_IDX" unique="false">
+            <field ref="PACKAGE_VERSION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PKG_VER_CONTENT_SRC_MAP">
+        <column name="PACKAGE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +        <column name="CONTENT_SRC_ID" \
type="INTEGER" required="true" references="RHQ_CONTENT_SOURCE"/> +        <column \
name="LOCATION" type="VARCHAR2" size="4000" required="true"/> +
+        <constraint name="RHQ_PKG_VER_CONTENT_SRC_KEY">
+            <primaryKey>
+                <field ref="PACKAGE_VERSION_ID"/>
+                <field ref="CONTENT_SRC_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_PKG_PRD_MAP">
+        <column name="PKG_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +        <column name="PRD_ID" type="INTEGER" \
required="true" references="RHQ_PRD_VER"/> +
+        <constraint name="RHQ_PKG_PRD_KEY">
+            <primaryKey>
+                <field ref="PKG_ID"/>
+                <field ref="PRD_ID"/>
+            </primaryKey>
+        </constraint>
+
+    </table>
+
+    <table name="RHQ_DISTRIBUTION_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +
+    </table>
+
+    <table name="RHQ_DISTRIBUTION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DISTRIBUTION_TYPE_ID" \
type="INTEGER"  required="true" references="RHQ_DISTRIBUTION_TYPE"/> +        <column \
name="LABEL" size="64" type="VARCHAR2" required="true"/> +        <column \
name="BASE_PATH" size="256" type="VARCHAR2" required="true"/> +        <column \
name="LAST_MODIFIED" type="LONG" required="true"/> +
+        <index name="RHQ_DISTRIBUTION_IDX" unique="true">
+            <field ref="LABEL"/>
+            <field ref="BASE_PATH"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_REPO_DISTRIBUTION">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="DISTRIBUTION_ID" type="INTEGER" \
required="true" references="RHQ_DISTRIBUTION"/> +        <column name="LAST_MODIFIED" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_DIST_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="DISTRIBUTION_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+
+
+    <table name="RHQ_DISTRIBUTION_FILE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DISTRIBUTION_ID" \
type="INTEGER" required="true" references="RHQ_DISTRIBUTION"/> +        <column \
name="RELATIVE_FILENAME" size="256" type="VARCHAR2" required="true"/> +        \
<!--<column name="FILE_SIZE" type="NUMBER" required="true"/>--> +        <column \
name="MD5SUM" size="64" type="VARCHAR2" required="true"/> +        <column \
name="LAST_MODIFIED" type="LONG" required="true"/> +        <!--<column name="CTIME" \
type="LONG" required="true"/>--> +
+        <index name="RHQ_DISTRIBUTION_FILE_IDX" unique="true">
+            <field ref="DISTRIBUTION_ID"/>
+            <field ref="RELATIVE_FILENAME"/>
+        </index>
+    </table>
+
+
+
+
+    <table name="RHQ_ADVISORY">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY" size="64" \
type="VARCHAR2" required="true"/> +        <column name="ADVISORY_TYPE" size="64" \
type="VARCHAR2"  required="true" /> +        <column name="ADVISORY_REL" size="64" \
type="VARCHAR2" required="false"/> +        <column name="ADVISORY_NAME" size="64" \
type="VARCHAR2" required="false"/> +        <column name="DESCRIPTION" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="SYNOPSIS" size="4000" \
type="VARCHAR2" required="true"/> +        <column name="TOPIC" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="SOLUTION" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="SEVERITY" size="64" \
type="VARCHAR2"  required="false"/> +        <column name="ISSUE_DATE" type="LONG" \
required="false"/> +        <column name="UPDATE_DATE" type="LONG" required="false"/>
+        <column name="CTIME" type="LONG" required="true"/>
+        <column name="LAST_MODIFIED" type="LONG" required="true"/>
+
+        <index name="RHQ_ADVISORY_NAME_UQ" unique="true">
+            <field ref="ADVISORY_NAME"/>
+        </index>
+
+        <index name="RHQ_ADVISORY_UQ" unique="true">
+            <field ref="ADVISORY"/>
+        </index>
+
+        <index name="RHQ_ADVISORY_UDATE_IDX" unique="false">
+            <field ref="UPDATE_DATE"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ADVISORY_PACKAGE">
+    	  <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column \
name="PACKAGE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +        <column name="LAST_MODIFIED" type="LONG" \
required="true"/> +
+        <index name="RHQ_ADVISORY_PKG_IDX" unique="true">
+                <field ref="ADVISORY_ID"/>
+                <field ref="PACKAGE_VERSION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_CVE">
+        <column name="ID" default="sequence-only" initial="101" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="64" \
type="VARCHAR2" required="true"/> +    </table>
+
+    <table name="RHQ_ADVISORY_CVE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column name="CVE_ID" \
type="INTEGER" required="true" references="RHQ_CVE"/> +        <column \
name="LAST_MODIFIED" type="LONG" required="true"/> +
+        <index name="RHQ_ADVISORY_CVE_IDX" unique="true">
+                <field ref="ADVISORY_ID"/>
+                <field ref="CVE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_ADVISORY_BUGLIST">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column name="BUG_ID" size="256" \
type="VARCHAR2" required="true"/> +        <column name="LAST_MODIFIED" type="LONG" \
required="true"/> +
+        <index name="RHQ_ADVISORY_BUG_IDX" unique="true">
+                <field ref="ADVISORY_ID"/>
+                <field ref="BUG_ID"/>
+        </index>
+    </table>
+
+
+    <table name="RHQ_REPO_ADVISORY">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column name="LAST_MODIFIED" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_ADV_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="ADVISORY_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!-- BUNDLE_TYPE is things like "Cobbler profile" or "file-based bundle" or \
"puppet recipe" --> +    <table name="RHQ_BUNDLE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE"/> +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_TYPE_UNIQUE" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- BUNDLE is a named piece of content that can be versioned and installed \
somewhere --> +    <table name="RHQ_BUNDLE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="BUNDLE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_TYPE"/> +        <column \
name="PACKAGE_TYPE_ID" type="INTEGER" required="true" references="RHQ_PACKAGE_TYPE"/> \
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/>         +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_UNIQUE" unique="true">
+            <field ref="BUNDLE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- BUNDLE_VERSION represents an actual piece of content that needs to be \
installed somewhere --> +    <table name="RHQ_BUNDLE_VERSION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="VERSION" size="500" \
type="VARCHAR2" required="true"/> +        <column name="VERSION_ORDER" \
type="INTEGER" required="true"/> +        <column name="ACTION" type="CLOB" \
required="true"/> +        <column name="CONFIG_DEF_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_DEF" /> +        <column name="BUNDLE_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE"/> +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_VERSION_UNIQUE" unique="true">
+            <field ref="BUNDLE_ID"/>
+            <field ref="NAME"/>
+            <field ref="VERSION"/>
+        </index>
+    </table>
+
+    <!-- Many-to-many table that links many repos to a particular bundle version. \
destination platforms --> +    <!-- would be required to have associations to the \
specified repos (to access required content --> +    <table \
name="RHQ_BUNDLE_VERSION_REPO"> +        <column name="BUNDLE_VERSION_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_VERSION"/> +        <column \
name="REPO_ID" type="INTEGER" required="true" references="RHQ_REPO"/> +
+        <constraint name="RHQ_BUNDLE_VERSION_REPO_KEY">
+            <primaryKey>
+                <field ref="BUNDLE_VERSION_ID"/>
+                <field ref="REPO_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!-- BUNDLE_FILE represents a file that is associated with (possibly bundled \
inside) a bundle version --> +    <table name="RHQ_BUNDLE_FILE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="BUNDLE_VERSION_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_VERSION"/> +        <column \
name="PACKAGE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +    </table>
+
+    <!-- A logical destination for a bundle deployment. Defines the platforms and \
directory on those targets.  -->     +    <table name="RHQ_BUNDLE_DESTINATION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+        <column name="BUNDLE_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE"/>         +        <column name="GROUP_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_GROUP"/>         +        <column \
name="DEPLOY_DIR" size="256" type="VARCHAR2" required="true"/> +        <column \
name="DEST_BASE_DIR_NAME" size="200" type="VARCHAR2" required="true"/> +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_DESTINATION_UNIQUE" unique="true">
+            <field ref="BUNDLE_ID"/>            
+            <field ref="GROUP_ID"/>            
+            <field ref="DEPLOY_DIR"/>
+        </index>
+    </table>
+
+    <!-- An actual deployment of a bundle version to a destination, with a specific \
config. Bundle deployments +         can differ only on ctime, which is assumed to be \
different -->     +    <table name="RHQ_BUNDLE_DEPLOYMENT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+        <column name="BUNDLE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_VERSION"/> +        <column name="BUNDLE_DESTINATION_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_DESTINATION"/>         +        \
<column name="CONFIG_ID" type="INTEGER" required="false" references="RHQ_CONFIG" />   \
 +        <column name="SUBJECT_NAME" type="VARCHAR2" required="false" size="255"/>
+        <column name="STATUS" type="VARCHAR2" required="true" size="16"/>
+        <column name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/>        
+        <column name="IS_LIVE" type="BOOLEAN" required="true"/>        
+        <column name="REPLACED_BUNDLE_DEPLOYMENT_ID" type="INTEGER" required="false" \
references="RHQ_BUNDLE_DEPLOYMENT"/>         +    </table>
+
+    <!-- Represents a bundle version that is deployed on a platform resource -->
+    <table name="RHQ_BUNDLE_RES_DEPLOY">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/>     +        <column name="BUNDLE_DEPLOYMENT_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_DEPLOYMENT" /> +        <column \
name="RESOURCE_ID" type="INTEGER" required="true" references="RHQ_RESOURCE" /> +      \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/>         +        \
<column name="CTIME" type="LONG" required="true"/> +        
+        <index name="RHQ_BUNDLE_RES_DEPLOY_IDX" unique="true">
+            <field ref="BUNDLE_DEPLOYMENT_ID"/>
+            <field ref="RESOURCE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_BUNDLE_RES_DEP_HIST">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="BUNDLE_RES_DEPLOY_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_RES_DEPLOY" />         +        \
<column name="SUBJECT_NAME" required="false" size="255" type="VARCHAR2"/> +        \
<column name="AUDIT_TIME" required="true" type="LONG"/> +        <column \
name="ACTION" required="true" size="128" type="VARCHAR2"/> +        <column \
name="INFO" required="true" size="512" type="VARCHAR2"/>         +        <column \
name="CATEGORY" required="false" size="32" type="VARCHAR2"/>         +        <column \
name="STATUS" required="true" type="VARCHAR2" size="16"/>         +        <column \
name="MESSAGE" required="false" type="LONGVARCHAR"/> +        <column \
name="ATTACHMENT" required="false" type="LONGVARCHAR"/>         +    </table>
+
+    <table name="RHQ_TAGGING_BUNDLE_MAP">
+        <column name="BUNDLE_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_TAGGING_BUNDLE_VERSION_MAP">
+        <column name="BUNDLE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_VERSION"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_VER_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_VERSION_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_TAGGING_BUNDLE_DEPLOY_MAP">
+        <column name="BUNDLE_DEPLOYMENT_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_DEPLOYMENT"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_DEP_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_DEPLOYMENT_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+    
+    <table name="RHQ_TAGGING_BUNDLE_DEST_MAP">
+        <column name="BUNDLE_DESTINATION_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_DESTINATION"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_DES_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_DESTINATION_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!--  Drift Management Tables -->
+    <table name="RHQ_DRIFT_DEF_TEMPLATE">
+        <column name="ID" default="sequence-only" initial="1001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE"/> +        <column \
name="CONFIG_ID" type="INTEGER" required="true" references="RHQ_CONFIG"/> +        \
<column name="NAME" type="VARCHAR2" size="128" required="true"/> +        <column \
name="DESCRIPTION" type="VARCHAR2" size="512" required="false"/> +        <!-- true \
if defined by user, false if provided by plugin --> +        <column \
name="IS_USER_DEFINED" type="BOOLEAN" required="true"/>         +        <!--
+          Change sets are managed by the drift server plugins; therefore, we cannot \
maintain +          a FK constraint on the change set id. And the type cannot be \
integer because +          other back ends like MongoDB use other types that are \
basically variants of a +          UUID
+
+          jsanda
+        -->
+        <column name="DRIFT_CHANGE_SET_ID" type="VARCHAR2" size="64" \
required="false"/> +        <column name="CTIME" type="LONG" required="true"/>
+
+        <index name="RHQ_DRIFT_DEF_TEMPLATE_UNIQUE" unique="true">
+            <field ref="RESOURCE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!--  Content of a file being managed for drift. Used for diff and/or \
remediation --> +    <table name="RHQ_DRIFT_FILE">
+        <column name="HASH_ID" type="VARCHAR2" size="64" primarykey="true" \
required="true"/>         +        <column name="CTIME" type="LONG" required="true"/>
+        <column name="DATA" type="LARGEOBJECT" required="false"/>
+        <column name="DATA_SIZE" type="LONG" required="false"/>
+        <column name="STATUS" type="VARCHAR2" size="20" required="true"/>
+    </table>
+    
+    <!--  A single drift definition defining file tracking
+          Note: A resource or group (todo: group, other?) can have zero or more \
drift configurations.     +          Note: The name, interval and is_enabled values \
are also stored withing the referenced config. +                This allows us to use \
the config editor to manipulate all fields. +          Note: Name is read-only
+          Note: Interval unit is millis 
+    -->
+    <table name="RHQ_DRIFT_DEFINITION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="true" references="RHQ_CONFIG"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="false" references="RHQ_RESOURCE"/> +        <column \
name="DRIFT_DEF_TEMPLATE_ID" type="INTEGER" required="false" \
references="RHQ_DRIFT_DEF_TEMPLATE"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="NAME" type="VARCHAR2" size="512" \
required="true"/> +        <column name="DESCRIPTION" type="VARCHAR2" size="512" \
required="false"/> +        <column name="INTERVAL" type="LONG" required="true"/>
+        <column name="IS_ENABLED" type="BOOLEAN" required="true"/>        
+        <column name="DRIFT_HANDLING_MODE" type="VARCHAR2" size="20" \
required="true"/> +        <column name="IS_PINNED" type="BOOLEAN" required="true"/>
+        <column name="IS_ATTACHED" type="BOOLEAN" required="true"/>
+        <column name="COMPLIANCE_STATUS" type="INTEGER" required="true"/>
+    </table>
+
+    <!--  A set of drift records (note, this is for the JPA server plugin impl only) \
--> +    <table name="RHQ_DRIFT_SET">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +    </table>
+
+    <!--  A drift change-set report for a resource (note, this is for the JPA server \
plugin impl only) --> +    <table name="RHQ_DRIFT_CHANGE_SET">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DRIFT_SET_ID" type="INTEGER" \
required="false" references="RHQ_DRIFT_SET"/> +        <column name="CTIME" \
type="LONG" required="true"/> +        <!-- Version 0 is initial change-set -->
+        <column name="VERSION" type="INTEGER" required="true"/>
+        <column name="CATEGORY" type="VARCHAR2" size="20" required="true"/>          \
 +        <column name="RESOURCE_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +        <column name="DRIFT_DEFINITION_ID" \
type="INTEGER" required="false" references="RHQ_DRIFT_DEFINITION"/> +        <!--  \
the drift handling mode at changeset creation time --> +        <column \
name="DRIFT_HANDLING_MODE" type="VARCHAR2" size="20" required="true"/>         +    \
</table> +    
+    <!--  A single occurence of drift for a resource (note, this is for the JPA \
server plugin impl only) --> +    <table name="RHQ_DRIFT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="CATEGORY" type="VARCHAR2" size="20" \
required="true"/>         +        <column name="DRIFT_SET_ID" type="INTEGER" \
required="false" references="RHQ_DRIFT_SET"/> +        <column \
name="DRIFT_CHANGE_SET_ID" type="INTEGER" required="true" \
references="RHQ_DRIFT_CHANGE_SET"/> +        <!-- the file path not including the \
base directory -->         +        <column name="PATH" type="VARCHAR2" size="1024" \
required="true"/> +        <!-- the same as PATH less [/]filename.ext. Redundant \
storage for the purpose of strict directory search. +             this field can be \
considered transient for serialization purposes --> +        <column \
name="PATH_DIRECTORY" type="VARCHAR2" size="1024" required="true"/>         +        \
<column name="OLD_DRIFT_FILE" type="VARCHAR2" size="64" required="false" \
references="RHQ_DRIFT_FILE"/>         +        <column name="NEW_DRIFT_FILE" \
type="VARCHAR2" size="64" required="false" references="RHQ_DRIFT_FILE"/>         +    \
</table> +
+
+<!-- END: content-schema.xml -->
+<!-- BEGIN: resource-request-schema.xml -->
+        
+
+    <table name="RHQ_CREATE_RES_HIST">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="PARENT_RESOURCE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE"/> +        <column \
name="CREATED_RESOURCE_NAME" type="VARCHAR2" size="500" required="false"/> +        \
<column name="NEW_RESOURCE_KEY" type="VARCHAR2" required="false" size="500"/> +       \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="true" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_TYPE"/> +        <column \
name="CONFIGURATION_ID" type="INTEGER" required="false" references="RHQ_CONFIG"/> +   \
<column name="INSTALLED_PACKAGE_ID" type="INTEGER" required="false" \
references="RHQ_INSTALLED_PACKAGE"/> +    </table>
+
+    <table name="RHQ_DELETE_RES_HIST">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="ERROR_MESSAGE" \
type="LONGVARCHAR" required="false"/> +        <column name="SUBJECT_NAME" \
type="VARCHAR2" required="true" size="100"/> +        <column name="CTIME" \
type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="STATUS" type="VARCHAR2" required="true" \
size="16"/> +        <column name="RESOURCE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE"/> +    </table>
+
+<!-- END: resource-request-schema.xml -->
+<!-- BEGIN: jms-schema.xml -->
+
+<!-- the schema matches that which would be automatically created by the JMS \
subsystem --> +<!-- see deploy/jms/rhq-jdbc-state-service.xml and \
rhq-jdbc2-service.xml --> +
+
+    <table name="JMS_MESSAGES">
+        <column name="MESSAGEID"   required="true"  type="INTEGER" />
+        <column name="DESTINATION" required="true"  type="VARCHAR2" size="255" />
+        <column name="TXID"        required="false" type="INTEGER" />
+        <column name="TXOP"        required="false" type="CHAR" size="1" />
+        <column name="MESSAGEBLOB" required="false" type="BLOB" />
+
+        <constraint name="JMS_MESSAGES_PKEY">
+            <primaryKey>
+                <field ref="MESSAGEID"/>
+                <field ref="DESTINATION"/>
+            </primaryKey>
+        </constraint>
+
+        <index name="JMS_MESSAGES_TXOP_TXID">
+            <field ref="TXOP"/>
+            <field ref="TXID"/>
+        </index>
+        <index name="JMS_MESSAGES_DESTINATION">
+            <field ref="DESTINATION"/>
+        </index>
+    </table>
+
+    <table name="JMS_TRANSACTIONS">
+        <column name="TXID" required="true" type="INTEGER" primarykey="true" />
+    </table>
+
+    <table name="JMS_USERS">
+        <column name="USERID"   required="true"  type="VARCHAR2" size="32" \
primarykey="true" /> +        <column name="PASSWD"   required="true"  \
type="VARCHAR2" size="32" /> +        <column name="CLIENTID" required="false" \
type="VARCHAR2" size="128" /> +    </table>
+
+    <table name="JMS_ROLES">
+        <column name="ROLEID" required="true" type="VARCHAR2" size="32" />
+        <column name="USERID" required="true" type="VARCHAR2" size="32" />
+
+        <constraint name="JMS_ROLES_PKEY">
+            <primaryKey>
+                <field ref="USERID"/>
+                <field ref="ROLEID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="JMS_SUBSCRIPTIONS">
+        <column name="CLIENTID" required="true"  type="VARCHAR2" size="128" />
+        <column name="SUBNAME"  required="true"  type="VARCHAR2" size="128" />
+        <column name="TOPIC"    required="true"  type="VARCHAR2" size="255" />
+        <column name="SELECTOR" required="false" type="VARCHAR2" size="255" />
+
+        <constraint name="JMS_SUBSCRIPTIONS_PKEY">
+            <primaryKey>
+                <field ref="CLIENTID"/>
+                <field ref="SUBNAME"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+<!-- END: jms-schema.xml -->
+<!-- BEGIN: obsolete-schema.xml -->
+        
+    
+    <!-- NOTE: The tables will be dropped in the *** REVERSE ORDER *** as listed in \
this file! --> +    <!-- NOTE: So, put the table you want dropped first at the \
bottom, and so on... --> +
+
+    <!-- !!! REMOVED FROM CONTENT-SCHEMA !!!! -->
+    
+     <table name="RHQ_DRIFT_TEMPLATE_MAP">
+         <column name="RESOURCE_TYPE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_TYPE"/> +         <column name="CONFIG_TEMPLATE_ID" \
type="INTEGER" required="true" references="RHQ_CONFIG_TEMPLATE"/> +     </table>
+    
+    <table name="RHQ_BUNDLE_CONFIG" obsolete="true">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG" /> +        <!-- this probably needs a DTYPE \
discriminator so we know if its a bundle or a specific bundle version --> +        \
<column name="BUNDLE_VERSION_ID" type="INTEGER" required="false" \
references="RHQ_BUNDLE_VERSION"/> +        <column name="BUNDLE_ID" type="INTEGER" \
required="false" references="RHQ_BUNDLE"/> +    </table>
+
+    <table name="RHQ_CHANNEL" obsolete="true">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CREATION_TIME" type="LONG" \
required="true"/> +        <column name="LAST_MODIFIED_TIME" type="LONG" \
required="true"/> +
+        <index name="RHQ_CHANNEL_IDX" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_CHANNEL_RESOURCE_MAP" obsolete="true">
+        <column name="CHANNEL_ID" type="INTEGER" required="true" \
references="RHQ_CHANNEL"/> +        <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE"/> +        <column name="CTIME" type="LONG" \
required="true"/> +
+        <constraint name="RHQ_CHANNEL_RESOURCE_MAP_KEY">
+            <primaryKey>
+                <field ref="CHANNEL_ID"/>
+                <field ref="RESOURCE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_CHANNEL_CONTENT_SRC_MAP" obsolete="true">
+        <column name="CHANNEL_ID" type="INTEGER" required="true" \
references="RHQ_CHANNEL"/> +        <column name="CONTENT_SRC_ID" type="INTEGER" \
required="true" references="RHQ_CONTENT_SOURCE"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_CHAN_CONTENT_SRC_MAP_KEY">
+            <primaryKey>
+                <field ref="CHANNEL_ID"/>
+                <field ref="CONTENT_SRC_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_CHANNEL_PKG_VERSION_MAP" obsolete="true">
+        <column name="CHANNEL_ID" type="INTEGER" required="true" \
references="RHQ_CHANNEL"/> +        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
required="true" references="RHQ_PACKAGE_VERSION"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_CHANNEL_PKG_VER_MAP_KEY">
+            <primaryKey>
+                <field ref="CHANNEL_ID"/>
+                <field ref="PACKAGE_VERSION_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+   <!-- !!! REMOVED FROM MEASUREMENT-SCHEMA !!!! -->
+
+   <table name="RHQ_MEASUREMENT_OOB" obsolete="true">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="SCHEDULE_ID" type="INTEGER" \
references="RHQ_MEASUREMENT_SCHED(ID)" required="true"/> +      <column \
name="OCCURRED" type="LONG" required="true"/> +      <column name="DIFF" \
type="DOUBLE" required="true"/> +
+      <index name="RHQ_MEASUREMENT_OOB_IDX" unique="true">
+         <field ref="SCHEDULE_ID" />
+         <field ref="OCCURRED" />
+      </index>
+   </table>
+
+
+     <table name="RHQ_TAG" obsolete="true">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +    </table>
+
+     <table name="RHQ_REPO_TAG_MAP" obsolete="true">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="TAG_ID" type="INTEGER" required="true" \
references="RHQ_TAG"/> +
+        <constraint name="RHQ_REPO_TAG_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+
+<!-- END: obsolete-schema.xml -->
+</dbsetup>
diff --git a/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-rhq-4.2.0.xml \
b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-rhq-4.2.0.xml
 new file mode 100644
index 0000000..425a806
--- /dev/null
+++ b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-rhq-4.2.0.xml
 @@ -0,0 +1,2642 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dbsetup name="schema">
+<!-- BEGIN: config-schema.xml -->
+
+
+    <!-- Definition or Metadata tables -->
+
+    <table name="RHQ_CONFIG_DEF">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="true" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="250"/> +        <column name="VERSION" type="VARCHAR2" \
required="false" size="50"/> +        <column name="CONFIG_FORMAT" type="VARCHAR2" \
required="false" size="32"/> +    </table>
+
+    <table name="RHQ_CONFIG_PROP_GRP_DEF">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="true" size="100"/> +        <column name="DISPLAY_NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="250"/> +        <column name="DEFAULT_HIDDEN" type="BOOLEAN" \
required="false"/> +        <column name="ORDER_INDEX" type="INTEGER" \
required="false"/> +    </table>
+
+    <table name="RHQ_CONFIG_PROP_DEF">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="false" size="255"/> +        <column name="DISPLAY_NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="1000"/> +        <column name="DEFAULT_VALUE" type="VARCHAR2" \
required="false" size="2000"/> +        <column name="REQUIRED" type="BOOLEAN" \
required="false"/> +        <column name="READONLY" type="BOOLEAN" required="false"/>
+        <column name="SUMMARY" type="BOOLEAN" required="false"/>
+        <column name="ACTIVATION_POLICY" type="VARCHAR2" required="false" \
size="20"/> +        <column name="GROUP_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_PROP_GRP_DEF"/> +        <column name="ORDER_INDEX" \
type="INTEGER" required="false"/> +        <column name="VERSION" type="VARCHAR2" \
required="false" size="50"/> +        <column name="PARENT_MAP_DEFINITION_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG_PROP_DEF"/> +        <column \
name="PARENT_LIST_DEFINITION_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_PROP_DEF"/> +        <column name="SIMPLE_TYPE" \
type="VARCHAR2" required="false" size="20"/> +        <column \
name="ALLOW_CUSTOM_ENUM_VALUE" type="BOOLEAN" required="false"/> +        <column \
name="DTYPE" type="VARCHAR2" required="true" size="10"/> +        <column \
name="CONFIG_DEF_ID" type="INTEGER" required="false" references="RHQ_CONFIG_DEF"/> +
+        <!-- only simple properties (not lists and maps) have this -->
+        <column name="UNITS" type="SMALLINT" required="false"/>
+
+        <!-- only dynamic properties (not simple) have this -->
+        <column name="DYNAMIC_TYPE" type="VARCHAR2" size="20" required="false"/>
+        <column name="DYNAMIC_KEY" type="VARCHAR2" size="128" required="false"/>
+    </table>
+
+    <table name="RHQ_CONF_PROP_DEF_ENUM">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="STRING_VALUE" \
type="VARCHAR2" required="false" size="500"/> +        <column name="ORDER_INDEX" \
type="INTEGER" required="false"/> +        <column name="NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="PROPERTY_DEF_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_PROP_DEF"/> +    </table>
+
+    <table name="RHQ_CONFIG_PD_OSRC">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="LINK_TO_TARGET" \
type="BOOLEAN" required="false"/> +        <column name="FILTER" type="VARCHAR2" \
required="false" size="40"/> +        <column name="EXPRESSION" type="VARCHAR2" \
required="true" size="400"/> +        <column name="TARGET_TYPE" type="VARCHAR2" \
required="true" size="20"/> +        <column name="PROPERTY_DEF_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_PROP_DEF"/> +    </table>
+
+    <table name="RHQ_CONFIG_PROP_CONSTR">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="DTYPE" type="VARCHAR2" \
required="true" size="15"/> +        <column name="DETAILS" type="VARCHAR2" \
required="false" size="250"/> +        <column name="CONFIG_PROP_DEF_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG_PROP_DEF"/> +        <column \
name="ORDER_INDEX" type="INTEGER" required="false"/> +    </table>
+
+
+    <!-- Content or value tables -->
+
+    <table name="RHQ_CONFIG">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NOTES" type="VARCHAR2" \
required="false" size="512"/> +        <column name="VERSION" type="VARCHAR2" \
required="false" size="50"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+    </table>
+
+    <table name="RHQ_CONFIG_PROPERTY">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="CONFIGURATION_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG" ondelete="cascade"/> +        \
<column name="STRING_VALUE" type="VARCHAR2" required="false" size="2000"/> +        \
<column name="OVERRIDE" type="BOOLEAN" required="false"/> +        <column \
name="NAME" type="VARCHAR2" required="true" size="255"/> +        <column \
name="DTYPE" type="VARCHAR2" required="true" size="10"/> +        <!-- Recursive \
cascade path to RHQ_CONFIG_PROPERTY causes constraint creation errors on SQL Server, \
see +             http://support.microsoft.com/kb/321843 -->
+        <column name="PARENT_LIST_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_PROPERTY" ondelete="cascade" /> +        <column \
name="PARENT_MAP_ID" type="INTEGER" required="false" references="RHQ_CONFIG_PROPERTY" \
ondelete="cascade" /> +        <column name="LIST_INDEX" type="INTEGER"/>
+        <column name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/>
+        <index name="RHQ_CONFIG_PROP_idx_prop_key" unique="false">
+            <field ref="CONFIGURATION_ID"/>
+            <field ref="NAME"/>
+        </index>
+        <index name="RHQ_CONFIG_PROP_idx_map_key" unique="false">
+            <field ref="PARENT_MAP_ID"/>
+            <field ref="NAME"/>
+        </index>
+        <index name="RHQ_CONFIG_PROP_idx_list_key" unique="false">
+            <field ref="PARENT_LIST_ID"/>
+        </index>
+        <!-- List entries all have the same name -->
+    </table>
+
+    <table name="RHQ_CONFIG_TEMPLATE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="500"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG"/> +        <column name="CONFIG_DEF_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG_DEF"/> +        <column \
name="IS_DEFAULT" type="BOOLEAN" required="false"/> +    </table>
+
+    <table name="RHQ_RAW_CONFIG">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="true" references="RHQ_CONFIG(ID)"/> +        <column name="PATH" \
type="VARCHAR2" required="false" size="512"/> +        <column name="CONTENTS" \
type="CLOB" required="true"/> +        <column name="SHA256" type="VARCHAR2" \
size="64" required="true"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+    </table>
+
+<!-- END: config-schema.xml -->
+<!-- BEGIN: cluster-schema.xml -->
+
+    <table name="RHQ_AFFINITY_GROUP">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="255" type="VARCHAR2"/>
+    </table>
+
+    <table name="RHQ_SERVER">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="255" type="VARCHAR2"/>
+        <column name="ADDRESS" required="true" size="255" type="VARCHAR2"/>
+        <column name="PORT" required="true" type="INTEGER"/>
+        <column name="SECURE_PORT" required="true" type="INTEGER"/>
+        <column name="CTIME" required="true" type="LONG"/>
+        <column name="MTIME" required="true" type="LONG"/>
+        <column name="AFFINITY_GROUP_ID" type="INTEGER" \
references="RHQ_AFFINITY_GROUP" required="false"/> +        <column \
name="COMPUTE_POWER" required="true" type="INTEGER"/>         +        <column \
name="OPERATION_MODE" required="true" size="32" type="VARCHAR2"/> +        <column \
name="STATUS" type="INTEGER" required="false" default="0" /> +    
+        <!--  This index is for constraint, not performance -->    
+        <index name="RHQ_SERVER_NAME_UNIQUE" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!--  new agent -->
+    <table name="RHQ_AGENT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" required="true" \
size="255" type="VARCHAR2"/> +        <column name="ADDRESS" required="true" \
size="255" type="VARCHAR2"/> +        <column name="PORT" required="true" \
type="INTEGER"/> +        <column name="AGENTTOKEN" required="true" size="100" \
type="VARCHAR2"/> +        <column name="REMOTE_ENDPOINT" required="false" \
size="4000" type="VARCHAR2"/> +        <column name="CTIME" required="true" \
type="LONG"/> +        <column name="MTIME" required="true" type="LONG"/>
+        <column name="LAST_AVAILABILITY_REPORT" required="false" type="LONG"/>
+        <column name="AFFINITY_GROUP_ID" type="INTEGER" \
references="RHQ_AFFINITY_GROUP" required="false"/> +        <column name="SERVER_ID" \
type="INTEGER" references="RHQ_SERVER" required="false"/> +        <column \
name="STATUS" type="INTEGER" required="false" default="0" /> +        <column \
name="BACKFILLED" type="BOOLEAN" required="true" /> +
+        <index name="RHQ_AGENT_NAME_UNIQUE" unique="true">
+            <field ref="NAME"/>
+        </index>
+
+        <index name="RHQ_AGENT_ADDRESS_PORT" unique="true">
+            <field ref="ADDRESS"/>
+            <field ref="PORT"/>
+        </index>
+
+        <index name="RHQ_AGENT_TOKEN_UNIQUE" unique="true">
+            <field ref="AGENTTOKEN"/>
+        </index>
+    </table>
+    
+    <table name="RHQ_PARTITION_EVENT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="SUBJECT_NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="CTIME" required="true" type="LONG"/>
+        <column name="EVENT_TYPE" required="true" size="50" type="VARCHAR2"/>
+        <column name="EVENT_DETAIL" required="false" size="512" type="VARCHAR2"/>
+        <column name="EXECUTION_STATUS" required="true" size="32" type="VARCHAR2"/>  \
 +    </table>
+    
+    <table name="RHQ_PARTITION_DETAILS">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PARTITION_EVENT_ID" type="INTEGER" \
references="RHQ_PARTITION_EVENT" required="true"/> +        <column name="AGENT_NAME" \
type="VARCHAR2" size="255" required="true"/> +        <column name="SERVER_NAME" \
type="VARCHAR2" size="255" required="true"/> +    </table>
+
+    <table name="RHQ_FAILOVER_LIST">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PARTITION_EVENT_ID" type="INTEGER" \
references="RHQ_PARTITION_EVENT" required="true"/> +        <column name="AGENT_ID" \
type="INTEGER" references="RHQ_AGENT" required="true"/> +        <column name="CTIME" \
required="true" type="LONG"/> +    </table>
+
+    <table name="RHQ_FAILOVER_DETAILS">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="FAILOVER_LIST_ID" type="INTEGER" \
references="RHQ_FAILOVER_LIST" required="true"/> +        <column name="SERVER_ID" \
type="INTEGER" references="RHQ_SERVER" required="true"/> +        <column \
name="ORDINAL" type = "INTEGER" required="true"/> +    </table>
+
+<!-- END: cluster-schema.xml -->
+<!-- BEGIN: auth-schema.xml -->
+
+
+    <table name="RHQ_PRINCIPAL">
+
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PRINCIPAL" required="true" type="VARCHAR2" size="100"/>
+        <column name="PASSWORD" required="true" type="VARCHAR2" size="64"/>
+
+        <!-- ensure that principals are unique -->
+        <index name="RHQ_PRINCIPAL_PRINCIPAL_KEY" unique="true">
+            <field ref="PRINCIPAL"/>
+        </index>
+
+    </table>
+    
+    <table name="RHQ_SUBJECT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="CONFIGURATION_ID" type="INTEGER" references="RHQ_CONFIG"/>
+        <column name="FIRST_NAME" required="false" size="100" type="VARCHAR2"/>
+        <column name="LAST_NAME" required="false" size="100" type="VARCHAR2"/>
+        <column name="EMAIL_ADDRESS" size="100" type="VARCHAR2"/>
+        <column name="SMS_ADDRESS" size="100" type="VARCHAR2"/>
+        <column name="PHONE_NUMBER" size="100" type="VARCHAR2"/>
+        <column name="DEPARTMENT" size="100" type="VARCHAR2"/>
+        <column name="FACTIVE" required="true" type="BOOLEAN" default="true"/>
+        <column name="FSYSTEM" required="true" type="BOOLEAN" default="false"/>
+
+        <index name="RHQ_SUBJECT_AUTH_KEY" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>    
+
+<!-- END: auth-schema.xml -->
+<!-- BEGIN: inventory-schema.xml -->
+
+
+    <!-- NEW RESOURCE TYPES -->
+    <table name="RHQ_RESOURCE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" type="VARCHAR2" size="100" required="true"/>
+        <column name="CATEGORY" type="VARCHAR2" size="16" required="true"/>
+        <column name="CREATION_DATA_TYPE" type="VARCHAR2" size="16" \
required="true"/> +        <column name="CREATE_DELETE_POLICY" type="VARCHAR2" \
size="16" required="true"/> +        <column name="SINGLETON" type="BOOLEAN" \
required="true"/> +        <column name="SUPPORTS_MANUAL_ADD" type="BOOLEAN" \
required="true"/> +        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+        <column name="PLUGIN" type="VARCHAR2" size="100"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="DELETED" type="BOOLEAN" default="FALSE" required="TRUE"/>
+        <column name="SUBCATEGORY_ID" type="INTEGER"/>
+        <!--
+        TODO add support to DB setup for tables with circular dependencies and then \
add back this RI +        <column name="SUBCATEGORY_ID" type="INTEGER" \
references="RHQ_RESOURCE_SUBCAT" /> +        -->
+        <column name="PLUGIN_CONFIG_DEF_ID" type="INTEGER" \
references="RHQ_CONFIG_DEF(ID)"/> +        <column name="RES_CONFIG_DEF_ID" \
type="INTEGER" references="RHQ_CONFIG_DEF(ID)"/> +        <column \
name="BUNDLE_CONFIG_ID" type="INTEGER" references="RHQ_CONFIG"/> +
+        <index name="RHQ_RES_TYPE_IDX_PLG_NAME" unique="true">
+            <field ref="NAME"/>
+            <field ref="PLUGIN"/>
+        </index>
+    </table>
+
+    <!-- NEW RESOURCE SUBCATEGORIES -->
+    <table name="RHQ_RESOURCE_SUBCAT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" type="VARCHAR2" size="100"/>
+        <column name="DISPLAY_NAME" type="VARCHAR2" size="100"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="PARENT_SUBCATEGORY_ID" type="INTEGER" \
references="RHQ_RESOURCE_SUBCAT"/> +        <!-- resourceTypeId is not required on \
child sub categories --> +        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +    </table>
+
+    <!-- Many To Many mapping for resource type to its parents -->
+    <table name="RHQ_RESOURCE_TYPE_PARENTS">
+        <column name="RESOURCE_TYPE_ID" required="true" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +        <column name="PARENT_RESOURCE_TYPE_ID" \
required="true" type="INTEGER" references="RHQ_RESOURCE_TYPE"/> +
+        <!-- not using full words to fit index name length -->
+        <constraint name="RHQ_RES_TYPE_PARENTS_KEY">
+            <primaryKey>
+                <field ref="RESOURCE_TYPE_ID"/>
+                <field ref="PARENT_RESOURCE_TYPE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_PROCESS_SCAN">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="QUERY" type="VARCHAR2" size="256" required="true"/>
+        <column name="NAME" type="VARCHAR2" size="100" required="false"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +
+        <index name="RHQ_PROCESS_SCAN_QUERY_INDEX" unique="true">
+            <field ref="QUERY"/>
+            <field ref="RESOURCE_TYPE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PRD_VER">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="VERSION" type="VARCHAR2" \
size="50" required="true"/> +        <column name="RES_TYPE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_TYPE"/> +    </table>
+
+    <table name="RHQ_RESOURCE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_TYPE"/> +        <column name="UUID" type="CHAR" size="36" \
required="true"/> +        <column name="NAME" type="VARCHAR2" size="500"/>
+        <!--  ancestry holds the full parental ancestry, used for disambiguation -->
+        <column name="ANCESTRY" type="VARCHAR2" required="false" size="4000"/>       \
 +        <column name="RESOURCE_KEY" type="VARCHAR2" required="true" size="500"/>
+        <column name="AGENT_ID" required="false" type="INTEGER" \
references="RHQ_AGENT(id)"/> +        <column name="INVENTORY_STATUS" type="VARCHAR2" \
size="20"/> +        <column name="CONNECTED" type="BOOLEAN"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+        <column name="VERSION" type="VARCHAR2" size="100"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="ITIME" type="LONG"/>
+        <column name="RES_CONFIGURATION_ID" type="INTEGER" references="RHQ_CONFIG"/>
+        <column name="PLUGIN_CONFIGURATION_ID" type="INTEGER" \
references="RHQ_CONFIG"/> +        <column name="MODIFIED_BY" required="false" \
size="100" type="VARCHAR2"/> +        <column name="LOCATION" required="false" \
size="100" type="VARCHAR2"/> +        <column name="PARENT_RESOURCE_ID" \
type="INTEGER" references="RHQ_RESOURCE"/> +        <column name="PRODUCT_VERSION_ID" \
type="INTEGER" references="RHQ_PRD_VER"/> +
+        <index name="RHQ_RESOURCE_idx_key">
+            <field ref="RESOURCE_KEY"/>
+        </index>
+
+        <index name="RHQ_RESOURCE_idx_type">
+            <field ref="RESOURCE_TYPE_ID"/>
+        </index>
+
+        <index name="RHQ_RESOURCE_idx_agent">
+            <field ref="AGENT_ID"/>
+        </index>
+
+        <index name="RHQ_RESOURCE_idx_parent">
+            <field ref="PARENT_RESOURCE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_RESOURCE_ERROR">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE"/> +        <column \
name="TIME_OCCURRED" type="LONG" required="true"/> +        <column name="ERROR_TYPE" \
type="VARCHAR2" required="true" size="32"/> +        <column name="SUMMARY" \
type="VARCHAR2" required="true" size="1000"/> +        <column name="DETAIL" \
type="LONGVARCHAR" required="false"/> +
+        <index name="RHQ_RES_ERROR_IDX_RES_ID">
+            <field ref="RESOURCE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_GROUP_DEF">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="DESCRIPTION" size="100" type="VARCHAR2"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="CALC_TIME" type="LONG"/>
+        <column name="CALC_INTERVAL" type="LONG"/>
+        <column name="RECURSIVE" type="BOOLEAN"/>
+        <column name="EXPRESSION" type="VARCHAR2" size="1000"/>
+
+        <index name="RHQ_GROUP_DEF_NAME" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_RESOURCE_GROUP">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <!-- this name can be longer than the size of the GROUP_BY column, which is \
used to uniquely identify it --> +        <!-- Max bytes for Oracle Varchar2 to \
accommodate large cluster keys --> +        <column name="NAME" required="true" \
size="4000" type="VARCHAR2"/> +        <column name="DESCRIPTION" size="100" \
type="VARCHAR2"/> +        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +        <!-- Compatible groups only -->
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="MODIFIED_BY" required="false" size="100" type="VARCHAR2"/>
+        <column name="RECURSIVE" type="BOOLEAN"/>
+
+        <column name="GROUP_DEFINITION_ID" required="false" type="INTEGER" \
references="RHQ_GROUP_DEF"/> +        <column name="GROUP_BY" size="500" \
type="VARCHAR2"/> +
+        <column name="CATEGORY" type="VARCHAR2" size="20" required="true"/>
+
+        <!--  This is only set if this is a subject-owned group (like an autogroup) \
--> +        <column name="SUBJECT_ID" type="INTEGER" references="RHQ_SUBJECT"/>
+
+        <!--  These two only set if this is a backing group for a resource \
auto-cluster --> +        <column name="CLUSTER_KEY" type="VARCHAR2" size="4000" \
required="false"/> +        <column name="CLUSTER_RESOURCE_GROUP_ID" type="INTEGER" \
references="RHQ_RESOURCE_GROUP"/> +
+        <!--  This is only set if this is a backing group for a resource auto-group \
--> +        <column name="AUTO_GROUP_PARENT_RESOURCE_ID" type="INTEGER" \
references="RHQ_RESOURCE"/> +
+        <column name="VISIBLE" type="BOOLEAN"/>
+        
+        <index name="RHQ_RES_GROUP_NAME" unique="false">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- Many To Many mapping for groups to implicit resources -->
+    <table name="RHQ_RESOURCE_GROUP_RES_IMP_MAP">
+        <column name="RESOURCE_ID" required="true" type="INTEGER" \
references="RHQ_RESOURCE"/> +        <column name="RESOURCE_GROUP_ID" required="true" \
type="INTEGER" references="RHQ_RESOURCE_GROUP"/> +
+        <!-- not using full words to fit index name length -->
+        <constraint name="RHQ_RES_GROUP_RES_IMP_MAP_KEY">
+            <primaryKey>
+                <field ref="RESOURCE_ID"/>
+                <field ref="RESOURCE_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!-- Many To Many mapping for groups to explicit resources -->
+    <table name="RHQ_RESOURCE_GROUP_RES_EXP_MAP">
+        <column name="RESOURCE_ID" required="true" type="INTEGER" \
references="RHQ_RESOURCE"/> +        <column name="RESOURCE_GROUP_ID" required="true" \
type="INTEGER" references="RHQ_RESOURCE_GROUP"/> +
+        <!-- not using full words to fit index name length -->
+        <constraint name="RHQ_RES_GROUP_RES_EXP_MAP_KEY">
+            <primaryKey>
+                <field ref="RESOURCE_ID"/>
+                <field ref="RESOURCE_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_CONFIG_GROUP_UPDATE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="GROUP_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_GROUP"/> +        <column \
name="CONFIGURATION_ID" type="INTEGER" required="true" references="RHQ_CONFIG"/> +    \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="false" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="DTYPE" type="VARCHAR2" required="true" \
size="10"/> +    </table>
+
+    <table name="RHQ_CONFIG_UPDATE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="CONFIGURATION_ID" \
type="INTEGER" required="true" references="RHQ_CONFIG"  ondelete="cascade"/> +        \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="false" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="CONFIG_RES_ID" type="INTEGER" \
required="false" references="RHQ_RESOURCE"/> +        <column \
name="PLUGIN_CONFIG_RES_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +        <column name="AGG_RES_UPDATE_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_GROUP_UPDATE"/> +        <column \
name="AGG_PLUGIN_UPDATE_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_GROUP_UPDATE"/> +        <column name="DTYPE" type="VARCHAR2" \
required="true" size="10"/> +    </table>
+
+
+    <table name="RHQ_TAGGING">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAMESPACE" type="VARCHAR2" \
required="false" size="20"/> +        <column name="SEMANTIC" type="VARCHAR2" \
required="false" size="50"/> +        <column name="NAME" type="VARCHAR2" \
required="true" size="100"/> +    </table>
+
+    <table name="RHQ_TAGGING_RESOURCE_MAP">
+        <column name="RESOURCE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_RESOURCE_MAP_KEY"> +            <primaryKey>
+                <field ref="RESOURCE_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_TAGGING_RES_GROUP_MAP">
+        <column name="RESOURCE_GROUP_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_GROUP"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_RES_GROUP_MAP_KEY"> +            <primaryKey>
+                <field ref="RESOURCE_GROUP_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+<!-- END: inventory-schema.xml -->
+<!-- BEGIN: authz-schema.xml -->
+
+
+    <table name="RHQ_ROLE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="DESCRIPTION" size="100" type="VARCHAR2"/>
+        <column name="FSYSTEM" type="BOOLEAN" default="false"/>
+
+        <index name="RHQ_ROLE_NAME_KEY" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ROLE_RESOURCE_GROUP_MAP">
+        <column name="ROLE_ID" required="true" type="INTEGER" \
references="RHQ_ROLE"/> +        <column name="RESOURCE_GROUP_ID" required="true" \
type="INTEGER" references="RHQ_RESOURCE_GROUP"/> +
+        <constraint name="RHQ_ROLE_RES_GROUP_MAP_KEY">
+            <primaryKey>
+                <field ref="ROLE_ID"/>
+                <field ref="RESOURCE_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_ROLE_LDAP_GROUP">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ROLE_ID" required="true" type="INTEGER" \
references="RHQ_ROLE"/> +        <column name="LDAP_GROUP_NAME" size="128" \
required="true" type="VARCHAR2"/> +
+        <index name="RHQ_ROLE_LDAP_GROUP_IDX" unique="true">
+            <field ref="ROLE_ID"/>
+            <field ref="LDAP_GROUP_NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PERMISSION">
+        <column name="ROLE_ID" type="INTEGER" references="RHQ_ROLE" \
required="true"/> +        <column name="OPERATION" type="INTEGER" required="true"/>
+        <constraint name="RHQ_PERMISSION_PK">
+            <primaryKey>
+                <field ref="ROLE_ID"/>
+                <field ref="OPERATION"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_SUBJECT_ROLE_MAP">
+        <column name="SUBJECT_ID" required="true" type="INTEGER" \
references="RHQ_SUBJECT"/> +        <column name="ROLE_ID" required="true" \
type="INTEGER" references="RHQ_ROLE"/> +
+        <constraint name="RHQ_SUBJECT_ROLE_MAPPING_KEY">
+            <primaryKey>
+                <field ref="SUBJECT_ID"/>
+                <field ref="ROLE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_SUBJECT_ROLE_LDAP_MAP">
+        <column name="SUBJECT_ID" required="true" type="INTEGER" \
references="RHQ_SUBJECT"/> +        <column name="ROLE_ID" required="true" \
type="INTEGER" references="RHQ_ROLE"/> +        <constraint \
name="RHQ_SUBJECT_ROLE_LDAP_MAP_PK"> +            <primaryKey>
+                <field ref="SUBJECT_ID" />
+                <field ref="ROLE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+<!-- END: authz-schema.xml -->
+<!-- BEGIN: search-schema.xml -->
+
+
+    <table name="RHQ_SAVED_SEARCH">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CONTEXT" type="VARCHAR2" \
size="25" required="true"/> +        
+        <column name="NAME" type="VARCHAR2" size="200" required="true"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="500" required="false"/>
+        <column name="PATTERN" type="VARCHAR2" size="1000" required="true"/>
+        
+        <column name="LAST_COMPUTE_TIME" type="LONG" required="true"/>
+        <column name="RESULT_COUNT" type="LONG" required="false"/>
+        
+        <column name="SUBJECT_ID" type="INTEGER" references="RHQ_SUBJECT" \
required="true"/> +        <column name="GLOBAL" type="BOOLEAN" required="true"/>
+    </table>
+
+<!-- END: search-schema.xml -->
+<!-- BEGIN: dashboard-schema.xml -->
+
+
+
+    <table name="RHQ_DASHBOARD">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" type="VARCHAR2" \
size="200" required="true"/> +        <column name="SUBJECT_ID" type="INTEGER" \
required="true" references="RHQ_SUBJECT"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="false" references="RHQ_RESOURCE"/> +        <column \
name="GROUP_ID" type="INTEGER" required="false" references="RHQ_RESOURCE_GROUP"/>     \
 +        <column name="CATEGORY" type="VARCHAR2" size="20" required="true"/>         \
 +        <column name="SHARED" type="BOOLEAN" required="true"/>
+        <column name="CONFIGURATION_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG"/> +    </table>
+
+
+    <table name="RHQ_DASHBOARD_PORTLET">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" type="VARCHAR2" \
size="200" required="true"/> +        <column name="PORTLET_KEY" type="VARCHAR2" \
size="200" required="true"/> +        <column name="COL" type="INTEGER" \
required="true"/> +        <column name="COL_INDEX" type="INTEGER" required="true"/>
+        <column name="HEIGHT" type="INTEGER" required="true"/>
+        <column name="CONFIGURATION_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG"/> +        <column name="DASHBOARD_ID" type="INTEGER" \
required="false" references="RHQ_DASHBOARD"/> +    </table>
+
+<!-- END: dashboard-schema.xml -->
+<!-- BEGIN: operation-schema.xml -->
+
+
+    <table name="RHQ_OPERATION_DEF">
+
+        <!-- === required columns === -->
+
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE(ID)"/> +        <column \
name="NAME" type="VARCHAR2" required="true" size="100"/> +
+        <!-- === optional columns === -->
+
+        <!-- an OSGI version range - if null, the operation def applies to all \
versions of the associated resource type --> +        <column \
name="RESOURCE_VERSION_RANGE" type="VARCHAR2" size="100"/> +
+        <!-- A parameter config definition is only required for operations that have \
parameters. --> +        <!-- A results config definition is only required for \
operations that return data. --> +        <column name="PARAMETER_CONFIG_DEF_ID" \
type="INTEGER" references="RHQ_CONFIG_DEF(ID)"/> +        <column \
name="RESULTS_CONFIG_DEF_ID" type="INTEGER" references="RHQ_CONFIG_DEF(ID)"/> +       \
<column name="DISPLAY_NAME" type="VARCHAR2" size="100"/> +        <column \
name="DESCRIPTION" type="VARCHAR2" size="4000"/> +        <column name="TIMEOUT" \
type="INTEGER"/> +
+        <!-- === business key (RESOURCE_TYPE_ID + NAME) === -->
+        <index name="RHQ_OPERATION_DEF_KEY_IDX" unique="true">
+            <field ref="RESOURCE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_OPERATION_HISTORY">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="DTYPE" type="VARCHAR2" \
required="true" size="8"/> +        <column name="JOB_NAME" type="VARCHAR2" \
required="true" size="100"/> +        <column name="JOB_GROUP" type="VARCHAR2" \
required="true" size="100"/> +        <column name="OPERATION_DEF_ID" type="INTEGER" \
required="true" references="RHQ_OPERATION_DEF"/> +        <column name="STATUS" \
type="VARCHAR2" required="true" size="16"/> +        <column name="ERROR_MESSAGE" \
type="LONGVARCHAR" required="false"/> +        <column name="SUBJECT_NAME" \
type="VARCHAR2" required="true" size="100"/> +        <column name="CTIME" \
type="LONG" required="true"/> +        <column name="STIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+        <column name="PARAMETERS_CONFIG_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG"/> +
+        <!-- for resource history -->
+        <column name="RESOURCE_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +        <column name="RESULTS_CONFIG_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG"/> +        <column name="GROUP_HISTORY_ID" \
type="INTEGER" required="false" references="RHQ_OPERATION_HISTORY"/> +
+        <!-- for group history -->
+        <column name="GROUP_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE_GROUP"/> +
+        <index name="RHQ_OPERATION_HISTORY_JOB_IDX" unique="true">
+            <field ref="JOB_NAME"/>
+            <field ref="JOB_GROUP"/>
+            <field ref="CTIME"/>
+        </index>
+
+    </table>
+
+    <!--
+    This table is really just to support some specific use-cases.
+    Specifically, to be able to get a list of histories for a specific schedule (aka \
quartz job) +    and to be able to query a list of all schedules along with their \
associated resource/group IDs +    possibly sorted by their next fire time.
+    Note that a NULL next fire time means it won't fire again and the row is probaby \
about to be deleted; +    we can probably not even insert rows with NULL and make it \
a non-nullable field.  But rather than +    code special conditions into the session \
bean, we'll allow a short-lived NULL next fire time row. +    -->
+    <table name="RHQ_OPERATION_SCHEDULE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +
+        <column name="JOB_NAME" type="VARCHAR2" required="true" size="100"/>
+        <column name="JOB_GROUP" type="VARCHAR2" required="true" size="100"/>
+        <column name="DTYPE" type="VARCHAR2" required="true" size="8"/>
+        <column name="NEXT_FIRE_TIME" type="LONG" required="false"/>
+
+        <!-- for resource history -->
+        <column name="RESOURCE_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +
+        <!-- for group history -->
+        <column name="GROUP_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE_GROUP"/> +
+        <!--
+        Note, this is the same as the primary key that Quartz uses for its schedules \
(RHQ_QRTZ_JOB_DETAILS). +        We do not need to add DTYPE to the key, because we \
ensure the name/group are unique across resource/group +        schedules
+        -->
+        <!-- === business key (JOB_NAME + JOB_GROUP) === -->
+        <index name="RHQ_OPERATION_SCHEDULE_KEY_IDX" unique="true">
+            <field ref="JOB_NAME"/>
+            <field ref="JOB_GROUP"/>
+        </index>
+    </table>
+
+<!-- END: operation-schema.xml -->
+<!-- BEGIN: event-schema.xml -->
+
+
+    <!-- metadata -->
+
+    <table name="RHQ_EVENT_DEF">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_TYPE(ID)"/> +
+        <column name="NAME" type="VARCHAR2" size="100" required="true"/>
+        <column name="DISPLAY_NAME" type="VARCHAR2" size="100"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+
+        <index name="RHQ_EVENT_DEF_IDX" unique="true">
+            <field ref="RESOURCE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- instance data -->
+
+    <table name="RHQ_EVENT_SOURCE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="EVENT_DEF_ID" type="INTEGER" required="true" \
references="RHQ_EVENT_DEF(ID)"/> +        <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE(ID)"/> +
+        <column name="LOCATION" required="true" size="2000" type="VARCHAR2"/>
+
+        <index name="RHQ_EVENT_SOURCE_IDX" unique="true">
+            <field ref="EVENT_DEF_ID"/>
+            <field ref="RESOURCE_ID"/>
+            <field ref="LOCATION"/>
+        </index>
+    </table>
+
+    <table name="RHQ_EVENT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="EVENT_SOURCE_ID" type="INTEGER" required="true" \
references="RHQ_EVENT_SOURCE(ID)"/> +
+        <column name="TIMESTAMP" required="true" type="LONG"/>
+        <column name="SEVERITY" required="true" size="20" type="VARCHAR2"/>
+        <column name="DETAIL" required="true" size="4000" type="VARCHAR2"/>
+        <index name="RHQ_EVENT_IDX" unique="false">
+            <field ref="EVENT_SOURCE_ID"/>
+            <field ref="TIMESTAMP"/>
+        </index>
+    </table>
+
+<!-- END: event-schema.xml -->
+<!-- BEGIN: alert-schema.xml -->
+
+
+    <table name="RHQ_ALERT_DEFINITION">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="CTIME" type="LONG" required="true"/>
+        <column name="MTIME" type="LONG" required="true"/>
+        <column name="PARENT_ID" type="INTEGER" required="false"/>
+        <column name="GROUP_ALERT_DEF_ID" type="INTEGER" required="false"/>
+        <column name="DESCRIPTION" required="false" size="250" type="VARCHAR2"/>
+        <column name="PRIORITY" type="VARCHAR2" size="15" required="true"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE" required="false"/> +        <column name="RESOURCE_ID" \
type="INTEGER" references="RHQ_RESOURCE" required="false"/> +        <column \
name="RESOURCE_GROUP_ID" type="INTEGER" references="RHQ_RESOURCE_GROUP" \
required="false"/> +        <column name="ENABLED" required="true" default="TRUE" \
type="BOOLEAN"/> +
+        <column name="REQUIRED" required="true" type="SMALLINT"/>
+
+        <column name="RECOVERY_ID" type="INTEGER" required="true"/>
+        <!-- required, but 0 effectively means null -->
+        <column name="WILL_RECOVER" required="true" default="false" type="BOOLEAN"/>
+        <column name="NOTIFY_FILTERED" required="true" default="false" \
type="BOOLEAN"/> +        <column name="CONTROL_FILTERED" required="true" \
default="FALSE" type="BOOLEAN"/> +
+        <column name="DELETED" required="true" default="FALSE" type="BOOLEAN"/>
+        <column name="READ_ONLY" required="true" default="FALSE" type="BOOLEAN"/>
+
+        <column name="DAMPENING_CATEGORY" type="SMALLINT" required="true"/>
+        <column name="DAMPENING_VALUE" type="INTEGER"/>
+        <column name="DAMPENING_VALUE_UNITS" type="SMALLINT"/>
+        <column name="DAMPENING_PERIOD" type="INTEGER"/>
+        <column name="DAMPENING_PERIOD_UNITS" type="SMALLINT"/>
+    </table>
+
+    <table name="RHQ_ALERT_DAMPEN_EVENT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ALERT_DEFINITION_ID" \
required="false" type="INTEGER" references="RHQ_ALERT_DEFINITION(ID)"/> +        \
<column name="EVENT_TYPE" required="true" type="SMALLINT"/> +        <column \
name="EVENT_TIMESTAMP" required="true" type="LONG"/> +
+        <index name="RHQ_DAMPENING_EVENT_TYPE_IDX">
+            <field ref="EVENT_TYPE"/>
+        </index>
+        <index name="RHQ_DAMPENING_EVENT_TS_IDX">
+            <field ref="EVENT_TIMESTAMP"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ALERT_CONDITION">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="TYPE" required="true" type="VARCHAR2" size="15"/>
+        <!--
+           <column name="REQUIRED" required="true"  type="BOOLEAN"/>
+        -->
+        <column name="MEASUREMENT_DEFINITION_ID" required="false" type="INTEGER"/>
+        <column name="NAME" required="false" size="100" type="VARCHAR2"/>
+        <column name="COMPARATOR" required="false" size="2" type="VARCHAR2"/>
+        <column name="THRESHOLD" required="false" type="DOUBLE"/>
+        <!-- event-based conditions use OPTION_STATUS for the string match, so \
should be a decent length --> +        <column name="OPTION_STATUS" required="false" \
size="256" type="VARCHAR2"/> +        <column name="ALERT_DEFINITION_ID" \
required="false" type="INTEGER" references="RHQ_ALERT_DEFINITION(ID)"/> +        \
<column name="TRIGGER_ID" required="false" type="INTEGER"/> +    </table>
+
+    <table name="RHQ_ALERT" tablespace="DEFAULT"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ALERT_DEFINITION_ID" required="false" type="INTEGER" \
references="RHQ_ALERT_DEFINITION(ID)"/> +        <column name="CTIME" required="true" \
type="LONG"/> +        <column name="RECOVERY_ID" type="INTEGER" required="true"/>
+        <!-- required, but 0 effectively means null -->
+        <column name="WILL_RECOVER" required="true" default="false" type="BOOLEAN"/>
+        <column name="ACK_TIME" required="false" type="LONG"/>
+        <column name="ACK_SUBJECT" required="false" size="100" type="VARCHAR2"/>
+        <index name="RHQ_ALERT_IDX_TIME" unique="false">
+            <field ref="CTIME"/>
+        </index>
+        <index name="RHQ_ALERT_IDX_ALERTDEF" unique="false">
+            <field ref="ALERT_DEFINITION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ALERT_NOTIF_LOG" tablespace="DEFAULT"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ALERT_ID" required="true" type="INTEGER" \
references="RHQ_ALERT(ID)"/> +        <index name="RHQ_ALERT_IDX_ALERT" \
unique="false"> +            <field ref="ALERT_ID"/>
+        </index>
+        <column name="SENDER" required="false" size="100" type="VARCHAR2"/>
+        <column name="RESULT_STATE" required="false" size="20" type="VARCHAR2"/>
+        <column name="MESSAGE" required="false" size="4000" type="VARCHAR2"/>
+    </table>
+
+    <table name="RHQ_ALERT_CONDITION_LOG" tablespace="DEFAULT"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="CTIME" required="true" type="LONG"/>
+        <column name="ALERT_ID" required="false" type="INTEGER" \
references="RHQ_ALERT(ID)"/> +        <column name="CONDITION_ID" required="true" \
type="INTEGER" references="RHQ_ALERT_CONDITION(ID)"/> +        <column name="VALUE" \
required="true" size="250" type="VARCHAR2"/> +        <index \
name="RHQ_ALERT_COND_LOG_IDX_TIME"> +            <field ref="CTIME" />
+        </index>
+        <index name="RHQ_ALERT_COND_LOG_IDX_ALERT">
+            <field ref="ALERT_ID"/>
+        </index>
+        <index name="RHQ_ALERT_COND_LOG_COND_IDX">
+            <field ref="CONDITION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ALERT_NOTIFICATION" tablespace="DEFAULT"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ALERT_DEFINITION_ID" required="false" type="INTEGER" \
references="RHQ_ALERT_DEFINITION(ID)"/> +        <column name="SENDER_CONFIG_ID" \
required="false" type="INTEGER" references="RHQ_CONFIG(ID)"/> +        <column \
name="EXTRA_CONFIG_ID" required="false" type="INTEGER" references="RHQ_CONFIG(ID)"/> \
+        <column name="SENDER_NAME" required="true" size="100" type="VARCHAR2" /> +   \
</table> +
+<!-- END: alert-schema.xml -->
+<!-- BEGIN: sysconfig-schema.xml -->
+
+
+    <table name="RHQ_SYSTEM_CONFIG">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PROPERTY_KEY" type="VARCHAR2" size="80"/>
+        <column name="PROPERTY_VALUE" type="VARCHAR2" size="300"/>
+        <column name="DEFAULT_PROPERTY_VALUE" type="VARCHAR2" size="300"/>
+        <column name="FREAD_ONLY" type="BOOLEAN" default="FALSE"/>
+
+        <index name="RHQ_SYSTEM_CONFIG_KEY_INDX" unique="true">
+            <field ref="PROPERTY_KEY"/>
+        </index>
+    </table>
+
+<!-- END: sysconfig-schema.xml -->
+<!-- BEGIN: scheduler-schema.xml -->
+
+
+    <table name="RHQ_QRTZ_JOB_DETAILS">
+        <column name="JOB_NAME" required="true" type="VARCHAR2" size="80"/>
+        <column name="JOB_GROUP" required="true" type="VARCHAR2" size="80"/>
+        <column name="DESCRIPTION" required="false" type="VARCHAR2" size="120"/>
+        <column name="JOB_CLASS_NAME" required="true" type="VARCHAR2" size="128"/>
+        <column name="IS_DURABLE" required="true" type="BOOLEAN" default="FALSE"/>
+        <column name="IS_VOLATILE" required="true" type="BOOLEAN"/>
+        <column name="IS_STATEFUL" required="true" type="BOOLEAN" default="FALSE"/>
+        <column name="REQUESTS_RECOVERY" required="true" type="BOOLEAN" \
default="FALSE"/> +        <column name="JOB_DATA" required="false" type="BLOB"/>
+
+        <constraint name="RHQ_PK_QRTZ_JOB_DETAILS">
+            <primaryKey>
+                <field ref="JOB_NAME"/>
+                <field ref="JOB_GROUP"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_QRTZ_JOB_LISTENERS">
+        <column name="JOB_NAME" required="true" type="VARCHAR2" size="80"/>
+        <column name="JOB_GROUP" required="true" type="VARCHAR2" size="80"/>
+        <column name="JOB_LISTENER" required="true" type="VARCHAR2" size="80"/>
+
+        <constraint name="RHQ_PK_QRTZ_JOB_LISTENERS">
+            <primaryKey>
+                <field ref="JOB_NAME"/>
+                <field ref="JOB_GROUP"/>
+                <field ref="JOB_LISTENER"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_JOB_LSTNRS_JN_JG">
+            <foreignKey local="JOB_NAME,JOB_GROUP"
+                        references="RHQ_QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+    </table>
+
+    <table name="RHQ_QRTZ_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" required="true" size="80"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" required="true" size="80"/>
+        <column name="JOB_NAME" type="VARCHAR2" required="true" size="80"/>
+        <column name="JOB_GROUP" type="VARCHAR2" required="true" size="80"/>
+        <column name="IS_VOLATILE" type="BOOLEAN" required="true"/>
+        <column name="DESCRIPTION" type="VARCHAR2" required="false" size="120"/>
+        <column name="NEXT_FIRE_TIME" type="LONG" required="false"/>
+        <column name="PREV_FIRE_TIME" type="LONG" required="false"/>
+        <column name="PRIORITY" type="INTEGER" required="false"/>
+        <column name="TRIGGER_STATE" type="VARCHAR" required="true" size="16"/>
+        <column name="TRIGGER_TYPE" type="VARCHAR" required="true" size="8"/>
+        <column name="START_TIME" type="LONG" required="true"/>
+        <column name="END_TIME" type="LONG" required="false"/>
+        <column name="CALENDAR_NAME" type="VARCHAR2" required="false" size="80"/>
+        <column name="MISFIRE_INSTR" type="INTEGER" required="false"/>
+        <column name="JOB_DATA" type="BLOB" required="false"/>
+
+        <constraint name="RHQ_PK_QRTZ_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_TRIGGERS_JN_JG">
+            <foreignKey local="JOB_NAME,JOB_GROUP"
+                        references="RHQ_QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend these indexes. -->
+        <index name="RHQ_QRTZ_TRIGGERS_JN_JG_IDX">
+            <field ref="JOB_NAME"/>
+            <field ref="JOB_GROUP"/>
+        </index>
+        <index name="RHQ_QRTZ_TRIGGERS_NFT_IDX">
+            <field ref="NEXT_FIRE_TIME"/>
+        </index>
+        <index name="RHQ_QRTZ_TRIGGERS_TS_IDX">
+            <field ref="TRIGGER_STATE"/>
+        </index>
+        <index name="RHQ_QRTZ_TRIGGERS_TS_NFT_IDX">
+            <field ref="TRIGGER_STATE"/>
+            <field ref="NEXT_FIRE_TIME"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_QRTZ_SIMPLE_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" required="true" size="80"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" required="true" size="80"/>
+        <column name="REPEAT_COUNT" type="LONG" required="true"/>
+        <column name="REPEAT_INTERVAL" type="LONG" required="true"/>
+        <column name="TIMES_TRIGGERED" type="LONG" required="true"/>
+
+        <constraint name="RHQ_PK_QRTZ_SIMPLE_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_SIMPLE_TRGRS_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <!-- Commenting out, because Oracle auto-creates an index for the
+              primary key column(s) and fails if you try to create another
+             index for the same column(s) (ips, 03/29/07).
+        -->
+        <!--
+      <index name="RHQ_QRTZ_SIMPLE_TRGRS_TN_TG_IDX">
+         <field ref="TRIGGER_NAME"/>
+         <field ref="TRIGGER_GROUP"/>
+      </index>
+      -->
+    </table>
+
+    <table name="RHQ_QRTZ_CRON_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" required="true"/>
+        <column name="CRON_EXPRESSION" type="VARCHAR2" size="80" required="true"/>
+        <column name="TIME_ZONE_ID" type="VARCHAR2" size="80" required="false"/>
+
+        <constraint name="RHQ_PK_QRTZ_CRON_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_CRON_TRIG_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <!-- Commenting out, because Oracle auto-creates an index for the
+              primary key column(s) and fails if you try to create another
+             index for the same column(s) (ips, 03/29/07).
+        -->
+        <!--
+      <index name="RHQ_QRTZ_CRON_TRGRS_TN_TG_IDX">
+         <field ref="TRIGGER_NAME"/>
+         <field ref="TRIGGER_GROUP"/>
+      </index>
+      -->
+    </table>
+
+    <table name="RHQ_QRTZ_BLOB_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" required="true"/>
+        <column name="BLOB_DATA" type="BLOB" required="false"/>
+
+        <constraint name="RHQ_PK_QRTZ_BLOB_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_BLOB_TRIGG_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <!-- Commenting out, because Oracle auto-creates an index for the
+              primary key column(s) and fails if you try to create another
+             index for the same column(s) (ips, 03/29/07).
+        -->
+        <!--
+        <index name="RHQ_QRTZ_BLOB_TRGRS_TN_TG_IDX">
+           <field ref="TRIGGER_NAME"/>
+           <field ref="TRIGGER_GROUP"/>
+        </index>
+        -->
+    </table>
+
+    <table name="RHQ_QRTZ_TRIGGER_LISTENERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_LISTENER" type="VARCHAR2" size="80" required="true"/>
+
+        <constraint name="RHQ_PK_QRTZ_TRIGGER_LISTENERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+                <field ref="TRIGGER_LISTENER"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_TRGR_LSTNRS_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <index name="RHQ_QRTZ_TRGR_LSTNRS_TN_TG_IDX">
+            <field ref="TRIGGER_NAME"/>
+            <field ref="TRIGGER_GROUP"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_QRTZ_FIRED_TRIGGERS">
+        <column name="ENTRY_ID" primarykey="true" type="VARCHAR2" size="95" \
required="true"/> +        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" \
required="true"/> +        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" \
required="true"/> +        <column name="INSTANCE_NAME" type="VARCHAR2" size="80" \
required="true"/> +        <column name="FIRED_TIME" type="LONG" required="true"/>
+        <column name="PRIORITY" type="INTEGER" required="false"/>
+        <column name="STATE" type="VARCHAR2" size="16" required="true"/>
+        <column name="IS_VOLATILE" type="BOOLEAN" required="true"/>
+        <column name="JOB_NAME" type="VARCHAR2" size="80" required="false"/>
+        <column name="JOB_GROUP" type="VARCHAR2" size="80" required="false"/>
+        <column name="IS_STATEFUL" type="BOOLEAN" required="false"/>
+        <column name="REQUESTS_RECOVERY" type="BOOLEAN" required="false"/>
+
+        <!-- Quartz docs recommend these indexes. -->
+        <index name="RHQ_QRTZ_FIRED_TRGRS_TN_IDX">
+            <field ref="TRIGGER_NAME"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_TG_IDX">
+            <field ref="TRIGGER_GROUP"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_TN_TG_IDX">
+            <field ref="TRIGGER_NAME"/>
+            <field ref="TRIGGER_GROUP"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_IN_IDX">
+            <field ref="INSTANCE_NAME"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_JN_IDX">
+            <field ref="JOB_NAME"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_JG_IDX">
+            <field ref="JOB_GROUP"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_QRTZ_CALENDARS">
+        <column name="CALENDAR_NAME" primarykey="true" type="VARCHAR2" size="80" \
required="true"/> +        <column name="CALENDAR" type="BLOB" required="true"/>
+    </table>
+
+    <table name="RHQ_QRTZ_PAUSED_TRIGGER_GRPS">
+        <column name="TRIGGER_GROUP" primarykey="true" type="VARCHAR2" size="80" \
required="true"/> +    </table>
+
+    <table name="RHQ_QRTZ_SCHEDULER_STATE">
+        <column name="INSTANCE_NAME" primarykey="true" type="VARCHAR2" size="80" \
required="true"/> +        <column name="LAST_CHECKIN_TIME" type="LONG" \
required="true"/> +        <column name="CHECKIN_INTERVAL" type="LONG" \
required="true"/> +        <column name="RECOVERER" type="VARCHAR2" size="80" \
required="false"/> +    </table>
+
+    <table name="RHQ_QRTZ_LOCKS">
+        <column name="LOCK_NAME" primarykey="true" type="VARCHAR2" size="40" \
required="true"/> +        <data LOCK_NAME="TRIGGER_ACCESS"/>
+        <data LOCK_NAME="JOB_ACCESS"/>
+        <data LOCK_NAME="CALENDAR_ACCESS"/>
+        <data LOCK_NAME="STATE_ACCESS"/>
+        <data LOCK_NAME="MISFIRE_ACCESS"/>
+    </table>
+
+<!-- END: scheduler-schema.xml -->
+<!-- BEGIN: amps-schema.xml -->
+
+
+    <table name="RHQ_PLUGIN">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="VERSION" size="200" \
type="VARCHAR2" required="false"/> +        <column name="AMPS_VERSION" size="16" \
type="VARCHAR2" required="false"/> +        <column name="ENABLED" type="BOOLEAN" \
required="true"/> +        <column name="STATUS" size="16" type="VARCHAR2" \
required="true"/> +        <column name="HELP" type="CLOB" required="false"/>
+        <column name="PATH" size="500" type="VARCHAR2" required="true"/>
+        <column name="MD5" size="100" type="VARCHAR2" required="true"/>
+        <column name="CTIME" type="LONG" required="true"/>
+        <column name="MTIME" type="LONG" required="true"/>
+        <column name="DEPLOYMENT" size="8" type="VARCHAR2" required="true"/>
+        <column name="PTYPE" size="200" type="VARCHAR2" required="false"/>
+        <column name="PLUGIN_CONFIG_ID" type="INTEGER" references="RHQ_CONFIG" \
required="false"/> +        <column name="JOBS_CONFIG_ID" type="INTEGER" \
references="RHQ_CONFIG" required="false"/> +        <column name="CONTENT" \
type="BLOB" required="false"/> +
+        <index name="RHQ_PLUGIN_NAME_DEPLOY_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="DEPLOYMENT"/>
+        </index>
+    </table>
+
+<!-- END: amps-schema.xml -->
+<!-- BEGIN: measurement-schema.xml -->
+
+   <table name="RHQ_MEASUREMENT_DEF">
+
+      <!-- === required columns === -->
+      <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +      <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE(ID)"/> +      <column \
name="NAME" type="VARCHAR2" size="100" required="true"/> +
+      <!-- === optional columns === -->
+      <!-- an OSGI version range - if null, the metric def applies to all versions \
of the associated resource type --> +      <column name="RESOURCE_VERSION_RANGE" \
type="VARCHAR2" size="100"/> +      <column name="CATEGORY" type="SMALLINT"/>
+      <column name="UNITS" type="SMALLINT"/>
+      <column name="NUMERIC_TYPE" type="SMALLINT"/>
+      <column name="DISPLAY_TYPE" type="SMALLINT"/>
+      <column name="DATA_TYPE" type="SMALLINT"/>
+      <column name="RAW_NUMERIC_TYPE" type="SMALLINT"/>
+      <column name="DEFAULT_ON" type="BOOLEAN" default="false"/>
+      <column name="DEFAULT_INTERVAL" type="LONG" />
+      <column name="DISPLAY_NAME" type="VARCHAR2" size="100"/>
+      <column name="DISPLAY_ORDER" type="INTEGER" default="1000"/>
+      <column name="DESCRIPTION" type="VARCHAR2" size="500"/>
+      <column name="DESTINATION_TYPE" type="VARCHAR2" size="100"/>
+
+      <column name="VERSION" type="INTEGER"/>
+      <!-- for optimistic locking -->
+
+      <!-- === business key (RESOURCE_TYPE_ID + NAME + RAW_NUMERIC_TYPE) === -->
+      <index name="RHQ_METRIC_DEF_KEY_IDX" unique="true">
+         <field ref="RESOURCE_TYPE_ID"/>
+         <field ref="NAME"/>
+         <field ref="RAW_NUMERIC_TYPE"/>
+      </index>
+      <index name="RHQ_METRIC_DEF_NT_IDX">
+          <field ref="NUMERIC_TYPE"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_SCHED">
+      <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +
+      <column name="ENABLED" type="BOOLEAN" default="false"/>
+      <column name="MTIME" type="LONG" />
+      <column name="DEFINITION" type="INTEGER" \
references="RHQ_MEASUREMENT_DEF(ID)"/> +      <column name="VERSION" type="INTEGER" \
/> +      <column name="COLL_INTERVAL" type="LONG" />
+      <column name="RESOURCE_ID" type="INTEGER" references="RHQ_RESOURCE(ID)"/>
+      <index name="RHQ_MEAS_SCHED_UNIQ" unique="true">
+         <field ref="RESOURCE_ID"/>
+         <field ref="DEFINITION"/>
+      </index>
+       <index name="RHQ_MEAS_SCHED_RESID_IDX">
+          <field ref="RESOURCE_ID"/>
+       </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_BLINE">
+      <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +
+      <column name="BL_USER_ENTERED" type="BOOLEAN" default="false" \
required="true"/> +      <column name="BL_MIN" type="DOUBLE" required="true"/>
+      <column name="BL_MAX" type="DOUBLE" required="true"/>
+      <column name="BL_MEAN" type="DOUBLE" required="true"/>
+      <column name="BL_COMPUTE_TIME" type="LONG" required="true"/>
+      <column name="SCHEDULE_ID" type="INTEGER" required="true" \
references="RHQ_MEASUREMENT_SCHED(ID)"/> +      <index \
name="RHQ_MEAS_BASELINE_CTIME_IDX"> +         <field ref="BL_COMPUTE_TIME"/>
+      </index>
+      <index name="RHQ_MEAS_BASELINE_SID_IDX">
+         <field ref="SCHEDULE_ID"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_NUM_1H" logging="false" cache="true"
+          tablespace="DEFAULT" storage-options="freelists 20">
+
+      <column name="TIME_STAMP" required="true" type="LONG"/>
+      <column name="SCHEDULE_ID" required="true" type="INTEGER"/>
+      <column name="VALUE" required="false" type="DOUBLE"/>
+      <column name="MINVALUE" required="false" type="DOUBLE"/>
+      <column name="MAXVALUE" required="false" type="DOUBLE"/>
+
+      <constraint name="RHQ_MEAS_DATA_1H_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+
+      <index name="RHQ_MEAS_DATA_1H_TIME_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_NUM_6H" logging="false" cache="true"
+          tablespace="DEFAULT" storage-options="freelists 20">
+
+      <column name="TIME_STAMP" required="true" type="LONG"/>
+      <column name="SCHEDULE_ID" required="true" type="INTEGER"/>
+      <column name="VALUE" required="false" type="DOUBLE"/>
+      <column name="MINVALUE" required="false" type="DOUBLE"/>
+      <column name="MAXVALUE" required="false" type="DOUBLE"/>
+
+      <constraint name="RHQ_MEAS_DATA_6H_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+
+      <index name="RHQ_MEAS_DATA_6H_TIME_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_NUM_1D" logging="false" cache="true"
+          tablespace="DEFAULT" storage-options="freelists 20">
+
+      <column name="TIME_STAMP" required="true" type="LONG"/>
+      <column name="SCHEDULE_ID" required="true" type="INTEGER"/>
+      <column name="VALUE" required="false" type="DOUBLE"/>
+      <column name="MINVALUE" required="false" type="DOUBLE"/>
+      <column name="MAXVALUE" required="false" type="DOUBLE"/>
+
+      <constraint name="RHQ_MEAS_DATA_1D_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+
+      <index name="RHQ_MEAS_DATA_1D_TIME_IDX">
+         <field ref="TIME_STAMP" />
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_TRAIT">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER" />
+      <column name="VALUE" type="VARCHAR2" size="4000" />
+      <constraint name="RHQ_MEAS_DATA_TRAIT_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+
+
+   <table name="RHQ_CALLTIME_DATA_KEY">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="SCHEDULE_ID" type="INTEGER" \
required="true"/> +      <column name="CALL_DESTINATION" type="VARCHAR2" size="4000" \
required="true"/> +      <index name="RHQ_CALLTIME_DATA_KEY_IDX" unique="true">
+         <field ref="SCHEDULE_ID"/>
+         <field ref="CALL_DESTINATION"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_CALLTIME_DATA_VALUE">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="KEY_ID" type="INTEGER" \
references="RHQ_CALLTIME_DATA_KEY" required="true"/> +      <column name="BEGIN_TIME" \
type="LONG" required="true"/> +      <column name="END_TIME" type="LONG" \
required="true"/> +      <column name="MINIMUM" type="DOUBLE" required="true"/>
+      <column name="MAXIMUM" type="DOUBLE" required="true"/>
+      <column name="TOTAL" type="DOUBLE" required="true"/>
+      <column name="COUNT" type="LONG" required="true"/>
+      <index name="RHQ_CT_DA_VA_END_TIM_IDX">
+          <field ref="END_TIME"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_AVAILABILITY">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE(ID)"/> +      <column name="START_TIME" \
type="LONG" required="true" /> +      <column name="END_TIME" type="LONG" \
required="false" /> +      <column name="AVAILABILITY_TYPE" type="SMALLINT" \
required="false" /> +      <index name="RHQ_AVAIL_RESOURCE_START_IDX">
+         <field ref="RESOURCE_ID"/>
+         <field ref="START_TIME"/>
+      </index>
+      <!-- only one null row can exist for any resource -->
+      <index name="RHQ_AVAIL_RESOURCE_END_IDX" condition="END_TIME IS NULL">
+         <field ref="RESOURCE_ID"/>
+         <field ref="END_TIME" />
+      </index>
+   </table>
+
+   <table name="RHQ_RESOURCE_AVAIL">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE(ID)" ondelete="cascade"/> +      <column \
name="AVAILABILITY_TYPE" type="SMALLINT" required="false" /> +      <index \
name="RHQ_RESOURCE_AVAIL_IDX"> +         <field ref="RESOURCE_ID" />
+      </index>
+   </table>
+
+   <table name="RHQ_MEASUREMENT_OOB">
+       <column name="SCHEDULE_ID" type="INTEGER" \
references="RHQ_MEASUREMENT_SCHED(ID)" required="true"/> +       <column \
name="TIME_STAMP" type="LONG" required="true"/> +       <column name="OOB_FACTOR" \
type="INTEGER" required="true" /> +       <constraint name="RHQ_MEAS_OOB_ID_PK">
+          <primaryKey>
+             <field ref="SCHEDULE_ID"/>
+          </primaryKey>
+       </constraint>
+   </table>
+
+   <table name="RHQ_MEASUREMENT_OOB_TMP">
+       <column name="SCHEDULE_ID" type="INTEGER" required="true"/>
+       <column name="TIME_STAMP" type="LONG" required="true"/>
+       <column name="OOB_FACTOR" type="INTEGER" required="true" />
+       <constraint name="RHQ_MEAS_OOB_TMP_ID_PK">
+          <primaryKey>
+             <field ref="SCHEDULE_ID"/>
+          </primaryKey>
+       </constraint>
+   </table>
+
+   <table name="RHQ_NUMBERS">
+      <column name="i" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true" /> +   </table>
+
+
+   <table name="RHQ_MEAS_DATA_NUM_R00">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R00_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R00_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R01">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R01_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R01_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R02">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R02_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R02_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R03">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R03_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R03_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R04">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R04_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R04_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R05">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R05_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R05_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R06">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R06_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R06_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R07">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R07_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R07_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R08">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R08_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R08_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R09">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R09_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R09_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R10">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R10_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R10_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R11">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R11_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R11_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R12">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R12_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R12_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R13">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R13_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R13_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R14">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R14_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R14_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+
+<!-- END: measurement-schema.xml -->
+<!-- BEGIN: content-schema.xml -->
+
+
+    <table name="RHQ_ARCHITECTURE">
+        <column name="ID" default="sequence-only" initial="100" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="50" \
type="VARCHAR2" required="true"/> +        <index name="RHQ_ARCHITECTURE_NAME_IDX" \
unique="true"> +            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_REPO_GROUP_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +    </table>
+
+
+    <table name="RHQ_REPO_GROUP">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +
+        <column name="REPO_GROUP_TYPE_ID" type="INTEGER" \
references="RHQ_REPO_GROUP_TYPE" required="true"/> +
+        <index name="RHQ_REPO_GROUP_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="REPO_GROUP_TYPE_ID"/>
+        </index>
+    </table>
+
+
+    <table name="RHQ_CONTENT_SOURCE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="false"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="PLUGIN_NAME" size="100" \
type="VARCHAR2" required="false"/> +        <!-- we might want this as part of \
natural key --> +        <column name="DEFAULT_LAZY_LOAD" type="BOOLEAN" \
required="true"/> +        <column name="DEFAULT_DOWNLOAD_MODE" size="16" \
type="VARCHAR2" required="true"/> +        <column name="DEFAULT_SYNC_SCHEDULE" \
size="64" type="VARCHAR2" required="false"/> +        <column name="API_CLASS" \
size="100" type="VARCHAR2" required="true"/> +
+        <column name="SOURCE_CONFIG_DEF_ID" type="INTEGER" \
references="RHQ_CONFIG_DEF" required="false"/> +
+        <index name="RHQ_CONTENT_SOURCE_TYPE_IDX" unique="true">
+            <field ref="NAME"/>
+            <!-- <field ref="PLUGIN_NAME"/> -->
+        </index>
+    </table>
+
+    <table name="RHQ_CONTENT_SOURCE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="LAZY_LOAD" type="BOOLEAN" \
required="true"/> +        <column name="DOWNLOAD_MODE" size="16" type="VARCHAR2" \
required="true"/> +        <column name="SYNC_SCHEDULE" size="64" type="VARCHAR2" \
required="false"/> +        <column name="LOAD_ERROR_MESSAGE" type="LONGVARCHAR" \
required="false"/> +        <column name="CREATION_TIME" type="LONG" \
required="true"/> +        <column name="LAST_MODIFIED_TIME" type="LONG" \
required="true"/> +
+        <column name="CONTENT_SOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_CONTENT_SOURCE_TYPE" required="true"/> +        <column \
name="CONFIGURATION_ID" type="INTEGER" references="RHQ_CONFIG" required="false"/> +
+        <index name="RHQ_CONTENT_SOURCE_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="CONTENT_SOURCE_TYPE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_REPO">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CREATION_TIME" type="LONG" \
required="true"/> +        <column name="LAST_MODIFIED_TIME" type="LONG" \
required="true"/> +        <column name="IS_CANDIDATE" type="BOOLEAN" \
required="true"/> +        <column name="SYNC_SCHEDULE" size="64" type="VARCHAR2" \
required="false"/> +        <column name="OWNER_ID" type="INTEGER" required="false" \
references="RHQ_SUBJECT" /> +        <column name="IS_PRIVATE" type="BOOLEAN" \
required="true" /> +        
+        <index name="RHQ_REPO_IDX" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+
+    <table name="RHQ_REPO_RELATION_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +    </table>
+
+
+    <table name="RHQ_REPO_RELATION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="RELATED_REPO_ID" \
type="INTEGER" references="RHQ_REPO" required="true"/> +        <column \
name="REPO_RELATION_TYPE_ID" type="INTEGER" references="RHQ_REPO_RELATION_TYPE" \
required="true"/> +    </table>
+
+
+
+    <table name="RHQ_PACKAGE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="false"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CATEGORY" size="50" \
type="VARCHAR2" required="false"/> +        <column name="DISCOVERY_INTERVAL" \
type="INTEGER" required="false"/> +        <column name="IS_CREATION_DATA" \
type="BOOLEAN" required="true"/> +        <column name="SUPPORTS_ARCHITECTURE" \
type="BOOLEAN" required="true"/> +
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE" required="false"/> +        <column \
name="DEPLOYMENT_CONFIG_DEF_ID" type="INTEGER" references="RHQ_CONFIG_DEF" \
required="false"/> +        <column name="PACKAGE_EXTRA_CONFIG_ID" type="INTEGER" \
references="RHQ_CONFIG_DEF" required="false"/> +
+        <index name="RHQ_PACKAGE_TYPE_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="RESOURCE_TYPE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_PACKAGE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="CLASSIFICATION" size="200" \
type="VARCHAR2" required="false"/> +
+        <column name="PACKAGE_TYPE_ID" type="INTEGER" references="RHQ_PACKAGE_TYPE" \
required="true"/> +
+        <index name="RHQ_PACKAGE_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="PACKAGE_TYPE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PACKAGE_BITS">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="BITS" type="LARGEOBJECT" \
required="false"/> +    </table>
+
+    <table name="RHQ_PACKAGE_VERSION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="false"/> +        <column name="SHORT_DESCRIPTION" \
size="10000" type="CLOB" required="false"/> +        <column name="LONG_DESCRIPTION" \
size="50000" type="CLOB" required="false"/> +        <column name="VERSION" \
size="500" type="VARCHAR2" required="true"/> +        <column name="DISPLAY_VERSION" \
size="500" type="VARCHAR2" required="false"/> +        <column name="FILE_NAME" \
size="255" type="VARCHAR2" required="false"/> +        <column name="FILE_SIZE" \
type="LONG" required="false"/> +        <column name="FILE_MD5" size="32" \
type="VARCHAR2" required="false"/> +        <column name="FILE_SHA256" size="64" \
type="VARCHAR2" required="false"/> +        <column name="FILE_CREATION_TIME" \
type="LONG" required="false"/> +        <column name="LICENSE_NAME" size="255" \
type="VARCHAR2" required="false"/> +        <column name="LICENSE_VERSION" size="20" \
type="VARCHAR2" required="false"/> +        <column name="METADATA" type="BLOB" \
required="false"/> +
+        <column name="PACKAGE_ID" type="INTEGER" references="RHQ_PACKAGE" \
required="true"/> +        <column name="ARCHITECTURE_ID" type="INTEGER" \
references="RHQ_ARCHITECTURE" required="true"/> +        <column name="CONFIG_ID" \
type="INTEGER" references="RHQ_CONFIG" required="false"/> +        <column \
name="PACKAGE_BITS_ID" type="INTEGER" references="RHQ_PACKAGE_BITS" \
required="false"/> +
+        <index name="RHQ_PACKAGE_VERSION_IDX" unique="true">
+            <field ref="PACKAGE_ID"/>
+            <field ref="VERSION"/>
+            <field ref="ARCHITECTURE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_CONTENT_REQ">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE"/> +        <column \
name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="true" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="REQUEST_TYPE" type="VARCHAR2" \
required="true" size="20"/> +        <column name="NOTES" type="VARCHAR2" \
required="false" size="512"/> +    </table>
+
+    <table name="RHQ_INSTALLED_PACKAGE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="INSTALLATION_TIME" \
type="LONG" required="false"/> +
+        <column name="RESOURCE_ID" type="INTEGER" references="RHQ_RESOURCE" \
required="true"/> +        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
references="RHQ_PACKAGE_VERSION" required="true"/> +        <column name="SUBJECT_ID" \
type="INTEGER" references="RHQ_SUBJECT" required="false"/> +    </table>
+
+    <table name="RHQ_INSTALLED_PKG_HIST">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STATUS" type="VARCHAR2" \
size="24" required="true"/> +        <column name="ERROR_MESSAGE" type="LONGVARCHAR" \
required="false"/> +        <column name="HISTORY_TIMESTAMP" type="LONG" \
required="false"/> +
+        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
references="RHQ_PACKAGE_VERSION" required="true"/> +        <column \
name="RESOURCE_ID" type="INTEGER" references="RHQ_RESOURCE" required="true"/> +       \
<column name="DEPLOYMENT_CONFIG_ID" type="INTEGER" references="RHQ_CONFIG" \
required="false"/> +        <column name="CONTENT_SERVICE_REQUEST_ID" type="INTEGER" \
references="RHQ_CONTENT_REQ" required="false"/> +    </table>
+
+    <table name="RHQ_CONTENT_SRC_SYNC">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STATUS" type="VARCHAR2" \
size="16" required="true"/> +        <column name="START_TIME" type="LONG" \
required="true"/> +        <column name="END_TIME" type="LONG" required="false"/>
+        <column name="RESULTS" type="LONGVARCHAR" required="false"/>
+        <column name="CONTENT_SRC_ID" type="INTEGER" required="true" \
references="RHQ_CONTENT_SOURCE"/> +    </table>
+
+   <table name="RHQ_REPO_SYNC">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STATUS" type="VARCHAR2" \
size="16" required="true"/> +        <column name="START_TIME" type="LONG" \
required="true"/> +        <column name="END_TIME" type="LONG" required="false"/>
+        <column name="RESULTS" type="LONGVARCHAR" required="false"/>
+        <column name="PERCENT_COMPLETE" type="LONG" required="false"/>
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +    </table>
+
+
+    <table name="RHQ_PACKAGE_INST_STEP">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STEP_KEY" type="VARCHAR2" \
size="500" required="true"/> +        <column name="STEP_ORDER" type="INTEGER" \
required="true"/> +        <column name="DESCRIPTION" type="VARCHAR2" size="4000" \
required="true"/> +        <column name="ERROR_MSG" type="LONGVARCHAR" \
required="false"/> +        <column name="RESULT" type="VARCHAR2" size="25" \
required="true"/> +
+        <column name="INSTALLED_PKG_HIST_ID" type="INTEGER" \
references="RHQ_INSTALLED_PKG_HIST"/> +    </table>
+
+    <table name="RHQ_REPO_RESOURCE_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE"/> +        <column name="CTIME" type="LONG" \
required="true"/> +
+        <constraint name="RHQ_REPO_RESOURCE_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="RESOURCE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_REPO_CONTENT_SRC_MAP">                                          \
1 +        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="CONTENT_SRC_ID" type="INTEGER" \
required="true" references="RHQ_CONTENT_SOURCE"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_CONTENT_SRC_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="CONTENT_SRC_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_REPO_REPO_GROUP_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="REPO_GROUP_ID" type="INTEGER" \
required="true" references="RHQ_REPO_GROUP"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_REPO_GROUP_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="REPO_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_REPO_REPO_RELATION_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="REPO_RELATION_ID" type="INTEGER" \
required="true" references="RHQ_REPO_RELATION"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_REPO_RELATION_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="REPO_RELATION_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+
+    <table name="RHQ_REPO_PKG_VERSION_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
required="true" references="RHQ_PACKAGE_VERSION"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_PKG_VER_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="PACKAGE_VERSION_ID"/>
+            </primaryKey>
+        </constraint>
+        <index name="RHQ_REPO_PKG_VER_MAP_IDX" unique="false">
+            <field ref="PACKAGE_VERSION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PKG_VER_CONTENT_SRC_MAP">
+        <column name="PACKAGE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +        <column name="CONTENT_SRC_ID" \
type="INTEGER" required="true" references="RHQ_CONTENT_SOURCE"/> +        <column \
name="LOCATION" type="VARCHAR2" size="4000" required="true"/> +
+        <constraint name="RHQ_PKG_VER_CONTENT_SRC_KEY">
+            <primaryKey>
+                <field ref="PACKAGE_VERSION_ID"/>
+                <field ref="CONTENT_SRC_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_PKG_PRD_MAP">
+        <column name="PKG_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +        <column name="PRD_ID" type="INTEGER" \
required="true" references="RHQ_PRD_VER"/> +
+        <constraint name="RHQ_PKG_PRD_KEY">
+            <primaryKey>
+                <field ref="PKG_ID"/>
+                <field ref="PRD_ID"/>
+            </primaryKey>
+        </constraint>
+
+    </table>
+
+    <table name="RHQ_DISTRIBUTION_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +
+    </table>
+
+    <table name="RHQ_DISTRIBUTION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DISTRIBUTION_TYPE_ID" \
type="INTEGER"  required="true" references="RHQ_DISTRIBUTION_TYPE"/> +        <column \
name="LABEL" size="64" type="VARCHAR2" required="true"/> +        <column \
name="BASE_PATH" size="256" type="VARCHAR2" required="true"/> +        <column \
name="LAST_MODIFIED" type="LONG" required="true"/> +
+        <index name="RHQ_DISTRIBUTION_IDX" unique="true">
+            <field ref="LABEL"/>
+            <field ref="BASE_PATH"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_REPO_DISTRIBUTION">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="DISTRIBUTION_ID" type="INTEGER" \
required="true" references="RHQ_DISTRIBUTION"/> +        <column name="LAST_MODIFIED" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_DIST_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="DISTRIBUTION_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+
+
+    <table name="RHQ_DISTRIBUTION_FILE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DISTRIBUTION_ID" \
type="INTEGER" required="true" references="RHQ_DISTRIBUTION"/> +        <column \
name="RELATIVE_FILENAME" size="256" type="VARCHAR2" required="true"/> +        \
<!--<column name="FILE_SIZE" type="NUMBER" required="true"/>--> +        <column \
name="MD5SUM" size="64" type="VARCHAR2" required="true"/> +        <column \
name="LAST_MODIFIED" type="LONG" required="true"/> +        <!--<column name="CTIME" \
type="LONG" required="true"/>--> +
+        <index name="RHQ_DISTRIBUTION_FILE_IDX" unique="true">
+            <field ref="DISTRIBUTION_ID"/>
+            <field ref="RELATIVE_FILENAME"/>
+        </index>
+    </table>
+
+
+
+
+    <table name="RHQ_ADVISORY">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY" size="64" \
type="VARCHAR2" required="true"/> +        <column name="ADVISORY_TYPE" size="64" \
type="VARCHAR2"  required="true" /> +        <column name="ADVISORY_REL" size="64" \
type="VARCHAR2" required="false"/> +        <column name="ADVISORY_NAME" size="64" \
type="VARCHAR2" required="false"/> +        <column name="DESCRIPTION" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="SYNOPSIS" size="4000" \
type="VARCHAR2" required="true"/> +        <column name="TOPIC" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="SOLUTION" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="SEVERITY" size="64" \
type="VARCHAR2"  required="false"/> +        <column name="ISSUE_DATE" type="LONG" \
required="false"/> +        <column name="UPDATE_DATE" type="LONG" required="false"/>
+        <column name="CTIME" type="LONG" required="true"/>
+        <column name="LAST_MODIFIED" type="LONG" required="true"/>
+
+        <index name="RHQ_ADVISORY_NAME_UQ" unique="true">
+            <field ref="ADVISORY_NAME"/>
+        </index>
+
+        <index name="RHQ_ADVISORY_UQ" unique="true">
+            <field ref="ADVISORY"/>
+        </index>
+
+        <index name="RHQ_ADVISORY_UDATE_IDX" unique="false">
+            <field ref="UPDATE_DATE"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ADVISORY_PACKAGE">
+    	  <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column \
name="PACKAGE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +        <column name="LAST_MODIFIED" type="LONG" \
required="true"/> +
+        <index name="RHQ_ADVISORY_PKG_IDX" unique="true">
+                <field ref="ADVISORY_ID"/>
+                <field ref="PACKAGE_VERSION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_CVE">
+        <column name="ID" default="sequence-only" initial="101" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="64" \
type="VARCHAR2" required="true"/> +    </table>
+
+    <table name="RHQ_ADVISORY_CVE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column name="CVE_ID" \
type="INTEGER" required="true" references="RHQ_CVE"/> +        <column \
name="LAST_MODIFIED" type="LONG" required="true"/> +
+        <index name="RHQ_ADVISORY_CVE_IDX" unique="true">
+                <field ref="ADVISORY_ID"/>
+                <field ref="CVE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_ADVISORY_BUGLIST">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column name="BUG_ID" size="256" \
type="VARCHAR2" required="true"/> +        <column name="LAST_MODIFIED" type="LONG" \
required="true"/> +
+        <index name="RHQ_ADVISORY_BUG_IDX" unique="true">
+                <field ref="ADVISORY_ID"/>
+                <field ref="BUG_ID"/>
+        </index>
+    </table>
+
+
+    <table name="RHQ_REPO_ADVISORY">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column name="LAST_MODIFIED" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_ADV_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="ADVISORY_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!-- BUNDLE_TYPE is things like "Cobbler profile" or "file-based bundle" or \
"puppet recipe" --> +    <table name="RHQ_BUNDLE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE"/> +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_TYPE_UNIQUE" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- BUNDLE is a named piece of content that can be versioned and installed \
somewhere --> +    <table name="RHQ_BUNDLE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="BUNDLE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_TYPE"/> +        <column \
name="PACKAGE_TYPE_ID" type="INTEGER" required="true" references="RHQ_PACKAGE_TYPE"/> \
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/>         +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_UNIQUE" unique="true">
+            <field ref="BUNDLE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- BUNDLE_VERSION represents an actual piece of content that needs to be \
installed somewhere --> +    <table name="RHQ_BUNDLE_VERSION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="VERSION" size="500" \
type="VARCHAR2" required="true"/> +        <column name="VERSION_ORDER" \
type="INTEGER" required="true"/> +        <column name="ACTION" type="CLOB" \
required="true"/> +        <column name="CONFIG_DEF_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_DEF" /> +        <column name="BUNDLE_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE"/> +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_VERSION_UNIQUE" unique="true">
+            <field ref="BUNDLE_ID"/>
+            <field ref="NAME"/>
+            <field ref="VERSION"/>
+        </index>
+    </table>
+
+    <!-- Many-to-many table that links many repos to a particular bundle version. \
destination platforms --> +    <!-- would be required to have associations to the \
specified repos (to access required content --> +    <table \
name="RHQ_BUNDLE_VERSION_REPO"> +        <column name="BUNDLE_VERSION_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_VERSION"/> +        <column \
name="REPO_ID" type="INTEGER" required="true" references="RHQ_REPO"/> +
+        <constraint name="RHQ_BUNDLE_VERSION_REPO_KEY">
+            <primaryKey>
+                <field ref="BUNDLE_VERSION_ID"/>
+                <field ref="REPO_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!-- BUNDLE_FILE represents a file that is associated with (possibly bundled \
inside) a bundle version --> +    <table name="RHQ_BUNDLE_FILE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="BUNDLE_VERSION_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_VERSION"/> +        <column \
name="PACKAGE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +    </table>
+
+    <!-- A logical destination for a bundle deployment. Defines the platforms and \
directory on those targets.  -->     +    <table name="RHQ_BUNDLE_DESTINATION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+        <column name="BUNDLE_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE"/>         +        <column name="GROUP_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_GROUP"/>         +        <column \
name="DEPLOY_DIR" size="256" type="VARCHAR2" required="true"/> +        <column \
name="DEST_BASE_DIR_NAME" size="200" type="VARCHAR2" required="true"/> +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_DESTINATION_UNIQUE" unique="true">
+            <field ref="BUNDLE_ID"/>            
+            <field ref="GROUP_ID"/>            
+            <field ref="DEPLOY_DIR"/>
+        </index>
+    </table>
+
+    <!-- An actual deployment of a bundle version to a destination, with a specific \
config. Bundle deployments +         can differ only on ctime, which is assumed to be \
different -->     +    <table name="RHQ_BUNDLE_DEPLOYMENT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+        <column name="BUNDLE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_VERSION"/> +        <column name="BUNDLE_DESTINATION_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_DESTINATION"/>         +        \
<column name="CONFIG_ID" type="INTEGER" required="false" references="RHQ_CONFIG" />   \
 +        <column name="SUBJECT_NAME" type="VARCHAR2" required="false" size="255"/>
+        <column name="STATUS" type="VARCHAR2" required="true" size="16"/>
+        <column name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/>        
+        <column name="IS_LIVE" type="BOOLEAN" required="true"/>        
+        <column name="REPLACED_BUNDLE_DEPLOYMENT_ID" type="INTEGER" required="false" \
references="RHQ_BUNDLE_DEPLOYMENT"/>         +    </table>
+
+    <!-- Represents a bundle version that is deployed on a platform resource -->
+    <table name="RHQ_BUNDLE_RES_DEPLOY">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/>     +        <column name="BUNDLE_DEPLOYMENT_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_DEPLOYMENT" /> +        <column \
name="RESOURCE_ID" type="INTEGER" required="true" references="RHQ_RESOURCE" /> +      \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/>         +        \
<column name="CTIME" type="LONG" required="true"/> +        
+        <index name="RHQ_BUNDLE_RES_DEPLOY_IDX" unique="true">
+            <field ref="BUNDLE_DEPLOYMENT_ID"/>
+            <field ref="RESOURCE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_BUNDLE_RES_DEP_HIST">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="BUNDLE_RES_DEPLOY_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_RES_DEPLOY" />         +        \
<column name="SUBJECT_NAME" required="false" size="255" type="VARCHAR2"/> +        \
<column name="AUDIT_TIME" required="true" type="LONG"/> +        <column \
name="ACTION" required="true" size="128" type="VARCHAR2"/> +        <column \
name="INFO" required="true" size="512" type="VARCHAR2"/>         +        <column \
name="CATEGORY" required="false" size="32" type="VARCHAR2"/>         +        <column \
name="STATUS" required="true" type="VARCHAR2" size="16"/>         +        <column \
name="MESSAGE" required="false" type="LONGVARCHAR"/> +        <column \
name="ATTACHMENT" required="false" type="LONGVARCHAR"/>         +    </table>
+
+    <table name="RHQ_TAGGING_BUNDLE_MAP">
+        <column name="BUNDLE_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_TAGGING_BUNDLE_VERSION_MAP">
+        <column name="BUNDLE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_VERSION"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_VER_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_VERSION_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_TAGGING_BUNDLE_DEPLOY_MAP">
+        <column name="BUNDLE_DEPLOYMENT_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_DEPLOYMENT"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_DEP_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_DEPLOYMENT_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+    
+    <table name="RHQ_TAGGING_BUNDLE_DEST_MAP">
+        <column name="BUNDLE_DESTINATION_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_DESTINATION"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_DES_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_DESTINATION_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!--  Drift Management Tables -->
+    <table name="RHQ_DRIFT_DEF_TEMPLATE">
+        <column name="ID" default="sequence-only" initial="1001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE"/> +        <column \
name="CONFIG_ID" type="INTEGER" required="true" references="RHQ_CONFIG"/> +        \
<column name="NAME" type="VARCHAR2" size="128" required="true"/> +        <column \
name="DESCRIPTION" type="VARCHAR2" size="512" required="false"/> +        <!-- true \
if defined by user, false if provided by plugin --> +        <column \
name="IS_USER_DEFINED" type="BOOLEAN" required="true"/>         +        <!--
+          Change sets are managed by the drift server plugins; therefore, we cannot \
maintain +          a FK constraint on the change set id. And the type cannot be \
integer because +          other back ends like MongoDB use other types that are \
basically variants of a +          UUID
+
+          jsanda
+        -->
+        <column name="DRIFT_CHANGE_SET_ID" type="VARCHAR2" size="64" \
required="false"/> +        <column name="CTIME" type="LONG" required="true"/>
+
+        <index name="RHQ_DRIFT_DEF_TEMPLATE_UNIQUE" unique="true">
+            <field ref="RESOURCE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!--  Content of a file being managed for drift. Used for diff and/or \
remediation --> +    <table name="RHQ_DRIFT_FILE">
+        <column name="HASH_ID" type="VARCHAR2" size="64" primarykey="true" \
required="true"/>         +        <column name="CTIME" type="LONG" required="true"/>
+        <column name="DATA" type="LARGEOBJECT" required="false"/>
+        <column name="DATA_SIZE" type="LONG" required="false"/>
+        <column name="STATUS" type="VARCHAR2" size="20" required="true"/>
+    </table>
+    
+    <!--  A single drift definition defining file tracking
+          Note: A resource or group (todo: group, other?) can have zero or more \
drift configurations.     +          Note: The name, interval and is_enabled values \
are also stored withing the referenced config. +                This allows us to use \
the config editor to manipulate all fields. +          Note: Name is read-only
+          Note: Interval unit is millis 
+    -->
+    <table name="RHQ_DRIFT_DEFINITION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="true" references="RHQ_CONFIG"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="false" references="RHQ_RESOURCE"/> +        <column \
name="DRIFT_DEF_TEMPLATE_ID" type="INTEGER" required="false" \
references="RHQ_DRIFT_DEF_TEMPLATE"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="NAME" type="VARCHAR2" size="128" \
required="true"/> +        <column name="DESCRIPTION" type="VARCHAR2" size="512" \
required="false"/> +        <column name="INTERVAL" type="LONG" required="true"/>
+        <column name="IS_ENABLED" type="BOOLEAN" required="true"/>        
+        <column name="DRIFT_HANDLING_MODE" type="VARCHAR2" size="20" \
required="true"/> +        <column name="IS_PINNED" type="BOOLEAN" required="true"/>
+        <column name="IS_ATTACHED" type="BOOLEAN" required="true"/>
+    </table>
+
+    <table name="RHQ_DRIFT_SET">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +    </table>
+
+    <!--  A drift change-set report for a resource -->
+    <table name="RHQ_DRIFT_CHANGE_SET">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DRIFT_SET_ID" type="INTEGER" \
required="false" references="RHQ_DRIFT_SET"/> +        <column name="CTIME" \
type="LONG" required="true"/> +        <!-- Version 0 is initial change-set -->
+        <column name="VERSION" type="INTEGER" required="true"/>
+        <column name="CATEGORY" type="VARCHAR2" size="20" required="true"/>          \
 +        <column name="RESOURCE_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +        <column name="DRIFT_DEFINITION_ID" \
type="INTEGER" required="false" references="RHQ_DRIFT_DEFINITION"/> +        <!--  \
the drift handling mode at changeset creation time --> +        <column \
name="DRIFT_HANDLING_MODE" type="VARCHAR2" size="20" required="true"/>         +    \
</table> +    
+    <!--  A single occurence of drift for a resource -->
+    <table name="RHQ_DRIFT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="CATEGORY" type="VARCHAR2" size="20" \
required="true"/>         +        <column name="DRIFT_SET_ID" type="INTEGER" \
required="false" references="RHQ_DRIFT_SET"/> +        <column \
name="DRIFT_CHANGE_SET_ID" type="INTEGER" required="true" \
references="RHQ_DRIFT_CHANGE_SET"/> +        <!-- the file path not including the \
base directory -->         +        <column name="PATH" type="VARCHAR2" size="1024" \
required="true"/> +        <!-- the same as PATH less [/]filename.ext. Redundant \
storage for the purpose of strict directory search. +             this field can be \
considered transient for serialization purposes --> +        <column \
name="PATH_DIRECTORY" type="VARCHAR2" size="1024" required="true"/>         +        \
<column name="OLD_DRIFT_FILE" type="VARCHAR2" size="64" required="false" \
references="RHQ_DRIFT_FILE"/>         +        <column name="NEW_DRIFT_FILE" \
type="VARCHAR2" size="64" required="false" references="RHQ_DRIFT_FILE"/>         +    \
</table> +
+
+<!-- END: content-schema.xml -->
+<!-- BEGIN: resource-request-schema.xml -->
+        
+
+    <table name="RHQ_CREATE_RES_HIST">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="PARENT_RESOURCE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE"/> +        <column \
name="CREATED_RESOURCE_NAME" type="VARCHAR2" size="500" required="false"/> +        \
<column name="NEW_RESOURCE_KEY" type="VARCHAR2" required="false" size="500"/> +       \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="true" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_TYPE"/> +        <column \
name="CONFIGURATION_ID" type="INTEGER" required="false" references="RHQ_CONFIG"/> +   \
<column name="INSTALLED_PACKAGE_ID" type="INTEGER" required="false" \
references="RHQ_INSTALLED_PACKAGE"/> +    </table>
+
+    <table name="RHQ_DELETE_RES_HIST">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="ERROR_MESSAGE" \
type="LONGVARCHAR" required="false"/> +        <column name="SUBJECT_NAME" \
type="VARCHAR2" required="true" size="100"/> +        <column name="CTIME" \
type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="STATUS" type="VARCHAR2" required="true" \
size="16"/> +        <column name="RESOURCE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE"/> +    </table>
+
+<!-- END: resource-request-schema.xml -->
+<!-- BEGIN: jms-schema.xml -->
+
+<!-- the schema matches that which would be automatically created by the JMS \
subsystem --> +<!-- see deploy/jms/rhq-jdbc-state-service.xml and \
rhq-jdbc2-service.xml --> +
+
+    <table name="JMS_MESSAGES">
+        <column name="MESSAGEID"   required="true"  type="INTEGER" />
+        <column name="DESTINATION" required="true"  type="VARCHAR2" size="255" />
+        <column name="TXID"        required="false" type="INTEGER" />
+        <column name="TXOP"        required="false" type="CHAR" size="1" />
+        <column name="MESSAGEBLOB" required="false" type="BLOB" />
+
+        <constraint name="JMS_MESSAGES_PKEY">
+            <primaryKey>
+                <field ref="MESSAGEID"/>
+                <field ref="DESTINATION"/>
+            </primaryKey>
+        </constraint>
+
+        <index name="JMS_MESSAGES_TXOP_TXID">
+            <field ref="TXOP"/>
+            <field ref="TXID"/>
+        </index>
+        <index name="JMS_MESSAGES_DESTINATION">
+            <field ref="DESTINATION"/>
+        </index>
+    </table>
+
+    <table name="JMS_TRANSACTIONS">
+        <column name="TXID" required="true" type="INTEGER" primarykey="true" />
+    </table>
+
+    <table name="JMS_USERS">
+        <column name="USERID"   required="true"  type="VARCHAR2" size="32" \
primarykey="true" /> +        <column name="PASSWD"   required="true"  \
type="VARCHAR2" size="32" /> +        <column name="CLIENTID" required="false" \
type="VARCHAR2" size="128" /> +    </table>
+
+    <table name="JMS_ROLES">
+        <column name="ROLEID" required="true" type="VARCHAR2" size="32" />
+        <column name="USERID" required="true" type="VARCHAR2" size="32" />
+
+        <constraint name="JMS_ROLES_PKEY">
+            <primaryKey>
+                <field ref="USERID"/>
+                <field ref="ROLEID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="JMS_SUBSCRIPTIONS">
+        <column name="CLIENTID" required="true"  type="VARCHAR2" size="128" />
+        <column name="SUBNAME"  required="true"  type="VARCHAR2" size="128" />
+        <column name="TOPIC"    required="true"  type="VARCHAR2" size="255" />
+        <column name="SELECTOR" required="false" type="VARCHAR2" size="255" />
+
+        <constraint name="JMS_SUBSCRIPTIONS_PKEY">
+            <primaryKey>
+                <field ref="CLIENTID"/>
+                <field ref="SUBNAME"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+<!-- END: jms-schema.xml -->
+<!-- BEGIN: obsolete-schema.xml -->
+        
+    
+    <!-- NOTE: The tables will be dropped in the *** REVERSE ORDER *** as listed in \
this file! --> +    <!-- NOTE: So, put the table you want dropped first at the \
bottom, and so on... --> +
+
+    <!-- !!! REMOVED FROM CONTENT-SCHEMA !!!! -->
+    
+    <table name="RHQ_BUNDLE_CONFIG" obsolete="true">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG" /> +        <!-- this probably needs a DTYPE \
discriminator so we know if its a bundle or a specific bundle version --> +        \
<column name="BUNDLE_VERSION_ID" type="INTEGER" required="false" \
references="RHQ_BUNDLE_VERSION"/> +        <column name="BUNDLE_ID" type="INTEGER" \
required="false" references="RHQ_BUNDLE"/> +    </table>
+
+    <table name="RHQ_CHANNEL" obsolete="true">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CREATION_TIME" type="LONG" \
required="true"/> +        <column name="LAST_MODIFIED_TIME" type="LONG" \
required="true"/> +
+        <index name="RHQ_CHANNEL_IDX" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_CHANNEL_RESOURCE_MAP" obsolete="true">
+        <column name="CHANNEL_ID" type="INTEGER" required="true" \
references="RHQ_CHANNEL"/> +        <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE"/> +        <column name="CTIME" type="LONG" \
required="true"/> +
+        <constraint name="RHQ_CHANNEL_RESOURCE_MAP_KEY">
+            <primaryKey>
+                <field ref="CHANNEL_ID"/>
+                <field ref="RESOURCE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_CHANNEL_CONTENT_SRC_MAP" obsolete="true">
+        <column name="CHANNEL_ID" type="INTEGER" required="true" \
references="RHQ_CHANNEL"/> +        <column name="CONTENT_SRC_ID" type="INTEGER" \
required="true" references="RHQ_CONTENT_SOURCE"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_CHAN_CONTENT_SRC_MAP_KEY">
+            <primaryKey>
+                <field ref="CHANNEL_ID"/>
+                <field ref="CONTENT_SRC_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_CHANNEL_PKG_VERSION_MAP" obsolete="true">
+        <column name="CHANNEL_ID" type="INTEGER" required="true" \
references="RHQ_CHANNEL"/> +        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
required="true" references="RHQ_PACKAGE_VERSION"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_CHANNEL_PKG_VER_MAP_KEY">
+            <primaryKey>
+                <field ref="CHANNEL_ID"/>
+                <field ref="PACKAGE_VERSION_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+   <!-- !!! REMOVED FROM MEASUREMENT-SCHEMA !!!! -->
+
+   <table name="RHQ_MEASUREMENT_OOB" obsolete="true">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="SCHEDULE_ID" type="INTEGER" \
references="RHQ_MEASUREMENT_SCHED(ID)" required="true"/> +      <column \
name="OCCURRED" type="LONG" required="true"/> +      <column name="DIFF" \
type="DOUBLE" required="true"/> +
+      <index name="RHQ_MEASUREMENT_OOB_IDX" unique="true">
+         <field ref="SCHEDULE_ID" />
+         <field ref="OCCURRED" />
+      </index>
+   </table>
+
+
+     <table name="RHQ_TAG" obsolete="true">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +    </table>
+
+     <table name="RHQ_REPO_TAG_MAP" obsolete="true">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="TAG_ID" type="INTEGER" required="true" \
references="RHQ_TAG"/> +
+        <constraint name="RHQ_REPO_TAG_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+
+<!-- END: obsolete-schema.xml -->
+</dbsetup>
diff --git a/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-rhq-4.3.0.xml \
b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-rhq-4.3.0.xml
 new file mode 100644
index 0000000..3fd833f
--- /dev/null
+++ b/modules/enterprise/gui/installer/src/test/resources/org/rhq/enterprise/installer/db-schema-combined-rhq-4.3.0.xml
 @@ -0,0 +1,2649 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dbsetup name="schema">
+<!-- BEGIN: config-schema.xml -->
+
+
+    <!-- Definition or Metadata tables -->
+
+    <table name="RHQ_CONFIG_DEF">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="true" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="250"/> +        <column name="VERSION" type="VARCHAR2" \
required="false" size="50"/> +        <column name="CONFIG_FORMAT" type="VARCHAR2" \
required="false" size="32"/> +    </table>
+
+    <table name="RHQ_CONFIG_PROP_GRP_DEF">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="true" size="100"/> +        <column name="DISPLAY_NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="250"/> +        <column name="DEFAULT_HIDDEN" type="BOOLEAN" \
required="false"/> +        <column name="ORDER_INDEX" type="INTEGER" \
required="false"/> +    </table>
+
+    <table name="RHQ_CONFIG_PROP_DEF">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="false" size="255"/> +        <column name="DISPLAY_NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="1000"/> +        <column name="DEFAULT_VALUE" type="VARCHAR2" \
required="false" size="2000"/> +        <column name="REQUIRED" type="BOOLEAN" \
required="false"/> +        <column name="READONLY" type="BOOLEAN" required="false"/>
+        <column name="SUMMARY" type="BOOLEAN" required="false"/>
+        <column name="ACTIVATION_POLICY" type="VARCHAR2" required="false" \
size="20"/> +        <column name="GROUP_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_PROP_GRP_DEF"/> +        <column name="ORDER_INDEX" \
type="INTEGER" required="false"/> +        <column name="VERSION" type="VARCHAR2" \
required="false" size="50"/> +        <column name="PARENT_MAP_DEFINITION_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG_PROP_DEF"/> +        <column \
name="PARENT_LIST_DEFINITION_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_PROP_DEF"/> +        <column name="SIMPLE_TYPE" \
type="VARCHAR2" required="false" size="20"/> +        <column \
name="ALLOW_CUSTOM_ENUM_VALUE" type="BOOLEAN" required="false"/> +        <column \
name="DTYPE" type="VARCHAR2" required="true" size="10"/> +        <column \
name="CONFIG_DEF_ID" type="INTEGER" required="false" references="RHQ_CONFIG_DEF"/> +
+        <!-- only simple properties (not lists and maps) have this -->
+        <column name="UNITS" type="SMALLINT" required="false"/>
+
+        <!-- only dynamic properties (not simple) have this -->
+        <column name="DYNAMIC_TYPE" type="VARCHAR2" size="20" required="false"/>
+        <column name="DYNAMIC_KEY" type="VARCHAR2" size="128" required="false"/>
+    </table>
+
+    <table name="RHQ_CONF_PROP_DEF_ENUM">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="STRING_VALUE" \
type="VARCHAR2" required="false" size="500"/> +        <column name="ORDER_INDEX" \
type="INTEGER" required="false"/> +        <column name="NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="PROPERTY_DEF_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_PROP_DEF"/> +    </table>
+
+    <table name="RHQ_CONFIG_PD_OSRC">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="LINK_TO_TARGET" \
type="BOOLEAN" required="false"/> +        <column name="FILTER" type="VARCHAR2" \
required="false" size="40"/> +        <column name="EXPRESSION" type="VARCHAR2" \
required="true" size="400"/> +        <column name="TARGET_TYPE" type="VARCHAR2" \
required="true" size="20"/> +        <column name="PROPERTY_DEF_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_PROP_DEF"/> +    </table>
+
+    <table name="RHQ_CONFIG_PROP_CONSTR">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="DTYPE" type="VARCHAR2" \
required="true" size="15"/> +        <column name="DETAILS" type="VARCHAR2" \
required="false" size="250"/> +        <column name="CONFIG_PROP_DEF_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG_PROP_DEF"/> +        <column \
name="ORDER_INDEX" type="INTEGER" required="false"/> +    </table>
+
+
+    <!-- Content or value tables -->
+
+    <table name="RHQ_CONFIG">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NOTES" type="VARCHAR2" \
required="false" size="512"/> +        <column name="VERSION" type="VARCHAR2" \
required="false" size="50"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+    </table>
+
+    <table name="RHQ_CONFIG_PROPERTY">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="CONFIGURATION_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG" ondelete="cascade"/> +        \
<column name="STRING_VALUE" type="VARCHAR2" required="false" size="2000"/> +        \
<column name="OVERRIDE" type="BOOLEAN" required="false"/> +        <column \
name="NAME" type="VARCHAR2" required="true" size="255"/> +        <column \
name="DTYPE" type="VARCHAR2" required="true" size="10"/> +        <!-- Recursive \
cascade path to RHQ_CONFIG_PROPERTY causes constraint creation errors on SQL Server, \
see +             http://support.microsoft.com/kb/321843 -->
+        <column name="PARENT_LIST_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_PROPERTY" ondelete="cascade" /> +        <column \
name="PARENT_MAP_ID" type="INTEGER" required="false" references="RHQ_CONFIG_PROPERTY" \
ondelete="cascade" /> +        <column name="LIST_INDEX" type="INTEGER"/>
+        <column name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/>
+        <index name="RHQ_CONFIG_PROP_idx_prop_key" unique="false">
+            <field ref="CONFIGURATION_ID"/>
+            <field ref="NAME"/>
+        </index>
+        <index name="RHQ_CONFIG_PROP_idx_map_key" unique="false">
+            <field ref="PARENT_MAP_ID"/>
+            <field ref="NAME"/>
+        </index>
+        <index name="RHQ_CONFIG_PROP_idx_list_key" unique="false">
+            <field ref="PARENT_LIST_ID"/>
+        </index>
+        <!-- List entries all have the same name -->
+    </table>
+
+    <table name="RHQ_CONFIG_TEMPLATE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAME" type="VARCHAR2" \
required="false" size="100"/> +        <column name="DESCRIPTION" type="VARCHAR2" \
required="false" size="500"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG"/> +        <column name="CONFIG_DEF_ID" \
type="INTEGER" required="false" references="RHQ_CONFIG_DEF"/> +        <column \
name="IS_DEFAULT" type="BOOLEAN" required="false"/> +    </table>
+
+    <table name="RHQ_RAW_CONFIG">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="true" references="RHQ_CONFIG(ID)"/> +        <column name="PATH" \
type="VARCHAR2" required="false" size="512"/> +        <column name="CONTENTS" \
type="CLOB" required="true"/> +        <column name="SHA256" type="VARCHAR2" \
size="64" required="true"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+    </table>
+
+<!-- END: config-schema.xml -->
+<!-- BEGIN: cluster-schema.xml -->
+
+    <table name="RHQ_AFFINITY_GROUP">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="255" type="VARCHAR2"/>
+    </table>
+
+    <table name="RHQ_SERVER">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="255" type="VARCHAR2"/>
+        <column name="ADDRESS" required="true" size="255" type="VARCHAR2"/>
+        <column name="PORT" required="true" type="INTEGER"/>
+        <column name="SECURE_PORT" required="true" type="INTEGER"/>
+        <column name="CTIME" required="true" type="LONG"/>
+        <column name="MTIME" required="true" type="LONG"/>
+        <column name="AFFINITY_GROUP_ID" type="INTEGER" \
references="RHQ_AFFINITY_GROUP" required="false"/> +        <column \
name="COMPUTE_POWER" required="true" type="INTEGER"/>         +        <column \
name="OPERATION_MODE" required="true" size="32" type="VARCHAR2"/> +        <column \
name="STATUS" type="INTEGER" required="false" default="0" /> +    
+        <!--  This index is for constraint, not performance -->    
+        <index name="RHQ_SERVER_NAME_UNIQUE" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!--  new agent -->
+    <table name="RHQ_AGENT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" required="true" \
size="255" type="VARCHAR2"/> +        <column name="ADDRESS" required="true" \
size="255" type="VARCHAR2"/> +        <column name="PORT" required="true" \
type="INTEGER"/> +        <column name="AGENTTOKEN" required="true" size="100" \
type="VARCHAR2"/> +        <column name="REMOTE_ENDPOINT" required="false" \
size="4000" type="VARCHAR2"/> +        <column name="CTIME" required="true" \
type="LONG"/> +        <column name="MTIME" required="true" type="LONG"/>
+        <column name="LAST_AVAILABILITY_REPORT" required="false" type="LONG"/>
+        <column name="AFFINITY_GROUP_ID" type="INTEGER" \
references="RHQ_AFFINITY_GROUP" required="false"/> +        <column name="SERVER_ID" \
type="INTEGER" references="RHQ_SERVER" required="false"/> +        <column \
name="STATUS" type="INTEGER" required="false" default="0" /> +        <column \
name="BACKFILLED" type="BOOLEAN" required="true" /> +
+        <index name="RHQ_AGENT_NAME_UNIQUE" unique="true">
+            <field ref="NAME"/>
+        </index>
+
+        <index name="RHQ_AGENT_ADDRESS_PORT" unique="true">
+            <field ref="ADDRESS"/>
+            <field ref="PORT"/>
+        </index>
+
+        <index name="RHQ_AGENT_TOKEN_UNIQUE" unique="true">
+            <field ref="AGENTTOKEN"/>
+        </index>
+    </table>
+    
+    <table name="RHQ_PARTITION_EVENT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="SUBJECT_NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="CTIME" required="true" type="LONG"/>
+        <column name="EVENT_TYPE" required="true" size="50" type="VARCHAR2"/>
+        <column name="EVENT_DETAIL" required="false" size="512" type="VARCHAR2"/>
+        <column name="EXECUTION_STATUS" required="true" size="32" type="VARCHAR2"/>  \
 +    </table>
+    
+    <table name="RHQ_PARTITION_DETAILS">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PARTITION_EVENT_ID" type="INTEGER" \
references="RHQ_PARTITION_EVENT" required="true"/> +        <column name="AGENT_NAME" \
type="VARCHAR2" size="255" required="true"/> +        <column name="SERVER_NAME" \
type="VARCHAR2" size="255" required="true"/> +    </table>
+
+    <table name="RHQ_FAILOVER_LIST">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PARTITION_EVENT_ID" type="INTEGER" \
references="RHQ_PARTITION_EVENT" required="true"/> +        <column name="AGENT_ID" \
type="INTEGER" references="RHQ_AGENT" required="true"/> +        <column name="CTIME" \
required="true" type="LONG"/> +    </table>
+
+    <table name="RHQ_FAILOVER_DETAILS">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="FAILOVER_LIST_ID" type="INTEGER" \
references="RHQ_FAILOVER_LIST" required="true"/> +        <column name="SERVER_ID" \
type="INTEGER" references="RHQ_SERVER" required="true"/> +        <column \
name="ORDINAL" type = "INTEGER" required="true"/> +    </table>
+
+<!-- END: cluster-schema.xml -->
+<!-- BEGIN: auth-schema.xml -->
+
+
+    <table name="RHQ_PRINCIPAL">
+
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PRINCIPAL" required="true" type="VARCHAR2" size="100"/>
+        <column name="PASSWORD" required="true" type="VARCHAR2" size="64"/>
+
+        <!-- ensure that principals are unique -->
+        <index name="RHQ_PRINCIPAL_PRINCIPAL_KEY" unique="true">
+            <field ref="PRINCIPAL"/>
+        </index>
+
+    </table>
+    
+    <table name="RHQ_SUBJECT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="CONFIGURATION_ID" type="INTEGER" references="RHQ_CONFIG"/>
+        <column name="FIRST_NAME" required="false" size="100" type="VARCHAR2"/>
+        <column name="LAST_NAME" required="false" size="100" type="VARCHAR2"/>
+        <column name="EMAIL_ADDRESS" size="100" type="VARCHAR2"/>
+        <column name="SMS_ADDRESS" size="100" type="VARCHAR2"/>
+        <column name="PHONE_NUMBER" size="100" type="VARCHAR2"/>
+        <column name="DEPARTMENT" size="100" type="VARCHAR2"/>
+        <column name="FACTIVE" required="true" type="BOOLEAN" default="true"/>
+        <column name="FSYSTEM" required="true" type="BOOLEAN" default="false"/>
+
+        <index name="RHQ_SUBJECT_AUTH_KEY" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>    
+
+<!-- END: auth-schema.xml -->
+<!-- BEGIN: inventory-schema.xml -->
+
+
+    <!-- NEW RESOURCE TYPES -->
+    <table name="RHQ_RESOURCE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" type="VARCHAR2" size="100" required="true"/>
+        <column name="CATEGORY" type="VARCHAR2" size="16" required="true"/>
+        <column name="CREATION_DATA_TYPE" type="VARCHAR2" size="16" \
required="true"/> +        <column name="CREATE_DELETE_POLICY" type="VARCHAR2" \
size="16" required="true"/> +        <column name="SINGLETON" type="BOOLEAN" \
required="true"/> +        <column name="SUPPORTS_MANUAL_ADD" type="BOOLEAN" \
required="true"/> +        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+        <column name="PLUGIN" type="VARCHAR2" size="100"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="DELETED" type="BOOLEAN" default="FALSE" required="TRUE"/>
+        <column name="SUBCATEGORY_ID" type="INTEGER"/>
+        <!--
+        TODO add support to DB setup for tables with circular dependencies and then \
add back this RI +        <column name="SUBCATEGORY_ID" type="INTEGER" \
references="RHQ_RESOURCE_SUBCAT" /> +        -->
+        <column name="PLUGIN_CONFIG_DEF_ID" type="INTEGER" \
references="RHQ_CONFIG_DEF(ID)"/> +        <column name="RES_CONFIG_DEF_ID" \
type="INTEGER" references="RHQ_CONFIG_DEF(ID)"/> +        <column \
name="BUNDLE_CONFIG_ID" type="INTEGER" references="RHQ_CONFIG"/> +
+        <index name="RHQ_RES_TYPE_IDX_PLG_NAME" unique="true">
+            <field ref="NAME"/>
+            <field ref="PLUGIN"/>
+        </index>
+    </table>
+
+    <!-- NEW RESOURCE SUBCATEGORIES -->
+    <table name="RHQ_RESOURCE_SUBCAT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" type="VARCHAR2" size="100"/>
+        <column name="DISPLAY_NAME" type="VARCHAR2" size="100"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="PARENT_SUBCATEGORY_ID" type="INTEGER" \
references="RHQ_RESOURCE_SUBCAT"/> +        <!-- resourceTypeId is not required on \
child sub categories --> +        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +    </table>
+
+    <!-- Many To Many mapping for resource type to its parents -->
+    <table name="RHQ_RESOURCE_TYPE_PARENTS">
+        <column name="RESOURCE_TYPE_ID" required="true" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +        <column name="PARENT_RESOURCE_TYPE_ID" \
required="true" type="INTEGER" references="RHQ_RESOURCE_TYPE"/> +
+        <!-- not using full words to fit index name length -->
+        <constraint name="RHQ_RES_TYPE_PARENTS_KEY">
+            <primaryKey>
+                <field ref="RESOURCE_TYPE_ID"/>
+                <field ref="PARENT_RESOURCE_TYPE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_PROCESS_SCAN">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="QUERY" type="VARCHAR2" size="256" required="true"/>
+        <column name="NAME" type="VARCHAR2" size="100" required="false"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +
+        <index name="RHQ_PROCESS_SCAN_QUERY_INDEX" unique="true">
+            <field ref="QUERY"/>
+            <field ref="RESOURCE_TYPE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PRD_VER">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="VERSION" type="VARCHAR2" \
size="100" required="true"/> +        <column name="RES_TYPE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_TYPE"/> +    </table>
+
+    <table name="RHQ_RESOURCE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_TYPE"/> +        <column name="UUID" type="CHAR" size="36" \
required="true"/> +        <column name="NAME" type="VARCHAR2" size="500"/>
+        <!--  ancestry holds the full parental ancestry, used for disambiguation -->
+        <column name="ANCESTRY" type="VARCHAR2" required="false" size="4000"/>       \
 +        <column name="RESOURCE_KEY" type="VARCHAR2" required="true" size="500"/>
+        <column name="AGENT_ID" required="false" type="INTEGER" \
references="RHQ_AGENT(id)"/> +        <column name="INVENTORY_STATUS" type="VARCHAR2" \
size="20"/> +        <column name="CONNECTED" type="BOOLEAN"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+        <column name="VERSION" type="VARCHAR2" size="100"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="ITIME" type="LONG"/>
+        <column name="RES_CONFIGURATION_ID" type="INTEGER" references="RHQ_CONFIG"/>
+        <column name="PLUGIN_CONFIGURATION_ID" type="INTEGER" \
references="RHQ_CONFIG"/> +        <column name="MODIFIED_BY" required="false" \
size="100" type="VARCHAR2"/> +        <column name="LOCATION" required="false" \
size="100" type="VARCHAR2"/> +        <column name="PARENT_RESOURCE_ID" \
type="INTEGER" references="RHQ_RESOURCE"/> +        <column name="PRODUCT_VERSION_ID" \
type="INTEGER" references="RHQ_PRD_VER"/> +
+        <index name="RHQ_RESOURCE_idx_key">
+            <field ref="RESOURCE_KEY"/>
+        </index>
+
+        <index name="RHQ_RESOURCE_idx_type">
+            <field ref="RESOURCE_TYPE_ID"/>
+        </index>
+
+        <index name="RHQ_RESOURCE_idx_agent">
+            <field ref="AGENT_ID"/>
+        </index>
+
+        <index name="RHQ_RESOURCE_idx_parent">
+            <field ref="PARENT_RESOURCE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_RESOURCE_ERROR">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE"/> +        <column \
name="TIME_OCCURRED" type="LONG" required="true"/> +        <column name="ERROR_TYPE" \
type="VARCHAR2" required="true" size="32"/> +        <column name="SUMMARY" \
type="VARCHAR2" required="true" size="1000"/> +        <column name="DETAIL" \
type="LONGVARCHAR" required="false"/> +
+        <index name="RHQ_RES_ERROR_IDX_RES_ID">
+            <field ref="RESOURCE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_GROUP_DEF">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="DESCRIPTION" size="100" type="VARCHAR2"/>
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="CALC_TIME" type="LONG"/>
+        <column name="CALC_INTERVAL" type="LONG"/>
+        <column name="RECURSIVE" type="BOOLEAN"/>
+        <column name="EXPRESSION" type="VARCHAR2" size="1000"/>
+
+        <index name="RHQ_GROUP_DEF_NAME" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_RESOURCE_GROUP">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <!-- this name can be longer than the size of the GROUP_BY column, which is \
used to uniquely identify it --> +        <!-- Max bytes for Oracle Varchar2 to \
accommodate large cluster keys --> +        <column name="NAME" required="true" \
size="4000" type="VARCHAR2"/> +        <column name="DESCRIPTION" size="100" \
type="VARCHAR2"/> +        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE"/> +        <!-- Compatible groups only -->
+        <column name="CTIME" type="LONG"/>
+        <column name="MTIME" type="LONG"/>
+        <column name="MODIFIED_BY" required="false" size="100" type="VARCHAR2"/>
+        <column name="RECURSIVE" type="BOOLEAN"/>
+
+        <column name="GROUP_DEFINITION_ID" required="false" type="INTEGER" \
references="RHQ_GROUP_DEF"/> +        <column name="GROUP_BY" size="500" \
type="VARCHAR2"/> +
+        <column name="CATEGORY" type="VARCHAR2" size="20" required="true"/>
+
+        <!--  This is only set if this is a subject-owned group (like an autogroup) \
--> +        <column name="SUBJECT_ID" type="INTEGER" references="RHQ_SUBJECT"/>
+
+        <!--  These two only set if this is a backing group for a resource \
auto-cluster --> +        <column name="CLUSTER_KEY" type="VARCHAR2" size="4000" \
required="false"/> +        <column name="CLUSTER_RESOURCE_GROUP_ID" type="INTEGER" \
references="RHQ_RESOURCE_GROUP"/> +
+        <!--  This is only set if this is a backing group for a resource auto-group \
--> +        <column name="AUTO_GROUP_PARENT_RESOURCE_ID" type="INTEGER" \
references="RHQ_RESOURCE"/> +
+        <column name="VISIBLE" type="BOOLEAN"/>
+        
+        <index name="RHQ_RES_GROUP_NAME" unique="false">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- Many To Many mapping for groups to implicit resources -->
+    <table name="RHQ_RESOURCE_GROUP_RES_IMP_MAP">
+        <column name="RESOURCE_ID" required="true" type="INTEGER" \
references="RHQ_RESOURCE"/> +        <column name="RESOURCE_GROUP_ID" required="true" \
type="INTEGER" references="RHQ_RESOURCE_GROUP"/> +
+        <!-- not using full words to fit index name length -->
+        <constraint name="RHQ_RES_GROUP_RES_IMP_MAP_KEY">
+            <primaryKey>
+                <field ref="RESOURCE_ID"/>
+                <field ref="RESOURCE_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!-- Many To Many mapping for groups to explicit resources -->
+    <table name="RHQ_RESOURCE_GROUP_RES_EXP_MAP">
+        <column name="RESOURCE_ID" required="true" type="INTEGER" \
references="RHQ_RESOURCE"/> +        <column name="RESOURCE_GROUP_ID" required="true" \
type="INTEGER" references="RHQ_RESOURCE_GROUP"/> +
+        <!-- not using full words to fit index name length -->
+        <constraint name="RHQ_RES_GROUP_RES_EXP_MAP_KEY">
+            <primaryKey>
+                <field ref="RESOURCE_ID"/>
+                <field ref="RESOURCE_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_CONFIG_GROUP_UPDATE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="GROUP_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_GROUP"/> +        <column \
name="CONFIGURATION_ID" type="INTEGER" required="true" references="RHQ_CONFIG"/> +    \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="false" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="DTYPE" type="VARCHAR2" required="true" \
size="10"/> +    </table>
+
+    <table name="RHQ_CONFIG_UPDATE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="CONFIGURATION_ID" \
type="INTEGER" required="true" references="RHQ_CONFIG"  ondelete="cascade"/> +        \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="false" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="CONFIG_RES_ID" type="INTEGER" \
required="false" references="RHQ_RESOURCE"/> +        <column \
name="PLUGIN_CONFIG_RES_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +        <column name="AGG_RES_UPDATE_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_GROUP_UPDATE"/> +        <column \
name="AGG_PLUGIN_UPDATE_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG_GROUP_UPDATE"/> +        <column name="DTYPE" type="VARCHAR2" \
required="true" size="10"/> +    </table>
+
+
+    <table name="RHQ_TAGGING">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="NAMESPACE" type="VARCHAR2" \
required="false" size="20"/> +        <column name="SEMANTIC" type="VARCHAR2" \
required="false" size="50"/> +        <column name="NAME" type="VARCHAR2" \
required="true" size="100"/> +    </table>
+
+    <table name="RHQ_TAGGING_RESOURCE_MAP">
+        <column name="RESOURCE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_RESOURCE_MAP_KEY"> +            <primaryKey>
+                <field ref="RESOURCE_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_TAGGING_RES_GROUP_MAP">
+        <column name="RESOURCE_GROUP_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_GROUP"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_RES_GROUP_MAP_KEY"> +            <primaryKey>
+                <field ref="RESOURCE_GROUP_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+<!-- END: inventory-schema.xml -->
+<!-- BEGIN: authz-schema.xml -->
+
+
+    <table name="RHQ_ROLE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="DESCRIPTION" size="100" type="VARCHAR2"/>
+        <column name="FSYSTEM" type="BOOLEAN" default="false"/>
+
+        <index name="RHQ_ROLE_NAME_KEY" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ROLE_RESOURCE_GROUP_MAP">
+        <column name="ROLE_ID" required="true" type="INTEGER" \
references="RHQ_ROLE"/> +        <column name="RESOURCE_GROUP_ID" required="true" \
type="INTEGER" references="RHQ_RESOURCE_GROUP"/> +
+        <constraint name="RHQ_ROLE_RES_GROUP_MAP_KEY">
+            <primaryKey>
+                <field ref="ROLE_ID"/>
+                <field ref="RESOURCE_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_ROLE_LDAP_GROUP">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ROLE_ID" required="true" type="INTEGER" \
references="RHQ_ROLE"/> +        <column name="LDAP_GROUP_NAME" size="128" \
required="true" type="VARCHAR2"/> +
+        <index name="RHQ_ROLE_LDAP_GROUP_IDX" unique="true">
+            <field ref="ROLE_ID"/>
+            <field ref="LDAP_GROUP_NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PERMISSION">
+        <column name="ROLE_ID" type="INTEGER" references="RHQ_ROLE" \
required="true"/> +        <column name="OPERATION" type="INTEGER" required="true"/>
+        <constraint name="RHQ_PERMISSION_PK">
+            <primaryKey>
+                <field ref="ROLE_ID"/>
+                <field ref="OPERATION"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_SUBJECT_ROLE_MAP">
+        <column name="SUBJECT_ID" required="true" type="INTEGER" \
references="RHQ_SUBJECT"/> +        <column name="ROLE_ID" required="true" \
type="INTEGER" references="RHQ_ROLE"/> +
+        <constraint name="RHQ_SUBJECT_ROLE_MAPPING_KEY">
+            <primaryKey>
+                <field ref="SUBJECT_ID"/>
+                <field ref="ROLE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_SUBJECT_ROLE_LDAP_MAP">
+        <column name="SUBJECT_ID" required="true" type="INTEGER" \
references="RHQ_SUBJECT"/> +        <column name="ROLE_ID" required="true" \
type="INTEGER" references="RHQ_ROLE"/> +        <constraint \
name="RHQ_SUBJECT_ROLE_LDAP_MAP_PK"> +            <primaryKey>
+                <field ref="SUBJECT_ID" />
+                <field ref="ROLE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+<!-- END: authz-schema.xml -->
+<!-- BEGIN: search-schema.xml -->
+
+
+    <table name="RHQ_SAVED_SEARCH">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CONTEXT" type="VARCHAR2" \
size="25" required="true"/> +        
+        <column name="NAME" type="VARCHAR2" size="200" required="true"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="500" required="false"/>
+        <column name="PATTERN" type="VARCHAR2" size="1000" required="true"/>
+        
+        <column name="LAST_COMPUTE_TIME" type="LONG" required="true"/>
+        <column name="RESULT_COUNT" type="LONG" required="false"/>
+        
+        <column name="SUBJECT_ID" type="INTEGER" references="RHQ_SUBJECT" \
required="true"/> +        <column name="GLOBAL" type="BOOLEAN" required="true"/>
+    </table>
+
+<!-- END: search-schema.xml -->
+<!-- BEGIN: dashboard-schema.xml -->
+
+
+
+    <table name="RHQ_DASHBOARD">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" type="VARCHAR2" \
size="200" required="true"/> +        <column name="SUBJECT_ID" type="INTEGER" \
required="true" references="RHQ_SUBJECT"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="false" references="RHQ_RESOURCE"/> +        <column \
name="GROUP_ID" type="INTEGER" required="false" references="RHQ_RESOURCE_GROUP"/>     \
 +        <column name="CATEGORY" type="VARCHAR2" size="20" required="true"/>         \
 +        <column name="SHARED" type="BOOLEAN" required="true"/>
+        <column name="CONFIGURATION_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG"/> +    </table>
+
+
+    <table name="RHQ_DASHBOARD_PORTLET">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" type="VARCHAR2" \
size="200" required="true"/> +        <column name="PORTLET_KEY" type="VARCHAR2" \
size="200" required="true"/> +        <column name="COL" type="INTEGER" \
required="true"/> +        <column name="COL_INDEX" type="INTEGER" required="true"/>
+        <column name="HEIGHT" type="INTEGER" required="true"/>
+        <column name="CONFIGURATION_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG"/> +        <column name="DASHBOARD_ID" type="INTEGER" \
required="false" references="RHQ_DASHBOARD"/> +    </table>
+
+<!-- END: dashboard-schema.xml -->
+<!-- BEGIN: operation-schema.xml -->
+
+
+    <table name="RHQ_OPERATION_DEF">
+
+        <!-- === required columns === -->
+
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE(ID)"/> +        <column \
name="NAME" type="VARCHAR2" required="true" size="100"/> +
+        <!-- === optional columns === -->
+
+        <!-- an OSGI version range - if null, the operation def applies to all \
versions of the associated resource type --> +        <column \
name="RESOURCE_VERSION_RANGE" type="VARCHAR2" size="100"/> +
+        <!-- A parameter config definition is only required for operations that have \
parameters. --> +        <!-- A results config definition is only required for \
operations that return data. --> +        <column name="PARAMETER_CONFIG_DEF_ID" \
type="INTEGER" references="RHQ_CONFIG_DEF(ID)"/> +        <column \
name="RESULTS_CONFIG_DEF_ID" type="INTEGER" references="RHQ_CONFIG_DEF(ID)"/> +       \
<column name="DISPLAY_NAME" type="VARCHAR2" size="100"/> +        <column \
name="DESCRIPTION" type="VARCHAR2" size="4000"/> +        <column name="TIMEOUT" \
type="INTEGER"/> +
+        <!-- === business key (RESOURCE_TYPE_ID + NAME) === -->
+        <index name="RHQ_OPERATION_DEF_KEY_IDX" unique="true">
+            <field ref="RESOURCE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_OPERATION_HISTORY">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="DTYPE" type="VARCHAR2" \
required="true" size="8"/> +        <column name="JOB_NAME" type="VARCHAR2" \
required="true" size="100"/> +        <column name="JOB_GROUP" type="VARCHAR2" \
required="true" size="100"/> +        <column name="OPERATION_DEF_ID" type="INTEGER" \
required="true" references="RHQ_OPERATION_DEF"/> +        <column name="STATUS" \
type="VARCHAR2" required="true" size="16"/> +        <column name="ERROR_MESSAGE" \
type="LONGVARCHAR" required="false"/> +        <column name="SUBJECT_NAME" \
type="VARCHAR2" required="true" size="100"/> +        <column name="CTIME" \
type="LONG" required="true"/> +        <column name="STIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+        <column name="PARAMETERS_CONFIG_ID" type="INTEGER" required="false" \
references="RHQ_CONFIG"/> +
+        <!-- for resource history -->
+        <column name="RESOURCE_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +        <column name="RESULTS_CONFIG_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG"/> +        <column name="GROUP_HISTORY_ID" \
type="INTEGER" required="false" references="RHQ_OPERATION_HISTORY"/> +
+        <!-- for group history -->
+        <column name="GROUP_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE_GROUP"/> +
+        <index name="RHQ_OPERATION_HISTORY_JOB_IDX" unique="true">
+            <field ref="JOB_NAME"/>
+            <field ref="JOB_GROUP"/>
+            <field ref="CTIME"/>
+        </index>
+
+    </table>
+
+    <!--
+    This table is really just to support some specific use-cases.
+    Specifically, to be able to get a list of histories for a specific schedule (aka \
quartz job) +    and to be able to query a list of all schedules along with their \
associated resource/group IDs +    possibly sorted by their next fire time.
+    Note that a NULL next fire time means it won't fire again and the row is probaby \
about to be deleted; +    we can probably not even insert rows with NULL and make it \
a non-nullable field.  But rather than +    code special conditions into the session \
bean, we'll allow a short-lived NULL next fire time row. +    -->
+    <table name="RHQ_OPERATION_SCHEDULE">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +
+        <column name="JOB_NAME" type="VARCHAR2" required="true" size="100"/>
+        <column name="JOB_GROUP" type="VARCHAR2" required="true" size="100"/>
+        <column name="DTYPE" type="VARCHAR2" required="true" size="8"/>
+        <column name="NEXT_FIRE_TIME" type="LONG" required="false"/>
+
+        <!-- for resource history -->
+        <column name="RESOURCE_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +
+        <!-- for group history -->
+        <column name="GROUP_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE_GROUP"/> +
+        <!--
+        Note, this is the same as the primary key that Quartz uses for its schedules \
(RHQ_QRTZ_JOB_DETAILS). +        We do not need to add DTYPE to the key, because we \
ensure the name/group are unique across resource/group +        schedules
+        -->
+        <!-- === business key (JOB_NAME + JOB_GROUP) === -->
+        <index name="RHQ_OPERATION_SCHEDULE_KEY_IDX" unique="true">
+            <field ref="JOB_NAME"/>
+            <field ref="JOB_GROUP"/>
+        </index>
+    </table>
+
+<!-- END: operation-schema.xml -->
+<!-- BEGIN: event-schema.xml -->
+
+
+    <!-- metadata -->
+
+    <table name="RHQ_EVENT_DEF">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_TYPE(ID)"/> +
+        <column name="NAME" type="VARCHAR2" size="100" required="true"/>
+        <column name="DISPLAY_NAME" type="VARCHAR2" size="100"/>
+        <column name="DESCRIPTION" type="VARCHAR2" size="1000"/>
+
+        <index name="RHQ_EVENT_DEF_IDX" unique="true">
+            <field ref="RESOURCE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- instance data -->
+
+    <table name="RHQ_EVENT_SOURCE">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="EVENT_DEF_ID" type="INTEGER" required="true" \
references="RHQ_EVENT_DEF(ID)"/> +        <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE(ID)"/> +
+        <column name="LOCATION" required="true" size="2000" type="VARCHAR2"/>
+
+        <index name="RHQ_EVENT_SOURCE_IDX" unique="true">
+            <field ref="EVENT_DEF_ID"/>
+            <field ref="RESOURCE_ID"/>
+            <field ref="LOCATION"/>
+        </index>
+    </table>
+
+    <table name="RHQ_EVENT">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="EVENT_SOURCE_ID" type="INTEGER" required="true" \
references="RHQ_EVENT_SOURCE(ID)"/> +
+        <column name="TIMESTAMP" required="true" type="LONG"/>
+        <column name="SEVERITY" required="true" size="20" type="VARCHAR2"/>
+        <column name="DETAIL" required="true" size="4000" type="VARCHAR2"/>
+        <index name="RHQ_EVENT_IDX" unique="false">
+            <field ref="EVENT_SOURCE_ID"/>
+            <field ref="TIMESTAMP"/>
+        </index>
+    </table>
+
+<!-- END: event-schema.xml -->
+<!-- BEGIN: alert-schema.xml -->
+
+
+    <table name="RHQ_ALERT_DEFINITION">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="NAME" required="true" size="100" type="VARCHAR2"/>
+        <column name="CTIME" type="LONG" required="true"/>
+        <column name="MTIME" type="LONG" required="true"/>
+        <column name="PARENT_ID" type="INTEGER" required="false"/>
+        <column name="GROUP_ALERT_DEF_ID" type="INTEGER" required="false"/>
+        <column name="DESCRIPTION" required="false" size="250" type="VARCHAR2"/>
+        <column name="PRIORITY" type="VARCHAR2" size="15" required="true"/>
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE" required="false"/> +        <column name="RESOURCE_ID" \
type="INTEGER" references="RHQ_RESOURCE" required="false"/> +        <column \
name="RESOURCE_GROUP_ID" type="INTEGER" references="RHQ_RESOURCE_GROUP" \
required="false"/> +        <column name="ENABLED" required="true" default="TRUE" \
type="BOOLEAN"/> +
+        <column name="REQUIRED" required="true" type="SMALLINT"/>
+
+        <column name="RECOVERY_ID" type="INTEGER" required="true"/>
+        <!-- required, but 0 effectively means null -->
+        <column name="WILL_RECOVER" required="true" default="false" type="BOOLEAN"/>
+        <column name="NOTIFY_FILTERED" required="true" default="false" \
type="BOOLEAN"/> +        <column name="CONTROL_FILTERED" required="true" \
default="FALSE" type="BOOLEAN"/> +
+        <column name="DELETED" required="true" default="FALSE" type="BOOLEAN"/>
+        <column name="READ_ONLY" required="true" default="FALSE" type="BOOLEAN"/>
+
+        <column name="DAMPENING_CATEGORY" type="SMALLINT" required="true"/>
+        <column name="DAMPENING_VALUE" type="INTEGER"/>
+        <column name="DAMPENING_VALUE_UNITS" type="SMALLINT"/>
+        <column name="DAMPENING_PERIOD" type="INTEGER"/>
+        <column name="DAMPENING_PERIOD_UNITS" type="SMALLINT"/>
+    </table>
+
+    <table name="RHQ_ALERT_DAMPEN_EVENT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ALERT_DEFINITION_ID" \
required="false" type="INTEGER" references="RHQ_ALERT_DEFINITION(ID)"/> +        \
<column name="EVENT_TYPE" required="true" type="SMALLINT"/> +        <column \
name="EVENT_TIMESTAMP" required="true" type="LONG"/> +
+        <index name="RHQ_DAMPENING_EVENT_TYPE_IDX">
+            <field ref="EVENT_TYPE"/>
+        </index>
+        <index name="RHQ_DAMPENING_EVENT_TS_IDX">
+            <field ref="EVENT_TIMESTAMP"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ALERT_CONDITION">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="TYPE" required="true" type="VARCHAR2" size="15"/>
+        <!--
+           <column name="REQUIRED" required="true"  type="BOOLEAN"/>
+        -->
+        <column name="MEASUREMENT_DEFINITION_ID" required="false" type="INTEGER"/>
+        <column name="NAME" required="false" size="100" type="VARCHAR2"/>
+        <column name="COMPARATOR" required="false" size="2" type="VARCHAR2"/>
+        <column name="THRESHOLD" required="false" type="DOUBLE"/>
+        <!-- event-based conditions use OPTION_STATUS for the string match, so \
should be a decent length --> +        <column name="OPTION_STATUS" required="false" \
size="256" type="VARCHAR2"/> +        <column name="ALERT_DEFINITION_ID" \
required="false" type="INTEGER" references="RHQ_ALERT_DEFINITION(ID)"/> +        \
<column name="TRIGGER_ID" required="false" type="INTEGER"/> +    </table>
+
+    <table name="RHQ_ALERT" tablespace="DEFAULT"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ALERT_DEFINITION_ID" required="false" type="INTEGER" \
references="RHQ_ALERT_DEFINITION(ID)"/> +        <column name="CTIME" required="true" \
type="LONG"/> +        <column name="RECOVERY_ID" type="INTEGER" required="true"/>
+        <!-- required, but 0 effectively means null -->
+        <column name="WILL_RECOVER" required="true" default="false" type="BOOLEAN"/>
+        <column name="ACK_TIME" required="false" type="LONG"/>
+        <column name="ACK_SUBJECT" required="false" size="100" type="VARCHAR2"/>
+        <index name="RHQ_ALERT_IDX_TIME" unique="false">
+            <field ref="CTIME"/>
+        </index>
+        <index name="RHQ_ALERT_IDX_ALERTDEF" unique="false">
+            <field ref="ALERT_DEFINITION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ALERT_NOTIF_LOG" tablespace="DEFAULT"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ALERT_ID" required="true" type="INTEGER" \
references="RHQ_ALERT(ID)"/> +        <index name="RHQ_ALERT_IDX_ALERT" \
unique="false"> +            <field ref="ALERT_ID"/>
+        </index>
+        <column name="SENDER" required="false" size="100" type="VARCHAR2"/>
+        <column name="RESULT_STATE" required="false" size="20" type="VARCHAR2"/>
+        <column name="MESSAGE" required="false" size="4000" type="VARCHAR2"/>
+    </table>
+
+    <table name="RHQ_ALERT_CONDITION_LOG" tablespace="DEFAULT"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="CTIME" required="true" type="LONG"/>
+        <column name="ALERT_ID" required="false" type="INTEGER" \
references="RHQ_ALERT(ID)"/> +        <column name="CONDITION_ID" required="true" \
type="INTEGER" references="RHQ_ALERT_CONDITION(ID)"/> +        <column name="VALUE" \
required="true" size="250" type="VARCHAR2"/> +        <index \
name="RHQ_ALERT_COND_LOG_IDX_TIME"> +            <field ref="CTIME" />
+        </index>
+        <index name="RHQ_ALERT_COND_LOG_IDX_ALERT">
+            <field ref="ALERT_ID"/>
+        </index>
+        <index name="RHQ_ALERT_COND_LOG_COND_IDX">
+            <field ref="CONDITION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ALERT_NOTIFICATION" tablespace="DEFAULT"
+           storage-options="freelists 5" cache="true" logging="false">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="ALERT_DEFINITION_ID" required="false" type="INTEGER" \
references="RHQ_ALERT_DEFINITION(ID)"/> +        <column name="SENDER_CONFIG_ID" \
required="false" type="INTEGER" references="RHQ_CONFIG(ID)"/> +        <column \
name="EXTRA_CONFIG_ID" required="false" type="INTEGER" references="RHQ_CONFIG(ID)"/> \
+        <column name="SENDER_NAME" required="true" size="100" type="VARCHAR2" /> +   \
</table> +
+<!-- END: alert-schema.xml -->
+<!-- BEGIN: sysconfig-schema.xml -->
+
+
+    <table name="RHQ_SYSTEM_CONFIG">
+        <column name="ID" default="sequence-only" initial="10001"
+                primarykey="true" required="true" type="INTEGER"/>
+        <column name="PROPERTY_KEY" type="VARCHAR2" size="80"/>
+        <column name="PROPERTY_VALUE" type="VARCHAR2" size="300"/>
+        <column name="DEFAULT_PROPERTY_VALUE" type="VARCHAR2" size="300"/>
+        <column name="FREAD_ONLY" type="BOOLEAN" default="FALSE"/>
+
+        <index name="RHQ_SYSTEM_CONFIG_KEY_INDX" unique="true">
+            <field ref="PROPERTY_KEY"/>
+        </index>
+    </table>
+
+<!-- END: sysconfig-schema.xml -->
+<!-- BEGIN: scheduler-schema.xml -->
+
+
+    <table name="RHQ_QRTZ_JOB_DETAILS">
+        <column name="JOB_NAME" required="true" type="VARCHAR2" size="80"/>
+        <column name="JOB_GROUP" required="true" type="VARCHAR2" size="80"/>
+        <column name="DESCRIPTION" required="false" type="VARCHAR2" size="120"/>
+        <column name="JOB_CLASS_NAME" required="true" type="VARCHAR2" size="128"/>
+        <column name="IS_DURABLE" required="true" type="BOOLEAN" default="FALSE"/>
+        <column name="IS_VOLATILE" required="true" type="BOOLEAN"/>
+        <column name="IS_STATEFUL" required="true" type="BOOLEAN" default="FALSE"/>
+        <column name="REQUESTS_RECOVERY" required="true" type="BOOLEAN" \
default="FALSE"/> +        <column name="JOB_DATA" required="false" type="BLOB"/>
+
+        <constraint name="RHQ_PK_QRTZ_JOB_DETAILS">
+            <primaryKey>
+                <field ref="JOB_NAME"/>
+                <field ref="JOB_GROUP"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_QRTZ_JOB_LISTENERS">
+        <column name="JOB_NAME" required="true" type="VARCHAR2" size="80"/>
+        <column name="JOB_GROUP" required="true" type="VARCHAR2" size="80"/>
+        <column name="JOB_LISTENER" required="true" type="VARCHAR2" size="80"/>
+
+        <constraint name="RHQ_PK_QRTZ_JOB_LISTENERS">
+            <primaryKey>
+                <field ref="JOB_NAME"/>
+                <field ref="JOB_GROUP"/>
+                <field ref="JOB_LISTENER"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_JOB_LSTNRS_JN_JG">
+            <foreignKey local="JOB_NAME,JOB_GROUP"
+                        references="RHQ_QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+    </table>
+
+    <table name="RHQ_QRTZ_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" required="true" size="80"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" required="true" size="80"/>
+        <column name="JOB_NAME" type="VARCHAR2" required="true" size="80"/>
+        <column name="JOB_GROUP" type="VARCHAR2" required="true" size="80"/>
+        <column name="IS_VOLATILE" type="BOOLEAN" required="true"/>
+        <column name="DESCRIPTION" type="VARCHAR2" required="false" size="120"/>
+        <column name="NEXT_FIRE_TIME" type="LONG" required="false"/>
+        <column name="PREV_FIRE_TIME" type="LONG" required="false"/>
+        <column name="PRIORITY" type="INTEGER" required="false"/>
+        <column name="TRIGGER_STATE" type="VARCHAR" required="true" size="16"/>
+        <column name="TRIGGER_TYPE" type="VARCHAR" required="true" size="8"/>
+        <column name="START_TIME" type="LONG" required="true"/>
+        <column name="END_TIME" type="LONG" required="false"/>
+        <column name="CALENDAR_NAME" type="VARCHAR2" required="false" size="80"/>
+        <column name="MISFIRE_INSTR" type="INTEGER" required="false"/>
+        <column name="JOB_DATA" type="BLOB" required="false"/>
+
+        <constraint name="RHQ_PK_QRTZ_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_TRIGGERS_JN_JG">
+            <foreignKey local="JOB_NAME,JOB_GROUP"
+                        references="RHQ_QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend these indexes. -->
+        <index name="RHQ_QRTZ_TRIGGERS_JN_JG_IDX">
+            <field ref="JOB_NAME"/>
+            <field ref="JOB_GROUP"/>
+        </index>
+        <index name="RHQ_QRTZ_TRIGGERS_NFT_IDX">
+            <field ref="NEXT_FIRE_TIME"/>
+        </index>
+        <index name="RHQ_QRTZ_TRIGGERS_TS_IDX">
+            <field ref="TRIGGER_STATE"/>
+        </index>
+        <index name="RHQ_QRTZ_TRIGGERS_TS_NFT_IDX">
+            <field ref="TRIGGER_STATE"/>
+            <field ref="NEXT_FIRE_TIME"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_QRTZ_SIMPLE_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" required="true" size="80"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" required="true" size="80"/>
+        <column name="REPEAT_COUNT" type="LONG" required="true"/>
+        <column name="REPEAT_INTERVAL" type="LONG" required="true"/>
+        <column name="TIMES_TRIGGERED" type="LONG" required="true"/>
+
+        <constraint name="RHQ_PK_QRTZ_SIMPLE_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_SIMPLE_TRGRS_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <!-- Commenting out, because Oracle auto-creates an index for the
+              primary key column(s) and fails if you try to create another
+             index for the same column(s) (ips, 03/29/07).
+        -->
+        <!--
+      <index name="RHQ_QRTZ_SIMPLE_TRGRS_TN_TG_IDX">
+         <field ref="TRIGGER_NAME"/>
+         <field ref="TRIGGER_GROUP"/>
+      </index>
+      -->
+    </table>
+
+    <table name="RHQ_QRTZ_CRON_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" required="true"/>
+        <column name="CRON_EXPRESSION" type="VARCHAR2" size="80" required="true"/>
+        <column name="TIME_ZONE_ID" type="VARCHAR2" size="80" required="false"/>
+
+        <constraint name="RHQ_PK_QRTZ_CRON_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_CRON_TRIG_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <!-- Commenting out, because Oracle auto-creates an index for the
+              primary key column(s) and fails if you try to create another
+             index for the same column(s) (ips, 03/29/07).
+        -->
+        <!--
+      <index name="RHQ_QRTZ_CRON_TRGRS_TN_TG_IDX">
+         <field ref="TRIGGER_NAME"/>
+         <field ref="TRIGGER_GROUP"/>
+      </index>
+      -->
+    </table>
+
+    <table name="RHQ_QRTZ_BLOB_TRIGGERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" required="true"/>
+        <column name="BLOB_DATA" type="BLOB" required="false"/>
+
+        <constraint name="RHQ_PK_QRTZ_BLOB_TRIGGERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_BLOB_TRIGG_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <!-- Commenting out, because Oracle auto-creates an index for the
+              primary key column(s) and fails if you try to create another
+             index for the same column(s) (ips, 03/29/07).
+        -->
+        <!--
+        <index name="RHQ_QRTZ_BLOB_TRGRS_TN_TG_IDX">
+           <field ref="TRIGGER_NAME"/>
+           <field ref="TRIGGER_GROUP"/>
+        </index>
+        -->
+    </table>
+
+    <table name="RHQ_QRTZ_TRIGGER_LISTENERS">
+        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" required="true"/>
+        <column name="TRIGGER_LISTENER" type="VARCHAR2" size="80" required="true"/>
+
+        <constraint name="RHQ_PK_QRTZ_TRIGGER_LISTENERS">
+            <primaryKey>
+                <field ref="TRIGGER_NAME"/>
+                <field ref="TRIGGER_GROUP"/>
+                <field ref="TRIGGER_LISTENER"/>
+            </primaryKey>
+        </constraint>
+        <constraint name="RHQ_FK_QRTZ_TRGR_LSTNRS_TN_TG">
+            <foreignKey local="TRIGGER_NAME,TRIGGER_GROUP"
+                        references="RHQ_QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)"
+                        ondelete="cascade"/>
+        </constraint>
+
+        <!-- Quartz docs recommend this index. -->
+        <index name="RHQ_QRTZ_TRGR_LSTNRS_TN_TG_IDX">
+            <field ref="TRIGGER_NAME"/>
+            <field ref="TRIGGER_GROUP"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_QRTZ_FIRED_TRIGGERS">
+        <column name="ENTRY_ID" primarykey="true" type="VARCHAR2" size="95" \
required="true"/> +        <column name="TRIGGER_NAME" type="VARCHAR2" size="80" \
required="true"/> +        <column name="TRIGGER_GROUP" type="VARCHAR2" size="80" \
required="true"/> +        <column name="INSTANCE_NAME" type="VARCHAR2" size="80" \
required="true"/> +        <column name="FIRED_TIME" type="LONG" required="true"/>
+        <column name="PRIORITY" type="INTEGER" required="false"/>
+        <column name="STATE" type="VARCHAR2" size="16" required="true"/>
+        <column name="IS_VOLATILE" type="BOOLEAN" required="true"/>
+        <column name="JOB_NAME" type="VARCHAR2" size="80" required="false"/>
+        <column name="JOB_GROUP" type="VARCHAR2" size="80" required="false"/>
+        <column name="IS_STATEFUL" type="BOOLEAN" required="false"/>
+        <column name="REQUESTS_RECOVERY" type="BOOLEAN" required="false"/>
+
+        <!-- Quartz docs recommend these indexes. -->
+        <index name="RHQ_QRTZ_FIRED_TRGRS_TN_IDX">
+            <field ref="TRIGGER_NAME"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_TG_IDX">
+            <field ref="TRIGGER_GROUP"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_TN_TG_IDX">
+            <field ref="TRIGGER_NAME"/>
+            <field ref="TRIGGER_GROUP"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_IN_IDX">
+            <field ref="INSTANCE_NAME"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_JN_IDX">
+            <field ref="JOB_NAME"/>
+        </index>
+        <index name="RHQ_QRTZ_FIRED_TRGRS_JG_IDX">
+            <field ref="JOB_GROUP"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_QRTZ_CALENDARS">
+        <column name="CALENDAR_NAME" primarykey="true" type="VARCHAR2" size="80" \
required="true"/> +        <column name="CALENDAR" type="BLOB" required="true"/>
+    </table>
+
+    <table name="RHQ_QRTZ_PAUSED_TRIGGER_GRPS">
+        <column name="TRIGGER_GROUP" primarykey="true" type="VARCHAR2" size="80" \
required="true"/> +    </table>
+
+    <table name="RHQ_QRTZ_SCHEDULER_STATE">
+        <column name="INSTANCE_NAME" primarykey="true" type="VARCHAR2" size="80" \
required="true"/> +        <column name="LAST_CHECKIN_TIME" type="LONG" \
required="true"/> +        <column name="CHECKIN_INTERVAL" type="LONG" \
required="true"/> +        <column name="RECOVERER" type="VARCHAR2" size="80" \
required="false"/> +    </table>
+
+    <table name="RHQ_QRTZ_LOCKS">
+        <column name="LOCK_NAME" primarykey="true" type="VARCHAR2" size="40" \
required="true"/> +        <data LOCK_NAME="TRIGGER_ACCESS"/>
+        <data LOCK_NAME="JOB_ACCESS"/>
+        <data LOCK_NAME="CALENDAR_ACCESS"/>
+        <data LOCK_NAME="STATE_ACCESS"/>
+        <data LOCK_NAME="MISFIRE_ACCESS"/>
+    </table>
+
+<!-- END: scheduler-schema.xml -->
+<!-- BEGIN: amps-schema.xml -->
+
+
+    <table name="RHQ_PLUGIN">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="VERSION" size="200" \
type="VARCHAR2" required="false"/> +        <column name="AMPS_VERSION" size="16" \
type="VARCHAR2" required="false"/> +        <column name="ENABLED" type="BOOLEAN" \
required="true"/> +        <column name="STATUS" size="16" type="VARCHAR2" \
required="true"/> +        <column name="HELP" type="CLOB" required="false"/>
+        <column name="PATH" size="500" type="VARCHAR2" required="true"/>
+        <column name="MD5" size="100" type="VARCHAR2" required="true"/>
+        <column name="CTIME" type="LONG" required="true"/>
+        <column name="MTIME" type="LONG" required="true"/>
+        <column name="DEPLOYMENT" size="8" type="VARCHAR2" required="true"/>
+        <column name="PTYPE" size="200" type="VARCHAR2" required="false"/>
+        <column name="PLUGIN_CONFIG_ID" type="INTEGER" references="RHQ_CONFIG" \
required="false"/> +        <column name="JOBS_CONFIG_ID" type="INTEGER" \
references="RHQ_CONFIG" required="false"/> +        <column name="CONTENT" \
type="BLOB" required="false"/> +
+        <index name="RHQ_PLUGIN_NAME_DEPLOY_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="DEPLOYMENT"/>
+        </index>
+    </table>
+
+<!-- END: amps-schema.xml -->
+<!-- BEGIN: measurement-schema.xml -->
+
+   <table name="RHQ_MEASUREMENT_DEF">
+
+      <!-- === required columns === -->
+      <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +      <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE(ID)"/> +      <column \
name="NAME" type="VARCHAR2" size="100" required="true"/> +
+      <!-- === optional columns === -->
+      <!-- an OSGI version range - if null, the metric def applies to all versions \
of the associated resource type --> +      <column name="RESOURCE_VERSION_RANGE" \
type="VARCHAR2" size="100"/> +      <column name="CATEGORY" type="SMALLINT"/>
+      <column name="UNITS" type="SMALLINT"/>
+      <column name="NUMERIC_TYPE" type="SMALLINT"/>
+      <column name="DISPLAY_TYPE" type="SMALLINT"/>
+      <column name="DATA_TYPE" type="SMALLINT"/>
+      <column name="RAW_NUMERIC_TYPE" type="SMALLINT"/>
+      <column name="DEFAULT_ON" type="BOOLEAN" default="false"/>
+      <column name="DEFAULT_INTERVAL" type="LONG" />
+      <column name="DISPLAY_NAME" type="VARCHAR2" size="100"/>
+      <column name="DISPLAY_ORDER" type="INTEGER" default="1000"/>
+      <column name="DESCRIPTION" type="VARCHAR2" size="500"/>
+      <column name="DESTINATION_TYPE" type="VARCHAR2" size="100"/>
+
+      <column name="VERSION" type="INTEGER"/>
+      <!-- for optimistic locking -->
+
+      <!-- === business key (RESOURCE_TYPE_ID + NAME + RAW_NUMERIC_TYPE) === -->
+      <index name="RHQ_METRIC_DEF_KEY_IDX" unique="true">
+         <field ref="RESOURCE_TYPE_ID"/>
+         <field ref="NAME"/>
+         <field ref="RAW_NUMERIC_TYPE"/>
+      </index>
+      <index name="RHQ_METRIC_DEF_NT_IDX">
+          <field ref="NUMERIC_TYPE"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_SCHED">
+      <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +
+      <column name="ENABLED" type="BOOLEAN" default="false"/>
+      <column name="MTIME" type="LONG" />
+      <column name="DEFINITION" type="INTEGER" \
references="RHQ_MEASUREMENT_DEF(ID)"/> +      <column name="VERSION" type="INTEGER" \
/> +      <column name="COLL_INTERVAL" type="LONG" />
+      <column name="RESOURCE_ID" type="INTEGER" references="RHQ_RESOURCE(ID)"/>
+      <index name="RHQ_MEAS_SCHED_UNIQ" unique="true">
+         <field ref="RESOURCE_ID"/>
+         <field ref="DEFINITION"/>
+      </index>
+       <index name="RHQ_MEAS_SCHED_RESID_IDX">
+          <field ref="RESOURCE_ID"/>
+       </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_BLINE">
+      <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +
+      <column name="BL_USER_ENTERED" type="BOOLEAN" default="false" \
required="true"/> +      <column name="BL_MIN" type="DOUBLE" required="true"/>
+      <column name="BL_MAX" type="DOUBLE" required="true"/>
+      <column name="BL_MEAN" type="DOUBLE" required="true"/>
+      <column name="BL_COMPUTE_TIME" type="LONG" required="true"/>
+      <column name="SCHEDULE_ID" type="INTEGER" required="true" \
references="RHQ_MEASUREMENT_SCHED(ID)"/> +      <index \
name="RHQ_MEAS_BASELINE_CTIME_IDX"> +         <field ref="BL_COMPUTE_TIME"/>
+      </index>
+      <index name="RHQ_MEAS_BASELINE_SID_IDX">
+         <field ref="SCHEDULE_ID"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_NUM_1H" logging="false" cache="true"
+          tablespace="DEFAULT" storage-options="freelists 20">
+
+      <column name="TIME_STAMP" required="true" type="LONG"/>
+      <column name="SCHEDULE_ID" required="true" type="INTEGER"/>
+      <column name="VALUE" required="false" type="DOUBLE"/>
+      <column name="MINVALUE" required="false" type="DOUBLE"/>
+      <column name="MAXVALUE" required="false" type="DOUBLE"/>
+
+      <constraint name="RHQ_MEAS_DATA_1H_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+
+      <index name="RHQ_MEAS_DATA_1H_TIME_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_NUM_6H" logging="false" cache="true"
+          tablespace="DEFAULT" storage-options="freelists 20">
+
+      <column name="TIME_STAMP" required="true" type="LONG"/>
+      <column name="SCHEDULE_ID" required="true" type="INTEGER"/>
+      <column name="VALUE" required="false" type="DOUBLE"/>
+      <column name="MINVALUE" required="false" type="DOUBLE"/>
+      <column name="MAXVALUE" required="false" type="DOUBLE"/>
+
+      <constraint name="RHQ_MEAS_DATA_6H_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+
+      <index name="RHQ_MEAS_DATA_6H_TIME_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_NUM_1D" logging="false" cache="true"
+          tablespace="DEFAULT" storage-options="freelists 20">
+
+      <column name="TIME_STAMP" required="true" type="LONG"/>
+      <column name="SCHEDULE_ID" required="true" type="INTEGER"/>
+      <column name="VALUE" required="false" type="DOUBLE"/>
+      <column name="MINVALUE" required="false" type="DOUBLE"/>
+      <column name="MAXVALUE" required="false" type="DOUBLE"/>
+
+      <constraint name="RHQ_MEAS_DATA_1D_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+
+      <index name="RHQ_MEAS_DATA_1D_TIME_IDX">
+         <field ref="TIME_STAMP" />
+      </index>
+   </table>
+
+
+   <table name="RHQ_MEASUREMENT_DATA_TRAIT">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER" />
+      <column name="VALUE" type="VARCHAR2" size="4000" />
+      <constraint name="RHQ_MEAS_DATA_TRAIT_ID_TIME_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+
+
+   <table name="RHQ_CALLTIME_DATA_KEY">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="SCHEDULE_ID" type="INTEGER" \
required="true"/> +      <column name="CALL_DESTINATION" type="VARCHAR2" size="4000" \
required="true"/> +      <index name="RHQ_CALLTIME_DATA_KEY_IDX" unique="true">
+         <field ref="SCHEDULE_ID"/>
+         <field ref="CALL_DESTINATION"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_CALLTIME_DATA_VALUE">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="KEY_ID" type="INTEGER" \
references="RHQ_CALLTIME_DATA_KEY" required="true"/> +      <column name="BEGIN_TIME" \
type="LONG" required="true"/> +      <column name="END_TIME" type="LONG" \
required="true"/> +      <column name="MINIMUM" type="DOUBLE" required="true"/>
+      <column name="MAXIMUM" type="DOUBLE" required="true"/>
+      <column name="TOTAL" type="DOUBLE" required="true"/>
+      <column name="COUNT" type="LONG" required="true"/>
+      <index name="RHQ_CT_DA_VA_END_TIM_IDX">
+          <field ref="END_TIME"/>
+      </index>
+   </table>
+
+
+   <table name="RHQ_AVAILABILITY">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE(ID)"/> +      <column name="START_TIME" \
type="LONG" required="true" /> +      <column name="END_TIME" type="LONG" \
required="false" /> +      <column name="AVAILABILITY_TYPE" type="SMALLINT" \
required="false" /> +      <index name="RHQ_AVAIL_RESOURCE_START_IDX">
+         <field ref="RESOURCE_ID"/>
+         <field ref="START_TIME"/>
+      </index>
+      <!-- only one null row can exist for any resource -->
+      <index name="RHQ_AVAIL_RESOURCE_END_IDX" condition="END_TIME IS NULL">
+         <field ref="RESOURCE_ID"/>
+         <field ref="END_TIME" />
+      </index>
+   </table>
+
+   <table name="RHQ_RESOURCE_AVAIL">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE(ID)" ondelete="cascade"/> +      <column \
name="AVAILABILITY_TYPE" type="SMALLINT" required="false" /> +      <index \
name="RHQ_RESOURCE_AVAIL_IDX"> +         <field ref="RESOURCE_ID" />
+      </index>
+   </table>
+
+   <table name="RHQ_MEASUREMENT_OOB">
+       <column name="SCHEDULE_ID" type="INTEGER" \
references="RHQ_MEASUREMENT_SCHED(ID)" required="true"/> +       <column \
name="TIME_STAMP" type="LONG" required="true"/> +       <column name="OOB_FACTOR" \
type="INTEGER" required="true" /> +       <constraint name="RHQ_MEAS_OOB_ID_PK">
+          <primaryKey>
+             <field ref="SCHEDULE_ID"/>
+          </primaryKey>
+       </constraint>
+   </table>
+
+   <table name="RHQ_MEASUREMENT_OOB_TMP">
+       <column name="SCHEDULE_ID" type="INTEGER" required="true"/>
+       <column name="TIME_STAMP" type="LONG" required="true"/>
+       <column name="OOB_FACTOR" type="INTEGER" required="true" />
+       <constraint name="RHQ_MEAS_OOB_TMP_ID_PK">
+          <primaryKey>
+             <field ref="SCHEDULE_ID"/>
+          </primaryKey>
+       </constraint>
+   </table>
+
+   <table name="RHQ_NUMBERS">
+      <column name="i" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true" /> +   </table>
+
+
+   <table name="RHQ_MEAS_DATA_NUM_R00">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R00_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R00_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R01">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R01_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R01_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R02">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R02_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R02_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R03">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R03_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R03_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R04">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R04_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R04_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R05">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R05_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R05_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R06">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R06_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R06_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R07">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R07_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R07_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R08">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R08_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R08_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R09">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R09_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R09_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R10">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R10_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R10_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R11">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R11_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R11_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R12">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R12_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R12_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R13">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R13_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R13_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+   <table name="RHQ_MEAS_DATA_NUM_R14">
+      <column name="TIME_STAMP" type="LONG"/>
+      <column name="SCHEDULE_ID" type="INTEGER"/>
+      <column name="VALUE" type="DOUBLE"/>
+      <index name="RHQ_MEAS_DATA_R14_TS_IDX">
+         <field ref="TIME_STAMP"/>
+      </index>
+      <constraint name="RHQ_MEAS_DATA_NUM_R14_ID_T_PK">
+         <primaryKey>
+            <field ref="SCHEDULE_ID"/>
+            <field ref="TIME_STAMP"/>
+         </primaryKey>
+      </constraint>
+   </table>
+
+<!-- END: measurement-schema.xml -->
+<!-- BEGIN: content-schema.xml -->
+
+
+    <table name="RHQ_ARCHITECTURE">
+        <column name="ID" default="sequence-only" initial="100" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="50" \
type="VARCHAR2" required="true"/> +        <index name="RHQ_ARCHITECTURE_NAME_IDX" \
unique="true"> +            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_REPO_GROUP_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +    </table>
+
+
+    <table name="RHQ_REPO_GROUP">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +
+        <column name="REPO_GROUP_TYPE_ID" type="INTEGER" \
references="RHQ_REPO_GROUP_TYPE" required="true"/> +
+        <index name="RHQ_REPO_GROUP_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="REPO_GROUP_TYPE_ID"/>
+        </index>
+    </table>
+
+
+    <table name="RHQ_CONTENT_SOURCE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="false"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="PLUGIN_NAME" size="100" \
type="VARCHAR2" required="false"/> +        <!-- we might want this as part of \
natural key --> +        <column name="DEFAULT_LAZY_LOAD" type="BOOLEAN" \
required="true"/> +        <column name="DEFAULT_DOWNLOAD_MODE" size="16" \
type="VARCHAR2" required="true"/> +        <column name="DEFAULT_SYNC_SCHEDULE" \
size="64" type="VARCHAR2" required="false"/> +        <column name="API_CLASS" \
size="100" type="VARCHAR2" required="true"/> +
+        <column name="SOURCE_CONFIG_DEF_ID" type="INTEGER" \
references="RHQ_CONFIG_DEF" required="false"/> +
+        <index name="RHQ_CONTENT_SOURCE_TYPE_IDX" unique="true">
+            <field ref="NAME"/>
+            <!-- <field ref="PLUGIN_NAME"/> -->
+        </index>
+    </table>
+
+    <table name="RHQ_CONTENT_SOURCE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="LAZY_LOAD" type="BOOLEAN" \
required="true"/> +        <column name="DOWNLOAD_MODE" size="16" type="VARCHAR2" \
required="true"/> +        <column name="SYNC_SCHEDULE" size="64" type="VARCHAR2" \
required="false"/> +        <column name="LOAD_ERROR_MESSAGE" type="LONGVARCHAR" \
required="false"/> +        <column name="CREATION_TIME" type="LONG" \
required="true"/> +        <column name="LAST_MODIFIED_TIME" type="LONG" \
required="true"/> +
+        <column name="CONTENT_SOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_CONTENT_SOURCE_TYPE" required="true"/> +        <column \
name="CONFIGURATION_ID" type="INTEGER" references="RHQ_CONFIG" required="false"/> +
+        <index name="RHQ_CONTENT_SOURCE_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="CONTENT_SOURCE_TYPE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_REPO">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CREATION_TIME" type="LONG" \
required="true"/> +        <column name="LAST_MODIFIED_TIME" type="LONG" \
required="true"/> +        <column name="IS_CANDIDATE" type="BOOLEAN" \
required="true"/> +        <column name="SYNC_SCHEDULE" size="64" type="VARCHAR2" \
required="false"/> +        <column name="OWNER_ID" type="INTEGER" required="false" \
references="RHQ_SUBJECT" /> +        <column name="IS_PRIVATE" type="BOOLEAN" \
required="true" /> +        
+        <index name="RHQ_REPO_IDX" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+
+    <table name="RHQ_REPO_RELATION_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +    </table>
+
+
+    <table name="RHQ_REPO_RELATION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="RELATED_REPO_ID" \
type="INTEGER" references="RHQ_REPO" required="true"/> +        <column \
name="REPO_RELATION_TYPE_ID" type="INTEGER" references="RHQ_REPO_RELATION_TYPE" \
required="true"/> +    </table>
+
+
+
+    <table name="RHQ_PACKAGE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="false"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CATEGORY" size="50" \
type="VARCHAR2" required="false"/> +        <column name="DISCOVERY_INTERVAL" \
type="INTEGER" required="false"/> +        <column name="IS_CREATION_DATA" \
type="BOOLEAN" required="true"/> +        <column name="SUPPORTS_ARCHITECTURE" \
type="BOOLEAN" required="true"/> +
+        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
references="RHQ_RESOURCE_TYPE" required="false"/> +        <column \
name="DEPLOYMENT_CONFIG_DEF_ID" type="INTEGER" references="RHQ_CONFIG_DEF" \
required="false"/> +        <column name="PACKAGE_EXTRA_CONFIG_ID" type="INTEGER" \
references="RHQ_CONFIG_DEF" required="false"/> +
+        <index name="RHQ_PACKAGE_TYPE_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="RESOURCE_TYPE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_PACKAGE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="CLASSIFICATION" size="200" \
type="VARCHAR2" required="false"/> +
+        <column name="PACKAGE_TYPE_ID" type="INTEGER" references="RHQ_PACKAGE_TYPE" \
required="true"/> +
+        <index name="RHQ_PACKAGE_IDX" unique="true">
+            <field ref="NAME"/>
+            <field ref="PACKAGE_TYPE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PACKAGE_BITS">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="BITS" type="LARGEOBJECT" \
required="false"/> +    </table>
+
+    <table name="RHQ_PACKAGE_VERSION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DISPLAY_NAME" size="200" \
type="VARCHAR2" required="false"/> +        <column name="SHORT_DESCRIPTION" \
size="10000" type="CLOB" required="false"/> +        <column name="LONG_DESCRIPTION" \
size="50000" type="CLOB" required="false"/> +        <column name="VERSION" \
size="500" type="VARCHAR2" required="true"/> +        <column name="DISPLAY_VERSION" \
size="500" type="VARCHAR2" required="false"/> +        <column name="FILE_NAME" \
size="255" type="VARCHAR2" required="false"/> +        <column name="FILE_SIZE" \
type="LONG" required="false"/> +        <column name="FILE_MD5" size="32" \
type="VARCHAR2" required="false"/> +        <column name="FILE_SHA256" size="64" \
type="VARCHAR2" required="false"/> +        <column name="FILE_CREATION_TIME" \
type="LONG" required="false"/> +        <column name="LICENSE_NAME" size="255" \
type="VARCHAR2" required="false"/> +        <column name="LICENSE_VERSION" size="20" \
type="VARCHAR2" required="false"/> +        <column name="METADATA" type="BLOB" \
required="false"/> +
+        <column name="PACKAGE_ID" type="INTEGER" references="RHQ_PACKAGE" \
required="true"/> +        <column name="ARCHITECTURE_ID" type="INTEGER" \
references="RHQ_ARCHITECTURE" required="true"/> +        <column name="CONFIG_ID" \
type="INTEGER" references="RHQ_CONFIG" required="false"/> +        <column \
name="PACKAGE_BITS_ID" type="INTEGER" references="RHQ_PACKAGE_BITS" \
required="false"/> +
+        <index name="RHQ_PACKAGE_VERSION_IDX" unique="true">
+            <field ref="PACKAGE_ID"/>
+            <field ref="VERSION"/>
+            <field ref="ARCHITECTURE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_CONTENT_REQ">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE"/> +        <column \
name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="true" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="REQUEST_TYPE" type="VARCHAR2" \
required="true" size="20"/> +        <column name="NOTES" type="VARCHAR2" \
required="false" size="512"/> +    </table>
+
+    <table name="RHQ_INSTALLED_PACKAGE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="INSTALLATION_TIME" \
type="LONG" required="false"/> +
+        <column name="RESOURCE_ID" type="INTEGER" references="RHQ_RESOURCE" \
required="true"/> +        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
references="RHQ_PACKAGE_VERSION" required="true"/> +        <column name="SUBJECT_ID" \
type="INTEGER" references="RHQ_SUBJECT" required="false"/> +    </table>
+
+    <table name="RHQ_INSTALLED_PKG_HIST">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STATUS" type="VARCHAR2" \
size="24" required="true"/> +        <column name="ERROR_MESSAGE" type="LONGVARCHAR" \
required="false"/> +        <column name="HISTORY_TIMESTAMP" type="LONG" \
required="false"/> +
+        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
references="RHQ_PACKAGE_VERSION" required="true"/> +        <column \
name="RESOURCE_ID" type="INTEGER" references="RHQ_RESOURCE" required="true"/> +       \
<column name="DEPLOYMENT_CONFIG_ID" type="INTEGER" references="RHQ_CONFIG" \
required="false"/> +        <column name="CONTENT_SERVICE_REQUEST_ID" type="INTEGER" \
references="RHQ_CONTENT_REQ" required="false"/> +    </table>
+
+    <table name="RHQ_CONTENT_SRC_SYNC">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STATUS" type="VARCHAR2" \
size="16" required="true"/> +        <column name="START_TIME" type="LONG" \
required="true"/> +        <column name="END_TIME" type="LONG" required="false"/>
+        <column name="RESULTS" type="LONGVARCHAR" required="false"/>
+        <column name="CONTENT_SRC_ID" type="INTEGER" required="true" \
references="RHQ_CONTENT_SOURCE"/> +    </table>
+
+   <table name="RHQ_REPO_SYNC">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STATUS" type="VARCHAR2" \
size="16" required="true"/> +        <column name="START_TIME" type="LONG" \
required="true"/> +        <column name="END_TIME" type="LONG" required="false"/>
+        <column name="RESULTS" type="LONGVARCHAR" required="false"/>
+        <column name="PERCENT_COMPLETE" type="LONG" required="false"/>
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +    </table>
+
+
+    <table name="RHQ_PACKAGE_INST_STEP">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="STEP_KEY" type="VARCHAR2" \
size="500" required="true"/> +        <column name="STEP_ORDER" type="INTEGER" \
required="true"/> +        <column name="DESCRIPTION" type="VARCHAR2" size="4000" \
required="true"/> +        <column name="ERROR_MSG" type="LONGVARCHAR" \
required="false"/> +        <column name="RESULT" type="VARCHAR2" size="25" \
required="true"/> +
+        <column name="INSTALLED_PKG_HIST_ID" type="INTEGER" \
references="RHQ_INSTALLED_PKG_HIST"/> +    </table>
+
+    <table name="RHQ_REPO_RESOURCE_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE"/> +        <column name="CTIME" type="LONG" \
required="true"/> +
+        <constraint name="RHQ_REPO_RESOURCE_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="RESOURCE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_REPO_CONTENT_SRC_MAP">                                          \
1 +        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="CONTENT_SRC_ID" type="INTEGER" \
required="true" references="RHQ_CONTENT_SOURCE"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_CONTENT_SRC_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="CONTENT_SRC_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_REPO_REPO_GROUP_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="REPO_GROUP_ID" type="INTEGER" \
required="true" references="RHQ_REPO_GROUP"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_REPO_GROUP_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="REPO_GROUP_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_REPO_REPO_RELATION_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="REPO_RELATION_ID" type="INTEGER" \
required="true" references="RHQ_REPO_RELATION"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_REPO_RELATION_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="REPO_RELATION_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+
+    <table name="RHQ_REPO_PKG_VERSION_MAP">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
required="true" references="RHQ_PACKAGE_VERSION"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_PKG_VER_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="PACKAGE_VERSION_ID"/>
+            </primaryKey>
+        </constraint>
+        <index name="RHQ_REPO_PKG_VER_MAP_IDX" unique="false">
+            <field ref="PACKAGE_VERSION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_PKG_VER_CONTENT_SRC_MAP">
+        <column name="PACKAGE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +        <column name="CONTENT_SRC_ID" \
type="INTEGER" required="true" references="RHQ_CONTENT_SOURCE"/> +        <column \
name="LOCATION" type="VARCHAR2" size="4000" required="true"/> +
+        <constraint name="RHQ_PKG_VER_CONTENT_SRC_KEY">
+            <primaryKey>
+                <field ref="PACKAGE_VERSION_ID"/>
+                <field ref="CONTENT_SRC_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_PKG_PRD_MAP">
+        <column name="PKG_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +        <column name="PRD_ID" type="INTEGER" \
required="true" references="RHQ_PRD_VER"/> +
+        <constraint name="RHQ_PKG_PRD_KEY">
+            <primaryKey>
+                <field ref="PKG_ID"/>
+                <field ref="PRD_ID"/>
+            </primaryKey>
+        </constraint>
+
+    </table>
+
+    <table name="RHQ_DISTRIBUTION_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +
+    </table>
+
+    <table name="RHQ_DISTRIBUTION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DISTRIBUTION_TYPE_ID" \
type="INTEGER"  required="true" references="RHQ_DISTRIBUTION_TYPE"/> +        <column \
name="LABEL" size="64" type="VARCHAR2" required="true"/> +        <column \
name="BASE_PATH" size="256" type="VARCHAR2" required="true"/> +        <column \
name="LAST_MODIFIED" type="LONG" required="true"/> +
+        <index name="RHQ_DISTRIBUTION_IDX" unique="true">
+            <field ref="LABEL"/>
+            <field ref="BASE_PATH"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_REPO_DISTRIBUTION">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="DISTRIBUTION_ID" type="INTEGER" \
required="true" references="RHQ_DISTRIBUTION"/> +        <column name="LAST_MODIFIED" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_DIST_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="DISTRIBUTION_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+
+
+    <table name="RHQ_DISTRIBUTION_FILE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DISTRIBUTION_ID" \
type="INTEGER" required="true" references="RHQ_DISTRIBUTION"/> +        <column \
name="RELATIVE_FILENAME" size="256" type="VARCHAR2" required="true"/> +        \
<!--<column name="FILE_SIZE" type="NUMBER" required="true"/>--> +        <column \
name="MD5SUM" size="64" type="VARCHAR2" required="true"/> +        <column \
name="LAST_MODIFIED" type="LONG" required="true"/> +        <!--<column name="CTIME" \
type="LONG" required="true"/>--> +
+        <index name="RHQ_DISTRIBUTION_FILE_IDX" unique="true">
+            <field ref="DISTRIBUTION_ID"/>
+            <field ref="RELATIVE_FILENAME"/>
+        </index>
+    </table>
+
+
+
+
+    <table name="RHQ_ADVISORY">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY" size="64" \
type="VARCHAR2" required="true"/> +        <column name="ADVISORY_TYPE" size="64" \
type="VARCHAR2"  required="true" /> +        <column name="ADVISORY_REL" size="64" \
type="VARCHAR2" required="false"/> +        <column name="ADVISORY_NAME" size="64" \
type="VARCHAR2" required="false"/> +        <column name="DESCRIPTION" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="SYNOPSIS" size="4000" \
type="VARCHAR2" required="true"/> +        <column name="TOPIC" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="SOLUTION" size="4000" \
type="VARCHAR2" required="false"/> +        <column name="SEVERITY" size="64" \
type="VARCHAR2"  required="false"/> +        <column name="ISSUE_DATE" type="LONG" \
required="false"/> +        <column name="UPDATE_DATE" type="LONG" required="false"/>
+        <column name="CTIME" type="LONG" required="true"/>
+        <column name="LAST_MODIFIED" type="LONG" required="true"/>
+
+        <index name="RHQ_ADVISORY_NAME_UQ" unique="true">
+            <field ref="ADVISORY_NAME"/>
+        </index>
+
+        <index name="RHQ_ADVISORY_UQ" unique="true">
+            <field ref="ADVISORY"/>
+        </index>
+
+        <index name="RHQ_ADVISORY_UDATE_IDX" unique="false">
+            <field ref="UPDATE_DATE"/>
+        </index>
+    </table>
+
+    <table name="RHQ_ADVISORY_PACKAGE">
+    	  <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column \
name="PACKAGE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +        <column name="LAST_MODIFIED" type="LONG" \
required="true"/> +
+        <index name="RHQ_ADVISORY_PKG_IDX" unique="true">
+                <field ref="ADVISORY_ID"/>
+                <field ref="PACKAGE_VERSION_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_CVE">
+        <column name="ID" default="sequence-only" initial="101" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="64" \
type="VARCHAR2" required="true"/> +    </table>
+
+    <table name="RHQ_ADVISORY_CVE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column name="CVE_ID" \
type="INTEGER" required="true" references="RHQ_CVE"/> +        <column \
name="LAST_MODIFIED" type="LONG" required="true"/> +
+        <index name="RHQ_ADVISORY_CVE_IDX" unique="true">
+                <field ref="ADVISORY_ID"/>
+                <field ref="CVE_ID"/>
+        </index>
+
+    </table>
+
+    <table name="RHQ_ADVISORY_BUGLIST">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column name="BUG_ID" size="256" \
type="VARCHAR2" required="true"/> +        <column name="LAST_MODIFIED" type="LONG" \
required="true"/> +
+        <index name="RHQ_ADVISORY_BUG_IDX" unique="true">
+                <field ref="ADVISORY_ID"/>
+                <field ref="BUG_ID"/>
+        </index>
+    </table>
+
+
+    <table name="RHQ_REPO_ADVISORY">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="ADVISORY_ID" type="INTEGER" \
required="true" references="RHQ_ADVISORY"/> +        <column name="LAST_MODIFIED" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_REPO_ADV_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="ADVISORY_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!-- BUNDLE_TYPE is things like "Cobbler profile" or "file-based bundle" or \
"puppet recipe" --> +    <table name="RHQ_BUNDLE_TYPE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE"/> +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_TYPE_UNIQUE" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- BUNDLE is a named piece of content that can be versioned and installed \
somewhere --> +    <table name="RHQ_BUNDLE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="BUNDLE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_TYPE"/> +        <column \
name="PACKAGE_TYPE_ID" type="INTEGER" required="true" references="RHQ_PACKAGE_TYPE"/> \
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/>         +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_UNIQUE" unique="true">
+            <field ref="BUNDLE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!-- BUNDLE_VERSION represents an actual piece of content that needs to be \
installed somewhere --> +    <table name="RHQ_BUNDLE_VERSION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="VERSION" size="500" \
type="VARCHAR2" required="true"/> +        <column name="VERSION_ORDER" \
type="INTEGER" required="true"/> +        <column name="ACTION" type="CLOB" \
required="true"/> +        <column name="CONFIG_DEF_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG_DEF" /> +        <column name="BUNDLE_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE"/> +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_VERSION_UNIQUE" unique="true">
+            <field ref="BUNDLE_ID"/>
+            <field ref="NAME"/>
+            <field ref="VERSION"/>
+        </index>
+    </table>
+
+    <!-- Many-to-many table that links many repos to a particular bundle version. \
destination platforms --> +    <!-- would be required to have associations to the \
specified repos (to access required content --> +    <table \
name="RHQ_BUNDLE_VERSION_REPO"> +        <column name="BUNDLE_VERSION_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_VERSION"/> +        <column \
name="REPO_ID" type="INTEGER" required="true" references="RHQ_REPO"/> +
+        <constraint name="RHQ_BUNDLE_VERSION_REPO_KEY">
+            <primaryKey>
+                <field ref="BUNDLE_VERSION_ID"/>
+                <field ref="REPO_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!-- BUNDLE_FILE represents a file that is associated with (possibly bundled \
inside) a bundle version --> +    <table name="RHQ_BUNDLE_FILE">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="BUNDLE_VERSION_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_VERSION"/> +        <column \
name="PACKAGE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_PACKAGE_VERSION"/> +    </table>
+
+    <!-- A logical destination for a bundle deployment. Defines the platforms and \
directory on those targets.  -->     +    <table name="RHQ_BUNDLE_DESTINATION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+        <column name="BUNDLE_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE"/>         +        <column name="GROUP_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_GROUP"/>         +        <column \
name="DEPLOY_DIR" size="256" type="VARCHAR2" required="true"/> +        <column \
name="DEST_BASE_DIR_NAME" size="200" type="VARCHAR2" required="true"/> +
+        <!--  This index is for constraint, not performance -->
+        <index name="RHQ_BUNDLE_DESTINATION_UNIQUE" unique="true">
+            <field ref="BUNDLE_ID"/>            
+            <field ref="GROUP_ID"/>            
+            <field ref="DEPLOY_DIR"/>
+        </index>
+    </table>
+
+    <!-- An actual deployment of a bundle version to a destination, with a specific \
config. Bundle deployments +         can differ only on ctime, which is assumed to be \
different -->     +    <table name="RHQ_BUNDLE_DEPLOYMENT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="MTIME" type="LONG" required="true"/>
+        <column name="BUNDLE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_VERSION"/> +        <column name="BUNDLE_DESTINATION_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_DESTINATION"/>         +        \
<column name="CONFIG_ID" type="INTEGER" required="false" references="RHQ_CONFIG" />   \
 +        <column name="SUBJECT_NAME" type="VARCHAR2" required="false" size="255"/>
+        <column name="STATUS" type="VARCHAR2" required="true" size="16"/>
+        <column name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/>        
+        <column name="IS_LIVE" type="BOOLEAN" required="true"/>        
+        <column name="REPLACED_BUNDLE_DEPLOYMENT_ID" type="INTEGER" required="false" \
references="RHQ_BUNDLE_DEPLOYMENT"/>         +    </table>
+
+    <!-- Represents a bundle version that is deployed on a platform resource -->
+    <table name="RHQ_BUNDLE_RES_DEPLOY">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/>     +        <column name="BUNDLE_DEPLOYMENT_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_DEPLOYMENT" /> +        <column \
name="RESOURCE_ID" type="INTEGER" required="true" references="RHQ_RESOURCE" /> +      \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/>         +        \
<column name="CTIME" type="LONG" required="true"/> +        
+        <index name="RHQ_BUNDLE_RES_DEPLOY_IDX" unique="true">
+            <field ref="BUNDLE_DEPLOYMENT_ID"/>
+            <field ref="RESOURCE_ID"/>
+        </index>
+    </table>
+
+    <table name="RHQ_BUNDLE_RES_DEP_HIST">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="BUNDLE_RES_DEPLOY_ID" \
type="INTEGER" required="true" references="RHQ_BUNDLE_RES_DEPLOY" />         +        \
<column name="SUBJECT_NAME" required="false" size="255" type="VARCHAR2"/> +        \
<column name="AUDIT_TIME" required="true" type="LONG"/> +        <column \
name="ACTION" required="true" size="128" type="VARCHAR2"/> +        <column \
name="INFO" required="true" size="512" type="VARCHAR2"/>         +        <column \
name="CATEGORY" required="false" size="32" type="VARCHAR2"/>         +        <column \
name="STATUS" required="true" type="VARCHAR2" size="16"/>         +        <column \
name="MESSAGE" required="false" type="LONGVARCHAR"/> +        <column \
name="ATTACHMENT" required="false" type="LONGVARCHAR"/>         +    </table>
+
+    <table name="RHQ_TAGGING_BUNDLE_MAP">
+        <column name="BUNDLE_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_TAGGING_BUNDLE_VERSION_MAP">
+        <column name="BUNDLE_VERSION_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_VERSION"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_VER_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_VERSION_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_TAGGING_BUNDLE_DEPLOY_MAP">
+        <column name="BUNDLE_DEPLOYMENT_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_DEPLOYMENT"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_DEP_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_DEPLOYMENT_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+    
+    <table name="RHQ_TAGGING_BUNDLE_DEST_MAP">
+        <column name="BUNDLE_DESTINATION_ID" type="INTEGER" required="true" \
references="RHQ_BUNDLE_DESTINATION"/> +        <column name="TAG_ID" type="INTEGER" \
required="true" references="RHQ_TAGGING"/> +        <constraint \
name="RHQ_TAGGING_BUNDLE_DES_MAP_KEY"> +            <primaryKey>
+                <field ref="BUNDLE_DESTINATION_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <!--  Drift Management Tables -->
+    <table name="RHQ_DRIFT_DEF_TEMPLATE">
+        <column name="ID" default="sequence-only" initial="1001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="RESOURCE_TYPE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE"/> +        <column \
name="CONFIG_ID" type="INTEGER" required="true" references="RHQ_CONFIG"/> +        \
<column name="NAME" type="VARCHAR2" size="128" required="true"/> +        <column \
name="DESCRIPTION" type="VARCHAR2" size="512" required="false"/> +        <!-- true \
if defined by user, false if provided by plugin --> +        <column \
name="IS_USER_DEFINED" type="BOOLEAN" required="true"/>         +        <!--
+          Change sets are managed by the drift server plugins; therefore, we cannot \
maintain +          a FK constraint on the change set id. And the type cannot be \
integer because +          other back ends like MongoDB use other types that are \
basically variants of a +          UUID
+
+          jsanda
+        -->
+        <column name="DRIFT_CHANGE_SET_ID" type="VARCHAR2" size="64" \
required="false"/> +        <column name="CTIME" type="LONG" required="true"/>
+
+        <index name="RHQ_DRIFT_DEF_TEMPLATE_UNIQUE" unique="true">
+            <field ref="RESOURCE_TYPE_ID"/>
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <!--  Content of a file being managed for drift. Used for diff and/or \
remediation --> +    <table name="RHQ_DRIFT_FILE">
+        <column name="HASH_ID" type="VARCHAR2" size="64" primarykey="true" \
required="true"/>         +        <column name="CTIME" type="LONG" required="true"/>
+        <column name="DATA" type="LARGEOBJECT" required="false"/>
+        <column name="DATA_SIZE" type="LONG" required="false"/>
+        <column name="STATUS" type="VARCHAR2" size="20" required="true"/>
+    </table>
+    
+    <!--  A single drift definition defining file tracking
+          Note: A resource or group (todo: group, other?) can have zero or more \
drift configurations.     +          Note: The name, interval and is_enabled values \
are also stored withing the referenced config. +                This allows us to use \
the config editor to manipulate all fields. +          Note: Name is read-only
+          Note: Interval unit is millis 
+    -->
+    <table name="RHQ_DRIFT_DEFINITION">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="true" references="RHQ_CONFIG"/> +        <column name="RESOURCE_ID" \
type="INTEGER" required="false" references="RHQ_RESOURCE"/> +        <column \
name="DRIFT_DEF_TEMPLATE_ID" type="INTEGER" required="false" \
references="RHQ_DRIFT_DEF_TEMPLATE"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="NAME" type="VARCHAR2" size="512" \
required="true"/> +        <column name="DESCRIPTION" type="VARCHAR2" size="512" \
required="false"/> +        <column name="INTERVAL" type="LONG" required="true"/>
+        <column name="IS_ENABLED" type="BOOLEAN" required="true"/>        
+        <column name="DRIFT_HANDLING_MODE" type="VARCHAR2" size="20" \
required="true"/> +        <column name="IS_PINNED" type="BOOLEAN" required="true"/>
+        <column name="IS_ATTACHED" type="BOOLEAN" required="true"/>
+        <column name="COMPLIANCE_STATUS" type="INTEGER" required="true"/>
+    </table>
+
+    <!--  A set of drift records (note, this is for the JPA server plugin impl only) \
--> +    <table name="RHQ_DRIFT_SET">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +    </table>
+
+    <!--  A drift change-set report for a resource (note, this is for the JPA server \
plugin impl only) --> +    <table name="RHQ_DRIFT_CHANGE_SET">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="DRIFT_SET_ID" type="INTEGER" \
required="false" references="RHQ_DRIFT_SET"/> +        <column name="CTIME" \
type="LONG" required="true"/> +        <!-- Version 0 is initial change-set -->
+        <column name="VERSION" type="INTEGER" required="true"/>
+        <column name="CATEGORY" type="VARCHAR2" size="20" required="true"/>          \
 +        <column name="RESOURCE_ID" type="INTEGER" required="false" \
references="RHQ_RESOURCE"/> +        <column name="DRIFT_DEFINITION_ID" \
type="INTEGER" required="false" references="RHQ_DRIFT_DEFINITION"/> +        <!--  \
the drift handling mode at changeset creation time --> +        <column \
name="DRIFT_HANDLING_MODE" type="VARCHAR2" size="20" required="true"/>         +    \
</table> +    
+    <!--  A single occurence of drift for a resource (note, this is for the JPA \
server plugin impl only) --> +    <table name="RHQ_DRIFT">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CTIME" type="LONG" \
required="true"/> +        <column name="CATEGORY" type="VARCHAR2" size="20" \
required="true"/>         +        <column name="DRIFT_SET_ID" type="INTEGER" \
required="false" references="RHQ_DRIFT_SET"/> +        <column \
name="DRIFT_CHANGE_SET_ID" type="INTEGER" required="true" \
references="RHQ_DRIFT_CHANGE_SET"/> +        <!-- the file path not including the \
base directory -->         +        <column name="PATH" type="VARCHAR2" size="1024" \
required="true"/> +        <!-- the same as PATH less [/]filename.ext. Redundant \
storage for the purpose of strict directory search. +             this field can be \
considered transient for serialization purposes --> +        <column \
name="PATH_DIRECTORY" type="VARCHAR2" size="1024" required="true"/>         +        \
<column name="OLD_DRIFT_FILE" type="VARCHAR2" size="64" required="false" \
references="RHQ_DRIFT_FILE"/>         +        <column name="NEW_DRIFT_FILE" \
type="VARCHAR2" size="64" required="false" references="RHQ_DRIFT_FILE"/>         +    \
</table> +
+
+<!-- END: content-schema.xml -->
+<!-- BEGIN: resource-request-schema.xml -->
+        
+
+    <table name="RHQ_CREATE_RES_HIST">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="PARENT_RESOURCE_ID" \
type="INTEGER" required="true" references="RHQ_RESOURCE"/> +        <column \
name="CREATED_RESOURCE_NAME" type="VARCHAR2" size="500" required="false"/> +        \
<column name="NEW_RESOURCE_KEY" type="VARCHAR2" required="false" size="500"/> +       \
<column name="STATUS" type="VARCHAR2" required="true" size="16"/> +        <column \
name="ERROR_MESSAGE" type="LONGVARCHAR" required="false"/> +        <column \
name="SUBJECT_NAME" type="VARCHAR2" required="true" size="100"/> +        <column \
name="CTIME" type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="RESOURCE_TYPE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE_TYPE"/> +        <column \
name="CONFIGURATION_ID" type="INTEGER" required="false" references="RHQ_CONFIG"/> +   \
<column name="INSTALLED_PACKAGE_ID" type="INTEGER" required="false" \
references="RHQ_INSTALLED_PACKAGE"/> +    </table>
+
+    <table name="RHQ_DELETE_RES_HIST">
+        <column name="ID" type="INTEGER" required="true" default="sequence-only" \
initial="10001" primarykey="true"/> +        <column name="ERROR_MESSAGE" \
type="LONGVARCHAR" required="false"/> +        <column name="SUBJECT_NAME" \
type="VARCHAR2" required="true" size="100"/> +        <column name="CTIME" \
type="LONG" required="true"/> +        <column name="MTIME" type="LONG" \
required="true"/> +        <column name="STATUS" type="VARCHAR2" required="true" \
size="16"/> +        <column name="RESOURCE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE"/> +    </table>
+
+<!-- END: resource-request-schema.xml -->
+<!-- BEGIN: jms-schema.xml -->
+
+<!-- the schema matches that which would be automatically created by the JMS \
subsystem --> +<!-- see deploy/jms/rhq-jdbc-state-service.xml and \
rhq-jdbc2-service.xml --> +
+
+    <table name="JMS_MESSAGES">
+        <column name="MESSAGEID"   required="true"  type="INTEGER" />
+        <column name="DESTINATION" required="true"  type="VARCHAR2" size="255" />
+        <column name="TXID"        required="false" type="INTEGER" />
+        <column name="TXOP"        required="false" type="CHAR" size="1" />
+        <column name="MESSAGEBLOB" required="false" type="BLOB" />
+
+        <constraint name="JMS_MESSAGES_PKEY">
+            <primaryKey>
+                <field ref="MESSAGEID"/>
+                <field ref="DESTINATION"/>
+            </primaryKey>
+        </constraint>
+
+        <index name="JMS_MESSAGES_TXOP_TXID">
+            <field ref="TXOP"/>
+            <field ref="TXID"/>
+        </index>
+        <index name="JMS_MESSAGES_DESTINATION">
+            <field ref="DESTINATION"/>
+        </index>
+    </table>
+
+    <table name="JMS_TRANSACTIONS">
+        <column name="TXID" required="true" type="INTEGER" primarykey="true" />
+    </table>
+
+    <table name="JMS_USERS">
+        <column name="USERID"   required="true"  type="VARCHAR2" size="32" \
primarykey="true" /> +        <column name="PASSWD"   required="true"  \
type="VARCHAR2" size="32" /> +        <column name="CLIENTID" required="false" \
type="VARCHAR2" size="128" /> +    </table>
+
+    <table name="JMS_ROLES">
+        <column name="ROLEID" required="true" type="VARCHAR2" size="32" />
+        <column name="USERID" required="true" type="VARCHAR2" size="32" />
+
+        <constraint name="JMS_ROLES_PKEY">
+            <primaryKey>
+                <field ref="USERID"/>
+                <field ref="ROLEID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="JMS_SUBSCRIPTIONS">
+        <column name="CLIENTID" required="true"  type="VARCHAR2" size="128" />
+        <column name="SUBNAME"  required="true"  type="VARCHAR2" size="128" />
+        <column name="TOPIC"    required="true"  type="VARCHAR2" size="255" />
+        <column name="SELECTOR" required="false" type="VARCHAR2" size="255" />
+
+        <constraint name="JMS_SUBSCRIPTIONS_PKEY">
+            <primaryKey>
+                <field ref="CLIENTID"/>
+                <field ref="SUBNAME"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+<!-- END: jms-schema.xml -->
+<!-- BEGIN: obsolete-schema.xml -->
+        
+    
+    <!-- NOTE: The tables will be dropped in the *** REVERSE ORDER *** as listed in \
this file! --> +    <!-- NOTE: So, put the table you want dropped first at the \
bottom, and so on... --> +
+
+    <!-- !!! REMOVED FROM CONTENT-SCHEMA !!!! -->
+    
+     <table name="RHQ_DRIFT_TEMPLATE_MAP">
+         <column name="RESOURCE_TYPE_ID" type="INTEGER" required="true" \
references="RHQ_RESOURCE_TYPE"/> +         <column name="CONFIG_TEMPLATE_ID" \
type="INTEGER" required="true" references="RHQ_CONFIG_TEMPLATE"/> +     </table>
+    
+    <table name="RHQ_BUNDLE_CONFIG" obsolete="true">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="CONFIG_ID" type="INTEGER" \
required="false" references="RHQ_CONFIG" /> +        <!-- this probably needs a DTYPE \
discriminator so we know if its a bundle or a specific bundle version --> +        \
<column name="BUNDLE_VERSION_ID" type="INTEGER" required="false" \
references="RHQ_BUNDLE_VERSION"/> +        <column name="BUNDLE_ID" type="INTEGER" \
required="false" references="RHQ_BUNDLE"/> +    </table>
+
+    <table name="RHQ_CHANNEL" obsolete="true">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +        <column name="CREATION_TIME" type="LONG" \
required="true"/> +        <column name="LAST_MODIFIED_TIME" type="LONG" \
required="true"/> +
+        <index name="RHQ_CHANNEL_IDX" unique="true">
+            <field ref="NAME"/>
+        </index>
+    </table>
+
+    <table name="RHQ_CHANNEL_RESOURCE_MAP" obsolete="true">
+        <column name="CHANNEL_ID" type="INTEGER" required="true" \
references="RHQ_CHANNEL"/> +        <column name="RESOURCE_ID" type="INTEGER" \
required="true" references="RHQ_RESOURCE"/> +        <column name="CTIME" type="LONG" \
required="true"/> +
+        <constraint name="RHQ_CHANNEL_RESOURCE_MAP_KEY">
+            <primaryKey>
+                <field ref="CHANNEL_ID"/>
+                <field ref="RESOURCE_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_CHANNEL_CONTENT_SRC_MAP" obsolete="true">
+        <column name="CHANNEL_ID" type="INTEGER" required="true" \
references="RHQ_CHANNEL"/> +        <column name="CONTENT_SRC_ID" type="INTEGER" \
required="true" references="RHQ_CONTENT_SOURCE"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_CHAN_CONTENT_SRC_MAP_KEY">
+            <primaryKey>
+                <field ref="CHANNEL_ID"/>
+                <field ref="CONTENT_SRC_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+    <table name="RHQ_CHANNEL_PKG_VERSION_MAP" obsolete="true">
+        <column name="CHANNEL_ID" type="INTEGER" required="true" \
references="RHQ_CHANNEL"/> +        <column name="PACKAGE_VERSION_ID" type="INTEGER" \
required="true" references="RHQ_PACKAGE_VERSION"/> +        <column name="CTIME" \
type="LONG" required="true"/> +
+        <constraint name="RHQ_CHANNEL_PKG_VER_MAP_KEY">
+            <primaryKey>
+                <field ref="CHANNEL_ID"/>
+                <field ref="PACKAGE_VERSION_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+   <!-- !!! REMOVED FROM MEASUREMENT-SCHEMA !!!! -->
+
+   <table name="RHQ_MEASUREMENT_OOB" obsolete="true">
+      <column name="ID" type="INTEGER" default="sequence-only" initial="10001" \
primarykey="true" required="true"/> +      <column name="SCHEDULE_ID" type="INTEGER" \
references="RHQ_MEASUREMENT_SCHED(ID)" required="true"/> +      <column \
name="OCCURRED" type="LONG" required="true"/> +      <column name="DIFF" \
type="DOUBLE" required="true"/> +
+      <index name="RHQ_MEASUREMENT_OOB_IDX" unique="true">
+         <field ref="SCHEDULE_ID" />
+         <field ref="OCCURRED" />
+      </index>
+   </table>
+
+
+     <table name="RHQ_TAG" obsolete="true">
+        <column name="ID" default="sequence-only" initial="10001" primarykey="true" \
required="true" type="INTEGER"/> +        <column name="NAME" size="200" \
type="VARCHAR2" required="true"/> +        <column name="DESCRIPTION" size="500" \
type="VARCHAR2" required="false"/> +    </table>
+
+     <table name="RHQ_REPO_TAG_MAP" obsolete="true">
+        <column name="REPO_ID" type="INTEGER" required="true" \
references="RHQ_REPO"/> +        <column name="TAG_ID" type="INTEGER" required="true" \
references="RHQ_TAG"/> +
+        <constraint name="RHQ_REPO_TAG_MAP_KEY">
+            <primaryKey>
+                <field ref="REPO_ID"/>
+                <field ref="TAG_ID"/>
+            </primaryKey>
+        </constraint>
+    </table>
+
+
+<!-- END: obsolete-schema.xml -->
+</dbsetup>


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

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