diff options
author | Oliver Tappe | 2007-04-23 20:31:29 +0200 |
---|---|---|
committer | Oliver Tappe | 2007-04-23 20:31:29 +0200 |
commit | cae12244b57f46e7a16ced888c7ba2f0a738ced9 (patch) | |
tree | 6f1c3aa9b918420f9ac39db8e435ee03da0194a7 /config-db | |
parent | * added 'export_counter' to table 'vendor_os' (diff) | |
download | core-cae12244b57f46e7a16ced888c7ba2f0a738ced9.tar.gz core-cae12244b57f46e7a16ced888c7ba2f0a738ced9.tar.xz core-cae12244b57f46e7a16ced888c7ba2f0a738ced9.zip |
* 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
Diffstat (limited to 'config-db')
-rw-r--r-- | config-db/OpenSLX/ConfigDB.pm | 17 |
1 files changed, 17 insertions, 0 deletions
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; |