From: Marc G. Fournier Date: Tue, 13 Aug 1996 01:29:34 +0000 (+0000) Subject: Fixes: X-Git-Tag: Release_2_0~13 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=59f29714aa8d084bdb3f96b87ee03775d7e2b865;p=postgresql Fixes: This patch forces postgres95 to assume any floating-point value is a float8. It removes the requirement that you cast all floating-point constants to float8. We can remove alot of casts in the regression test after we are sure this works. If I have missed anything, would someone let me know. I have tested inserts of floating-point values into float8 fields, and it worked well. Casting the number to float4 showed the same precision loss as previous uncast values showed. Submitted by: Bruce Momjian --- diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 65ecfc376a..517c1a64ed 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.5 1996/08/06 16:43:06 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.6 1996/08/13 01:29:33 scrappy Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -2112,7 +2112,7 @@ xlateSqlType(char *name) return "int2"; else if (!strcasecmp(name, "float") || !strcasecmp(name, "real")) - return "float4"; + return "float8"; else return name; } diff --git a/src/backend/parser/parse_query.c b/src/backend/parser/parse_query.c index 974238aed4..600b7e7878 100644 --- a/src/backend/parser/parse_query.c +++ b/src/backend/parser/parse_query.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/Attic/parse_query.c,v 1.2 1996/07/19 07:24:09 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/Attic/parse_query.c,v 1.3 1996/08/13 01:29:34 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -594,13 +594,13 @@ make_const(Value *value) case T_Float: { - float32 dummy; - tp = type("float4"); + float64 dummy; + tp = type("float8"); - dummy = (float32)palloc(sizeof(float32data)); + dummy = (float64)palloc(sizeof(float64data)); *dummy = floatVal(value); - val = Float32GetDatum(dummy); + val = Float64GetDatum(dummy); } break;