diff options
author | Oliver Tappe | 2007-12-27 23:35:57 +0100 |
---|---|---|
committer | Oliver Tappe | 2007-12-27 23:35:57 +0100 |
commit | 230200926c8332c8b6d16e5f4146b34ed8c403bb (patch) | |
tree | a3ebbb270e815b5125028fe94072511f94d1c2b8 /config-db/OpenSLX/MetaDB | |
parent | * Changed naming scheme for exports from <vendor-os>:<type> to (diff) | |
download | core-230200926c8332c8b6d16e5f4146b34ed8c403bb.tar.gz core-230200926c8332c8b6d16e5f4146b34ed8c403bb.tar.xz core-230200926c8332c8b6d16e5f4146b34ed8c403bb.zip |
* added more tests for basic DB-features: group, global_info and
client_system_ref
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1435 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db/OpenSLX/MetaDB')
-rw-r--r-- | config-db/OpenSLX/MetaDB/DBI.pm | 51 |
1 files changed, 32 insertions, 19 deletions
diff --git a/config-db/OpenSLX/MetaDB/DBI.pm b/config-db/OpenSLX/MetaDB/DBI.pm index 380a1847..a1b782c1 100644 --- a/config-db/OpenSLX/MetaDB/DBI.pm +++ b/config-db/OpenSLX/MetaDB/DBI.pm @@ -103,6 +103,10 @@ sub _doSelect push @vals, $row; } } + + # return undef if there's no result in scalar context + return if !wantarray(); + return @vals; } @@ -183,7 +187,7 @@ sub fetchGlobalInfo my $id = shift; return if !length($id); - my $sql = "SELECT * FROM global_info WHERE id = " . $self->quote($id); + my $sql = "SELECT value FROM global_info WHERE id = " . $self->quote($id); return $self->_doSelect($sql, 'value'); } @@ -310,10 +314,11 @@ sub fetchGroupByFilter $resultCols = '*' unless (defined $resultCols); my $sql = "SELECT $resultCols FROM groups"; - 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); } @@ -628,8 +633,10 @@ sub setClientIDsOfSystem my $clientIDs = shift; my @currClients = $self->fetchClientIDsOfSystem($systemID); - return $self->_updateRefTable('client_system_ref', $systemID, $clientIDs, - 'system_id', 'client_id', \@currClients); + return $self->_updateRefTable( + 'client_system_ref', $systemID, $clientIDs, 'system_id', 'client_id', + \@currClients + ); } sub setGroupIDsOfSystem @@ -639,8 +646,10 @@ sub setGroupIDsOfSystem my $groupIDs = shift; my @currGroups = $self->fetchGroupIDsOfSystem($systemID); - return $self->_updateRefTable('group_system_ref', $systemID, $groupIDs, - 'system_id', 'group_id', \@currGroups); + return $self->_updateRefTable( + 'group_system_ref', $systemID, $groupIDs, 'system_id', 'group_id', + \@currGroups + ); } sub addClient @@ -675,9 +684,10 @@ sub setSystemIDsOfClient my $systemIDs = shift; my @currSystems = $self->fetchSystemIDsOfClient($clientID); - $self->_updateRefTable('client_system_ref', $clientID, $systemIDs, - 'client_id', 'system_id', \@currSystems); - return; + return $self->_updateRefTable( + 'client_system_ref', $clientID, $systemIDs, 'client_id', 'system_id', + \@currSystems + ); } sub setGroupIDsOfClient @@ -687,9 +697,10 @@ sub setGroupIDsOfClient my $groupIDs = shift; my @currGroups = $self->fetchGroupIDsOfClient($clientID); - $self->_updateRefTable('group_client_ref', $clientID, $groupIDs, - 'client_id', 'group_id', \@currGroups); - return; + return $self->_updateRefTable( + 'group_client_ref', $clientID, $groupIDs, 'client_id', 'group_id', + \@currGroups + ); } sub addGroup @@ -724,9 +735,10 @@ sub setClientIDsOfGroup my $clientIDs = shift; my @currClients = $self->fetchClientIDsOfGroup($groupID); - $self->_updateRefTable('group_client_ref', $groupID, $clientIDs, 'group_id', - 'client_id', \@currClients); - return; + return $self->_updateRefTable( + 'group_client_ref', $groupID, $clientIDs, 'group_id', 'client_id', + \@currClients + ); } sub setSystemIDsOfGroup @@ -736,9 +748,10 @@ sub setSystemIDsOfGroup my $systemIDs = shift; my @currSystems = $self->fetchSystemIDsOfGroup($groupID); - $self->_updateRefTable('group_system_ref', $groupID, $systemIDs, 'group_id', - 'system_id', \@currSystems); - return; + return $self->_updateRefTable( + 'group_system_ref', $groupID, $systemIDs, 'group_id', 'system_id', + \@currSystems + ); } ################################################################################ |