qc_mysqlembedded used Item::next for traversing the fields of WHERE.
That is not correct as next is not intended for that purpose:
/**
Intrusive list pointer for free list. If not null, points to the next
Item on some Query_arena's free list. For instance, stored procedures
have their own Query_arena's.
@see Query_arena::free_list
*/
Item *next;
In pratice this meant that the fields in the SELECT part were reported
twice and that, depending on the query, all fields of WHERE were *not*
reported. For instance, the result for
SELECT a from X WHERE b = 1 and c = 2;
would correctly be "a b c" (in fact, it would be "a b c a"), but
the result for
SELECT a from X WHERE b = 1 and c = 2 and d = 3;
would also be "a b c".