2
0

Add binary encoding to date

This commit is contained in:
Jack Christensen
2014-06-25 18:47:20 -05:00
parent aa6e9d0ddf
commit 42c7e1bfce
2 changed files with 35 additions and 17 deletions
+8 -2
View File
@@ -109,8 +109,9 @@ func init() {
// date
ValueTranscoders[Oid(1082)] = &ValueTranscoder{
DecodeText: decodeDateFromText,
EncodeTo: encodeDate}
DecodeText: decodeDateFromText,
DecodeBinary: decodeDateFromBinary,
EncodeTo: encodeDate}
// timestamptz
ValueTranscoders[Oid(1184)] = &ValueTranscoder{
@@ -477,6 +478,11 @@ func decodeDateFromText(mr *MessageReader, size int32) interface{} {
return t
}
func decodeDateFromBinary(mr *MessageReader, size int32) interface{} {
dayOffset := mr.ReadInt32()
return time.Date(2000, 1, int(1+dayOffset), 0, 0, 0, 0, time.Local)
}
func encodeDate(w *WriteBuf, value interface{}) error {
t, ok := value.(time.Time)
if !ok {