]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Do not de-duplicate columns index columns associated with a WITHOUT ROWID table
authordrh <drh@noemail.net>
Mon, 29 Apr 2019 13:48:45 +0000 (13:48 +0000)
committerdrh <drh@noemail.net>
Mon, 29 Apr 2019 13:48:45 +0000 (13:48 +0000)
if the columns have different collating sequences.  This is the fix for
ticket [3182d3879020ef3b2].  There is one test case added, but most of the
tests are done in TH3.

FossilOrigin-Name: 1b1dd4d48cd79a585e1fa7ee79128e9f2a9ee9846339dc56bbd67b75112dcad5

1  2 
manifest
manifest.uuid
test/without_rowid1.test

diff --cc manifest
index cf4308824da1825e859c680b5d24e4403a2c8d29,688c836776aa292654184e84b67418894df5d8a9..0576b14f7cde4f49fdf4f5b3061c50f140590085
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Fix\sa\sbuffer\soverwrite\sin\sshell.c.in\s(part\sof\sthe\snew\s.recover\scode).
- D 2019-04-29T11:41:46.359
 -C Improved\sheader\scomment\sand\sprecondition\schecking\sfor\sthe\snew\sisDupColumn()\nfunction.
 -D 2019-04-29T13:30:16.066
++C Do\snot\sde-duplicate\scolumns\sindex\scolumns\sassociated\swith\sa\sWITHOUT\sROWID\stable\nif\sthe\scolumns\shave\sdifferent\scollating\ssequences.\s\sThis\sis\sthe\sfix\sfor\nticket\s[3182d3879020ef3b2].\s\sThere\sis\sone\stest\scase\sadded,\sbut\smost\sof\sthe\ntests\sare\sdone\sin\sTH3.
++D 2019-04-29T13:48:45.899
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@@ -1707,7 -1707,7 +1707,7 @@@ F test/with2.test e0030e2f0267a910d6c0e
  F test/with3.test 8d26920c88283e0a473ceebd3451554922108ce7b2a6a1157c47eb0a7011212c
  F test/with4.test 257be66c0c67fee1defbbac0f685c3465e2cad037f21ce65f23f86084f198205
  F test/withM.test 693b61765f2b387b5e3e24a4536e2e82de15ff64
--F test/without_rowid1.test b5ec93f7df2c1d684e0923247dac6aca8888e088bf50a9f244c3933e0e813a72
++F test/without_rowid1.test 7ac016d20317e36a2f142e960679e558e74f6809ce5f27bde668af01782500df
  F test/without_rowid2.test af260339f79d13cb220288b67cd287fbcf81ad99
  F test/without_rowid3.test ea4b59dd1b0d7f5f5e4b7cca978cdb905752a9d7c57dc4344a591dba765a3691
  F test/without_rowid4.test 4e08bcbaee0399f35d58b5581881e7a6243d458a
@@@ -1821,7 -1821,7 +1821,8 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9
  F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
  F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
  F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P c621fc668c6538f9f5bdac204f012c64998679a61aa8e224d212503820224c09
- R fab7a84bb2576871c69ae5af2474d189
- U dan
- Z 238bfca672a6077522e49009580b426a
 -P b34fa5bff40d3d364bd8c80e7de55c606ef3caac47b14b5265ebcb38857eb85e
 -R 4500a529c2eaff26172712aaa84d5151
++P 92facbc73a940d2844ac88fafd2d2dadb10886fb0b7c53e23f346d18fa6d6327 740d5ff6cc9bf7b151dfb8b27409e5923cfb2789b5398fe13d89563aff8ffc07
++R 202811e2e95855247d322c66d5116799
++T +closed 740d5ff6cc9bf7b151dfb8b27409e5923cfb2789b5398fe13d89563aff8ffc07
+ U drh
 -Z 5d2313cdcb9e1838679491aff8b0ed48
++Z b55be1ccaf3a50c1a3ba7b999ad660d8
diff --cc manifest.uuid
index 491b1c92fc5edf7ade6e5c2d3d9b1f6fad18e6b4,e70eba18c7552f86b6163f2aa6c79d9f527981a1..e85adcff3933e342d8e544d27d94d302039410d7
@@@ -1,1 -1,1 +1,1 @@@
- 92facbc73a940d2844ac88fafd2d2dadb10886fb0b7c53e23f346d18fa6d6327
 -740d5ff6cc9bf7b151dfb8b27409e5923cfb2789b5398fe13d89563aff8ffc07
++1b1dd4d48cd79a585e1fa7ee79128e9f2a9ee9846339dc56bbd67b75112dcad5
index c8f018737b05d1aa3ff6b070e1b3af3773c64c8c,c8f018737b05d1aa3ff6b070e1b3af3773c64c8c..4dd967234c2129989ba7026a1402fefdb5bbe34d
@@@ -391,5 -391,5 +391,13 @@@ do_execsql_test 10.6 
    SELECT * FROM t1;
  } {b a 3  b b 4}
  
++# 2019-04-29 ticket https://www.sqlite.org/src/info/3182d3879020ef3
++do_execsql_test 11.1 {
++  CREATE TABLE t11(a TEXT PRIMARY KEY, b INT) WITHOUT ROWID;
++  CREATE INDEX t11a ON t11(a COLLATE NOCASE);
++  INSERT INTO t11(a,b) VALUES ('A',1),('a',2);
++  PRAGMA integrity_check;
++  SELECT a FROM t11 ORDER BY a COLLATE binary;
++} {ok A a}
    
  finish_test