** Changed in: tarantool
Milestone: None => 1.5.2
** Changed in: tarantool
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Tarantool
Development Team, which is subscribed to tarantool.
https://bugs.launchpad.net/bugs/1100759
Title:
box.pack / box.unpack handle negative numbers incorrectly
Status in Tarantool - an efficient in-memory data store:
Fix Released
Bug description:
lua box.insert(23, 0, bit.lshift(1, 31))
---
error: 'Supplied key field type does not match index type: expected u32'
localhost> lua box.insert(23, 0, -1)
---
error: 'Supplied key field type does not match index type: expected u32'
...
localhost> lua #box.pack("p", -1)
---
- 9 <!-- must be 5 (was packetd as uint64)
...
lua box.unpack("wi", box.pack("p", -1))
---
error: 'box.unpack(''wi''): too many bytes: unpacked 5, total 9'
...
lua box.unpack("wl", box.pack("p", -1))
---
- 8
- 18446744073709551615
Please use lua_tointeger OR assign results of lua_tonumber(L, i) only to
variables of the double type instead of uint64_t. **Explicit** convertions to
uint32_t / uint64_t must not be perfomed.
To manage notifications about this bug go to:
https://bugs.launchpad.net/tarantool/+bug/1100759/+subscriptions
_______________________________________________
Mailing list: https://launchpad.net/~tarantool-developers
Post to : [email protected]
Unsubscribe : https://launchpad.net/~tarantool-developers
More help : https://help.launchpad.net/ListHelp