From my experience I am also leaning towards append-only API. I think it is 
worth changing the API with some deprecation to eliminate "override". I guess 
the only case where I am 50/50 on keeping override is "where".

> On Apr 15, 2015, at 11:48 AM, Aristedes Maniatis <a...@maniatis.org> wrote:
> 
> On 15/04/2015 6:35pm, Andrus Adamchik wrote:
>> 
>>> On Apr 15, 2015, at 11:06 AM, Aristedes Maniatis <a...@maniatis.org> wrote:
>>> 
>>> This can be useful when you pass queries around between functions or inside 
>>> conditions and loops. In my opinion, "where" should be an alias of "and".
>> 
>> So right now it is the opposite - "and" and "or" are both aliases to "where" 
>> when there's no qualifier. 
> 
> Yes. Most operations replace the existing query properties (where, orderBy, 
> prefetch, cacheGroups, etc) where others append to them (and, or).
> 
> Personally, from my limited use of them in a real application, the appending 
> mode seems far more useful. I can't think of an occasion I'd ever want the 
> replace option. It makes some code harder to write since you need to know 
> whether you already have a where, ordering or prefetch already added.
> 
> Another approach might be to have the ability to clear existing properties, 
> with one of these syntaxes:
> 
> query.prefetchClear()
> query.prefetch()
> 
> I still can't think of the sort of application that would require this.
> 
> 
> I probably should have raised these use-cases before our last milestone but 
> it really was putting it into a live application that made me think about 
> this more in this way.
> 
> Ari
> 
> 
> 
> -- 
> -------------------------->
> Aristedes Maniatis
> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
> 

Reply via email to