diff options
Diffstat (limited to 'config-db/OpenSLX/MetaDB/DBI.pm')
-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 + ); } ################################################################################ |