/ Hex Artifact Content
Login

Artifact c83cd179b0254e660c0d7bb474d4e0abf99dece2d746e0f889d042f084440182:

Ticket change [c83cd179] - New ticket [fb8c538a] Incorrect sorting when a column uses BINARY collation in the ORDER BY, but is constrained by an == with a different collation in the WHERE clause. by dan 2020-02-12 06:21:39.
0000: 44 20 32 30 32 30 2d 30 32 2d 31 32 54 30 36 3a  D 2020-02-12T06:
0010: 32 31 3a 33 39 2e 36 30 30 0a 4a 20 66 6f 75 6e  21:39.600.J foun
0020: 64 69 6e 20 33 2e 33 31 2e 30 0a 4a 20 69 63 6f  din 3.31.0.J ico
0030: 6d 6d 65 6e 74 20 45 78 61 6d 70 6c 65 3a 5c 72  mment Example:\r
0040: 5c 6e 5c 72 5c 6e 3c 76 65 72 62 61 74 69 6d 3e  \n\r\n<verbatim>
0050: 5c 72 5c 6e 5c 73 5c 73 43 52 45 41 54 45 5c 73  \r\n\s\sCREATE\s
0060: 54 41 42 4c 45 5c 73 74 31 28 62 5c 73 43 4f 4c  TABLE\st1(b\sCOL
0070: 4c 41 54 45 5c 73 6e 6f 63 61 73 65 29 3b 5c 72  LATE\snocase);\r
0080: 5c 6e 5c 73 5c 73 49 4e 53 45 52 54 5c 73 49 4e  \n\s\sINSERT\sIN
0090: 54 4f 5c 73 74 31 5c 73 56 41 4c 55 45 53 28 27  TO\st1\sVALUES('
00a0: 61 62 63 27 29 3b 5c 72 5c 6e 5c 73 5c 73 49 4e  abc');\r\n\s\sIN
00b0: 53 45 52 54 5c 73 49 4e 54 4f 5c 73 74 31 5c 73  SERT\sINTO\st1\s
00c0: 56 41 4c 55 45 53 28 27 41 42 43 27 29 3b 5c 72  VALUES('ABC');\r
00d0: 5c 6e 5c 73 5c 73 49 4e 53 45 52 54 5c 73 49 4e  \n\s\sINSERT\sIN
00e0: 54 4f 5c 73 74 31 5c 73 56 41 4c 55 45 53 28 27  TO\st1\sVALUES('
00f0: 61 42 43 27 29 3b 5c 72 5c 6e 5c 72 5c 6e 5c 73  aBC');\r\n\r\n\s
0100: 5c 73 2d 2d 5c 73 63 6f 72 72 65 63 74 6c 79 5c  \s--\scorrectly\
0110: 73 72 65 74 75 72 6e 73 3a 5c 73 22 41 42 43 5c  sreturns:\s"ABC\
0120: 73 61 42 43 5c 73 61 62 63 22 5c 72 5c 6e 5c 73  saBC\sabc"\r\n\s
0130: 5c 73 53 45 4c 45 43 54 5c 73 2a 5c 73 46 52 4f  \sSELECT\s*\sFRO
0140: 4d 5c 73 74 31 5c 73 4f 52 44 45 52 5c 73 42 59  M\st1\sORDER\sBY
0150: 5c 73 62 5c 73 43 4f 4c 4c 41 54 45 5c 73 62 69  \sb\sCOLLATE\sbi
0160: 6e 61 72 79 3b 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c  nary;\r\n\r\n\s\
0170: 73 2d 2d 5c 73 69 6e 63 6f 72 72 65 63 74 6c 79  s--\sincorrectly
0180: 5c 73 6f 6d 69 74 73 5c 73 65 78 74 65 72 6e 61  \somits\sexterna
0190: 6c 5c 73 73 6f 72 74 5c 73 61 6e 64 5c 73 72 65  l\ssort\sand\sre
01a0: 74 75 72 6e 73 3a 5c 73 22 61 62 63 5c 73 41 42  turns:\s"abc\sAB
01b0: 43 5c 73 61 42 43 22 5c 72 5c 6e 5c 73 5c 73 53  C\saBC"\r\n\s\sS
01c0: 45 4c 45 43 54 5c 73 2a 5c 73 46 52 4f 4d 5c 73  ELECT\s*\sFROM\s
01d0: 74 31 5c 73 57 48 45 52 45 5c 73 62 3d 27 61 62  t1\sWHERE\sb='ab
01e0: 63 27 5c 73 4f 52 44 45 52 5c 73 42 59 5c 73 62  c'\sORDER\sBY\sb
01f0: 5c 73 43 4f 4c 4c 41 54 45 5c 73 62 69 6e 61 72  \sCOLLATE\sbinar
0200: 79 3b 5c 72 5c 6e 3c 2f 76 65 72 62 61 74 69 6d  y;\r\n</verbatim
0210: 3e 0a 4a 20 6c 6f 67 69 6e 20 64 61 6e 0a 4a 20  >.J login dan.J 
0220: 6d 69 6d 65 74 79 70 65 20 74 65 78 74 2f 78 2d  mimetype text/x-
0230: 66 6f 73 73 69 6c 2d 77 69 6b 69 0a 4a 20 73 65  fossil-wiki.J se
0240: 76 65 72 69 74 79 20 4d 69 6e 6f 72 0a 4a 20 73  verity Minor.J s
0250: 74 61 74 75 73 20 4f 70 65 6e 0a 4a 20 74 69 74  tatus Open.J tit
0260: 6c 65 20 49 6e 63 6f 72 72 65 63 74 5c 73 73 6f  le Incorrect\sso
0270: 72 74 69 6e 67 5c 73 77 68 65 6e 5c 73 61 5c 73  rting\swhen\sa\s
0280: 63 6f 6c 75 6d 6e 5c 73 75 73 65 73 5c 73 42 49  column\suses\sBI
0290: 4e 41 52 59 5c 73 63 6f 6c 6c 61 74 69 6f 6e 5c  NARY\scollation\
02a0: 73 69 6e 5c 73 74 68 65 5c 73 4f 52 44 45 52 5c  sin\sthe\sORDER\
02b0: 73 42 59 2c 5c 73 62 75 74 5c 73 69 73 5c 73 63  sBY,\sbut\sis\sc
02c0: 6f 6e 73 74 72 61 69 6e 65 64 5c 73 62 79 5c 73  onstrained\sby\s
02d0: 61 6e 5c 73 3d 3d 5c 73 77 69 74 68 5c 73 61 5c  an\s==\swith\sa\
02e0: 73 64 69 66 66 65 72 65 6e 74 5c 73 63 6f 6c 6c  sdifferent\scoll
02f0: 61 74 69 6f 6e 5c 73 69 6e 5c 73 74 68 65 5c 73  ation\sin\sthe\s
0300: 57 48 45 52 45 5c 73 63 6c 61 75 73 65 0a 4a 20  WHERE\sclause.J 
0310: 74 79 70 65 20 43 6f 64 65 5f 44 65 66 65 63 74  type Code_Defect
0320: 0a 4b 20 66 62 38 63 35 33 38 61 38 66 35 37 61  .K fb8c538a8f57a
0330: 65 32 61 36 39 35 34 30 61 32 39 33 31 34 31 64  e2a69540a293141d
0340: 63 63 39 64 66 62 38 33 32 62 35 0a 55 20 64 61  cc9dfb832b5.U da
0350: 6e 0a 5a 20 33 37 30 65 30 36 39 31 39 31 66 36  n.Z 370e069191f6
0360: 33 66 38 63 36 31 63 61 63 37 37 37 64 34 34 34  3f8c61cac777d444
0370: 30 38 65 31 0a                                   08e1.