Removed all caching code. This seems to fix the apache

crashing problem.  Needs others to double check and
review.
This commit is contained in:
Colin Kuskie 2008-07-21 23:41:04 +00:00
parent 1031883fbf
commit 23316d60dd
2 changed files with 9 additions and 17 deletions

View file

@ -191,8 +191,7 @@ sub delete {
my ($self) = @_;
$self->empty;
$self->session->db->write("delete from cart where cartId=?",[$self->getId]);
undef $self;
$itemCache{ref $self} = {};
#delete $itemCache{ref $self};
return undef;
}
@ -209,7 +208,7 @@ sub empty {
foreach my $item (@{$self->getItems}) {
$item->remove;
}
$itemCache{ref $self} = {};
#$itemCache{ref $self} = {};
}
#-------------------------------------------------------------------
@ -301,11 +300,11 @@ sub getItem {
WebGUI::Error::InvalidParam->throw(error=>"Need an itemId.");
}
my $id = ref $self;
if (exists $itemCache{$id}{$itemId}) {
return $itemCache{$id}{$itemId};
}
#if (exists $itemCache{$id}{$itemId}) {
#return $itemCache{$id}{$itemId};
#}
my $item = WebGUI::Shop::CartItem->new($self, $itemId);
$itemCache{$id}{$itemId} = $item;
#$itemCache{$id}{$itemId} = $item;
return $item;
}
@ -634,7 +633,7 @@ sub www_removeItem {
my $self = shift;
my $item = $self->getItem($self->session->form->get("itemId"));
$item->remove;
delete $itemCache{ref $self}{$item->getId};
#delete $itemCache{ref $self}{$item->getId};
return $self->www_view;
}

View file

@ -28,7 +28,6 @@ These subroutines are available from this package:
readonly cart => my %cart;
private properties => my %properties;
private skuCache => my %skuCache;
#-------------------------------------------------------------------
@ -101,7 +100,7 @@ Removes this item from the cart without calling $sku->onRemoveFromCart which wou
sub delete {
my $self = shift;
$self->cart->session->db->deleteRow("cartItem","itemId",$self->getId);
undef $self;
#undef $self;
return undef;
}
@ -175,13 +174,7 @@ sub getSku {
my ($self) = @_;
my $id = ref $self;
my $asset = '';
if (exists $skuCache{$id}{$self->get("assetId")}) {
$asset = $skuCache{$id}{$self->get("assetId")};
}
else {
$asset = WebGUI::Asset->newByDynamicClass($self->cart->session, $self->get("assetId"));
$skuCache{$id}{$self->get("assetId")} = $asset;
}
$asset = WebGUI::Asset->newByDynamicClass($self->cart->session, $self->get("assetId"));
$asset->applyOptions($self->get("options"));
return $asset;
}