You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
} elseifb, ok:=mapValue[column].(sql.RawBytes); ok {
This behaviour was introduced in 2020 and actually it's not clear why it do so.
I thing it's logical that if db value is sql.RawBytes, then it should return []byte, not string, because you can have arbitrary byte array there that during scanning should not change to other type.
go-sqlite return sql.RawBytes as type for BLOB which is https://www.sqlite.org/datatype3.html – The value is a blob of data, stored exactly as it was input.
But together with GORM if dest is map[string]interface{} we get string instead
The text was updated successfully, but these errors were encountered:
The issue has been automatically marked as stale as it missing playground pull request link, which is important to help others understand your issue effectively and make sure the issue hasn't been fixed on latest master, checkout https://github.com/go-gorm/playground for details. it will be closed in 30 days if no further activity occurs. if you are asking question, please use the Question template, most likely your question already answered https://github.com/go-gorm/gorm/issues or described in the document https://gorm.io ✨ Search Before Asking ✨
GORM Playground Link
Description
I find out that GORM cast byte arrays to strings, if
ColumnTypeScanType
returns sql.RawBytes.gorm/scan.go
Line 44 in 0daaf17
This behaviour was introduced in 2020 and actually it's not clear why it do so.
I thing it's logical that if db value is sql.RawBytes, then it should return
[]byte
, not string, because you can have arbitrary byte array there that during scanning should not change to other type.go-sqlite return
sql.RawBytes
as type for BLOB which is https://www.sqlite.org/datatype3.html –The value is a blob of data, stored exactly as it was input.
But together with GORM if dest is
map[string]interface{}
we get string insteadThe text was updated successfully, but these errors were encountered: