提交 59f29714 编写于 作者: M 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>
上级 9b7eb28e
......@@ -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;
}
......
......@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册