Re: [BUGS] wrong behavior using to_char()

2006-09-16 Thread Jorge Godoy
Euler Taveira de Oliveira [EMAIL PROTECTED] writes:

 In the pt_BR locale, the thousand separator is . So it should return

The thousands separator in pt_BR is ..  

 12345,670. Looking at the source, I saw that the test cases for locale

This should be 12.345,670. 



-- 
Jorge Godoy  [EMAIL PROTECTED]

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


Re: [BUGS] wrong behavior using to_char()

2006-09-15 Thread Bruce Momjian
Peter Eisentraut wrote:
 Bruce Momjian wrote:
  One idea would be to handle C locale behavior differently from non-C
  locale.
 
 Right.

I am thinking this is eomthing for 8.3.

-- 
  Bruce Momjian   [EMAIL PROTECTED]
  EnterpriseDBhttp://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 [EMAIL PROTECTED] so that your
   message can get through to the mailing list cleanly


[BUGS] wrong behavior using to_char()

2006-09-14 Thread Euler Taveira de Oliveira
Hi,

I notice a strange behavior using to_char() function. I'm using locale
pt_BR but it could happen with any locale.


template1=# select to_char(12345.67, '999G999D999');
   to_char
--
   12,345,670
(1 registro)

In the pt_BR locale, the thousand separator is . So it should return
12345,670. Looking at the source, I saw that the test cases for locale
properties are independent among them. I think that the correct form is to
have all-or-nothing test case or didn't test *lconv-property ( is
evaluated to false). Attached is a patch that fixes it using the second
option.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/

x
Description: Binary data

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


Re: [BUGS] wrong behavior using to_char()

2006-09-14 Thread Tom Lane
Euler Taveira de Oliveira [EMAIL PROTECTED] writes:
 In the pt_BR locale, the thousand separator is . So it should return
 12345,670. Looking at the source, I saw that the test cases for locale
 properties are independent among them. I think that the correct form is to
 have all-or-nothing test case or didn't test *lconv-property ( is
 evaluated to false). Attached is a patch that fixes it using the second
 option.

Not unless you have a solution to the problem seen in this thread:
http://archives.postgresql.org/pgsql-patches/2006-02/msg00172.php

regards, tom lane

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

   http://www.postgresql.org/docs/faq


Re: [BUGS] wrong behavior using to_char()

2006-09-14 Thread Bruce Momjian
Tom Lane wrote:
 Euler Taveira de Oliveira [EMAIL PROTECTED] writes:
  In the pt_BR locale, the thousand separator is . So it should return
  12345,670. Looking at the source, I saw that the test cases for locale
  properties are independent among them. I think that the correct form is to
  have all-or-nothing test case or didn't test *lconv-property ( is
  evaluated to false). Attached is a patch that fixes it using the second
  option.
 
 Not unless you have a solution to the problem seen in this thread:
 http://archives.postgresql.org/pgsql-patches/2006-02/msg00172.php

I was going to point him to these commits to formatting.c:

date: 2006/02/12 23:48:23;  author: momjian;  state: Exp;  lines: +3 -4
Revert because C locale uses  for thousands_sep, meaning n/a, while
French uses  for don't want.  Seems we have to keep the existing
behavior.

revision 1.105
date: 2006/02/12 19:52:06;  author: momjian;  state: Exp;  lines: +5 -4
Support  for thousands separator and plus sign in to_char(), per
report from French Debian user.  psql already handles  fine.

One idea would be to handle C locale behavior differently from non-C
locale.

-- 
  Bruce Momjian   [EMAIL PROTECTED]
  EnterpriseDBhttp://www.enterprisedb.com

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

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

   http://archives.postgresql.org


Re: [BUGS] wrong behavior using to_char()

2006-09-14 Thread Peter Eisentraut
Bruce Momjian wrote:
 One idea would be to handle C locale behavior differently from non-C
 locale.

Right.

-- 
Peter Eisentraut
http://developer.postgresql.org/~petere/

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


Re: [BUGS] wrong behavior using to_char()

2006-09-14 Thread Euler Taveira de Oliveira
Jorge Godoy wrote:

  In the pt_BR locale, the thousand separator is . So it should return
 
 The thousands separator in pt_BR is ..  
 
Oh, good catch. There is so much hack in my glibc. :-)


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/


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