@@ -3,98 +3,46 @@ package sql
33import (
44 "fmt"
55
6- "github.com/dolthub/vitess/go/vt/proto/query"
7-
86 "github.com/dolthub/go-mysql-server/sql/values"
7+
8+ "github.com/dolthub/vitess/go/sqltypes"
9+ "github.com/dolthub/vitess/go/vt/proto/query"
910)
1011
1112// ConvertToValue converts the interface to a sql value.
12- func ConvertToValue (v interface {}) (Value , error ) {
13+ func ConvertToValue (v interface {}) (sqltypes. Value , error ) {
1314 switch v := v .(type ) {
1415 case nil :
15- return Value {
16- Typ : query .Type_NULL_TYPE ,
17- Val : nil ,
18- }, nil
16+ return sqltypes .MakeTrusted (query .Type_NULL_TYPE , nil ), nil
1917 case int :
20- return Value {
21- Typ : query .Type_INT64 ,
22- Val : values .WriteInt64 (make ([]byte , values .Int64Size ), int64 (v )),
23- }, nil
18+ return sqltypes .MakeTrusted (query .Type_INT64 , values .WriteInt64 (make ([]byte , values .Int64Size ), int64 (v ))), nil
2419 case int8 :
25- return Value {
26- Typ : query .Type_INT8 ,
27- Val : values .WriteInt8 (make ([]byte , values .Int8Size ), v ),
28- }, nil
20+ return sqltypes .MakeTrusted (query .Type_INT8 , values .WriteInt8 (make ([]byte , values .Int8Size ), v )), nil
2921 case int16 :
30- return Value {
31- Typ : query .Type_INT16 ,
32- Val : values .WriteInt16 (make ([]byte , values .Int16Size ), v ),
33- }, nil
22+ return sqltypes .MakeTrusted (query .Type_INT16 , values .WriteInt16 (make ([]byte , values .Int16Size ), v )), nil
3423 case int32 :
35- return Value {
36- Typ : query .Type_INT32 ,
37- Val : values .WriteInt32 (make ([]byte , values .Int32Size ), v ),
38- }, nil
24+ return sqltypes .MakeTrusted (query .Type_INT32 , values .WriteInt32 (make ([]byte , values .Int32Size ), v )), nil
3925 case int64 :
40- return Value {
41- Typ : query .Type_INT64 ,
42- Val : values .WriteInt64 (make ([]byte , values .Int64Size ), v ),
43- }, nil
26+ return sqltypes .MakeTrusted (query .Type_INT64 , values .WriteInt64 (make ([]byte , values .Int64Size ), v )), nil
4427 case uint :
45- return Value {
46- Typ : query .Type_UINT64 ,
47- Val : values .WriteUint64 (make ([]byte , values .Uint64Size ), uint64 (v )),
48- }, nil
28+ return sqltypes .MakeTrusted (query .Type_UINT64 , values .WriteUint64 (make ([]byte , values .Uint64Size ), uint64 (v ))), nil
4929 case uint8 :
50- return Value {
51- Typ : query .Type_UINT8 ,
52- Val : values .WriteUint8 (make ([]byte , values .Uint8Size ), v ),
53- }, nil
30+ return sqltypes .MakeTrusted (query .Type_UINT8 , values .WriteUint8 (make ([]byte , values .Uint8Size ), v )), nil
5431 case uint16 :
55- return Value {
56- Typ : query .Type_UINT16 ,
57- Val : values .WriteUint16 (make ([]byte , values .Uint16Size ), v ),
58- }, nil
32+ return sqltypes .MakeTrusted (query .Type_UINT16 , values .WriteUint16 (make ([]byte , values .Uint16Size ), v )), nil
5933 case uint32 :
60- return Value {
61- Typ : query .Type_UINT32 ,
62- Val : values .WriteUint32 (make ([]byte , values .Uint32Size ), v ),
63- }, nil
34+ return sqltypes .MakeTrusted (query .Type_UINT32 , values .WriteUint32 (make ([]byte , values .Uint32Size ), v )), nil
6435 case uint64 :
65- return Value {
66- Typ : query .Type_UINT64 ,
67- Val : values .WriteUint64 (make ([]byte , values .Uint64Size ), v ),
68- }, nil
36+ return sqltypes .MakeTrusted (query .Type_UINT64 , values .WriteUint64 (make ([]byte , values .Uint64Size ), v )), nil
6937 case float32 :
70- return Value {
71- Typ : query .Type_FLOAT32 ,
72- Val : values .WriteFloat32 (make ([]byte , values .Float32Size ), v ),
73- }, nil
38+ return sqltypes .MakeTrusted (query .Type_FLOAT32 , values .WriteFloat32 (make ([]byte , values .Float32Size ), v )), nil
7439 case float64 :
75- return Value {
76- Typ : query .Type_FLOAT64 ,
77- Val : values .WriteFloat64 (make ([]byte , values .Float64Size ), v ),
78- }, nil
40+ return sqltypes .MakeTrusted (query .Type_FLOAT64 , values .WriteFloat64 (make ([]byte , values .Float64Size ), v )), nil
7941 case string :
80- return Value {
81- Typ : query .Type_VARCHAR ,
82- Val : values .WriteString (make ([]byte , len (v )), v , values .ByteOrderCollation ),
83- }, nil
42+ return sqltypes .MakeTrusted (query .Type_VARCHAR , values .WriteString (make ([]byte , len (v )), v , values .ByteOrderCollation )), nil
8443 case []byte :
85- return Value {
86- Typ : query .Type_BLOB ,
87- Val : values .WriteBytes (make ([]byte , len (v )), v , values .ByteOrderCollation ),
88- }, nil
44+ return sqltypes .MakeTrusted (query .Type_BLOB , values .WriteBytes (make ([]byte , len (v )), v , values .ByteOrderCollation )), nil
8945 default :
90- return Value {}, fmt .Errorf ("type %T not implemented" , v )
91- }
92- }
93-
94- func MustConvertToValue (v interface {}) Value {
95- ret , err := ConvertToValue (v )
96- if err != nil {
97- panic (err )
46+ return sqltypes.Value {}, fmt .Errorf ("type %T not implemented" , v )
9847 }
99- return ret
10048}
0 commit comments