[ic] Sessions no longer preserve "sameness" of references

Andrew Shelansky andrew at lunsfordgroup.com
Fri Sep 10 22:40:28 EDT 2004


On Fri, 2004-09-10 at 19:01, Jon Jensen wrote:

> Is the Interchange upgrade absolutely the only thing that changed on your 
> system? Did you also upgrade Perl, or Storable, or the whole OS?
> 
> Also, could you explain the context where you're setting the referent and 
> the reference? It's possible that something in the newer Interchange is 
> making a copy of the %$Scratch space and then you're making a reference to 
> the copy.
> 
> In your example there's an error:
> 
[snip]

Well, you have me there...  Red Hat stopped supporting Red Hat Linux
7.2...

So we went to Red Hat Enterprise Linux 3 (WS)

I just checked our versions:
Old: Interchange 4.8.7
     Storable    0.6.1.11 (!!!)
     Perl        5.6.1

New: Interchange 5.0.0 (I know, there's a 5.0.1... I'm testing it 
                        still...)
     Perl        5.8.3
     Storable    2.09

As for my example, you are right, its just a typo... I new I was going
to make a stupid mistake when I invented the example...

If it makes any difference, the real usage is a bit like this...

I have an object (in the Perl OO sense) stored in
$Session->{currentForm}   (I *mean* the "Session" this time)

$Session->{currentForm}{controlCollection}{myControl}{dbBinding}
is a reference to, for example,
$Scratch->{new_rs}{recordCollection}[0]{myField}
(I *mean* the "Scratch" this time, and I'm not 100% certain I got the
syntax of that last one right... but I think you'll get the idea)

The important part of this example is that an object in $Session is
pointing to an object in $Scratch (in both cases very deeply buried).  I
quickly rewrote pieces of my code so that currentForm was instead inside
$Scratch as well, and that didn't appear to make a difference, but I
mention it here so that you have a more complete picture of the
situation.

Anyhow, given this version information and the new example, do you have
any thoughts?

Thanks,

Andrew Shelansky




More information about the interchange-users mailing list