[Glass] Time Index question

Dale Henrichs via Glass glass at lists.gemtalksystems.com
Fri Feb 19 12:32:09 PST 2016


Bruno,

This turns out to be an outstanding bug in 3.2.x (that's what I get for 
looking at 3.3 in my initial investigation:).

The bug (44429  P3  Similar index incorrect operation, different errors 
of different severity) was fixed in 3.3, but no fix was made in 3.2.x 
(yet) ...

The bug doesn't impact correct operation, but does come into play when 
incorrect operations are attempted involving indexes ---- You also may 
need to implement

Object>>_idxBasicCanCompareWithUnicodeInstance: aUnicodeString
      "Returns true if <aUnicodeString> may be inserted into a basic 
BtreeNode whose
      #lastElementClass is the receiver (see RangeEqualityIndex 
class>>isBasicClass:)."

      ^ false

as this was also part of the fix ....

Dale

On 02/19/2016 11:57 AM, Dale Henrichs wrote:
> Yes that is very strange ... it is method that should have been 
> "owned" by SystemUser, so it shouldn't have been easy to remove it 
> from the system ... yet it is safe to add it as DataCurator ....
>
> I will bring up a 3.2.1 system and confirm that method is present in 
> the base system.
>
> Dale
>
> On 02/19/2016 10:27 AM, BrunoBB via Glass wrote:
>> Dale,
>>
>> Tested your code in 3.2.1 and is working OK.
>>
>> Thanks very much....
>>
>> The only thing is i do not know is why
>> _idxBasicCanCompareWithCharacterCollectionInstance: was not 
>> implemented in
>> Object class.
>> Anyway everything is working as expected now.
>>
>> Regards,
>> Bruno
>>
>> Updated script (just for the record):
>>
>> | timeField timeCol timeValue |
>>
>> IndexManager current removeAllIndexes.
>>
>> timeField := AppFieldTimeValue new.
>> timeField name: 'time';
>>     originalValueIsStObject: true;
>>     originalValue: (Time fromString: '15:00:00');
>>     setValue: (Time fromString: '15:00:00').
>>
>> timeCol := RcIdentityBag new.
>> timeCol add: timeField.
>>
>> timeCol createEqualityIndexOn: 'value' withLastElementClass: Time.
>>
>> timeValue := Time fromString: '15:00:00'.
>>
>> (GsQuery fromString: 'each.value = timeValue' on: timeCol)
>> bind: 'timeValue' to: timeValue;
>> queryResult.
>>
>>
>>
>> -- 
>> View this message in context: 
>> http://forum.world.st/Time-Index-question-tp4879024p4879055.html
>> Sent from the GLASS mailing list archive at Nabble.com.
>> _______________________________________________
>> Glass mailing list
>> Glass at lists.gemtalksystems.com
>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>



More information about the Glass mailing list