Re: [Banshee-List] Some preliminary work in trunk - opinions needed



Some things to think about: what this work does, among other things, is eliminate the need for SQL fragments (like IDatabaseModel.FetchColumns, TrackListDatabaseModel.ConditionFragment, &c.) and instead generate the SQL with an object-oriented system based in Hyena. This is beneficial for three reasons: it reduces the chance of bugs by moving the SQL-generating logic into one place, it allows for people (both Banshee devs and anyone else using Hyena) to easily and quickly build functioning database-bound models, and it is an architecture that will more easily be adapted to LINQ when we make that change.

So I have a problem. The CacheableModelAdapter Reload() method currently still depends on a ReloadFragment. I spent a little while mulling over how that ought to be procedurally generated in the hierarchy and nothing jumped out at me. The ReloadFragment SQL is determined by other things, such as which playlist is active, what column is being used to sort the model, &c. Anyone have ideas? Where is a good place to abstract that kind of thing in the object hierarchy?


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]