Author: tmckay
Date: 2013-03-19 15:04:34 +0000 (Tue, 19 Mar 2013)
New Revision: 5747
Modified:
trunk/cumin/model/admin/cumin.xml
trunk/cumin/model/upgrades/1.3a_to_1.4
trunk/rosemary/python/rosemary/model.py
Log:
Add "sampled" attribute to xml to allow tables which are not sampled.
Remove sample tables for user account data from the schema
Modified: trunk/cumin/model/admin/cumin.xml
===================================================================
--- trunk/cumin/model/admin/cumin.xml 2013-03-19 13:21:11 UTC (rev 5746)
+++ trunk/cumin/model/admin/cumin.xml 2013-03-19 15:04:34 UTC (rev 5747)
@@ -1,19 +1,19 @@
<model>
<package name="com.redhat.cumin">
- <class name="Info">
+ <class name="Info" sampled="n">
<property name="schema_version" type="sstr"/>
</class>
- <class name="User">
+ <class name="User" sampled="n">
<property name="name" type="sstr" index="y"/>
<property name="password" type="sstr"/>
</class>
- <class name="Role">
+ <class name="Role" sampled="n">
<property name="name" type="sstr" index="y"/>
</class>
- <class name="UserRoleMapping">
+ <class name="UserRoleMapping" sampled="n">
<property name="user" references="User"
index="y"/>
<property name="role" references="Role"
index="y"/>
</class>
Modified: trunk/cumin/model/upgrades/1.3a_to_1.4
===================================================================
--- trunk/cumin/model/upgrades/1.3a_to_1.4 2013-03-19 13:21:11 UTC (rev 5746)
+++ trunk/cumin/model/upgrades/1.3a_to_1.4 2013-03-19 15:04:34 UTC (rev 5747)
@@ -23,6 +23,11 @@
run 'drop schema \"org.apache.qpid.cluster\" cascade'
run 'drop schema \"org.apache.qpid.acl\" cascade'
+run 'drop table if exists \"com.redhat.cumin\".\"Role_samples\"
cascade'
+run 'drop table if exists
\"com.redhat.cumin\".\"UserRoleMapping_samples\" cascade'
+run 'drop table if exists \"com.redhat.cumin\".\"Info_samples\"
cascade'
+run 'drop table if exists \"com.redhat.cumin\".\"User_samples\"
cascade'
+
# select 'alter table "' || schemaname || '"."' ||
tablename || '" drop column "_qmf_create_time" cascade' from
pg_tables where
# schemaname like 'com.redhat%' order by "schemaname";
Modified: trunk/rosemary/python/rosemary/model.py
===================================================================
--- trunk/rosemary/python/rosemary/model.py 2013-03-19 13:21:11 UTC (rev 5746)
+++ trunk/rosemary/python/rosemary/model.py 2013-03-19 15:04:34 UTC (rev 5747)
@@ -286,6 +286,7 @@
log.debug("Loading %s", self)
self._storage = elem.get("storage", "database")
+ self._sampled = elem.get("sampled", "y") == "y" and
True
assert self._storage in ("database", "none")
@@ -449,19 +450,24 @@
pass
def add_samples_sql(self):
- name = "%s_samples" % self._name
- table = SqlTable(self._package.sql_schema,
- name,
- self._storage)
- self.sql_samples_table = table
+ if self._sampled:
+ name = "%s_samples" % self._name
+ table = SqlTable(self._package.sql_schema,
+ name,
+ self._storage)
+ self.sql_samples_table = table
def add_sql_sample_indices(self):
# Add indices based on the unique column groups
# for the sample table
- for k,v in self._sample_index_col_groups.iteritems():
- SqlIndex(self._package.sql_schema, k, v, self._storage)
+ if self._sampled:
+ for k,v in self._sample_index_col_groups.iteritems():
+ SqlIndex(self._package.sql_schema, k, v, self._storage)
def add_sql_sample_operations(self):
+ if not self._sampled:
+ return
+
self.sql_samples_insert = SqlInsertObjectSamples(
self.sql_samples_table)
@@ -692,11 +698,12 @@
def add_sql_sample_operations(self):
super(Qmf_class, self).add_sql_sample_operations()
+ if self._sampled:
- # Okay, our insert operation needs some extra columns
- # Add them here to the operation created by our parent.
- self.sql_samples_insert.extra_column_names = ("_qmf_agent_id",
- "_qmf_object_id")
+ # Okay, our insert operation needs some extra columns
+ # Add them here to the operation created by our parent.
+ self.sql_samples_insert.extra_column_names = ("_qmf_agent_id",
+ "_qmf_object_id")
def add_sql_constraints(self):
# Add agent and object columns as a unique column set
@@ -707,12 +714,13 @@
def add_samples_sql(self):
super(Qmf_class, self).add_samples_sql()
- a = SqlColumn(self.sql_samples_table, "_qmf_agent_id", sql_text)
- o = SqlColumn(self.sql_samples_table, "_qmf_object_id", sql_text)
- SqlColumn(self.sql_samples_table, "_qmf_update_time", sql_timestamp)
+ if self._sampled:
+ a = SqlColumn(self.sql_samples_table, "_qmf_agent_id", sql_text)
+ o = SqlColumn(self.sql_samples_table, "_qmf_object_id", sql_text)
+ SqlColumn(self.sql_samples_table, "_qmf_update_time",
sql_timestamp)
- name = "%s_qmf_id_idx" % self.sql_samples_table._name
- self._sample_index_col_groups[name] = (a, o)
+ name = "%s_qmf_id_idx" % self.sql_samples_table._name
+ self._sample_index_col_groups[name] = (a, o)
def get_object_by_qmf_id(self, cursor, agent_id, object_id):
obj = self._get_rosemary_object(None)