Обсуждение: BUG #2579: initcap should not capitalize letter after apostrophe
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.
-----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-----
Good point. It is probably not possible to get=20 it perfect. But I think that possessives and=20 contractions occur more often in a typical body=20 of text than Irish names. So it would be right=20 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 apostrop= he > > Details: > > > > The statement > > select initcap('John''s Parents'); > > returns > > John'S Parents > > > > The capital "S" after the apostrophe is incorrect. initcap should cons= ider > > 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=C3=83=C2=A1s >-----BEGIN PGP SIGNATURE----- >Version: GnuPG v1.4.1 (GNU/Linux) > >iD8DBQFE5L60Bcgs9XrR2kYRArkQAKCBI9uYSUckPWL6jzB3PFBXNAlwSgCeOoJx >NIBRgQZYqRajtx8HrUnW1Hs=3D >=3DGI/E >-----END PGP SIGNATURE----- Dan Franklin Family Education Network Pearson Education 617-671-3799=20
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. +
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
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/
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. +