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