SQLite

View Ticket
Login
2016-01-20
14:30
Case folding in the LIKE operator should look at all bits of the character, not just the lower 8 bits. Fix for ticket [80369eddd5c94]. This is a back-out of check-in [0a99a8c4facf] with a testcase added. (check-in: 29dc4a3e user: drh tags: branch-3.10)
14:25 Fixed ticket [80369edd]: Incorrect case folding in the LIKE operator plus 5 other changes (artifact: db994bd6 user: drh)
14:22
Case folding in the LIKE operator should look at all bits of the character, not just the lower 8 bits. Fix for ticket [80369eddd5c94]. This is a back-out of check-in [0a99a8c4facf] with a testcase added. (check-in: 204432ee user: drh tags: trunk)
14:07 New ticket [80369edd] Incorrect case folding in the LIKE operator. (artifact: b3016558 user: drh)

Ticket Hash: 80369eddd5c94d49f7fbbcf5d442bac618549aa7
Title: Incorrect case folding in the LIKE operator
Status: Fixed Type: Code_Defect
Severity: Critical Priority: Immediate
Subsystem: Unknown Resolution: Fixed
Last Modified: 2016-01-20 14:25:16
Version Found In: 3.10.0
User Comments:
drh added on 2016-01-20 14:07:10:

The following (equivalent) queries return true, when the correct answer is false:

SELECT 'き' LIKE 'ね';
SELECT char(0x304d) LIKE char(0x306d);

The culprit seems to be check-in [0a99a8c4facf] on 2015-12-30 14:06:22. Case comparison is only looking at the lower 8 bytes of unicode values.