summaryrefslogtreecommitdiffstats
path: root/config-db/OpenSLX
diff options
context:
space:
mode:
authorOliver Tappe2008-01-07 16:43:52 +0100
committerOliver Tappe2008-01-07 16:43:52 +0100
commite8a90853c2079e3da04b0f130846c535571fd0fa (patch)
tree0aef4a487136cc9113fbed7d9a5f0db58ab189c0 /config-db/OpenSLX
parent* changed (and hopefully improved) fix for locale-problems that (diff)
downloadcore-e8a90853c2079e3da04b0f130846c535571fd0fa.tar.gz
core-e8a90853c2079e3da04b0f130846c535571fd0fa.tar.xz
core-e8a90853c2079e3da04b0f130846c535571fd0fa.zip
* fixed several smaller bugs found when testing slxexport
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1446 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db/OpenSLX')
-rw-r--r--config-db/OpenSLX/ConfigDB.pm15
-rw-r--r--config-db/OpenSLX/MetaDB/DBI.pm38
2 files changed, 32 insertions, 21 deletions
diff --git a/config-db/OpenSLX/ConfigDB.pm b/config-db/OpenSLX/ConfigDB.pm
index 8269ec0c..0879ba02 100644
--- a/config-db/OpenSLX/ConfigDB.pm
+++ b/config-db/OpenSLX/ConfigDB.pm
@@ -967,7 +967,8 @@ sub addVendorOS
_checkCols($valRows, 'vendor_os', 'name');
- return $self->{'meta-db'}->addVendorOS($valRows);
+ my @IDs = $self->{'meta-db'}->addVendorOS($valRows);
+ return wantarray() ? @IDs : $IDs[0];
}
=item C<removeVendorOS(@$vendorOSIDs)>
@@ -1052,7 +1053,8 @@ sub addExport
_checkCols($valRows, 'export', qw(name vendor_os_id type));
- return $self->{'meta-db'}->addExport($valRows);
+ my @IDs = $self->{'meta-db'}->addExport($valRows);
+ return wantarray() ? @IDs : $IDs[0];
}
=item C<removeExport(@$exportIDs)>
@@ -1221,7 +1223,8 @@ sub addSystem
}
}
- return $self->{'meta-db'}->addSystem($valRows, $attrValRows);
+ my @IDs = $self->{'meta-db'}->addSystem($valRows, $attrValRows);
+ return wantarray() ? @IDs : $IDs[0];
}
=item C<removeSystem(@$systemIDs)>
@@ -1580,7 +1583,8 @@ sub addClient
}
}
- return $self->{'meta-db'}->addClient($valRows, $attrValRows);
+ my @IDs = $self->{'meta-db'}->addClient($valRows, $attrValRows);
+ return wantarray() ? @IDs : $IDs[0];
}
=item C<removeClient(@$clientIDs)>
@@ -1932,7 +1936,8 @@ sub addGroup
$valRow->{priority} = '50';
}
}
- return $self->{'meta-db'}->addGroup($valRows, $attrValRows);
+ my @IDs = $self->{'meta-db'}->addGroup($valRows, $attrValRows);
+ return wantarray() ? @IDs : $IDs[0];
}
=item C<removeGroup(@$groupIDs)>
diff --git a/config-db/OpenSLX/MetaDB/DBI.pm b/config-db/OpenSLX/MetaDB/DBI.pm
index a6d2eef0..94d92188 100644
--- a/config-db/OpenSLX/MetaDB/DBI.pm
+++ b/config-db/OpenSLX/MetaDB/DBI.pm
@@ -20,6 +20,7 @@ use base qw(OpenSLX::MetaDB::Base);
use DBI;
use OpenSLX::Basics;
+use OpenSLX::Utils;
################################################################################
### basics
@@ -87,9 +88,13 @@ sub _buildFilterClause
$connector = !length($filterClause) ? 'WHERE' : 'AND';
if (defined $filter->{$col}) {
$quotedVal = $self->{dbh}->quote($filter->{$col});
- $filterClause .= " $connector $col = $quotedVal";
+ $filterClause .= unshiftHereDoc(<<" End-of-Here");
+ $connector $col = $quotedVal
+ End-of-Here
} else {
- $filterClause .= " $connector $col IS NULL";
+ $filterClause .= unshiftHereDoc(<<" End-of-Here");
+ $connector $col IS NULL
+ End-of-Here
}
}
@@ -115,7 +120,7 @@ sub _buildAttrFilterClause
$quotedName = $self->{dbh}->quote($name);
if (defined $attrFilter->{$name}) {
$quotedValue = $self->{dbh}->quote($attrFilter->{$name});
- $filterClause .= <<" End-of-Here";
+ $filterClause .= unshiftHereDoc(<<" End-of-Here");
$connector EXISTS (
SELECT name FROM ${table}_attr
WHERE name = $quotedName
@@ -124,7 +129,7 @@ sub _buildAttrFilterClause
)
End-of-Here
} else {
- $filterClause .= <<" End-of-Here";
+ $filterClause .= unshiftHereDoc(<<" End-of-Here");
$connector NOT EXISTS (
SELECT name FROM ${table}_attr
WHERE name = $quotedName
@@ -254,7 +259,7 @@ sub fetchSystemByFilter
$filterClause = $self->_buildAttrFilterClause(
$attrFilter, 'system', $filterClause
);
- my $sql = <<" End-of-Here";
+ my $sql = unshiftHereDoc(<<" End-of-Here");
SELECT $resultCols FROM system
$filterClause
End-of-Here
@@ -279,7 +284,7 @@ sub fetchSystemAttrs
my $self = shift;
my $systemID = $self->{dbh}->quote(shift);
- my $sql = <<" End-of-Here";
+ my $sql = unshiftHereDoc(<<" End-of-Here");
SELECT name, value FROM system_attr
WHERE system_id = $systemID
End-of-Here
@@ -336,7 +341,7 @@ sub fetchClientByFilter
$filterClause = $self->_buildAttrFilterClause(
$attrFilter, 'client', $filterClause
);
- my $sql = <<" End-of-Here";
+ my $sql = unshiftHereDoc(<<" End-of-Here");
SELECT $resultCols FROM client
$filterClause
End-of-Here
@@ -361,7 +366,7 @@ sub fetchClientAttrs
my $self = shift;
my $clientID = $self->{dbh}->quote(shift);
- my $sql = <<" End-of-Here";
+ my $sql = unshiftHereDoc(<<" End-of-Here");
SELECT name, value FROM client_attr
WHERE client_id = $clientID
End-of-Here
@@ -407,7 +412,7 @@ sub fetchGroupByFilter
$filterClause = $self->_buildAttrFilterClause(
$attrFilter, 'group', $filterClause
);
- my $sql = <<" End-of-Here";
+ my $sql = unshiftHereDoc(<<" End-of-Here");
SELECT $resultCols FROM groups
$filterClause
End-of-Here
@@ -432,7 +437,7 @@ sub fetchGroupAttrs
my $self = shift;
my $groupID = $self->{dbh}->quote(shift);
- my $sql = <<" End-of-Here";
+ my $sql = unshiftHereDoc(<<" End-of-Here");
SELECT name, value FROM group_attr
WHERE group_id = $groupID
End-of-Here
@@ -763,7 +768,7 @@ sub setSystemAttrs
my $attrs = shift;
# for now we take the simple path and remove all attributes ...
- return if !$self->_doDelete('system_attr', [ $systemID ], 'system_id');
+ $self->_doDelete('system_attr', [ $systemID ], 'system_id');
# ... and (re-)insert the given ones
my @attrData
@@ -776,7 +781,8 @@ sub setSystemAttrs
}
grep { defined $attrs->{$_} }
keys %$attrs;
- return $self->_doInsert('system_attr', [ @attrData ]);
+ $self->_doInsert('system_attr', \@attrData);
+ return 1;
}
sub setClientIDsOfSystem
@@ -857,7 +863,7 @@ sub setClientAttrs
my $attrs = shift;
# for now we take the simple path and remove all attributes ...
- return if !$self->_doDelete('client_attr', [ $clientID ], 'client_id');
+ $self->_doDelete('client_attr', [ $clientID ], 'client_id');
# ... and (re-)insert the given ones
my @attrData
@@ -870,7 +876,7 @@ sub setClientAttrs
}
grep { defined $attrs->{$_} }
keys %$attrs;
- return $self->_doInsert('client_attr', [ @attrData ]);
+ $self->_doInsert('client_attr', \@attrData);
return 1;
}
@@ -952,7 +958,7 @@ sub setGroupAttrs
my $attrs = shift;
# for now we take the simple path and remove all attributes ...
- return if !$self->_doDelete('group_attr', [ $groupID ], 'group_id');
+ $self->_doDelete('group_attr', [ $groupID ], 'group_id');
# ... and (re-)insert the given ones
my @attrData
@@ -965,7 +971,7 @@ sub setGroupAttrs
}
grep { defined $attrs->{$_} }
keys %$attrs;
- return $self->_doInsert('group_attr', [ @attrData ]);
+ $self->_doInsert('group_attr', \@attrData);
return 1;
}