case-insensitive searches
Charles Yeomans
yeomans at desuetude.com
Sat Jul 2 16:42:22 CDT 2005
On Jul 2, 2005, at 11:38 AM, Charles Yeomans wrote:
>
> On Jul 2, 2005, at 2:34 AM, Ruslan Zasukhin wrote:
>
>> On 7/2/05 1:24 AM, "Charles Yeomans" <yeomans at desuetude.com> wrote:
>>
>>>> Well,
>>>>
>>>> It looks that you expect that IF field is indexed by words, than
>>>>
>>>> SELECT textField from ATable WHERE Lower(textField)="foo"
>>>>
>>>> Will find you record with "foo too roo doo" ?
>>>>
>>>> NO.
>>>>
>>>> Because Lower(textField)='foo' // by the way, single quotes
>>>> will not do indexed search.
>>>> it will do simple SCAN of column.
>>>>
>>>> and it can find only record with "foo", "FOO", "fOO" values
>>>
>>> I expect that Valentina can do anything :)
>>
>> I need to think more on this :-))
>>
>>> But for now I will use method fields as I have been.
>>
>> Charles, but any problems with db.collationAttribute ?
>
> Good question; I decided to try that. I'll see how it works.
In fact I cannot get this to work. I set
theDB.CollationAttribute(EVColAttribute.kStrength) =
EVColAttributeValue.kPrimary
but the next time the database file is opened,
theDB.CollationAttribute(EVColAttribute.kStrength) returns 2.
I also tried setting this property and reindexing the database
immediately before searching using a query like
SELECT textField from ATable WHERE textField="foo"
and it failed as well.
I'd try some tests with VStudio, but that dog of an application doesn't
even show the db collation settings.
--------------
Charles Yeomans
More information about the Valentina
mailing list