[Tarantool-patches] [PATCH v1 0/4] Introduce DECIMAL to SQL

imeevma at tarantool.org imeevma at tarantool.org
Mon Aug 16 18:56:58 MSK 2021


After this patch-set decimal will be available in SQL. It will have defined
comparison operations, arithmetic operations, implicit and explicit casts.
However, some functions cannot work with DECIMAL for now, and it will be fixed a
bit later in patch-set that fixes SQL built-in functions. Also, for now DECIMAL
will not have literals in SQL, since it still was not decided how to implement
them.

https://github.com/tarantool/tarantool/issues/4415
https://github.com/tarantool/tarantool/tree/imeevma/gh-4415-introduce-decimal-type-in-sql

Mergen Imeev (4):
  decimal: introduce decimal_is_neg()
  sql: introduce field type decimal
  sql: introduce cast for decimal
  sql: introduce decimal to arithmetic

 extra/mkkeywordhash.c                         |   2 +-
 src/box/sql/expr.c                            |   3 +
 src/box/sql/func.c                            |   4 +
 src/box/sql/mem.c                             | 615 +++++++++++-
 src/box/sql/mem.h                             |  18 +-
 src/box/sql/parse.y                           |   1 +
 src/box/sql/sqlInt.h                          |   1 +
 src/lib/core/decimal.c                        |   6 +
 src/lib/core/decimal.h                        |   4 +
 test/sql-tap/CMakeLists.txt                   |   1 +
 test/sql-tap/decimal.c                        |  48 +
 test/sql-tap/decimal.test.lua                 | 944 ++++++++++++++++++
 test/sql-tap/engine.cfg                       |   3 +
 .../gh-5913-segfault-on-select-uuid.test.lua  |  83 --
 .../sql-tap/gh-6024-funcs-return-bin.test.lua |   8 +-
 test/unit/decimal.c                           |   7 +-
 test/unit/decimal.result                      |  10 +-
 17 files changed, 1633 insertions(+), 125 deletions(-)
 create mode 100644 test/sql-tap/decimal.c
 create mode 100755 test/sql-tap/decimal.test.lua
 delete mode 100755 test/sql-tap/gh-5913-segfault-on-select-uuid.test.lua

-- 
2.25.1



More information about the Tarantool-patches mailing list