[PATCH 00/13] sql: support -2^63 .. 2^64-1 integer type
Stanislav Zudin
szudin at tarantool.org
Fri Mar 15 18:45:29 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.
Issue: https://github.com/tarantool/tarantool/issues/3810
Branch: https://github.com/tarantool/tarantool/tree/stanztt/gh-3810-sql-uint64-support
Stanislav Zudin (13):
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: aux functions to support big integers
sql: arithmetic functions support big integers
sql: aggregate sql functions support big int
sql: fixes errors
sql: fixes an error in sqlSubInt64
sql: fixes an error in string to int64 conversion
sql: fixes an error in uint64 to double casting
sql: support -2^63 .. 2^64-1 integer type
src/box/execute.c | 19 +-
src/box/lua/lua_sql.c | 3 +
src/box/lua/sql.c | 3 +
src/box/sql/build.c | 4 +-
src/box/sql/expr.c | 26 +-
src/box/sql/func.c | 42 ++-
src/box/sql/main.c | 16 -
src/box/sql/sqlInt.h | 91 +++--
src/box/sql/util.c | 401 +++++++++++++++--------
src/box/sql/vdbe.c | 65 ++--
src/box/sql/vdbe.h | 3 +-
src/box/sql/vdbeInt.h | 9 +-
src/box/sql/vdbeapi.c | 73 ++++-
src/box/sql/vdbeaux.c | 12 +-
src/box/sql/vdbemem.c | 17 +-
test/sql-tap/func.test.lua | 6 +-
test/sql-tap/hexlit.test.lua | 6 +-
test/sql/gh-2347-max-int-literals.result | 2 +-
test/sql/integer-overflow.result | 10 +-
test/sql/iproto.result | 11 +-
test/sql/iproto.test.lua | 5 +-
21 files changed, 554 insertions(+), 270 deletions(-)
--
2.17.1
More information about the Tarantool-patches
mailing list