Re: [HACKERS] TODO item: Implement Boyer-Moore searching (First time hacker) - Mailing list pgsql-patches

From David Rowley
Subject Re: [HACKERS] TODO item: Implement Boyer-Moore searching (First time hacker)
Date
Msg-id 0D0F8DC5EE1341A199B5BDA73F870BA7@amd64
Whole thread Raw
In response to Re: [HACKERS] TODO item: Implement Boyer-Moore searching (First time hacker)  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
List pgsql-patches
Heikki Linnakangas Wrote:
> Tom Lane wrote:
> > Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> >> Also, it would be nice to use B-M(-H) for LIKE as well.
> >
> > Right offhand, that seems impossible, at least in patterns with %.
> > Or were you thinking of trying to separate out the fixed substrings
> > of a pattern and search for them with BMH?

> Yep, something like that. Even if it only handled the special case of
> '%foobar%', that would be nice, because that's a pretty common special
> case.

It would be a quick test to check for % at either end. But we'd also need to
ensure there were none in the middle. That might slow it down. I guess while
looping over the inner chars checking for more %'s we could be building a
skiptable. We'd have to abort it if we found any %'s of course

I think with out giving it much thought _'s could be handled by BMH, these
could just be given a skip distance of 2. Only having a lossy skip table
throws that out the window without having a special check for _

David.



pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] Infrastructure changes for recovery
Next
From: "Ryan Bradetich"
Date:
Subject: Re: [PgFoundry] Unsigned Data Types [1 of 2]