@@ -22,6 +22,7 @@ type NullType struct {
22
22
Age sql.NullInt64
23
23
Height sql.NullFloat64
24
24
IsMan sql.NullBool `xorm:"null"`
25
+ Nil driver.Valuer
25
26
CustomStruct CustomStruct `xorm:"varchar(64) null"`
26
27
}
27
28
@@ -72,42 +73,42 @@ func TestNullStructInsert(t *testing.T) {
72
73
assert .NoError (t , prepareEngine ())
73
74
assertSync (t , new (NullType ))
74
75
75
- if true {
76
- item := new (NullType )
77
- _ , err := testEngine .Insert (item )
78
- assert .NoError (t , err )
79
- assert .EqualValues (t , 1 , item .Id )
76
+ item1 := new (NullType )
77
+ _ , err := testEngine .Insert (item1 )
78
+ assert .NoError (t , err )
79
+ assert .EqualValues (t , 1 , item1 .Id )
80
+
81
+ item := NullType {
82
+ Name : sql.NullString {String : "haolei" , Valid : true },
83
+ Age : sql.NullInt64 {Int64 : 34 , Valid : true },
84
+ Height : sql.NullFloat64 {Float64 : 1.72 , Valid : true },
85
+ IsMan : sql.NullBool {Bool : true , Valid : true },
86
+ Nil : nil ,
80
87
}
88
+ _ , err = testEngine .Insert (& item )
89
+ assert .NoError (t , err )
90
+ assert .EqualValues (t , 2 , item .Id )
81
91
82
- if true {
92
+ items := []NullType {}
93
+ for i := 0 ; i < 5 ; i ++ {
83
94
item := NullType {
84
- Name : sql.NullString {String : "haolei" , Valid : true },
85
- Age : sql.NullInt64 {Int64 : 34 , Valid : true },
86
- Height : sql.NullFloat64 {Float64 : 1.72 , Valid : true },
87
- IsMan : sql.NullBool {Bool : true , Valid : true },
95
+ Name : sql.NullString {String : "haolei_" + fmt .Sprint (i + 1 ), Valid : true },
96
+ Age : sql.NullInt64 {Int64 : 30 + int64 (i ), Valid : true },
97
+ Height : sql.NullFloat64 {Float64 : 1.5 + 1.1 * float64 (i ), Valid : true },
98
+ IsMan : sql.NullBool {Bool : true , Valid : true },
99
+ CustomStruct : CustomStruct {i , i + 1 , i + 2 },
100
+ Nil : nil ,
88
101
}
89
- _ , err := testEngine .Insert (& item )
90
- assert .NoError (t , err )
91
- assert .EqualValues (t , 2 , item .Id )
102
+ items = append (items , item )
92
103
}
93
104
94
- if true {
95
- items := []NullType {}
96
- for i := 0 ; i < 5 ; i ++ {
97
- item := NullType {
98
- Name : sql.NullString {String : "haolei_" + fmt .Sprint (i + 1 ), Valid : true },
99
- Age : sql.NullInt64 {Int64 : 30 + int64 (i ), Valid : true },
100
- Height : sql.NullFloat64 {Float64 : 1.5 + 1.1 * float64 (i ), Valid : true },
101
- IsMan : sql.NullBool {Bool : true , Valid : true },
102
- CustomStruct : CustomStruct {i , i + 1 , i + 2 },
103
- }
104
-
105
- items = append (items , item )
106
- }
105
+ _ , err = testEngine .Insert (& items )
106
+ assert .NoError (t , err )
107
107
108
- _ , err := testEngine .Insert (& items )
109
- assert .NoError (t , err )
110
- }
108
+ items = make ([]NullType , 0 , 7 )
109
+ err = testEngine .Find (& items )
110
+ assert .NoError (t , err )
111
+ assert .EqualValues (t , 7 , len (items ))
111
112
}
112
113
113
114
func TestNullStructUpdate (t * testing.T ) {
0 commit comments