Commit 59f29714 authored by Marc G. Fournier's avatar Marc G. Fournier

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 <maillist@candle.pha.pa.us>
parent 9b7eb28e
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* *
* *
* IDENTIFICATION * 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 * HISTORY
* AUTHOR DATE MAJOR EVENT * AUTHOR DATE MAJOR EVENT
...@@ -2112,7 +2112,7 @@ xlateSqlType(char *name) ...@@ -2112,7 +2112,7 @@ xlateSqlType(char *name)
return "int2"; return "int2";
else if (!strcasecmp(name, "float") || else if (!strcasecmp(name, "float") ||
!strcasecmp(name, "real")) !strcasecmp(name, "real"))
return "float4"; return "float8";
else else
return name; return name;
} }
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * 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) ...@@ -594,13 +594,13 @@ make_const(Value *value)
case T_Float: case T_Float:
{ {
float32 dummy; float64 dummy;
tp = type("float4"); tp = type("float8");
dummy = (float32)palloc(sizeof(float32data)); dummy = (float64)palloc(sizeof(float64data));
*dummy = floatVal(value); *dummy = floatVal(value);
val = Float32GetDatum(dummy); val = Float64GetDatum(dummy);
} }
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment