From cae12244b57f46e7a16ced888c7ba2f0a738ced9 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Mon, 23 Apr 2007 18:31:29 +0000 Subject: * added method for getting the next export-counter of a vendor-OS. However, this should be redone later in order to avoid possible races. git-svn-id: http://svn.openslx.org/svn/openslx/trunk@920 95ad53e4-c205-0410-b2fa-d234c58c8868 --- config-db/OpenSLX/ConfigDB.pm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'config-db') diff --git a/config-db/OpenSLX/ConfigDB.pm b/config-db/OpenSLX/ConfigDB.pm index 253cff9a..0429a35d 100644 --- a/config-db/OpenSLX/ConfigDB.pm +++ b/config-db/OpenSLX/ConfigDB.pm @@ -86,6 +86,7 @@ sub _checkAndUpgradeDBSchemaIfNecessary } elsif ($cmd eq 'add-columns') { $metaDB->schemaAddColumns($changeDescr->{'table'}, $changeDescr->{'new-cols'}, + $changeDescr->{'new-default-vals'}, $changeDescr->{'cols'}); } elsif ($cmd eq 'drop-columns') { $metaDB->schemaDropColumns($changeDescr->{'table'}, @@ -389,6 +390,22 @@ sub changeVendorOS return $self->{'meta-db'}->changeVendorOS($vendorOSIDs, $valRows); } +sub getNextExportCounterForVendorOS +{ + my $self = shift; + my $id = shift; + + # TODO: fix this to be resilient against parallel execution + # (use a transaction) + my $vendorOS + = $self->fetchVendorOSByID($id); + return undef unless defined $vendorOS; + my $exportCounter = $vendorOS->{export_counter}+1; + $self->changeVendorOS($id, { 'export_counter' => $exportCounter, }); + + return $exportCounter; +} + sub addExport { my $self = shift; -- cgit v1.2.3-55-g7522