Issue 343 in glassdb: pool dictionary / SharedPool affinity broken

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Issue 343 in glassdb: pool dictionary / SharedPool affinity broken

glassdb
Status: Accepted
Owner: [hidden email]
Labels: Type-Defect Priority-Medium GLASS-Server Version-1.0-beta.8.6

New issue 343 by [hidden email]: pool dictionary / SharedPool  
affinity broken
http://code.google.com/p/glassdb/issues/detail?id=343

With the bugfix of Issue242, we stopped ensuring that the name of the  
PoolVariables supplied by subclasses of SharedPools was preserved ...

As a consequence you could get errors when redefinining a class whose  
PoolVariable came form a SharedPool (like the Week class) ...

That's when we stopped doing this:

"Copy class variables"
cvs := sourceClass _classVars.
cvs associationsDo: [ :assn | | other |
   other := classVars associationAt: assn key otherwise: nil.
   (other ~~ nil and: [other value == nil and: [assn value ~~ nil]]) ifTrue:  
[
        (assn value == cvs)
                ifTrue: [
                        "special case for subclasses of SharedPools, where we need to preserve  
the #name
                         of the SymbolDictionary"
                        classVars add: (assn key -> classVars).
                ]
        ifFalse: [classVars add: assn].
   ].
].

and started doing this:


priorVersion := chist at: chSize - 1.
(priorVars := priorVersion _classVars) notNil ifTrue: [
   | cvars |
   (cvars := classVars) notNil ifTrue: [
     priorVars associationsDo: [:anAssociation | |aKey |
       (cvars includesKey: (aKey := anAssociation key)) ifTrue: [
         cvars removeKey: aKey .
         cvars addAssociation: anAssociation.
       ].
     ].
   ].
].


Reply | Threaded
Open this post in threaded view
|

Re: Issue 343 in glassdb: pool dictionary / SharedPool affinity broken

glassdb

Comment #1 on issue 343 by [hidden email]: pool dictionary /  
SharedPool affinity broken
http://code.google.com/p/glassdb/issues/detail?id=343

0.246 Core (dkh.245): fixed issue for GemStone 2.4 and GLASS  
1.0.beta.8.7.2...

need to fix in 3.x still

Reply | Threaded
Open this post in threaded view
|

Re: Issue 343 in glassdb: pool dictionary / SharedPool affinity broken

glassdb
Updates:
        Status: Fixed
        Labels: Fixed-1.0-beta.8.7.2

Comment #2 on issue 343 by [hidden email]: pool dictionary /  
SharedPool affinity broken
http://code.google.com/p/glassdb/issues/detail?id=343

fixes implemented for 2.x and 3.x: GsCore 0.246 (dkh.246).

targeted for GLASS 1.0-beta.8.7.2