[tarantool-patches] [PATCH v2 00/15] sql: support -2^63 .. 2^64-1 integer type
Stanislav Zudin
szudin at tarantool.org
Mon Apr 1 23:44:38 MSK 2019
The patch enables support of big integers in the range [2^63, 2^64-1].
Conversion functions use return value to inform about value
they return - signed integer in the range [-2^63,2^63-1] or
unsigned integer in the range [2^63, 2^64 -1].
The changes affect sql processing, VDBE, arithmetic functions and
aggregate functions.
The second version includes the following:
- New tests
- VDBE treats unsigned as a separate type.
- Refactored mapping vdbe data types to sql types
- Fixed bugs in the previous commits
- The type conversion supports unsigned integers
Issue: https://github.com/tarantool/tarantool/issues/3810
Branch: https://github.com/tarantool/tarantool/tree/stanztt/gh-3810-sql-uint64-support
Stanislav Zudin (15):
sql: Convert big integers from string
sql: make VDBE recognize big integers
sql: removes unused function.
sql: support big integers within sql binding
sql: removes redundant function.
sql: arithmetic functions support big integers
sql: aggregate sql functions support big int
sql: fixes errors
sql: support -2^63 .. 2^64-1 integer type
sql: support -2^63 .. 2^64-1 integer type
sql: support -2^63 .. 2^64-1 integer type
sql: support -2^63 .. 2^64-1 integer type
sql: support -2^63 .. 2^64-1 integer type
sql: support -2^63 .. 2^64-1 integer type
sql: support -2^63 .. 2^64-1 integer type
src/box/execute.c | 24 +-
src/box/lua/lua_sql.c | 3 +
src/box/lua/sql.c | 3 +
src/box/sql/build.c | 4 +-
src/box/sql/expr.c | 32 +-
src/box/sql/func.c | 55 ++-
src/box/sql/main.c | 27 --
src/box/sql/os_unix.c | 5 -
src/box/sql/sqlInt.h | 90 +++--
src/box/sql/util.c | 430 ++++++++++++---------
src/box/sql/vdbe.c | 171 +++++---
src/box/sql/vdbe.h | 3 +-
src/box/sql/vdbeInt.h | 14 +-
src/box/sql/vdbeapi.c | 116 ++++--
src/box/sql/vdbeaux.c | 108 +++++-
src/box/sql/vdbemem.c | 153 +++++---
src/box/sql/vdbetrace.c | 2 +
test/sql-tap/func.test.lua | 22 +-
test/sql-tap/hexlit.test.lua | 6 +-
test/sql/gh-2347-max-int-literals.result | 11 +-
test/sql/gh-2347-max-int-literals.test.lua | 4 +
test/sql/integer-overflow.result | 18 +-
test/sql/iproto.result | 11 +-
test/sql/iproto.test.lua | 5 +-
24 files changed, 866 insertions(+), 451 deletions(-)
--
2.17.1
More information about the Tarantool-patches
mailing list