Public bug reported:

COLLATE NOCASE seems to be ignored when using the following constructs
in a WHERE clause:

Col=value1 COLLATE NOCASE OR Col=value2
Col IN(value COLLATE NOCASE) 
Col IN(value) COLLATE NOCASE   [both are accepted, not sure which is valid 
syntax]

It works in the simple case Col=value1 COLLATE NOCASE

I have written a simple test script which demonstrates working queries
and failing queries, which is attached, and reproduced here:

# demo of sqlite bug with collate nocase
# usage: sqlite3 :memory:
# > .read sqlite_nocase_bug.sql
#
create temp table test (col text unique);
insert into test (col) values('Test');

select '1:', * from test where col='Test';  -- works
select '2:', * from test where col='test' collate nocase; -- works
select '3:', * from test where col='test' collate nocase or col='other' collate 
nocase;  -- returns no rows
select '4:', * from test where col in ('test') collate nocase; -- returns no 
rows
select '5:', * from test where col in ('test' collate nocase); -- returns no 
rows

ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: sqlite3 3.29.0-2ubuntu0.1
ProcVersionSignature: Ubuntu 5.3.0-40.32-generic 5.3.18
Uname: Linux 5.3.0-40-generic x86_64
ApportVersion: 2.20.11-0ubuntu8.4
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Sun Mar  1 18:17:53 2020
SourcePackage: sqlite3
UpgradeStatus: Upgraded to eoan on 2019-10-23 (129 days ago)

** Affects: sqlite3 (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug eoan

** Attachment added: "Script with sql statements to demonstrate bug"
   
https://bugs.launchpad.net/bugs/1865364/+attachment/5332361/+files/sqlite_nocase_bug.sql

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to sqlite3 in Ubuntu.
https://bugs.launchpad.net/bugs/1865364

Title:
  SELECT WHERE using COLLATE NOCASE fails using multiple tests and using
  IN(...)

Status in sqlite3 package in Ubuntu:
  New

Bug description:
  COLLATE NOCASE seems to be ignored when using the following constructs
  in a WHERE clause:

  Col=value1 COLLATE NOCASE OR Col=value2
  Col IN(value COLLATE NOCASE) 
  Col IN(value) COLLATE NOCASE   [both are accepted, not sure which is valid 
syntax]

  It works in the simple case Col=value1 COLLATE NOCASE

  I have written a simple test script which demonstrates working queries
  and failing queries, which is attached, and reproduced here:

  # demo of sqlite bug with collate nocase
  # usage: sqlite3 :memory:
  # > .read sqlite_nocase_bug.sql
  #
  create temp table test (col text unique);
  insert into test (col) values('Test');

  select '1:', * from test where col='Test';  -- works
  select '2:', * from test where col='test' collate nocase; -- works
  select '3:', * from test where col='test' collate nocase or col='other' 
collate nocase;  -- returns no rows
  select '4:', * from test where col in ('test') collate nocase; -- returns no 
rows
  select '5:', * from test where col in ('test' collate nocase); -- returns no 
rows

  ProblemType: Bug
  DistroRelease: Ubuntu 19.10
  Package: sqlite3 3.29.0-2ubuntu0.1
  ProcVersionSignature: Ubuntu 5.3.0-40.32-generic 5.3.18
  Uname: Linux 5.3.0-40-generic x86_64
  ApportVersion: 2.20.11-0ubuntu8.4
  Architecture: amd64
  CurrentDesktop: ubuntu:GNOME
  Date: Sun Mar  1 18:17:53 2020
  SourcePackage: sqlite3
  UpgradeStatus: Upgraded to eoan on 2019-10-23 (129 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/sqlite3/+bug/1865364/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to