I ran the simpletests on Intrepid and got three kinds of failures. One was due to #338184: Don't avoid serialize() in the registry. One was in search and I traced it back to this Debian bug which is in Intrepid too. The others were in dblog, profile, and tracker, and they were due to queries that do SELECT DISTINCT(field) FROM {table} ... - db_fetch_object is using "(field)" instead of "field" as the key.

Comments

damien tournoud’s picture

Yeah, confirmed that this is a SQLite "bug":

SQLite version 3.5.9
Enter ".help" for instructions
sqlite> .headers on
sqlite> SELECT DISTINCT(uid) FROM users;
(uid)
0
1
sqlite> SELECT DISTINCT uid FROM users;
uid
0
1
damien tournoud’s picture

StatusFileSize
new1.2 KB

Here is a workaround.

john morahan’s picture

Status: Active » Reviewed & tested by the community

I installed the 3.5.9-6 package from jaunty and that fixed the search bug, but the others remained. I then applied this patch and #338184: Don't avoid serialize() in the registry and ran the full test suite on SQLite. Restult: 7423 passes, 0 fails, and 0 exceptions.

webchick’s picture

Status: Reviewed & tested by the community » Fixed

Excellent. Thanks for testing, John Morahan! Always lovely when people stick around to test patches for bugs they report. :D

I had two questions when reviewing this patch:

1. Does "SELECT DISTINCT (uid) ..." return " (uid)" which we'd need to also check for? Answer: no, it only returns "(uid)"
2. Won't $this->columnNames[$k] = $matches[1]; cause this to re-iterate through a column that it has already checked? Answer: No, although we should add checking later to make sure that the two rewrites are compatible.

Committed to HEAD. Thanks!

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.