6064a7ab by slene

orm RawSeter readValues set nil when get NULL

1 parent 8f5ca303
...@@ -90,7 +90,7 @@ func (o *rawSet) readValues(container interface{}) (int64, error) { ...@@ -90,7 +90,7 @@ func (o *rawSet) readValues(container interface{}) (int64, error) {
90 case *ParamsList: 90 case *ParamsList:
91 typ = 3 91 typ = 3
92 default: 92 default:
93 panic(fmt.Sprintf("unsupport read values type `%T`", container)) 93 panic(fmt.Sprintf("<RawSeter> unsupport read values type `%T`", container))
94 } 94 }
95 95
96 query := o.query 96 query := o.query
...@@ -133,20 +133,32 @@ func (o *rawSet) readValues(container interface{}) (int64, error) { ...@@ -133,20 +133,32 @@ func (o *rawSet) readValues(container interface{}) (int64, error) {
133 params := make(Params, len(cols)) 133 params := make(Params, len(cols))
134 for i, ref := range refs { 134 for i, ref := range refs {
135 value := reflect.Indirect(reflect.ValueOf(ref)).Interface().(sql.NullString) 135 value := reflect.Indirect(reflect.ValueOf(ref)).Interface().(sql.NullString)
136 if value.Valid {
136 params[cols[i]] = value.String 137 params[cols[i]] = value.String
138 } else {
139 params[cols[i]] = nil
140 }
137 } 141 }
138 maps = append(maps, params) 142 maps = append(maps, params)
139 case 2: 143 case 2:
140 params := make(ParamsList, 0, len(cols)) 144 params := make(ParamsList, 0, len(cols))
141 for _, ref := range refs { 145 for _, ref := range refs {
142 value := reflect.Indirect(reflect.ValueOf(ref)).Interface().(sql.NullString) 146 value := reflect.Indirect(reflect.ValueOf(ref)).Interface().(sql.NullString)
147 if value.Valid {
143 params = append(params, value.String) 148 params = append(params, value.String)
149 } else {
150 params = append(params, nil)
151 }
144 } 152 }
145 lists = append(lists, params) 153 lists = append(lists, params)
146 case 3: 154 case 3:
147 for _, ref := range refs { 155 for _, ref := range refs {
148 value := reflect.Indirect(reflect.ValueOf(ref)).Interface().(sql.NullString) 156 value := reflect.Indirect(reflect.ValueOf(ref)).Interface().(sql.NullString)
157 if value.Valid {
149 list = append(list, value.String) 158 list = append(list, value.String)
159 } else {
160 list = append(list, nil)
161 }
150 } 162 }
151 } 163 }
152 164
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!