diff --git a/lib/WebGUI/Session.pm b/lib/WebGUI/Session.pm index 00f91f23d..ab9bc9761 100644 --- a/lib/WebGUI/Session.pm +++ b/lib/WebGUI/Session.pm @@ -182,6 +182,7 @@ Returns a random slave database handler, if one is defined, otherwise it returns sub dbSlave { my $self = shift; + return $self->db if $self->var->isAdminOn; unless (exists $self->{_slave}) { my @slaves = (); foreach (1..3) { @@ -190,14 +191,17 @@ sub dbSlave { push (@slaves, $slave); } } - my $slave = $slaves[rand @slaves]; - $self->{_slave} = WebGUI::SQL->connect($self, $slave->{dsn},$slave->{user},$slave->{pass}); - } - if ($self->var("adminOn") || !exists $self->{_slave}) { - return $self->db; - } else { - return $self->{_slave}; + if (scalar @slaves > 0) { + my $slave = $slaves[rand @slaves]; + $self->{_slave} = WebGUI::SQL->connect($self, $slave->{dsn},$slave->{user},$slave->{pass}); } + } + if (!exists $self->{_slave}) { + return $self->db; + } + else { + return $self->{_slave}; + } } diff --git a/lib/WebGUI/User.pm b/lib/WebGUI/User.pm index 6753a196b..f4172ec8e 100644 --- a/lib/WebGUI/User.pm +++ b/lib/WebGUI/User.pm @@ -383,7 +383,6 @@ sub new { my $cache = WebGUI::Cache->new($session,["user",$userId]); my $userData = $cache->get; unless ($userData->{_userId} && $userData->{_user}{username}) { - $session->errorHandler->warn('Cache invalid'); my %user; tie %user, 'Tie::CPHash'; %user = $session->db->quickHash("select * from users where userId=?",[$userId]);