selectionArgs no SQLiteQueryBuilder não funciona com valores inteiros em colunas

Estou tentando selecionar alguns dados do banco de dados e tenho duas fatias de código para fazer isso:

cursor = builder.query(db,
                    new String[]{"col1", "col2", "col3"},
                    "id = ?", new String[]{getSID(db)}, null, null, null);

e

cursor = builder.query(db,
                    new String[]{"col1", "col2", "col3"},
                    "id = " + getSID(db), null, null, null, null);

A diferença entre eles é que o primeiro parece estar mais correto de acordo com a documentação, mas também não funciona - o cursor está vazio. Em vez do segundo - estou recebendo todos os dados de que preciso.

Então eu tentei executar consultas SQL diferentes no meu PC com uma cópia do banco de dados e é isso que eu tenho:

SELECT col1, col2, col3 FROM SomeTables WHERE (id = '42')

Este não funciona (e esta consulta obviamente é igual a consulta, gerada pelo primeiro exemplo de código)

SELECT col1, col2, col3 FROM SomeTables WHERE (id = 42)

E este funciona bem (é igual a consulta do segundo exemplo de código).

Como eu sei, o SQLite deve executar o tipo convertido automaticamente, mas algo deu errado e não sei por quê. Você tem alguma idéia sobre como a primeira amostra de código pode ser corrigida? (Ou, talvez, banco de dados?)

Se isso importa, aqui está simplificadoCREATE roteiro da mesa comid campo:

CREATE TABLE SomeTable ( ID PRIMARY KEY, col1, col2, [...] )

UPD: E, a propósito, getSID (db) retorna String Object.

questionAnswers(3)

yourAnswerToTheQuestion