diff options
| author | Oliver Tappe | 2007-12-16 16:27:43 +0100 |
|---|---|---|
| committer | Oliver Tappe | 2007-12-16 16:27:43 +0100 |
| commit | 5ffdf45ad2ac31302cf3c4b3d6ecb27f4ffffe32 (patch) | |
| tree | b6c12674f8e7b559eaa76543d1850380f0bcba7c /config-db/OpenSLX/MetaDB | |
| parent | Revert test commit. (diff) | |
| download | core-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.pm | 19 |
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); |
