Open radeusgd opened 1 year ago
I think this task is kind of blocked by waiting for new database integrations.
That is because our current two backends do not really support a Byte
type:
Integer 64-bit
.So I think it will only matter once we actually have a Database that can store 8-bit integers, e.g. SQL Server that has tinyint
.
It may make sense to tackle the task earlier to ensure we don't introduce a breaking change later (changing the range on Value_Type.Byte
from current -128
to 127
to 0-255
), though.
Just changing the 'working range' should actually be trivial with the current implementation that stores everything as a long
. It can easily be done in probably less than half a day. So we may consider doing this change right away and then doing a separate integration once we have a Byte
supporting DB backend.
Need to review that round trip is possible.
Should get the value from a byte column as a 0-255 (stored as a long behind the scenes). Need to be able to write back to same DB tech with same type.
It is on hold as no backend currently supported which has a byte type.
We have a
Value_Type.Byte
which is a special type used to represent small 8-bit integers.Most database systems will treat such type as an
unsigned byte
with the range of values being0-255
. However, our in-memory backend currently relies on Java's defaults where all numeric types are signed and thebyte
values are actually-128
to127
. This is not consistent with databases.Value_Type.Byte
actually represents the0-255
range.byte
type but that Enso will see it asInteger
in range0-255
).Value_Type.Byte
defines how it is supposed to behave (e.g.0-255
regardless of backend/platform).