[Seaside] GOODS best practice data storage
Avi Bryant
avi at beta4.com
Fri May 21 21:20:19 CEST 2004
On May 21, 2004, at 12:12 PM, Sebastián Sastre wrote:
> Avi, I'm curious about DoubleLinkedList, where do you find one in ST?
I believe Ken Causey wrote one, but I don't think it's available
anywhere.
> Anyway, as you say the results of TreeSets and BTrees are promising but
> I'm not sure about how to use them. I mean when instantiation a TreeSet
> is does not allow to add any object. I've modified sightly and then it
> worked. Here is the modified code:
>
> TreeSet>>bucket: anArray includes: anObject
> ^ (anArray detect: [:ea | (self value: anObject matches: ea)]
> ifNone:[#()]) notEmpty.
That's not right either - I would think it should be:
^ anArray anySatisfy: [:ea | (self value: anObject matches: ea)]
I'm confused as to how it got the way it was, since as you say it
doesn't work at all with the current code.
> Actually the migration script I'm using now is like this (I take out
> some time and percentage vars):
>
> db root: Dictionary new;commit.
> db root at:#items put: TreeSet new.
> db commit.
> 1 to: items size do:[:i |
> (db root at:#items) add: (items at:i).
> (i/10) isInteger ifTrue:[ db commit ] ].
>
> Do you think this code should behave as the graph of TreeSets and
> BTrees?
No, because you're not sending #flushAll after you commit. That should
flatten the graph.
Avi
More information about the Seaside
mailing list