From 62dba1a94c4ed8daad5f3f4008ca285a6b2d48cb Mon Sep 17 00:00:00 2001 From: Jack Christensen <jack@jackchristensen.com> Date: Fri, 12 Jul 2013 17:30:45 -0400 Subject: [PATCH] Encode float params in binary --- value_transcoder.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/value_transcoder.go b/value_transcoder.go index af5cf2f2..b7edd0fe 100644 --- a/value_transcoder.go +++ b/value_transcoder.go @@ -61,13 +61,15 @@ func init() { valueTranscoders[oid(700)] = &valueTranscoder{ DecodeText: decodeFloat4FromText, DecodeBinary: decodeFloat4FromBinary, - EncodeTo: encodeFloat4} + EncodeTo: encodeFloat4, + EncodeFormat: 1} // float8 valueTranscoders[oid(701)] = &valueTranscoder{ DecodeText: decodeFloat8FromText, DecodeBinary: decodeFloat8FromBinary, - EncodeTo: encodeFloat8} + EncodeTo: encodeFloat8, + EncodeFormat: 1} // varchar -- same as text valueTranscoders[oid(1043)] = valueTranscoders[oid(25)] @@ -182,9 +184,8 @@ func decodeFloat4FromBinary(mr *MessageReader, size int32) interface{} { func encodeFloat4(w *messageWriter, value interface{}) { v := value.(float32) - s := strconv.FormatFloat(float64(v), 'e', -1, 32) - w.write(int32(len(s))) - w.writeString(s) + w.write(int32(4)) + w.write(v) } func decodeFloat8FromText(mr *MessageReader, size int32) interface{} { @@ -208,9 +209,8 @@ func decodeFloat8FromBinary(mr *MessageReader, size int32) interface{} { func encodeFloat8(w *messageWriter, value interface{}) { v := value.(float64) - s := strconv.FormatFloat(float64(v), 'e', -1, 64) - w.write(int32(len(s))) - w.writeString(s) + w.write(int32(8)) + w.write(v) } func decodeTextFromText(mr *MessageReader, size int32) interface{} {