Re: Boolean operators without commutators vs. ALL/ANY - Mailing list pgsql-hackers

From Florian Pflug
Subject Re: Boolean operators without commutators vs. ALL/ANY
Date
Msg-id FE03FF95-FD44-4DAB-8F42-11FF5FE47DD3@phlo.org
Whole thread Raw
In response to Re: Boolean operators without commutators vs. ALL/ANY  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-hackers
On Jun20, 2011, at 19:22 , Alvaro Herrera wrote:
> Excerpts from Florian Pflug's message of lun jun 20 06:55:42 -0400 2011:
>> The latter (i.e. regexp literals enclosed by /../) probably isn't
>> desirably for postgres, but the former definitely is (i.e. distinguishing
>> regexp's and text in the type system). Please see the thread
>> "Adding a distinct pattern type to resolve the ~ commutator stalemate"
>> for the details of the proposal. 
> 
> 'your text' ~ regexp 'your.*foo'
>     column ~ regexp 'your.*foo'
> 
> So you could do
> 
> regexp 'foo.*bar' ~ 'your text'
> 
> and it's immediately clear what's up.
> 
> The question is what to do wrt implicit casting of text to regexp.
> If we don't, there's a backwards compatibility hit.


No, we certainly musn't allow text to be implicitly converted to
regexp, for otherwise e.g. "varchar ~ varchar" becomes ambiguous.

I posted a primitive prototype for a pattern type on said thread,
which seems to do everything we require without causing compatibility
problems.

best regards,
Florian Pflug



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Patch - Debug builds without optimization
Next
From: Florian Pflug
Date:
Subject: Re: Range Types and extensions