Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 17 total
Thread 1.03 select error
Sun, May 27 2007 10:26 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim

I think I can claim the first bug report for 1.03 Smiley

Just testing your CONTAINS so I can make mine do the same sort of thing

select _subject from mandn where _subject contains 'delphi3'
and _subject collate ansi_ci like '%delphi3%'

a small selection from the 201 results, only 3 of which contain the string delphi3

[tmail2000] delphi component Mail2000 v1.10.3
[tmail2000] Re: delphi component Mail2000 v1.10.3
Re: [delphi-en] Detect Delphi IDE
[delphi-en] Re: SenkKey for Delphi 7
WebDB - delphi source code


The problem is the COLLATE ANSI_CI - it looks to me as though its ignoring digits

Roy Lambert
Tue, May 29 2007 4:17 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roy,

<< Just testing your CONTAINS so I can make mine do the same sort of thing
>>

I tried the following here:

SELECT * FROM biolife
WHERE Notes COLLATE ANSI_CI CONTAINS 'delphi3' AND
Notes COLLATE ANSI_CI LIKE '%delphi3%'

and it returns the one row that has 'delphi3' in it.

Did you use a custom word generator at all with the text indexing ?

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, May 30 2007 4:37 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim

>Did you use a custom word generator at all with the text indexing ?

No. At this stage just the migration (dbisam4) facility, and I doubt your migration code is clever enough to guess where my programs are, analyse the code and build a custom word generator Smiley

Roy Lambert
Wed, May 30 2007 1:03 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roy,

<< No. At this stage just the migration (dbisam4) facility, and I doubt your
migration code is clever enough to guess where my programs are, analyse the
code and build a custom word generator Smiley>>

Can I use the MandN table that you sent me to test this, or is the
data/indexes different ?

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, May 30 2007 1:39 PMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim

>Can I use the MandN table that you sent me to test this, or is the
>data/indexes different ?

The data will have changed a bit cos I've downloaded loads more posts from your wonderful newsgroup Smiley The structure including indices will be the same, and the emails or newssgroup posts I tested on will be in the data you have.

Roy Lambert
Thu, May 31 2007 4:43 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roy,

<< The data will have changed a bit cos I've downloaded loads more posts
from your wonderful newsgroup Smiley The structure including indices will be
the same, and the emails or newssgroup posts I tested on will be in the data
you have. >>

Okay, I found the issue - the default word generation ignores numeric
characters when generating words.  I should have just read the manual:

http://www.elevatesoft.com/edb1sql_text_indexing.htm

under "Include Characters".

I'm not quite sure what to do about this yet, however, because I put this in
there for a reason and changing it now is a bit difficult since it will mess
up any existing text indexes.

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Jun 1 2007 3:28 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim


You need to re-read the original post Smiley

The problem is

select _subject from mandn where _subject contains 'delphi3'
and _subject collate ansi_ci like '%delphi3%'

and

select _subject from mandn where _subject contains 'delphi3'
and _subject like '%delphi3%'

Produce different results so the problem is the collate ansi_ci with the like comparator.

However, reading that section of the manual raises an interesting point

"Any character that isn't an include character or space character is simply ignored."

What would this mean with a word like "Part1234A"? My DBISAM function would make that "Part" but it reads as though your default function would convert it to "PartA". When I get round to writing my ElevateDB one it will probably leave embedded numbers intact and simply ignore words starting with a digit.

Roy Lambert
Fri, Jun 1 2007 3:20 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roy,

<< The problem is

select _subject from mandn where _subject contains 'delphi3'
and _subject collate ansi_ci like '%delphi3%'

and

select _subject from mandn where _subject contains 'delphi3'
and _subject like '%delphi3%'

Produce different results so the problem is the collate ansi_ci with the
like comparator. >>

Of course they produce different results - your asking for two completely
different types of comparisons, one case-sensitive and one case-insensitive.

<< However, reading that section of the manual raises an interesting point

"Any character that isn't an include character or space character is simply
ignored."

What would this mean with a word like "Part1234A"? My DBISAM function would
make that "Part" but it reads as though your default function would convert
it to "PartA". >>

Yes, that is correct.

<< When I get round to writing my ElevateDB one it will probably leave
embedded numbers intact and simply ignore words starting with a digit. >>

Well, that was, I believe, the original idea behind not including numeric
characters in the include characters list.  However, I'm thinking that they
need to be included now.

--
Tim Young
Elevate Software
www.elevatesoft.com

Sat, Jun 2 2007 8:17 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim


> select _subject from mandn where _subject contains 'delphi3'
> and _subject collate ansi_ci like '%delphi3%'


The first few results from this

Re: [delphi-en] Not strictly Delphi but ....
RE: [delphi-en] Not strictly Delphi but ....
Re: [delphi-en] Not strictly Delphi but ....
[delphi-mshtml] Re: Delphi 6 and MSHTML ?
[tmail2000] delphi component Mail2000 v1.10.3
[tmail2000] Re: delphi component Mail2000 v1.10.3
RE: [delphi-en] Re: Security In Delphi App?

I don't think you'll convince me that this is right. Case sensitive or not I can't see delphi3 anywhere in there! I accept the indexing for the contains is stripping digits out but the like.....

Roy Lambert
Mon, Jun 4 2007 3:09 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roy,

<< I don't think you'll convince me that this is right. Case sensitive or
not I can't see delphi3 anywhere in there! I accept the indexing for the
contains is stripping digits out but the like..... >>

Sorry, I missed the LIKE part due to the fact that I used the version
without the forced ANSI_CI collation.  There is indeed a bug with the
ANSI_CI collation with respect to comparing single characters for the LIKE
functionality.  A fix will be in 1.03 B2.

--
Tim Young
Elevate Software
www.elevatesoft.com

Page 1 of 2Next Page »
Jump to Page:  1 2
Image