/ Ticket Change Details
Login
Overview

Artifact ID: 253e38a485bf06453f3bd871bcda9c3933c260faaf5b53564702498da02b16c2
Ticket: f1580ba1b574e9e92d0e6c3b9de519e398e0b10e
Built-in RTRIM collating sequence yields incorrect comparisons
User & Date: mrigger 2019-06-14 11:03:06
Changes

  1. icomment:
    Consider the following statements:
    
    <pre>
    CREATE TABLE t0(c0 COLLATE RTRIM, c1 BLOB UNIQUE, PRIMARY KEY (c0, c1)) WITHOUT ROWID;
    INSERT INTO t0 VALUES (123, 3), (' ', 1), ('	', 2), ('', 4);
    SELECT * FROM t0 WHERE c1 = 1; -- expected: ' ', 1, actual: no row is fetched
    </pre>
    
    I would expect a row to be fetched, which is not the case. Note that the whitespace seems to be significant: the first one is a space, the second one a tab, and the third one an empty string.
    
  2. login: "mrigger"
  3. mimetype: "text/x-fossil-wiki"
  4. severity changed to: "Critical"
  5. status changed to: "Open"
  6. title changed to:
    Row is not fetched in WITHOUT ROWID table and a composite primary key
    
  7. type changed to: "Code_Defect"