@@ -24,7 +24,7 @@ import (
2424)
2525
2626type dataConverter interface {
27- Data () map [string ]interface {}
27+ Data () ( map [string ]interface {}, error )
2828}
2929
3030// Iterator for MySQL result set
@@ -59,7 +59,10 @@ func (it *Iterator) Cursor() (string, error) {
5959 return "" , datastore .ErrInvalidCursor
6060 }
6161
62- lastObjData := it .last .Data ()
62+ lastObjData , err := it .last .Data ()
63+ if err != nil {
64+ return "" , err
65+ }
6366
6467 cursor := make (map [string ]interface {}, len (it .orders ))
6568 for _ , o := range it .orders {
@@ -80,11 +83,13 @@ type rowDataConverter struct {
8083}
8184
8285// Data make JSON object with key in CamelCase format.
83- func (r * rowDataConverter ) Data () map [string ]interface {} {
86+ func (r * rowDataConverter ) Data () ( map [string ]interface {}, error ) {
8487 jsonRaw := convertKeys (json .RawMessage (r .val ), convertSnakeToCamel )
8588 obj := make (map [string ]interface {})
86- json .Unmarshal (jsonRaw , & obj )
87- return obj
89+ if err := json .Unmarshal (jsonRaw , & obj ); err != nil {
90+ return nil , err
91+ }
92+ return obj , nil
8893}
8994
9095// convertKeys convert all keys of json object with convert function.
0 commit comments