Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] [PATCH v2 0/7] sql: store regular identifiers in case-normal form
@ 2019-02-27 11:13 Kirill Shcherbatov
  2019-02-27 11:13 ` [tarantool-patches] [PATCH v2 1/7] sql: refactor sql_alloc_src_list to set diag Kirill Shcherbatov
                   ` (8 more replies)
  0 siblings, 9 replies; 41+ messages in thread
From: Kirill Shcherbatov @ 2019-02-27 11:13 UTC (permalink / raw)
  To: tarantool-patches, v.shpilevoy; +Cc: Kirill Shcherbatov

Perform SQL name normalization: cast name to the upper-case
(via Unicode Character Folding). Casing is locale-dependent
and context-sensitive. The result may be longer or shorter
than the original. For example, ß is converted to SS.
The result is similar to SQL UPPER function.

Performed extensive code refactoring to pass parser instance in
routines that use sql_normalize_name function. This makes
possible to raise an error in case of normalizing failure.

Changes in version 2:
	- Setup parser error externally

Branch: http://github.com/tarantool/tarantool/tree/kshch/gh-3991-fix-names-normalization
Issue: https://github.com/tarantool/tarantool/issues/3931

Kirill Shcherbatov (7):
  sql: refactor sql_alloc_src_list to set diag
  sql: rework sql_src_list_enlarge to set diag
  sql: refactor sql_src_list_append to set diag
  sql: refactor sql_name_from_token to set diag
  sql: refactor sql_trigger_step_allocate to set diag
  sql: refactor sql_expr_create to set diag
  sql: store regular identifiers in case-normal form

 src/box/lua/lua_sql.c                 |  11 +-
 src/box/sql/alter.c                   |   8 +-
 src/box/sql/analyze.c                 |  47 +--
 src/box/sql/build.c                   | 517 +++++++++++++-------------
 src/box/sql/delete.c                  |  14 +-
 src/box/sql/expr.c                    | 300 +++++++--------
 src/box/sql/fk_constraint.c           | 202 ++++++----
 src/box/sql/parse.y                   | 130 +++++--
 src/box/sql/pragma.c                  |  24 +-
 src/box/sql/resolve.c                 |  47 ++-
 src/box/sql/select.c                  | 146 +++++---
 src/box/sql/sqlInt.h                  | 301 ++++++++++++++-
 src/box/sql/trigger.c                 | 210 +++++------
 src/box/sql/util.c                    |  42 ++-
 src/box/sql/wherecode.c               |   9 +-
 src/box/sql/whereexpr.c               |  22 +-
 test/sql-tap/identifier_case.test.lua |  12 +-
 17 files changed, 1240 insertions(+), 802 deletions(-)

-- 
2.20.1

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

end of thread, other threads:[~2019-03-27 14:06 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-27 11:13 [tarantool-patches] [PATCH v2 0/7] sql: store regular identifiers in case-normal form Kirill Shcherbatov
2019-02-27 11:13 ` [tarantool-patches] [PATCH v2 1/7] sql: refactor sql_alloc_src_list to set diag Kirill Shcherbatov
2019-03-07 17:34   ` [tarantool-patches] " Vladislav Shpilevoy
2019-03-11 15:04     ` Kirill Shcherbatov
2019-02-27 11:13 ` [tarantool-patches] [PATCH v2 2/7] sql: rework sql_src_list_enlarge " Kirill Shcherbatov
2019-03-07 17:34   ` [tarantool-patches] " Vladislav Shpilevoy
2019-03-11 15:04     ` Kirill Shcherbatov
2019-02-27 11:13 ` [tarantool-patches] [PATCH v2 3/7] sql: refactor sql_src_list_append " Kirill Shcherbatov
2019-03-07 17:34   ` [tarantool-patches] " Vladislav Shpilevoy
2019-03-11 15:04     ` Kirill Shcherbatov
2019-03-18 19:33       ` Vladislav Shpilevoy
2019-03-20 11:02         ` Kirill Shcherbatov
2019-03-26 17:08           ` Vladislav Shpilevoy
2019-03-26 18:07             ` Vladislav Shpilevoy
2019-02-27 11:13 ` [tarantool-patches] [PATCH v2 4/7] sql: refactor sql_name_from_token " Kirill Shcherbatov
2019-03-07 17:34   ` [tarantool-patches] " Vladislav Shpilevoy
2019-03-11 15:04     ` Kirill Shcherbatov
2019-03-18 19:33       ` Vladislav Shpilevoy
2019-03-20 11:02         ` Kirill Shcherbatov
2019-02-27 11:13 ` [tarantool-patches] [PATCH v2 5/7] sql: refactor sql_trigger_step_allocate " Kirill Shcherbatov
2019-03-07 17:34   ` [tarantool-patches] " Vladislav Shpilevoy
2019-03-11 15:04     ` Kirill Shcherbatov
2019-03-18 19:33       ` Vladislav Shpilevoy
2019-03-20 11:02         ` Kirill Shcherbatov
2019-03-26 17:08           ` Vladislav Shpilevoy
2019-02-27 11:13 ` [tarantool-patches] [PATCH v2 6/7] sql: refactor sql_expr_create " Kirill Shcherbatov
2019-03-07 17:34   ` [tarantool-patches] " Vladislav Shpilevoy
2019-03-11 15:04     ` Kirill Shcherbatov
2019-03-18 19:33       ` Vladislav Shpilevoy
2019-03-20 11:02         ` Kirill Shcherbatov
2019-03-26 17:08           ` Vladislav Shpilevoy
2019-02-27 11:13 ` [tarantool-patches] [PATCH v2 7/7] sql: store regular identifiers in case-normal form Kirill Shcherbatov
2019-03-07 17:34   ` [tarantool-patches] " Vladislav Shpilevoy
2019-03-11 15:04     ` Kirill Shcherbatov
2019-03-18 19:33       ` Vladislav Shpilevoy
2019-03-20 11:02         ` Kirill Shcherbatov
2019-03-26 17:08           ` Vladislav Shpilevoy
2019-03-18 19:33 ` [tarantool-patches] Re: [PATCH v2 0/7] " Vladislav Shpilevoy
2019-03-20 11:02   ` Kirill Shcherbatov
2019-03-26 17:09     ` Vladislav Shpilevoy
2019-03-27 14:06 ` Kirill Yukhin

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