Re: Orafce concat operator

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Yeb Havinga <yebhavinga(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Orafce concat operator
Date: 2010-02-10 16:07:34
Message-ID: 162867791002100807h5ca45334s1726d0bd9e6a336c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

2010/2/10 Yeb Havinga <yebhavinga(at)gmail(dot)com>:
> Pavel Stehule wrote:
>>>
>>> What about adding something like operator ||| in the orafce package for
>>> concat?
>>>
>>
>> no, it could be confusing and it isn't enough, because it isn't only
>> || or concat problem. On Oracle empty string is equal to NULL and NULL
>> is equal to empty string.
>>
>> example: '' is null, length('')
>>
>> http://www.thunderguy.com/semicolon/2003/04/26/oracle-empty-string-null/
>>
>> so we are not able emulate this behave.
>>
>
> Hi Pavel,
>
> Thanks for your quick reply. What you say is entirely true, however I'm not
> sure if you completely understood my question, so please do not be offended
> if I try to elaborate it a bit:
>
> I did not ask for full '' = NULL emulation, only for an operator to match
> the concat function, so that code conversion with repetetive concats are
> easier (string || string || string etc) which occur frequently. Ofcourse a
> translator can be made that converst that to
> concat(string,concat(string,concat(string etc))), however that's confusing
> too in a different way. So imho the only problem is to think of an operator
> that somehow resembles || so the programmer recognizes a concat, but also
> adds something so the programmer recognizes: not strict. What about ||+ ?
>
> And then, at the conversion of e.g. (string || string || string) IS NULL,
> confusion arises, but this is not due to the concat, but more to the IS NULL
> clause together with the strange '' = null, and that must be handled
> otherwise.
>
> So the operator would speed up part of the code conversion.
>

I have a different opinion. You have to change a application source
code. So I don't like it in orafce. Maybe we can implement varchar2
text type and for this type redefine basic functions. But it could be
a messy and maybe contraproductive. Orafce is tool for better
migration, but it isn't full compatibility tool - what can be
implemented effective and well, then can be in orafce. EnterpriseDB do
"full" compatibility with Oracle

but - I don't see a problem. Everybody who like operator ||| can do it
very simple - not all have to be in Orafce.

Regards
Pavel Stehule

> regards,
> Yeb Havinga
>
>
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Peter Hunsberger 2010-02-10 16:10:24 Re: more than 2GB data string save
Previous Message Yeb Havinga 2010-02-10 15:56:59 Re: Orafce concat operator