[tarantool-patches] [PATCH v2 0/2] sql: pattern comparison fixes & GLOB removal

N.Tatunov n.tatunov at tarantool.org
Thu Aug 16 20:00:54 MSK 2018


Branch: https://github.com/tarantool/tarantool/tree/N_Tatunov/gh-3251-where-like-hanging
Issues:
https://github.com/tarantool/tarantool/issues/3251
https://github.com/tarantool/tarantool/issues/3334
https://github.com/tarantool/tarantool/issues/3589
https://github.com/tarantool/tarantool/issues/3572

Currently we have internal functions for pattern comparisons that are
hanging in certain situations. This patch-set is aimed on refactoring
these functions, fixing possible bugs including the ones that are known.
Also since we want to get close to ANSI SQL it was decided that we're
going to remove GLOB from Tarantool. And due to changes in comparisons
some tests containing GLOB would need refactoring. Thus in order not to
refactor tests that are anyways going to be removed it is quite
convenient to remove GLOB support in the same patch-set.

Changes in v2:
    - Fixes for Alexey's review comments on previous version
    - A lot of code that was touched in the patch is refactored
      according to our code-style.
    - GLOB is removed
    - Internals refactored with respect to GLOB removal
    - Found and removed redundant prototype for sqlite3_user_data
      function

N.Tatunov (2):
  sql: LIKE & GLOB pattern comparison issue
  sql: remove GLOB from Tarantool

 extra/mkkeywordhash.c                              |    1 -
 src/box/sql/analyze.c                              |    7 +-
 src/box/sql/func.c                                 |  477 +-
 src/box/sql/pragma.c                               |    6 +-
 src/box/sql/sqliteInt.h                            |   16 +-
 src/box/sql/sqliteLimit.h                          |    3 +-
 src/box/sql/vdbe.c                                 |    2 +-
 src/box/sql/wherecode.c                            |    2 +-
 src/box/sql/whereexpr.c                            |  157 +-
 test/sql-tap/alter.test.lua                        |    6 +-
 test/sql-tap/analyze9.test.lua                     |    8 +-
 test/sql-tap/e_expr.test.lua                       |  305 +-
 .../gh-3251-string-pattern-comparison.test.lua     |  213 +
 test/sql-tap/like2.test.lua                        |   10 +-
 test/sql-tap/like3.test.lua                        |   26 +-
 test/sql-tap/tkt1537.test.lua                      |    4 +-
 test/sql-tap/triggerA.test.lua                     |    2 +-
 test/sql-tap/where3.test.lua                       |    6 +-
 test/sql-tap/where7.test.lua                       | 4780 ++++++++++----------
 19 files changed, 3112 insertions(+), 2919 deletions(-)
 create mode 100755 test/sql-tap/gh-3251-string-pattern-comparison.test.lua

-- 
2.7.4





More information about the Tarantool-patches mailing list