Re: [HACKERS] initcap incompatibility issue

2003-07-12 Thread nolan
  It sounds like Oracle is simply regexing for anything that ISN'T a letter 
  to initcap right after it.  If that's the case, you could just regex too.
 
 Or more likely, use the appropriate ctype.h function (isalpha, probably).

Having tested it, Oracle capitalizes after all non-alphanumeric characters,
so !isalnum() is the appropriate function.  (That makes it a one-line 
patch on 7.3.3, which I've already tested.)

 AFAIK, our specification for this function is be like Oracle, so it's
 a bug fix and fair game for 7.4.  Of course, the sooner you get it in
 the more likely we'll see it that way ;-).  Later in beta, only critical
 bugfixes will be accepted, and this one surely ain't very critical.

Now if I can just get CVS working on Redhat 8 and remember how to build
a patch, even a one-liner. :-)
--
Mike Nolan
 

---(end of broadcast)---
TIP 8: explain analyze is your friend


[HACKERS] initcap incompatibility issue

2003-07-09 Thread nolan
The initcap function is not completely consistent with Oracle's initcap
function:

 SELECT initcap('alex hyde-whyte');

In Oracle 9.2i this will return 'Alex Hyde-White', in PostgreSQL 7.3.3
it returns 'Alex Hyde-white'.

It looks like a relatively simple change to oracle_compat.c in
backend/utils/adt, but is this a bugfix that can be made during the
pre-beta period for 7.4 or does it need to wait?
--
Mike Nolan

---(end of broadcast)---
TIP 6: Have you searched our list archives?

   http://archives.postgresql.org


Re: [HACKERS] initcap incompatibility issue

2003-07-09 Thread nolan
 
 The initcap function is not completely consistent with Oracle's initcap
 function:
 
  SELECT initcap('alex hyde-whyte');
 
 In Oracle 9.2i this will return 'Alex Hyde-White', in PostgreSQL 7.3.3
 it returns 'Alex Hyde-white'.

No, it doesn't change the 'y' to an 'i', that's a typo in my earlier
note.  As far as I can tell, not capitalizing the first letter after a dash
is the only inconsistency with Oracle's implementation of this function.

If a patch is in order at this time, I will try to produce it, I need to 
learn set up CVS and how to do that anyway.  :-)
--
Mike Nolan

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [HACKERS] initcap incompatibility issue

2003-07-09 Thread nolan
 As far as I can tell, not capitalizing the first letter after a dash
 is the only inconsistency with Oracle's implementation of this function.

Wrong again.  Oracle also capitalizes the first letter after a comma, 
semicolon, colon, period, and both a single and double quote.  (And that's 
all I've tested so far.)

So, I guess I need to write a program to test all possible combinations
to see how incompatible the function is.

Making this change will be a larger patch than I had initially anticipated.

That also brings into question whether this is really a bugfix or a
specification change, a question which is relevant since we're in the 
feature freeze for 7.4.
--
Mike Nolan 

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: [HACKERS] initcap incompatibility issue

2003-07-09 Thread scott.marlowe
On Wed, 9 Jul 2003 [EMAIL PROTECTED] wrote:

  As far as I can tell, not capitalizing the first letter after a dash
  is the only inconsistency with Oracle's implementation of this function.
 
 Wrong again.  Oracle also capitalizes the first letter after a comma, 
 semicolon, colon, period, and both a single and double quote.  (And that's 
 all I've tested so far.)
 
 So, I guess I need to write a program to test all possible combinations
 to see how incompatible the function is.
 
 Making this change will be a larger patch than I had initially anticipated.
 
 That also brings into question whether this is really a bugfix or a
 specification change, a question which is relevant since we're in the 
 feature freeze for 7.4.

It sounds like Oracle is simply regexing for anything that ISN'T a letter 
to initcap right after it.  If that's the case, you could just regex too.


---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faqs/FAQ.html


Re: [HACKERS] initcap incompatibility issue

2003-07-09 Thread Tom Lane
scott.marlowe [EMAIL PROTECTED] writes:
 On Wed, 9 Jul 2003 [EMAIL PROTECTED] wrote:
 Wrong again.  Oracle also capitalizes the first letter after a comma, 
 semicolon, colon, period, and both a single and double quote.  (And that's 
 all I've tested so far.)

 It sounds like Oracle is simply regexing for anything that ISN'T a letter 
 to initcap right after it.  If that's the case, you could just regex too.

Or more likely, use the appropriate ctype.h function (isalpha, probably).

 That also brings into question whether this is really a bugfix or a
 specification change, a question which is relevant since we're in the 
 feature freeze for 7.4.

AFAIK, our specification for this function is be like Oracle, so it's
a bug fix and fair game for 7.4.  Of course, the sooner you get it in
the more likely we'll see it that way ;-).  Later in beta, only critical
bugfixes will be accepted, and this one surely ain't very critical.

regards, tom lane

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faqs/FAQ.html