The same issue as In #122
Creating a new one since got no response there. For any timestamp type with logicalType timestamp-millis, setting default value 0 (not a string), throws an error.
default value ought to encode using field schema...
In the linked ticket it seems people talk about strings being used as default for long timestamp.
Our use case is more valid where default 0 long does not work as expected.
Here is a small test to reproduce the issue.
package main_test
import (
"testing"
"github.com/linkedin/goavro/v2"
)
func TestNewCodec(t *testing.T) {
schema := `{
"type" : "record",
"name" : "schema",
"fields" : [{
"name" : "timestamp",
"type" : {
"type" : "long",
"logicalType" : "timestamp-millis"
},
"default" : 0
}]
}`
_, err := goavro.NewCodec(schema)
if err != nil {
t.Error(err)
}
}
The test fails with Record "schema" field "timestamp": default value ought to encode using field schema: cannot transform binary timestamp-millis, expected time.Time, received float64.
The same test does not fail when import path is changed to github.com/linkedin/goavro.
The same issue as In #122
Creating a new one since got no response there. For any timestamp type with
logicalTypetimestamp-millis, setting default value0(not a string), throws an error.In the linked ticket it seems people talk about strings being used as default for
longtimestamp.Our use case is more valid where default
0long does not work as expected.Here is a small test to reproduce the issue.
The test fails with
Record "schema" field "timestamp": default value ought to encode using field schema: cannot transform binary timestamp-millis, expected time.Time, received float64.The same test does not fail when import path is changed to
github.com/linkedin/goavro.