@@ -2733,6 +2733,9 @@ func TestRowsColumnTypes(t *testing.T) {
2733
2733
rb0pad4 := sql .RawBytes ("0\x00 \x00 \x00 " ) // BINARY right-pads values with 0x00
2734
2734
rbx0 := sql .RawBytes ("\x00 " )
2735
2735
rbx42 := sql .RawBytes ("\x42 " )
2736
+ s0 := sql.NullString {String : "0" , Valid : true }
2737
+ sNULL := sql.NullString {String : "" , Valid : false }
2738
+ sTest := sql.NullString {String : "Test" , Valid : true }
2736
2739
2737
2740
var columns = []struct {
2738
2741
name string
@@ -2771,18 +2774,18 @@ func TestRowsColumnTypes(t *testing.T) {
2771
2774
{"decimal2null" , "DECIMAL(8,4)" , "DECIMAL" , scanTypeRawBytes , true , 8 , 4 , [3 ]string {"0" , "NULL" , "1234.123456" }, [3 ]interface {}{sql .RawBytes ("0.0000" ), rbNULL , sql .RawBytes ("1234.1235" )}},
2772
2775
{"decimal3" , "DECIMAL(5,0) NOT NULL" , "DECIMAL" , scanTypeRawBytes , false , 5 , 0 , [3 ]string {"0" , "13.37" , "-12345.123456" }, [3 ]interface {}{rb0 , sql .RawBytes ("13" ), sql .RawBytes ("-12345" )}},
2773
2776
{"decimal3null" , "DECIMAL(5,0)" , "DECIMAL" , scanTypeRawBytes , true , 5 , 0 , [3 ]string {"0" , "NULL" , "-12345.123456" }, [3 ]interface {}{rb0 , rbNULL , sql .RawBytes ("-12345" )}},
2774
- {"char25null" , "CHAR(25)" , "CHAR" , scanTypeRawBytes , true , 0 , 0 , [3 ]string {"0" , "NULL" , "'Test'" }, [3 ]interface {}{rb0 , rbNULL , rbTest }},
2775
- {"varchar42" , "VARCHAR(42) NOT NULL" , "VARCHAR" , scanTypeRawBytes , false , 0 , 0 , [3 ]string {"0" , "'Test'" , "42" }, [3 ]interface {}{rb0 , rbTest , rb42 }},
2777
+ {"char25null" , "CHAR(25)" , "CHAR" , scanTypeNullString , true , 0 , 0 , [3 ]string {"0" , "NULL" , "'Test'" }, [3 ]interface {}{s0 , sNULL , sTest }},
2778
+ {"varchar42" , "VARCHAR(42) NOT NULL" , "VARCHAR" , scanTypeString , false , 0 , 0 , [3 ]string {"0" , "'Test'" , "42" }, [3 ]interface {}{"0" , "Test" , "42" }},
2776
2779
{"binary4null" , "BINARY(4)" , "BINARY" , scanTypeRawBytes , true , 0 , 0 , [3 ]string {"0" , "NULL" , "'Test'" }, [3 ]interface {}{rb0pad4 , rbNULL , rbTest }},
2777
2780
{"varbinary42" , "VARBINARY(42) NOT NULL" , "VARBINARY" , scanTypeRawBytes , false , 0 , 0 , [3 ]string {"0" , "'Test'" , "42" }, [3 ]interface {}{rb0 , rbTest , rb42 }},
2778
2781
{"tinyblobnull" , "TINYBLOB" , "BLOB" , scanTypeRawBytes , true , 0 , 0 , [3 ]string {"0" , "NULL" , "'Test'" }, [3 ]interface {}{rb0 , rbNULL , rbTest }},
2779
- {"tinytextnull" , "TINYTEXT" , "TEXT" , scanTypeRawBytes , true , 0 , 0 , [3 ]string {"0" , "NULL" , "'Test'" }, [3 ]interface {}{rb0 , rbNULL , rbTest }},
2782
+ {"tinytextnull" , "TINYTEXT" , "TEXT" , scanTypeNullString , true , 0 , 0 , [3 ]string {"0" , "NULL" , "'Test'" }, [3 ]interface {}{s0 , sNULL , sTest }},
2780
2783
{"blobnull" , "BLOB" , "BLOB" , scanTypeRawBytes , true , 0 , 0 , [3 ]string {"0" , "NULL" , "'Test'" }, [3 ]interface {}{rb0 , rbNULL , rbTest }},
2781
- {"textnull" , "TEXT" , "TEXT" , scanTypeRawBytes , true , 0 , 0 , [3 ]string {"0" , "NULL" , "'Test'" }, [3 ]interface {}{rb0 , rbNULL , rbTest }},
2784
+ {"textnull" , "TEXT" , "TEXT" , scanTypeNullString , true , 0 , 0 , [3 ]string {"0" , "NULL" , "'Test'" }, [3 ]interface {}{s0 , sNULL , sTest }},
2782
2785
{"mediumblob" , "MEDIUMBLOB NOT NULL" , "BLOB" , scanTypeRawBytes , false , 0 , 0 , [3 ]string {"0" , "'Test'" , "42" }, [3 ]interface {}{rb0 , rbTest , rb42 }},
2783
- {"mediumtext" , "MEDIUMTEXT NOT NULL" , "TEXT" , scanTypeRawBytes , false , 0 , 0 , [3 ]string {"0" , "'Test'" , "42" }, [3 ]interface {}{rb0 , rbTest , rb42 }},
2786
+ {"mediumtext" , "MEDIUMTEXT NOT NULL" , "TEXT" , scanTypeString , false , 0 , 0 , [3 ]string {"0" , "'Test'" , "42" }, [3 ]interface {}{"0" , "Test" , "42" }},
2784
2787
{"longblob" , "LONGBLOB NOT NULL" , "BLOB" , scanTypeRawBytes , false , 0 , 0 , [3 ]string {"0" , "'Test'" , "42" }, [3 ]interface {}{rb0 , rbTest , rb42 }},
2785
- {"longtext" , "LONGTEXT NOT NULL" , "TEXT" , scanTypeRawBytes , false , 0 , 0 , [3 ]string {"0" , "'Test'" , "42" }, [3 ]interface {}{rb0 , rbTest , rb42 }},
2788
+ {"longtext" , "LONGTEXT NOT NULL" , "TEXT" , scanTypeString , false , 0 , 0 , [3 ]string {"0" , "'Test'" , "42" }, [3 ]interface {}{"0" , "Test" , "42" }},
2786
2789
{"datetime" , "DATETIME" , "DATETIME" , scanTypeNullTime , true , 0 , 0 , [3 ]string {"'2006-01-02 15:04:05'" , "'2006-01-02 15:04:05.1'" , "'2006-01-02 15:04:05.111111'" }, [3 ]interface {}{nt0 , nt0 , nt0 }},
2787
2790
{"datetime2" , "DATETIME(2)" , "DATETIME" , scanTypeNullTime , true , 2 , 2 , [3 ]string {"'2006-01-02 15:04:05'" , "'2006-01-02 15:04:05.1'" , "'2006-01-02 15:04:05.111111'" }, [3 ]interface {}{nt0 , nt1 , nt2 }},
2788
2791
{"datetime6" , "DATETIME(6)" , "DATETIME" , scanTypeNullTime , true , 6 , 6 , [3 ]string {"'2006-01-02 15:04:05'" , "'2006-01-02 15:04:05.1'" , "'2006-01-02 15:04:05.111111'" }, [3 ]interface {}{nt0 , nt1 , nt6 }},
0 commit comments