Re: BUG #1947: Enhancement Request - CONCAT() function

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: tony(at)marston-home(dot)demon(dot)co(dot)uk
Cc: "'David Fetter'" <david(at)fetter(dot)org>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #1947: Enhancement Request - CONCAT() function
Date: 2005-10-11 03:45:03
Message-ID: 200510110345.j9B3j3320854@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

tony(at)marston-home(dot)demon(dot)co(dot)uk wrote:
> Here is a direct quote from the ORACLE manual:
>
> <quote> On most platforms, the concatenation operator is two solid
> vertical bars, as shown in Table 3-3. However, some IBM platforms use
> broken vertical bars for this operator. When moving SQL script files
> between systems having different character sets, such as between ASCII
> and EBCDIC, vertical bars might not be translated into the vertical
> bar required by the target Oracle environment. Oracle provides the
> CONCAT character function as an alternative to the vertical bar operator
> for cases when it is difficult or impossible to control translation
> performed by operating system or network utilities. Use this function
> in applications that will be moved between environments with differing
> character sets. </quote>

Well, that is very interesting. I have noticed that the ASCII pipe
sometimes has a break in it, but I never realized the solid and broken
bar were ever treated as separate characters.

My guess is that this Oracle note was from the early 1980's, and it was
never removed or updated, but I now understand why they added CONCAT
because long ago they had this translation issue with EBCDIC.

Oracle has a tendency to keep things around forever, which is nice, but
over the years it produces a system with lots of strange features that
make the system hard to use. PostgreSQL has a tendency to remove old,
unused stuff over time to keep the system easy to understand. This is
part of the reason we have not added CONCAT, because it doesn't really
add new functionality to the vast majority of our users.

Sure, if someone wants to write scripts that work with PostgreSQL and
Oracle EBCDIC machines, it would be nice to have, but for 99% of our
users, it is just added cruft, and we have a tendency to try to reduce
cruft rather than make 1% of people happy, especially when the
extensibility system of PostgreSQL allows users to create their own
CONCAT functions if they desire.

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Klint Gore 2005-10-11 05:27:00 Re: BUG #1947: Enhancement Request - CONCAT() function
Previous Message John Shin 2005-10-11 01:25:59 .pgpass does not work for createlang