summaryrefslogtreecommitdiffstats
path: root/config-db/OpenSLX/MetaDB/DBI.pm
diff options
context:
space:
mode:
authorOliver Tappe2007-05-06 18:47:32 +0200
committerOliver Tappe2007-05-06 18:47:32 +0200
commitd4d2aa85c9484f672eb93518476343276eb07ab0 (patch)
treef24d94b7ad70386ca88a0218a77c1e503886a321 /config-db/OpenSLX/MetaDB/DBI.pm
parent* fixed minor problem with superfluous rm warning (diff)
downloadcore-d4d2aa85c9484f672eb93518476343276eb07ab0.tar.gz
core-d4d2aa85c9484f672eb93518476343276eb07ab0.tar.xz
core-d4d2aa85c9484f672eb93518476343276eb07ab0.zip
* added new table global_info to DB-schema, in order to support nbd-server-ports
* added transaction support to config-DB * added support for incrementing global counters (which live in global_info) git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1011 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db/OpenSLX/MetaDB/DBI.pm')
-rw-r--r--config-db/OpenSLX/MetaDB/DBI.pm42
1 files changed, 41 insertions, 1 deletions
diff --git a/config-db/OpenSLX/MetaDB/DBI.pm b/config-db/OpenSLX/MetaDB/DBI.pm
index 75d5a001..b7025e65 100644
--- a/config-db/OpenSLX/MetaDB/DBI.pm
+++ b/config-db/OpenSLX/MetaDB/DBI.pm
@@ -46,12 +46,33 @@ sub disconnect
}
sub quote
-{ # default implementation quotes any given values through the DBD-driver
+{ # default implementation quotes any given values through the DBI
my $self = shift;
return $self->{'dbh'}->quote(@_);
}
+sub start_transaction
+{ # default implementation passes on the request to the DBI
+ my $self = shift;
+
+ return $self->{'dbh'}->begin_work();
+}
+
+sub commit_transaction
+{ # default implementation passes on the request to the DBI
+ my $self = shift;
+
+ return $self->{'dbh'}->commit();
+}
+
+sub rollback_transaction
+{ # default implementation passes on the request to the DBI
+ my $self = shift;
+
+ return $self->{'dbh'}->rollback();
+}
+
################################################################################
### data access functions
################################################################################
@@ -159,6 +180,16 @@ sub fetchExportIDsOfVendorOS
return $self->_doSelect($sql, 'id');
}
+sub fetchGlobalInfo
+{
+ my $self = shift;
+ my $id = shift;
+
+ return if !length($id);
+ my $sql = "SELECT * FROM global_info WHERE id = ".$self->quote($id);
+ return $self->_doSelect($sql, 'value');
+}
+
sub fetchSystemByFilter
{
my $self = shift;
@@ -556,6 +587,15 @@ sub changeExport
return $self->_doUpdate('export', $exportIDs, $valRows);
}
+sub changeGlobalInfo
+{
+ my $self = shift;
+ my $id = shift;
+ my $value = shift;
+
+ return $self->_doUpdate('global_info', [$id], [{ 'value' => $value }] );
+}
+
sub addSystem
{
my $self = shift;