From d4d2aa85c9484f672eb93518476343276eb07ab0 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Sun, 6 May 2007 16:47:32 +0000 Subject: * 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 --- config-db/OpenSLX/MetaDB/DBI.pm | 42 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) (limited to 'config-db/OpenSLX/MetaDB/DBI.pm') 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; -- cgit v1.2.3-55-g7522