(dataType dataType, value interface{})
| 149 | } |
| 150 | |
| 151 | func getValue(dataType dataType, value interface{}) (string, error) { |
| 152 | if value == nil { |
| 153 | return "", errors.Errorf("nil value found") |
| 154 | } |
| 155 | |
| 156 | switch dataType { |
| 157 | case stringType: |
| 158 | return fmt.Sprintf("%s", value), nil |
| 159 | case intType: |
| 160 | if !value.(sql.NullInt64).Valid { |
| 161 | return "", errors.Errorf("found invalid nullint") |
| 162 | } |
| 163 | intVal, _ := value.(sql.NullInt64).Value() |
| 164 | return fmt.Sprintf("%v", intVal), nil |
| 165 | case datetimeType: |
| 166 | if !value.(mysql.NullTime).Valid { |
| 167 | return "", errors.Errorf("found invalid nulltime") |
| 168 | } |
| 169 | dateVal, _ := value.(mysql.NullTime).Value() |
| 170 | return fmt.Sprintf("%v", dateVal), nil |
| 171 | case floatType: |
| 172 | if !value.(sql.NullFloat64).Valid { |
| 173 | return "", errors.Errorf("found invalid nullfloat") |
| 174 | } |
| 175 | floatVal, _ := value.(sql.NullFloat64).Value() |
| 176 | return fmt.Sprintf("%v", floatVal), nil |
| 177 | default: |
| 178 | return fmt.Sprintf("%v", value), nil |
| 179 | } |
| 180 | } |
| 181 | |
| 182 | type ref struct { |
| 183 | allColumns map[string]*columnInfo |
no test coverage detected