BUG #2579: initcap should not capitalize letter after apostrophe

Started by Dan Franklinover 19 years ago7 messagesbugs
Jump to latest
#1Dan Franklin
dfranklin@fen.com

The following bug has been logged online:

Bug reference: 2579
Logged by: Dan Franklin
Email address: dfranklin@fen.com
PostgreSQL version: 8.1.4
Operating system: GNU/Linux Fedora Core 5
Description: initcap should not capitalize letter after apostrophe
Details:

The statement
select initcap('John''s Parents');
returns
John'S Parents

The capital "S" after the apostrophe is incorrect. initcap should consider
the apostrophe to be a word-constituent for the purpose of identifying word
boundaries at which to start capitalizing.

#2tomas@tuxteam.de
tomas@tuxteam.de
In reply to: Dan Franklin (#1)
Re: BUG #2579: initcap should not capitalize letter after apostrophe

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, Aug 16, 2006 at 09:03:08PM +0000, Dan Franklin wrote:

The following bug has been logged online:

Bug reference: 2579
Logged by: Dan Franklin
Email address: dfranklin@fen.com
PostgreSQL version: 8.1.4
Operating system: GNU/Linux Fedora Core 5
Description: initcap should not capitalize letter after apostrophe
Details:

The statement
select initcap('John''s Parents');
returns
John'S Parents

The capital "S" after the apostrophe is incorrect. initcap should consider
the apostrophe to be a word-constituent for the purpose of identifying word
boundaries at which to start capitalizing.

Hmm. And what about Flann O'Brien?

Tough thing, this.

Regards
- -- tomás
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFE5L60Bcgs9XrR2kYRArkQAKCBI9uYSUckPWL6jzB3PFBXNAlwSgCeOoJx
NIBRgQZYqRajtx8HrUnW1Hs=
=GI/E
-----END PGP SIGNATURE-----

#3Dan Franklin
dfranklin@fen.com
In reply to: tomas@tuxteam.de (#2)
Re: BUG #2579: initcap should not capitalize letter

Good point. It is probably not possible to get
it perfect. But I think that possessives and
contractions occur more often in a typical body
of text than Irish names. So it would be right
more often, even if it is still wrong some of the time.

Dan Franklin

At 03:08 PM 8/17/2006, tomas@tuxteam.de wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, Aug 16, 2006 at 09:03:08PM +0000, Dan Franklin wrote:

The following bug has been logged online:

Bug reference: 2579
Logged by: Dan Franklin
Email address: dfranklin@fen.com
PostgreSQL version: 8.1.4
Operating system: GNU/Linux Fedora Core 5
Description: initcap should not capitalize letter after apostrophe
Details:

The statement
select initcap('John''s Parents');
returns
John'S Parents

The capital "S" after the apostrophe is incorrect. initcap should consider
the apostrophe to be a word-constituent for the purpose of identifying word
boundaries at which to start capitalizing.

Hmm. And what about Flann O'Brien?

Tough thing, this.

Regards
- -- tomás
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFE5L60Bcgs9XrR2kYRArkQAKCBI9uYSUckPWL6jzB3PFBXNAlwSgCeOoJx
NIBRgQZYqRajtx8HrUnW1Hs=
=GI/E
-----END PGP SIGNATURE-----

Dan Franklin
Family Education Network
Pearson Education
617-671-3799

#4Bruce Momjian
bruce@momjian.us
In reply to: Dan Franklin (#3)
Re: BUG #2579: initcap should not capitalize letter

Dan Franklin wrote:

Good point. It is probably not possible to get
it perfect. But I think that possessives and
contractions occur more often in a typical body
of text than Irish names. So it would be right
more often, even if it is still wrong some of the time.

The function came from Oracle. How does Oracle's initcap() handle this?

---------------------------------------------------------------------------

Dan Franklin

At 03:08 PM 8/17/2006, tomas@tuxteam.de wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, Aug 16, 2006 at 09:03:08PM +0000, Dan Franklin wrote:

The following bug has been logged online:

Bug reference: 2579
Logged by: Dan Franklin
Email address: dfranklin@fen.com
PostgreSQL version: 8.1.4
Operating system: GNU/Linux Fedora Core 5
Description: initcap should not capitalize letter after apostrophe
Details:

The statement
select initcap('John''s Parents');
returns
John'S Parents

The capital "S" after the apostrophe is incorrect. initcap should consider
the apostrophe to be a word-constituent for the purpose of identifying word
boundaries at which to start capitalizing.

Hmm. And what about Flann O'Brien?

Tough thing, this.

Regards
- -- tom????s
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFE5L60Bcgs9XrR2kYRArkQAKCBI9uYSUckPWL6jzB3PFBXNAlwSgCeOoJx
NIBRgQZYqRajtx8HrUnW1Hs=
=GI/E
-----END PGP SIGNATURE-----

Dan Franklin
Family Education Network
Pearson Education
617-671-3799

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match

--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

#5Stefan Kaltenbrunner
stefan@kaltenbrunner.cc
In reply to: Bruce Momjian (#4)
Re: BUG #2579: initcap should not capitalize letter

Bruce Momjian wrote:

Dan Franklin wrote:

Good point. It is probably not possible to get
it perfect. But I think that possessives and
contractions occur more often in a typical body
of text than Irish names. So it would be right
more often, even if it is still wrong some of the time.

The function came from Oracle. How does Oracle's initcap() handle this?

looks like our behaviour is similiar to what oracle does:

Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

SQL> select initcap('John''s Parents') from DUAL;

INITCAP('JOHN'
--------------
John'S Parents

SQL> select initcap('Flann O''Brian') from DUAL;

INITCAP('FLAN
-------------
Flann O'Brian

Stefan

#6Richard Troy
rtroy@ScienceTools.com
In reply to: Dan Franklin (#3)
Re: BUG #2579: initcap should not capitalize letter

On Thu, 17 Aug 2006, Dan Franklin wrote:

Date: Thu, 17 Aug 2006 15:34:41 -0400
From: Dan Franklin <dfranklin@fen.com>
To: tomas@tuxteam.de
Cc: pgsql-bugs@postgresql.org
Subject: Re: [BUGS] BUG #2579: initcap should not capitalize letter

Good point. It is probably not possible to get
it perfect. But I think that possessives and
contractions occur more often in a typical body
of text than Irish names. So it would be right
more often, even if it is still wrong some of the time.

Dan Franklin

Two thoughts:

1) In English at least, it's only at the trailing end of a word that the
non-capitalization is clear (contractions, possessive, etc).

2) Proper names are unknowable as to what's appropriate and I posit that
there is no algorithm that works for names.

This leads to a conclusion: Never add capitalization inside a string of
letters.

Rgds,
Richard

At 03:08 PM 8/17/2006, tomas@tuxteam.de wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, Aug 16, 2006 at 09:03:08PM +0000, Dan Franklin wrote:

The following bug has been logged online:

Bug reference: 2579
Logged by: Dan Franklin
Email address: dfranklin@fen.com
PostgreSQL version: 8.1.4
Operating system: GNU/Linux Fedora Core 5
Description: initcap should not capitalize letter after apostrophe
Details:

The statement
select initcap('John''s Parents');
returns
John'S Parents

The capital "S" after the apostrophe is incorrect. initcap should consider
the apostrophe to be a word-constituent for the purpose of identifying word
boundaries at which to start capitalizing.

Hmm. And what about Flann O'Brien?

Tough thing, this.

Regards
- -- tomás
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFE5L60Bcgs9XrR2kYRArkQAKCBI9uYSUckPWL6jzB3PFBXNAlwSgCeOoJx
NIBRgQZYqRajtx8HrUnW1Hs=
=GI/E
-----END PGP SIGNATURE-----

Dan Franklin
Family Education Network
Pearson Education
617-671-3799

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match

--
Richard Troy, Chief Scientist
Science Tools Corporation
510-924-1363 or 202-747-1263
rtroy@ScienceTools.com, http://ScienceTools.com/

#7Bruce Momjian
bruce@momjian.us
In reply to: Richard Troy (#6)
Re: BUG #2579: initcap should not capitalize letter

Richard Troy wrote:

On Thu, 17 Aug 2006, Dan Franklin wrote:

Date: Thu, 17 Aug 2006 15:34:41 -0400
From: Dan Franklin <dfranklin@fen.com>
To: tomas@tuxteam.de
Cc: pgsql-bugs@postgresql.org
Subject: Re: [BUGS] BUG #2579: initcap should not capitalize letter

Good point. It is probably not possible to get
it perfect. But I think that possessives and
contractions occur more often in a typical body
of text than Irish names. So it would be right
more often, even if it is still wrong some of the time.

Dan Franklin

Two thoughts:

1) In English at least, it's only at the trailing end of a word that the
non-capitalization is clear (contractions, possessive, etc).

2) Proper names are unknowable as to what's appropriate and I posit that
there is no algorithm that works for names.

This leads to a conclusion: Never add capitalization inside a string of
letters.

Interesting, but it worth breaking Oracle compatibility for it?

--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +