Re: [HACKERS] initcap incompatibility issue
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
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
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
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
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
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