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.
| Comment | File | Size | Author |
|---|---|---|---|
| #2 | 340568-fix-distinct-field-sqlite.patch | 1.2 KB | damien tournoud |
Comments
Comment #1
damien tournoud commentedYeah, confirmed that this is a SQLite "bug":
Comment #2
damien tournoud commentedHere is a workaround.
Comment #3
john morahan commentedI 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.
Comment #4
webchickExcellent. 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!