--- DBIStore.pm Thu May 4 00:40:49 2000 +++ /home/local/lib/perl5/site_perl/5.005/Apache/Session/DBIStore.pm Thu May 4 00:33:01 2000 @@ -134,7 +134,7 @@ INSERT INTO sessions (id, length, a_session) VALUES (?,?,?)}); } - my $serialized = nfreeze $session->{data}; + my $serialized = pack("u*", nfreeze $session->{data}); $self->{insert_sth}->bind_param(1, $session->{data}->{_session_id}); $self->{insert_sth}->bind_param(2, length $serialized); @@ -159,7 +159,7 @@ } - my $serialized = nfreeze $session->{data}; + my $serialized = pack("u*", nfreeze $session->{data}); $self->{update_sth}->bind_param(1, length $serialized); $self->{update_sth}->bind_param(2, $serialized); @@ -189,12 +189,17 @@ my $results = $self->{materialize_sth}->fetchrow_arrayref; if (!(defined $results)) { - die "Object does not exist in the data store"; + my $err = $self->{materialize_sth}->err ? + $self->{materialize_sth}->errstr : undef; + $self->{materialize_sth}->finish; + die "Object does not exist in the data store" + unless defined $err; + die "DBI error: $err"; } $self->{materialize_sth}->finish; - $session->{data} = thaw $results->[0]; + $session->{data} = thaw unpack("u*", $results->[0]); } sub remove {