r41Beta8 (was: Changing the class of a v.i.)

Chris Muller asqueaker at gmail.com
Tue Aug 5 19:09:42 UTC 2008


Hi Norberto, thank you very much for the test code.  I was able to
reproduce and fix the problem.  You may install "r41Beta8" from the
"MagmaTester" project of squeaksource.

Now, for as long as you have been using Magma, I know you are aware
your classes can evolve with new and different inst vars without
having to change the class of your legacy instances.  So you are doing
something different and unusual here, changing the class of existing
instances.  Out of curiousity, why are you interested in doing that?

 - Chris

Full details about r41Beta8:

- Save TTCFonts similarly to StrikeFonts!
- Now detecting objects that have *only* had their class changed in a
transaction.
- Handling higher-level Error to ensure a sessions transaction-level
is decremented.
- Fix for excited clients when server coming up problem.
- Extra guards for MagmaForwardingProxy's, so they can be used
seamlessly as non-persistent objects (i.e., for in-memory domain
testing).
- MagmaSessionRequest similarly, can now be used non-persistently.
- Wait a user-specified timeoutSeconds instead of default timeout,
when connecting the initial socket.  Don't retry.


r41Beta8 consists of the following packages:

Ma exception handling-cmm.25
Ma base additions-cmm.105
Ma proxy support-cmm.34
Ma traverse object graphs-cmm.24
MaFixedWidthReport-cmm.4
Ma Statistics-cmm.9
Ma object serialization-cmm.178
Collections-BTree-lr.68
Ma special collections-cmm.91
Ma client server-cmm.157
WriteBarrier-pmm.26
Magma client-cmm.306
Magma server-cmm.267
Ma Armored Code-cmm.120
Ma Squeak domain-cmm.5
Ma special collections tester-cmm.11
Ma object serialization tester-cmm.16
Magma tester-cmm.279


On Mon, Aug 4, 2008 at 11:29 AM, Norberto Manzanos <nmanzanos at gmail.com> wrote:
> Hi.
>
> I'm trying to change the class of one instance variable of an object
> persistend in a MagmaCollection.
> Schematically, what I'm doing is
>
>  open a session
>  retrive the object
>  begin transaction
>  change the classs (using #primitiveChangeClassTo:
>  commit transaction
>  close session
>
>  open session
>  retrieve the object
>  check the class  . FAILS!.
>
> I tried removing the object from the collection, and readding it, but it
> failed too.
> Could anybody tell me is there is a special thing I must do to achieve this
> need?
>
> I'm sending a test with an example and some sample classes.
>
> Thanks in advance.
>
> _______________________________________________
> Magma mailing list
> Magma at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/magma
>
>


More information about the Magma mailing list