Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] [PATCH v1 1/1] lua: strength in the _collation space
@ 2018-09-06 18:29 imeevma
  2018-09-06 20:03 ` [tarantool-patches] " Vladislav Shpilevoy
  0 siblings, 1 reply; 2+ messages in thread
From: imeevma @ 2018-09-06 18:29 UTC (permalink / raw)
  To: tarantool-patches, v.shpilevoy

This patch sets "primary" strength as default for collations.

Closes #3573
---
Branch: https://github.com/tarantool/tarantool/tree/imeevma/gh-3573-show-collation-strength
Issue: https://github.com/tarantool/tarantool/issues/3573

 src/box/bootstrap.snap  | Bin 1888 -> 1883 bytes
 src/box/lua/schema.lua  |   5 ++++-
 src/box/lua/upgrade.lua |   2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/box/bootstrap.snap b/src/box/bootstrap.snap
index 65739384a66d6ba4a538553ccf4677536ba15280..c3e27705897a490b02d1c37f83fa158bcd881177 100644
GIT binary patch
delta 1863
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
Bl2iZy

delta 1884
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
WTT(bI7&}6muV?loF^6>35UuT6gN?`l

diff --git a/src/box/lua/schema.lua b/src/box/lua/schema.lua
index 74b7064..dedd072 100644
--- a/src/box/lua/schema.lua
+++ b/src/box/lua/schema.lua
@@ -1988,10 +1988,13 @@ box.internal.collation.create = function(name, coll_type, locale, opts)
         box.error(box.error.ILLEGAL_PARAMS,
         "options (fourth arg) must be a table or nil")
     end
+    local opts_defaults = {
+        strength = "primary",
+    }
+    opts = update_param_table(opts, opts_defaults)
     local lua_opts = {if_not_exists = opts.if_not_exists }
     check_param_table(lua_opts, {if_not_exists = 'boolean'})
     opts.if_not_exists = nil
-    opts = setmap(opts)
 
     local _coll = box.space[box.schema.COLLATION_ID]
     if lua_opts.if_not_exists then
diff --git a/src/box/lua/upgrade.lua b/src/box/lua/upgrade.lua
index d9c2ae4..e09318b 100644
--- a/src/box/lua/upgrade.lua
+++ b/src/box/lua/upgrade.lua
@@ -396,7 +396,7 @@ local function create_collation_space()
     box.space._index:insert{_collation.id, 1, 'name', 'tree', {unique = true}, {{1, 'string'}}}
 
     log.info("create predefined collations")
-    box.space._collation:replace{1, "unicode", ADMIN, "ICU", "", setmap{}}
+    box.space._collation:replace{1, "unicode", ADMIN, "ICU", "", {strength='primary'}}
     box.space._collation:replace{2, "unicode_ci", ADMIN, "ICU", "", {strength='primary'}}
 
     local _priv = box.space[box.schema.PRIV_ID]
-- 
2.7.4

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

* [tarantool-patches] Re: [PATCH v1 1/1] lua: strength in the _collation space
  2018-09-06 18:29 [tarantool-patches] [PATCH v1 1/1] lua: strength in the _collation space imeevma
@ 2018-09-06 20:03 ` Vladislav Shpilevoy
  0 siblings, 0 replies; 2+ messages in thread
From: Vladislav Shpilevoy @ 2018-09-06 20:03 UTC (permalink / raw)
  To: imeevma, tarantool-patches

Hi! Thanks for the patch!

On 06/09/2018 21:29, imeevma@tarantool.org wrote:
> This patch sets "primary" strength as default for collations.
> 
> Closes #3573
> ---
> Branch: https://github.com/tarantool/tarantool/tree/imeevma/gh-3573-show-collation-strength
> Issue: https://github.com/tarantool/tarantool/issues/3573
> 
>   src/box/bootstrap.snap  | Bin 1888 -> 1883 bytes
>   src/box/lua/schema.lua  |   5 ++++-
>   src/box/lua/upgrade.lua |   2 +-
>   3 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/src/box/lua/upgrade.lua b/src/box/lua/upgrade.lua
> index d9c2ae4..e09318b 100644
> --- a/src/box/lua/upgrade.lua
> +++ b/src/box/lua/upgrade.lua
> @@ -396,7 +396,7 @@ local function create_collation_space()
>       box.space._index:insert{_collation.id, 1, 'name', 'tree', {unique = true}, {{1, 'string'}}}
>   
>       log.info("create predefined collations")
> -    box.space._collation:replace{1, "unicode", ADMIN, "ICU", "", setmap{}}
> +    box.space._collation:replace{1, "unicode", ADMIN, "ICU", "", {strength='primary'}}

Unfortunately, you can not change the past. This code does update to
1.7.6 which is already released long ago and we already have
clients on this version. So their unicode collation already
has no strength.

Why are you trying to change it? Anyway a user is able to do raw
insertion right into _collation space omitting high level API that
you fixed in the previous hunk.

C code should be ready to the fact that a new collation may have no
any specified strength.

Also, what about Vinyl users who are using collations? Does this
update of strength change order of sorting of disk data?

>       box.space._collation:replace{2, "unicode_ci", ADMIN, "ICU", "", {strength='primary'}}
>   
>       local _priv = box.space[box.schema.PRIV_ID]
> 

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

end of thread, other threads:[~2018-09-06 20:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-06 18:29 [tarantool-patches] [PATCH v1 1/1] lua: strength in the _collation space imeevma
2018-09-06 20:03 ` [tarantool-patches] " Vladislav Shpilevoy

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