[[!comment format=mdwn
 username="seantparsons"
 avatar="http://cdn.libravatar.org/avatar/616fb81847630239dd1ab099138cb685"
 subject="comment 2"
 date="2018-11-06T22:50:25Z"
 content="""
I've pushed the fix needed to my branch: [[https://github.com/seanparsons/git-annex/tree/remove-esqueleto]]

    This seems certianly wrong; it's lost the NOT.

Well spotted, I even remember double checking the not equal syntax, that should be fixed now.

    Is there any way to verify the same or equivilant SQL gets generated?

I don't believe so, but I'm not an expert in either project I mostly just turned the \"fix compile errors until there are none\" crank.

    Not clear from persistent's documentation if deleteWhere with two Filters combines them with AND or OR?

From the docs relating to the `Filter` type ([[http://hackage.haskell.org/package/persistent-2.9.0/docs/Database-Persist.html#v:-124--124-.]]):

    If you are looking for an (&&.) operator to do (A AND B AND (C OR D)) you can use the (++) operator instead as there is no (&&.).

That seems pretty conclusive multiple entries in a list are combined with `FilterAnd`.

    Do we know that an empty Filter list matches everything as used below instead of nothing? Not clear to me from the documentation.

Yup, the type hint indicates that it relates to the table: https://www.yesodweb.com/book/persistent#persistent_delete

    it would be good to expand the test suite to test the SQL code in isolation

I can probably look at adding some more tests this weekend.
"""]]
