No title

Started by Ana Claudiaover 24 years ago3 messagesbugs
Jump to latest
#1Ana Claudia
ana-b-dias@ptinovacao.pt

Hello,

Usually, I use Oracle for develop database application. However, I
change my computer to Linux system (Mandrake 8) and I decide change database
to Postgresql.
In Oracle when I create a table where a colum is a char(n) or varchar(n), if
I try to insert in this table value bigger than n , I get an error. That
doesn't happen in Postgresql, if I try to insert a value bigger than n, it's
accept because trunk the value. I don't want that, if the value is bigger I
want an error. I created a check constraint with the function [char_length
(parameter) < (n+1)] but still not working. Can you help me to resolve this
problem? The version of Postgresql that I have is 7.1.2.

Best Regards,
Cl�udia

Portugal

#2Bruce Momjian
bruce@momjian.us
In reply to: Ana Claudia (#1)
Re:

This will be fixed in the 7.2 release.

Hello,

Usually, I use Oracle for develop database application. However, I
change my computer to Linux system (Mandrake 8) and I decide change database
to Postgresql.
In Oracle when I create a table where a colum is a char(n) or varchar(n), if
I try to insert in this table value bigger than n , I get an error. That
doesn't happen in Postgresql, if I try to insert a value bigger than n, it's
accept because trunk the value. I don't want that, if the value is bigger I
want an error. I created a check constraint with the function [char_length
(parameter) < (n+1)] but still not working. Can you help me to resolve this
problem? The version of Postgresql that I have is 7.1.2.

Best Regards,
Cl?udia

Portugal

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

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#3Stephan Szabo
sszabo@megazone23.bigpanda.com
In reply to: Ana Claudia (#1)
Re:

On Mon, 24 Sep 2001, Ana Claudia wrote:

Hello,

Usually, I use Oracle for develop database application. However, I
change my computer to Linux system (Mandrake 8) and I decide change database
to Postgresql.
In Oracle when I create a table where a colum is a char(n) or varchar(n), if
I try to insert in this table value bigger than n , I get an error. That
doesn't happen in Postgresql, if I try to insert a value bigger than n, it's
accept because trunk the value. I don't want that, if the value is bigger I
want an error. I created a check constraint with the function [char_length
(parameter) < (n+1)] but still not working. Can you help me to resolve this
problem? The version of Postgresql that I have is 7.1.2.

I believe this will be fixed in the upcoming 7.2 release. The reason the
constraint doesn't work is probably that the truncation happens before the
check.