mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	fix migrate failed and org dashboard failed on MSSQL database (#1448)
This commit is contained in:
		
							
								
								
									
										37
									
								
								vendor/github.com/go-xorm/xorm/convert.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										37
									
								
								vendor/github.com/go-xorm/xorm/convert.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -247,3 +247,40 @@ func convertAssign(dest, src interface{}) error { | ||||
|  | ||||
| 	return fmt.Errorf("unsupported Scan, storing driver.Value type %T into type %T", src, dest) | ||||
| } | ||||
|  | ||||
| func asKind(vv reflect.Value, tp reflect.Type) (interface{}, error) { | ||||
| 	switch tp.Kind() { | ||||
| 	case reflect.Int64: | ||||
| 		return vv.Int(), nil | ||||
| 	case reflect.Int: | ||||
| 		return int(vv.Int()), nil | ||||
| 	case reflect.Int32: | ||||
| 		return int32(vv.Int()), nil | ||||
| 	case reflect.Int16: | ||||
| 		return int16(vv.Int()), nil | ||||
| 	case reflect.Int8: | ||||
| 		return int8(vv.Int()), nil | ||||
| 	case reflect.Uint64: | ||||
| 		return vv.Uint(), nil | ||||
| 	case reflect.Uint: | ||||
| 		return uint(vv.Uint()), nil | ||||
| 	case reflect.Uint32: | ||||
| 		return uint32(vv.Uint()), nil | ||||
| 	case reflect.Uint16: | ||||
| 		return uint16(vv.Uint()), nil | ||||
| 	case reflect.Uint8: | ||||
| 		return uint8(vv.Uint()), nil | ||||
| 	case reflect.String: | ||||
| 		return vv.String(), nil | ||||
| 	case reflect.Slice: | ||||
| 		if tp.Elem().Kind() == reflect.Uint8 { | ||||
| 			v, err := strconv.ParseInt(string(vv.Interface().([]byte)), 10, 64) | ||||
| 			if err != nil { | ||||
| 				return nil, err | ||||
| 			} | ||||
| 			return v, nil | ||||
| 		} | ||||
|  | ||||
| 	} | ||||
| 	return nil, fmt.Errorf("unsupported primary key type: %v, %v", tp, vv) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user