Signed-off-by: Cleber Rosa <[email protected]>
---
installation_support/database_manager/base.py | 7 +++++++
installation_support/database_manager/dummy.py | 8 ++++++++
installation_support/database_manager/mysql.py | 15 +++++++++++++++
3 files changed, 30 insertions(+)
diff --git a/installation_support/database_manager/base.py
b/installation_support/database_manager/base.py
index d45cc23..e6e86d3 100644
--- a/installation_support/database_manager/base.py
+++ b/installation_support/database_manager/base.py
@@ -43,6 +43,13 @@ class BaseDatabaseManager(object):
self.host = host
+ def run_sql(self, sql):
+ '''
+ Runs the given SQL code blindly
+ '''
+ return NotImplementedError
+
+
def config_as_dict(self):
'''
Returns relevant database configuration as a dictionary
diff --git a/installation_support/database_manager/dummy.py
b/installation_support/database_manager/dummy.py
index 8012ef3..012b9ec 100644
--- a/installation_support/database_manager/dummy.py
+++ b/installation_support/database_manager/dummy.py
@@ -38,8 +38,16 @@ class DummyDatabaseManager(base.BaseDatabaseManager):
def grant_privileges(self):
return True
+
def setup(self):
'''
Performs all the steps neede to completely setup a database instance
'''
return True
+
+
+ def run_sql(self, sql):
+ '''
+ Runs the given SQL code blindly
+ '''
+ return True
diff --git a/installation_support/database_manager/mysql.py
b/installation_support/database_manager/mysql.py
index 258029a..70a3263 100644
--- a/installation_support/database_manager/mysql.py
+++ b/installation_support/database_manager/mysql.py
@@ -29,6 +29,21 @@ class MySQLDatabaseManager(base.BaseDatabaseManager):
logging.error("Failed to logon as the database admin user")
+ def run_sql(self, sql):
+ '''
+ Runs the given SQL code blindly
+ '''
+ self.admin_connection.select_db(self.name)
+ cursor = self.admin_connection.cursor()
+ try:
+ cursor.execute(sql)
+ except (MySQLdb.ProgrammingError, MySQLdb.OperationalError):
+ self.admin_connection.rollback()
+ return False
+
+ return True
+
+
def exists(self):
'''
Checks if the database instance exists
--
1.7.11.7
_______________________________________________
Autotest-kernel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/autotest-kernel