Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] [PATCH v2 0/2] sql: pattern comparison fixes & GLOB removal
@ 2018-08-14 16:47 N.Tatunov
       [not found] ` <cover.1534259951.git.n.tatunov@tarantool.org>
  0 siblings, 1 reply; 6+ messages in thread
From: N.Tatunov @ 2018-08-14 16:47 UTC (permalink / raw)
  To: tarantool-patches; +Cc: avkhatskevich, N.Tatunov

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

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                                 |  483 +-
 src/box/sql/pragma.c                               |    6 +-
 src/box/sql/sqliteInt.h                            |   13 +-
 src/box/sql/sqliteLimit.h                          |    3 +-
 src/box/sql/vdbe.c                                 |    2 +-
 src/box/sql/wherecode.c                            |    2 +-
 src/box/sql/whereexpr.c                            |  129 +-
 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, 3109 insertions(+), 2897 deletions(-)
 create mode 100755 test/sql-tap/gh-3251-string-pattern-comparison.test.lua

-- 
2.7.4

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [tarantool-patches] [PATCH v2 0/2] sql: pattern comparison fixes & GLOB removal
@ 2018-08-16 17:00 N.Tatunov
  0 siblings, 0 replies; 6+ messages in thread
From: N.Tatunov @ 2018-08-16 17:00 UTC (permalink / raw)
  To: tarantool-patches; +Cc: avkhatskevich, N.Tatunov

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-08-16 17:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-14 16:47 [tarantool-patches] [PATCH v2 0/2] sql: pattern comparison fixes & GLOB removal N.Tatunov
     [not found] ` <cover.1534259951.git.n.tatunov@tarantool.org>
2018-08-14 16:47   ` [tarantool-patches] [PATCH v2 1/2] sql: LIKE & GLOB pattern comparison issue N.Tatunov
2018-08-15  8:50     ` [tarantool-patches] " Alex Khatskevich
2018-08-16 12:58       ` Alexander Turenko
2018-08-14 16:47   ` [tarantool-patches] [PATCH v2 2/2] sql: remove GLOB from Tarantool N.Tatunov
2018-08-16 17:00 [tarantool-patches] [PATCH v2 0/2] sql: pattern comparison fixes & GLOB removal N.Tatunov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox