@@ -302,8 +302,8 @@ func (t numberT) Type() query.Type {
302
302
303
303
// SQL implements Type interface.
304
304
func (t numberT ) SQL (v interface {}) (sqltypes.Value , error ) {
305
- if _ , ok := v .( nullT ); ok {
306
- return sqltypes .NULL , nil
305
+ if v == nil {
306
+ return sqltypes .MakeTrusted ( t . t , nil ) , nil
307
307
}
308
308
309
309
switch t .t {
@@ -428,8 +428,8 @@ var TimestampLayouts = []string{
428
428
429
429
// SQL implements Type interface.
430
430
func (t timestampT ) SQL (v interface {}) (sqltypes.Value , error ) {
431
- if _ , ok := v .( nullT ); ok {
432
- return sqltypes .NULL , nil
431
+ if v == nil {
432
+ return sqltypes .MakeTrusted ( sqltypes . Timestamp , nil ) , nil
433
433
}
434
434
435
435
v , err := t .Convert (v )
@@ -504,8 +504,8 @@ func (t dateT) Type() query.Type {
504
504
}
505
505
506
506
func (t dateT ) SQL (v interface {}) (sqltypes.Value , error ) {
507
- if _ , ok := v .( nullT ); ok {
508
- return sqltypes .NULL , nil
507
+ if v == nil {
508
+ return sqltypes .MakeTrusted ( sqltypes . Timestamp , nil ) , nil
509
509
}
510
510
511
511
v , err := t .Convert (v )
@@ -561,8 +561,8 @@ func (t textT) Type() query.Type {
561
561
562
562
// SQL implements Type interface.
563
563
func (t textT ) SQL (v interface {}) (sqltypes.Value , error ) {
564
- if _ , ok := v .( nullT ); ok {
565
- return sqltypes .NULL , nil
564
+ if v == nil {
565
+ return sqltypes .MakeTrusted ( sqltypes . Text , nil ) , nil
566
566
}
567
567
568
568
v , err := t .Convert (v )
@@ -598,8 +598,8 @@ func (t booleanT) Type() query.Type {
598
598
599
599
// SQL implements Type interface.
600
600
func (t booleanT ) SQL (v interface {}) (sqltypes.Value , error ) {
601
- if _ , ok := v .( nullT ); ok {
602
- return sqltypes .NULL , nil
601
+ if v == nil {
602
+ return sqltypes .MakeTrusted ( sqltypes . Bit , nil ) , nil
603
603
}
604
604
605
605
b := []byte {'0' }
@@ -670,8 +670,8 @@ func (t blobT) Type() query.Type {
670
670
671
671
// SQL implements Type interface.
672
672
func (t blobT ) SQL (v interface {}) (sqltypes.Value , error ) {
673
- if _ , ok := v .( nullT ); ok {
674
- return sqltypes .NULL , nil
673
+ if v == nil {
674
+ return sqltypes .MakeTrusted ( sqltypes . Blob , nil ) , nil
675
675
}
676
676
677
677
v , err := t .Convert (v )
@@ -714,8 +714,8 @@ func (t jsonT) Type() query.Type {
714
714
715
715
// SQL implements Type interface.
716
716
func (t jsonT ) SQL (v interface {}) (sqltypes.Value , error ) {
717
- if _ , ok := v .( nullT ); ok {
718
- return sqltypes .NULL , nil
717
+ if v == nil {
718
+ return sqltypes .MakeTrusted ( sqltypes . TypeJSON , nil ) , nil
719
719
}
720
720
721
721
v , err := t .Convert (v )
@@ -760,10 +760,6 @@ func (t tupleT) Type() query.Type {
760
760
}
761
761
762
762
func (t tupleT ) SQL (v interface {}) (sqltypes.Value , error ) {
763
- if _ , ok := v .(nullT ); ok {
764
- return sqltypes .NULL , nil
765
- }
766
-
767
763
return sqltypes.Value {}, fmt .Errorf ("unable to convert tuple type to SQL" )
768
764
}
769
765
@@ -825,8 +821,8 @@ func (t arrayT) Type() query.Type {
825
821
}
826
822
827
823
func (t arrayT ) SQL (v interface {}) (sqltypes.Value , error ) {
828
- if _ , ok := v .( nullT ); ok {
829
- return sqltypes .NULL , nil
824
+ if v == nil {
825
+ return sqltypes .MakeTrusted ( sqltypes . TypeJSON , nil ) , nil
830
826
}
831
827
832
828
v , err := t .Convert (v )
0 commit comments