diff options
author | Oliver Tappe | 2007-05-06 18:47:32 +0200 |
---|---|---|
committer | Oliver Tappe | 2007-05-06 18:47:32 +0200 |
commit | d4d2aa85c9484f672eb93518476343276eb07ab0 (patch) | |
tree | f24d94b7ad70386ca88a0218a77c1e503886a321 /config-db/OpenSLX/MetaDB/DBI.pm | |
parent | * fixed minor problem with superfluous rm warning (diff) | |
download | core-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.pm | 42 |
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; |