Subject RE: [IBO] TIB_LookupCombo case insensitive inc search
Author Helen Borrie
At 09:08 AM 01-12-00 +0800, you wrote:


>And Jason has said:
>"If you are pulling all the records to the client then there is no
>appreciable benefit to having a dedicated column for the uppercase
>equivalent. IBO will perform it in memory as you expect."
>
>So I expect LookupCombo to work without ANY regard to case with the NOCASE
>CollumnAttribute.

So, if the dataset is small enough to have in memory, what is the
problem? Setting NOCASE without a proxy search column will result in the
buffer locate as

Uppercase(SearchedColumn) = Uppercase(search criterion), i.e. all
Delphi, no WHERE clause involved.

That's not the same as what you described you did to the sample app, where
you added a mixed case value to the (expected to be all upper case) proxy
search column in the buffer.

Maybe I'm missing something here, in understanding what you want to achieve.

In practice, I use an indexed, triggered proxy search column for any table
where an incr search potentially needs to fetch more rows from the server,
otherwise I just leave NOCASE alone. Generally I have other reasons to
include proxy columns in large tables, e.g. I want to use it for ordering
output sets to avoid getting reports in strict ascii order.

The proxy search column is the only way to avoid the cases where failure to
find a match first time is due to the ascii ordering issue, OTHER THAN
approaching this with filters and using the foCaseSensitive option.

IBO filtering is very quick and smart, btw, much better than TTable's
filtering. Delphi-style case-insensitive searching can be confidently
expected to work within the filtered set, because the sought row is already
in the buffer.

Helen


All for Open and Open for All
InterBase Developer Initiative ยท http://www.interbase2000.org
_______________________________________________________