SQLで次のようなクエリを作成しようとしています:
select * from WorkOrder wo
where wo.userId = 1
and wo.isSynced = 0
and wo.status in ('COMPLETE', 'REJECTED', 'SUSPENDED_NO_ACCESS', 'SUSPENDED_OTHER');
userId、isSynced、およびステータスにインデックスを追加しました。
次のようなクエリを作成すると、2 つの異なるステータス値のみをフィルタリングする限り機能します。3つ以上追加するとすぐに結果が返されません。私は何か間違ったことをしていますか、それともまったく別の方法でこれに取り組む必要がありますか?
//this works
var keyRange = ydn.db.KeyRange.bound([userId, 0, Status.Complete],
[userId, 0, Status.REJECTED]);
//this doesn't work
var keyRange = ydn.db.KeyRange.bound([userId, 0, Status.Complete],
[userId, 0, Status.Suspended_AccessUnavailable],
[userId, 0, Status.REJECTED]);
var iterator = new ydn.db.IndexValueIterator(Store.WorkOrder, 'userId, isSynced, status', keyRange);
return db.values(iterator)