| |
| |
| |
|
|
| package db |
|
|
| import ( |
| "database/sql" |
| ) |
|
|
| |
| func SetColVarType(colVar *[]interface{}, i int, typeName string) { |
| dt := DT(typeName) |
| switch { |
| case Contains(dt, BoolTypeList): |
| var s sql.NullBool |
| (*colVar)[i] = &s |
| case Contains(dt, IntTypeList): |
| var s sql.NullInt64 |
| (*colVar)[i] = &s |
| case Contains(dt, FloatTypeList): |
| var s sql.NullFloat64 |
| (*colVar)[i] = &s |
| case Contains(dt, UintTypeList): |
| var s []uint8 |
| (*colVar)[i] = &s |
| case Contains(dt, StringTypeList): |
| var s sql.NullString |
| (*colVar)[i] = &s |
| default: |
| var s interface{} |
| (*colVar)[i] = &s |
| } |
| } |
|
|
| |
| func SetResultValue(result *map[string]interface{}, index string, colVar interface{}, typeName string) { |
| dt := DT(typeName) |
| switch { |
| case Contains(dt, BoolTypeList): |
| temp := *(colVar.(*sql.NullBool)) |
| if temp.Valid { |
| (*result)[index] = temp.Bool |
| } else { |
| (*result)[index] = nil |
| } |
| case Contains(dt, IntTypeList): |
| temp := *(colVar.(*sql.NullInt64)) |
| if temp.Valid { |
| (*result)[index] = temp.Int64 |
| } else { |
| (*result)[index] = nil |
| } |
| case Contains(dt, FloatTypeList): |
| temp := *(colVar.(*sql.NullFloat64)) |
| if temp.Valid { |
| (*result)[index] = temp.Float64 |
| } else { |
| (*result)[index] = nil |
| } |
| case Contains(dt, UintTypeList): |
| (*result)[index] = *(colVar.(*[]uint8)) |
| case Contains(dt, StringTypeList): |
| temp := *(colVar.(*sql.NullString)) |
| if temp.Valid { |
| (*result)[index] = temp.String |
| } else { |
| (*result)[index] = nil |
| } |
| default: |
| if colVar2, ok := colVar.(*interface{}); ok { |
| if colVar, ok = (*colVar2).(int64); ok { |
| (*result)[index] = colVar |
| } else if colVar, ok = (*colVar2).(string); ok { |
| (*result)[index] = colVar |
| } else if colVar, ok = (*colVar2).(float64); ok { |
| (*result)[index] = colVar |
| } else if colVar, ok = (*colVar2).([]uint8); ok { |
| (*result)[index] = colVar |
| } else { |
| (*result)[index] = colVar |
| } |
| } |
| } |
| } |
|
|