[Glass] How is this supposed to work in SIXX?

Mariano Martinez Peck via Glass glass at lists.gemtalksystems.com
Thu May 11 05:17:25 PDT 2017


Dale or Paul, could you please add me as a contributor to
https://github.com/glassdb/SIXX  please?

Otherwise I can fork and make a PR.

Cheers,

On Thu, May 11, 2017 at 9:03 AM, Mariano Martinez Peck <
marianopeck at gmail.com> wrote:

> OK, I found the issue. It's a problem of BaselineOfSixx with GemStone
> 3.3.3. I will explain better soon and commit a fix.
>
> Cheers,
>
> On Wed, May 10, 2017 at 5:17 PM, Mariano Martinez Peck <
> marianopeck at gmail.com> wrote:
>
>> Hi,
>>
>> I am getting an error when I am trying to import a SIXX file generated in
>> Gemstone 3.3.3 and I am importing it in another GemStone 3.3.3. Attached is
>> the stack.
>>
>> The problem is in
>>
>> Object >> initializeInstVarsFromSixxElement: sixxElement context:
>> aSixxContext
>> | coll |
>> coll := (SixxXmlUtil elementsFrom: sixxElement) select: [:elem |
>> (SixxXmlUtil isTextFrom: elem) not ].
>> *coll reverse*
>>            do: .......
>>
>> In this example, what I get as "coll" is an instance of *XMLOrderedList*
>> .
>> And " coll reverse" does not work at all. Why, because code is:
>>
>> SequenceablCollection >> reverse
>>   "Returns a copy of the receiver with its elements in reverse order."
>>
>>   | copy sz high mid |
>>   sz := self size.
>>  * copy := self species new: sz.*
>> *  copy size < sz*
>> *    ifTrue: [ copy size: sz "handle OrderedCollection" ].*
>>   high := sz.
>>   mid := sz bitShift: -1. " // 2 "
>>   1 to: mid do: [ :low |
>>    * copy at: low put: (self at: high).*
>>     copy at: high put: (self at: low).
>>     high := high - 1 ].
>> ....... "code clipped"
>>
>>
>> "self species new: sz"    is a "XMLOrderedList new: 6".
>> even with the ifTrue: below, doing "(XMLOrderedList new: 6) size: 6"
>>  it's still not a 6 elements collection.
>>
>> So... when we do  "* copy at: low put: (self at: high)."  *it fails.
>> XMLOrderedList does implement #at:put: but this way:
>>
>> at: anIndex put: aValue
>> ^ collection at: anIndex put: aValue
>>
>> And clearly...the "collection" inside is 0 size, not 6.
>> ((XMLOrderedList new: 6) size: 6) collection size -> 0
>>
>>
>> So...how could this ever work?  Damn...I am sure missing something.
>>
>> Any clue is appreciated.
>>
>> Bye,
>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>



-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20170511/9f2905e3/attachment-0001.html>


More information about the Glass mailing list