予期せず空のリストを返すクエリをデバッグしているときに、何かばかげたことを書いていることに気付きました。
fetchDim cId = runDb . select . from $ \dim -> do
where_ dim ^. DimensionIsRowKey ==. val True
return dim
...== True
任意のブール値に追加できるためです。それを次のように置き換えると、予想外に問題が解決し、結果は空のリストではなくなりました。
fetchDim cId = runDb . select . from $ \dim -> do
where_ dim ^. DimensionIsRowKey
return dim
2つの実際の違いについて誰でも教えてもらえますか? なぜあるのでしょうか?
編集: データベースのバックエンドは sqlite です。