From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id E70F32783A for ; Tue, 5 Mar 2019 06:44:37 -0500 (EST) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C6pi_Kl1KCzF for ; Tue, 5 Mar 2019 06:44:37 -0500 (EST) Received: from smtp59.i.mail.ru (smtp59.i.mail.ru [217.69.128.39]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 25B4723F4A for ; Tue, 5 Mar 2019 06:44:36 -0500 (EST) From: Stanislav Zudin Subject: [tarantool-patches] [PATCH v4] Feature request for a new collation Date: Tue, 5 Mar 2019 14:44:31 +0300 Message-Id: <20190305114431.31311-1-szudin@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-Help: List-Unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-Subscribe: List-Owner: List-post: List-Archive: To: tarantool-patches@freelists.org, kostja@tarantool.org Cc: Stanislav Zudin Adds a new set of default collations. The collation 'unicode_ky_s1' supports the difference between Cyrillic letters 'Е' and 'Ё'. The standard case insensitive collation ('unicode_ci') doesn't distinguish these letters. Closes #4007 --- Branch: https://github.com/tarantool/tarantool/tree/stanztt/gh-4007-new-default-collation-2.1 Issue: https://github.com/tarantool/tarantool/issues/4007 src/box/bootstrap.snap | Bin 1867 -> 4485 bytes src/box/lua/upgrade.lua | 109 ++++++- src/coll_def.h | 2 +- test/box-py/bootstrap.result | 2 +- test/box/ddl.result | 560 +++++++++++++++++++++++++++++++- test/box/net.box.result | 2 +- test/sql-tap/collation.test.lua | 280 +++++++++++++++- test/sql/collation.result | 4 +- test/sql/collation.test.lua | 4 +- 9 files changed, 943 insertions(+), 20 deletions(-) diff --git a/src/box/bootstrap.snap b/src/box/bootstrap.snap index a0c436d0dac9593d88e87fefe5084e833d8bed2f..35ab86f01b3e6f6936a26b6441ed196caa730064 100644 GIT binary patch delta 4476 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 O=H$0fEz<|p5UuUun{2QE delta 1838 zcmV+}2hsS2Bg+nuGJiKRW-~P~Ib300000D77#B08kY+0D4G>4@tmS zO#>*RqAZG{D59cui}Hwy=#pmL$ZmmcW*+l5<$2jFGq5w0;(xBBOcEh~HzCte5(;W- z+QMgWf>~$_`&e?PqS3K25i3##-vHPE<^V47m2E71{gK!zU(NSu1VbW;c@7C`uxM|FxaRJJO8bu%UxB)iL*e- zRcDif(H0bMOo`~deCs%G6fkksrD>CZTdzi$H3&8;!)zaaUkZ1xXLYs{xwd?ZL^j`6 zO#kY6zJD|D`Ia%s--UkH+N3!!^w+gtd*-UMIb(p^mi|=Z%3_tsbN{;P;lC=Td{_C$ zC3T!K1vV-}(6(ZmgP+WHA0ELM*Pn+z(TP(2F1HweU0s?n1U4$eE00qa z3NqZBF*h5PVax;xJG$~+=;l5a{cA3hFtbUCyRq4*44LrPEm;rj`Kz%yZd>BMO!>71 zYaYI=jtS4#YQFQ=)g!7JWqLImm0`>7(aSQNV?v)}N+E{O@GT?qZVab*48<+q6$|aU zG=GIi@Sa=!`B!z{Crn6E=8gy(m7xfGZoAwyueAv@vr!o$tyWj_N}E428HNucX6tNtKl{jS*ce=4r8Ttgxh|N!xua5rRb##cn)RZ}sI2;?(tFciTdVe$k zz>tQ_fC-U7n?O5a0R7A#7(Xv&kBgobJS=!t@c6(+y3-?fRBSM$ofIe(s1qm?rxGWg z(@qYFoDoMkB5(qMbExrHWT-|)5P$#$Ko9`Y1qU(ciXIYRz(9_pFphy32tyDG0viWF z01QG3G>BR-LJ^+mj${J_sledVe1Bb+Nwj%8;z0*SMqst^@XDU1*Gk#GNTBgMrf~vQ zMzpY@fEjQ$nvfXwDJ3}eQeUb1g07f*=%O0hzuC9$wK}ay9Ltw6)r{*j*h|_noQXIN zlSP5dmH{|^R^^n$c<|ANv8IBgpwd`RT?}L3g;35GFK2*j{Yt55;!ZV<#8Tn3#j(-ffTPw$tEQT`~bpqhB_)sWVdQmS<7F44!%nuCyhh_zZSkL5e zKRaPAF6n*i(PdzlytEJPe|lDPMO-3!i6=>>iV{itPVc64_>w;XRVtg