aboutsummaryrefslogtreecommitdiffstats
path: root/core/vm/sqlvm/schema/schema.go
diff options
context:
space:
mode:
Diffstat (limited to 'core/vm/sqlvm/schema/schema.go')
-rw-r--r--core/vm/sqlvm/schema/schema.go24
1 files changed, 13 insertions, 11 deletions
diff --git a/core/vm/sqlvm/schema/schema.go b/core/vm/sqlvm/schema/schema.go
index 1ebb96fa3..1e87d88cf 100644
--- a/core/vm/sqlvm/schema/schema.go
+++ b/core/vm/sqlvm/schema/schema.go
@@ -14,8 +14,10 @@ import (
// Error defines for encode and decode.
var (
- ErrEncodeUnexpectedType = errors.New("encode unexpected type")
- ErrDecodeUnexpectedType = errors.New("decode unexpected type")
+ ErrEncodeUnexpectedDataType = errors.New("encode unexpected data type")
+ ErrEncodeUnexpectedDefaultType = errors.New("encode unexpected default type")
+ ErrDecodeUnexpectedDataType = errors.New("decode unexpected data type")
+ ErrDecodeUnexpectedDefaultType = errors.New("decode unexpected default type")
)
// ColumnAttr defines bit flags for describing column attribute.
@@ -208,13 +210,13 @@ func (c Column) EncodeRLP(w io.Writer) error {
case []byte:
c.Rest = d
case decimal.Decimal:
- var err error
- c.Rest, err = ast.DecimalEncode(c.Type, d)
- if err != nil {
- return err
+ var ok bool
+ c.Rest, ok = ast.DecimalEncode(c.Type, d)
+ if !ok {
+ return ErrEncodeUnexpectedDataType
}
default:
- return ErrEncodeUnexpectedType
+ return ErrEncodeUnexpectedDefaultType
}
} else {
c.Rest = nil
@@ -249,14 +251,14 @@ func (c *Column) DecodeRLP(s *rlp.Stream) error {
case ast.DataTypeMajorFixedBytes, ast.DataTypeMajorDynamicBytes:
c.Default = rest
default:
- d, err := ast.DecimalDecode(c.Type, rest)
- if err != nil {
- return err
+ d, ok := ast.DecimalDecode(c.Type, rest)
+ if !ok {
+ return ErrDecodeUnexpectedDataType
}
c.Default = d
}
default:
- return ErrDecodeUnexpectedType
+ return ErrDecodeUnexpectedDefaultType
}
return nil