summaryrefslogtreecommitdiffstats
path: root/config-db/OpenSLX/MetaDB
diff options
context:
space:
mode:
authorOliver Tappe2007-12-16 16:27:43 +0100
committerOliver Tappe2007-12-16 16:27:43 +0100
commit5ffdf45ad2ac31302cf3c4b3d6ecb27f4ffffe32 (patch)
treeb6c12674f8e7b559eaa76543d1850380f0bcba7c /config-db/OpenSLX/MetaDB
parentRevert test commit. (diff)
downloadcore-5ffdf45ad2ac31302cf3c4b3d6ecb27f4ffffe32.tar.gz
core-5ffdf45ad2ac31302cf3c4b3d6ecb27f4ffffe32.tar.xz
core-5ffdf45ad2ac31302cf3c4b3d6ecb27f4ffffe32.zip
* completed regression tests for vendor-OSes
* added regression tests for exports, systems and clients * fixed several bugs found by these tests * cosmetical cleanups in ConfigDB.pm git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1431 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db/OpenSLX/MetaDB')
-rw-r--r--config-db/OpenSLX/MetaDB/DBI.pm19
1 files changed, 12 insertions, 7 deletions
diff --git a/config-db/OpenSLX/MetaDB/DBI.pm b/config-db/OpenSLX/MetaDB/DBI.pm
index bb0a8fdc..380a1847 100644
--- a/config-db/OpenSLX/MetaDB/DBI.pm
+++ b/config-db/OpenSLX/MetaDB/DBI.pm
@@ -144,10 +144,11 @@ sub fetchExportByFilter
$resultCols = '*' unless (defined $resultCols);
my $sql = "SELECT $resultCols FROM export";
- my $connector;
+ my ($connector, $quotedVal);
foreach my $col (keys %$filter) {
$connector = !defined $connector ? 'WHERE' : 'AND';
- $sql .= " $connector $col = '$filter->{$col}'";
+ $quotedVal = $self->{dbh}->quote($filter->{$col});
+ $sql .= " $connector $col = $quotedVal";
}
return $self->_doSelect($sql);
}
@@ -194,10 +195,11 @@ sub fetchSystemByFilter
$resultCols = '*' unless (defined $resultCols);
my $sql = "SELECT $resultCols FROM system";
- my $connector;
+ my ($connector, $quotedVal);
foreach my $col (keys %$filter) {
$connector = !defined $connector ? 'WHERE' : 'AND';
- $sql .= " $connector $col = '$filter->{$col}'";
+ $quotedVal = $self->{dbh}->quote($filter->{$col});
+ $sql .= " $connector $col = $quotedVal";
}
return $self->_doSelect($sql);
}
@@ -256,10 +258,11 @@ sub fetchClientByFilter
$resultCols = '*' unless (defined $resultCols);
my $sql = "SELECT $resultCols FROM client";
- my $connector;
+ my ($connector, $quotedVal);
foreach my $col (keys %$filter) {
$connector = !defined $connector ? 'WHERE' : 'AND';
- $sql .= " $connector $col = '$filter->{$col}'";
+ $quotedVal = $self->{dbh}->quote($filter->{$col});
+ $sql .= " $connector $col = $quotedVal";
}
return $self->_doSelect($sql);
}
@@ -450,11 +453,13 @@ sub _doUpdate
my %valData = %$valRow;
delete $valData{'id'};
# filter column 'id' if present, as we don't want to update it
- my $cols = join ', ', map { "$_ = " . $self->quote($valRow->{$_}) }
+ my @cols = map { "$_ = " . $self->quote($valRow->{$_}) }
grep { $_ ne 'id' }
# filter column 'id' if present, as we don't want
# to update it!
keys %$valRow;
+ return if !@cols;
+ my $cols = join ', ', @cols;
my $sql = "UPDATE $table SET $cols";
if (defined $id) {
$sql .= " WHERE id = " . $self->quote($id);