Discussion:
BUG #2579: initcap should not capitalize letter after apostrophe
Dan Franklin
2006-08-16 21:03:08 UTC
Permalink
The following bug has been logged online:

Bug reference: 2579
Logged by: Dan Franklin
Email address: ***@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.

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
t***@tuxteam.de
2006-08-17 19:08:37 UTC
Permalink
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Dan Franklin
Bug reference: 2579
Logged by: Dan Franklin
PostgreSQL version: 8.1.4
Operating system: GNU/Linux Fedora Core 5
Description: initcap should not capitalize letter after apostrophe
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-----


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

http://www.postgresql.org/docs/faq
Dan Franklin
2006-08-17 19:34:41 UTC
Permalink
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
Post by t***@tuxteam.de
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Dan Franklin
Bug reference: 2579
Logged by: Dan Franklin
PostgreSQL version: 8.1.4
Operating system: GNU/Linux Fedora Core 5
Description: initcap should not capitalize letter after apostrophe
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
2006-08-19 16:51:50 UTC
Permalink
Post by Dan Franklin
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?

---------------------------------------------------------------------------
Post by Dan Franklin
Dan Franklin
Post by t***@tuxteam.de
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Dan Franklin
Bug reference: 2579
Logged by: Dan Franklin
PostgreSQL version: 8.1.4
Operating system: GNU/Linux Fedora Core 5
Description: initcap should not capitalize letter after apostrophe
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 ***@momjian.us
EnterpriseDB http://www.enterprisedb.com

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

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to ***@postgresql.org so that your
message can get through to the mailing list cleanly
Stefan Kaltenbrunner
2006-08-19 17:32:56 UTC
Permalink
Post by Bruce Momjian
Post by Dan Franklin
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

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

http://archives.postgresql.org
Richard Troy
2006-08-19 17:34:21 UTC
Permalink
Date: Thu, 17 Aug 2006 15:34:41 -0400
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
Post by t***@tuxteam.de
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Dan Franklin
Bug reference: 2579
Logged by: Dan Franklin
PostgreSQL version: 8.1.4
Operating system: GNU/Linux Fedora Core 5
Description: initcap should not capitalize letter after apostrophe
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
***@ScienceTools.com, http://ScienceTools.com/


---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
Bruce Momjian
2006-08-19 18:21:11 UTC
Permalink
Post by Richard Troy
Date: Thu, 17 Aug 2006 15:34:41 -0400
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
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 ***@momjian.us
EnterpriseDB http://www.enterprisedb.com

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

---------------------------(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
Loading...