[web-devel] [Yesod][Persistent] FooIdEq,FooIdIn
greg at gregweber.info
Sun Mar 13 22:42:00 CET 2011
I don't know if you have seen the previous discussions, but it looks like
you are moving towards creating a SQL relational algebra library. There are
2 such existing libraries. The original is haskellDB , and the new one is
I think this is a very promising direction for Yesod, and I think there is a
lot to be gained by first looking at one of the existing libraries, and
seeing if at least the inner core  can be used with our constructor
interface. I think we should at least justify why we are not re-using them.
Also, I agree that it would be ideal to remove the declaration of which
actions are used. There are some technical reasons for this, but at a
minimum they should be justified/documented in the book.
On Sun, Mar 13, 2011 at 1:48 PM, Aur Saraf <sonoflilit at gmail.com> wrote:
> Hello Michael and everyone,
> I think that it is very repetitive to need to specify what actions can
> or cannot be done on every field.
> I think it would better be made part of the FieldType, at least
> letting you specify defaults that can be edited in the field
> Also, I definitely see a need for FooIdEq as I'm toying with adding
> support for more complicated SQL right now.
> What I have working in a toy hacked environment:
> > showQuery $ do
> > selectAll (undefined :: Pet) -- hopefully I'll make it possible
> to select specific fields
> > where_ PetTypeEq Dog -- eventually I'll probably get
> "PetType .== Dog" to work
> > where_ PetOwner PersonAgeLt 12
> "SELECT * FROM Pet WHERE Pet.type=? AND Person.age<? AND
> Pet.id=Person.id JOIN Person"
> I'm currently modifying the TH to support generating
> > persistFilterToJoins :: Filter val -> [(SomePersistEntity,
> That I need in order to do this in more than a toy environment.
> When there'll be something half worth showing, I'll upload to git and
> invite everyone to help (since this is mostly over-my-head Haskell...
> I've been learning a lot from it).
> On Sat, Mar 12, 2011 at 8:46 PM, Michael Snoyman <michael at snoyman.com>
> > On Sat, Mar 12, 2011 at 3:07 AM, Katsutoshi Itoh <cutsea110 at gmail.com>
> >> Hi
> >> I had often wanted FooIdIn, FooIdEq on Foo Persistent type.
> >> Would you support this by default?
> >> from japan.
> > As Max said, glad to see that you're safe.
> > For FooIdEq: I don't think there is any need, since it can be
> > expressed more succinctly with the "get" function. As for FooIdIn:
> > this *was* a recently requested feature. Maybe we can get it in for
> > the next release. I think it would make sense to add the In attribute
> > to the entity itself, eg:
> > mkPersist [$persist|
> > Person In
> > name String
> > age Int
> > |]
> > Any objections?
> > Michael
> > _______________________________________________
> > web-devel mailing list
> > web-devel at haskell.org
> > http://www.haskell.org/mailman/listinfo/web-devel
> web-devel mailing list
> web-devel at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the web-devel