Re: [HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-08-27 Thread Heikki Linnakangas
On 08/27/2014 08:13 AM, Jeff Davis wrote: On Mon, 2014-08-25 at 17:41 +0300, Heikki Linnakangas wrote: your patch seems to be about 2x-3x as slow as unpatched master. So this needs some optimization. A couple of ideas: I didn't see anywhere near that kind of regression. On unpatched master, wi

Re: [HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-08-26 Thread Jeff Davis
On Tue, 2014-08-26 at 22:13 -0700, Jeff Davis wrote: > Attached a patch implementing the same idea though: only use the > multibyte path if *both* the escape char and the current character from > the pattern are multibyte. Forgot to mention: with this patch, the test completes in about 720ms, so j

Re: [HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-08-26 Thread Jeff Davis
On Mon, 2014-08-25 at 17:41 +0300, Heikki Linnakangas wrote: > Actually, that gets optimized to a constant in the planner: Oops, thank you (and Tom). > your patch seems to be about 2x-3x as slow as unpatched master. So this > needs some optimization. A couple of ideas: I didn't see anywhere nea

Re: [HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-08-25 Thread Heikki Linnakangas
On 08/25/2014 06:14 PM, Tom Lane wrote: Heikki Linnakangas writes: On 08/25/2014 04:48 PM, Tom Lane wrote: [ scratches head... ] Surely similar_escape is marked immutable, and will therefore be executed exactly once in either of these formulations, because the planner will fold the expression

Re: [HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-08-25 Thread Tom Lane
Heikki Linnakangas writes: > On 08/25/2014 04:48 PM, Tom Lane wrote: >> [ scratches head... ] Surely similar_escape is marked immutable, and >> will therefore be executed exactly once in either of these formulations, >> because the planner will fold the expression to a constant. > Yeah, just not

Re: [HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-08-25 Thread Heikki Linnakangas
On 08/25/2014 04:48 PM, Tom Lane wrote: Heikki Linnakangas writes: On 07/12/2014 05:16 AM, Jeff Davis wrote: I was able to see about a 2% increase in runtime when using the similar_escape function directly. I made a 10M tuple table and did: explain analyze select similar_escape('ΣΣΣΣΣΣÎ

Re: [HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-08-25 Thread Heikki Linnakangas
On 07/12/2014 05:16 AM, Jeff Davis wrote: On Fri, 2014-07-11 at 11:51 -0400, Tom Lane wrote: Jeff Davis writes: Attached is a small patch to $SUBJECT. In master, only single-byte characters are allowed as an escape. Of course, with the patch it must still be a single character, but it may be m

Re: [HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-08-25 Thread Tom Lane
Heikki Linnakangas writes: > On 07/12/2014 05:16 AM, Jeff Davis wrote: >> I was able to see about a 2% increase in runtime when using the >> similar_escape function directly. I made a 10M tuple table and did: >> >> explain analyze >> select >> similar_escape('ΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣÎ

Re: [HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-08-25 Thread Heikki Linnakangas
On 07/12/2014 05:16 AM, Jeff Davis wrote: I was able to see about a 2% increase in runtime when using the similar_escape function directly. I made a 10M tuple table and did: explain analyze select similar_escape('','#')

Re: [HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-07-11 Thread Jeff Davis
On Fri, 2014-07-11 at 11:51 -0400, Tom Lane wrote: > Jeff Davis writes: > > Attached is a small patch to $SUBJECT. > > In master, only single-byte characters are allowed as an escape. Of > > course, with the patch it must still be a single character, but it may > > be multi-byte. > > I'm concerne

Re: [HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-07-11 Thread Tom Lane
Jeff Davis writes: > Attached is a small patch to $SUBJECT. > In master, only single-byte characters are allowed as an escape. Of > course, with the patch it must still be a single character, but it may > be multi-byte. I'm concerned about the performance cost of this patch. Have you done any me

Re: [HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-07-11 Thread Jeff Davis
On Fri, 2014-07-11 at 14:41 +0900, Fujii Masao wrote: > Could you add the patch into next CF? Sure. The patch is so small I was thinking about committing it in a few days (assuming no complaints), but I'm in no hurry. > The patch doesn't contain the change of the document. But I think that > it's

Re: [HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-07-10 Thread Fujii Masao
On Fri, Jul 11, 2014 at 12:49 PM, Jeff Davis wrote: > Attached is a small patch to $SUBJECT. > > In master, only single-byte characters are allowed as an escape. Of > course, with the patch it must still be a single character, but it may > be multi-byte. +1 Probably you know that, multi-byte cha

[HACKERS] Allow multi-byte characters as escape in SIMILAR TO and SUBSTRING

2014-07-10 Thread Jeff Davis
Attached is a small patch to $SUBJECT. In master, only single-byte characters are allowed as an escape. Of course, with the patch it must still be a single character, but it may be multi-byte. Regards, Jeff Davis *** a/src/backend/utils/adt/regexp.c --- b/src/backend/utils/adt/regexp.c *