Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] [PATCH v1 0/4] sql: store regular identifiers in case-normal form
@ 2019-02-15 13:30 Kirill Shcherbatov
  2019-02-15 13:30 ` [tarantool-patches] [PATCH v1 1/4] sql: patch sql_name_from_token to use Parser Kirill Shcherbatov
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Kirill Shcherbatov @ 2019-02-15 13:30 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.

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

Kirill Shcherbatov (4):
  sql: patch sql_name_from_token to use Parser
  sql: patch sql_trigger_step_allocate to use Parser
  sql: patch sql_expr_create routine to use Parser
  sql: store regular identifiers in case-normal form

 src/box/lua/lua_sql.c                 |  11 +-
 src/box/sql/alter.c                   |   2 +-
 src/box/sql/analyze.c                 |   2 +-
 src/box/sql/build.c                   | 212 +++++++++------------
 src/box/sql/delete.c                  |   2 +-
 src/box/sql/expr.c                    | 256 ++++++++++++--------------
 src/box/sql/fkey.c                    | 128 +++++++------
 src/box/sql/parse.y                   |  60 +++---
 src/box/sql/pragma.c                  |  11 +-
 src/box/sql/resolve.c                 |  41 ++---
 src/box/sql/select.c                  |  70 ++++---
 src/box/sql/sqlInt.h                  | 255 +++++++++++++++++++++++--
 src/box/sql/trigger.c                 | 201 +++++++++-----------
 src/box/sql/util.c                    |  42 +++--
 src/box/sql/wherecode.c               |   3 +-
 src/box/sql/whereexpr.c               |  10 +-
 test/sql-tap/identifier_case.test.lua |  12 +-
 17 files changed, 753 insertions(+), 565 deletions(-)

-- 
2.20.1

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

end of thread, other threads:[~2019-02-22 12:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-15 13:30 [tarantool-patches] [PATCH v1 0/4] sql: store regular identifiers in case-normal form Kirill Shcherbatov
2019-02-15 13:30 ` [tarantool-patches] [PATCH v1 1/4] sql: patch sql_name_from_token to use Parser Kirill Shcherbatov
2019-02-15 13:30 ` [tarantool-patches] [PATCH v1 2/4] sql: patch sql_trigger_step_allocate " Kirill Shcherbatov
2019-02-15 13:30 ` [tarantool-patches] [PATCH v1 3/4] sql: patch sql_expr_create routine " Kirill Shcherbatov
2019-02-15 13:30 ` [tarantool-patches] [PATCH v1 4/4] sql: store regular identifiers in case-normal form Kirill Shcherbatov
2019-02-22 12:20 ` [tarantool-patches] Re: [PATCH v1 0/4] " Vladislav Shpilevoy
2019-02-22 12:38   ` Kirill Shcherbatov
2019-02-22 12:43     ` Vladislav Shpilevoy

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