Changes between Initial Version and Version 1 of Ticket #16599, comment 11


Ignore:
Timestamp:
Jan 24, 2013, 10:04:56 AM (9 years ago)
Author:
cjolif
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #16599, comment 11

    initial v1  
    1 I really don't understand why you consider this an invalid request. We can discuss it and maybe discard it in the end but just deciding so quickly this is not valid seems a bit arbitrary to me. If I'm not mistaken what you have proven with your example is that if you flatten the data the query engine works on it, which we knew. The idea is that _because_ store API provides hierarchical API (getChildren) the query engine that we provide should be on par and provide hierarchical API (deep: true). Otherwise their is an obvious inconsistency between the two. In other words either we should force stores to be flat or  we should allow hierarchical treatment both at store and query level.
     1I really don't understand why you consider this an invalid request. We can discuss it and maybe discard it in the end but just deciding so quickly this is not valid seems a bit arbitrary to me. If I'm not mistaken what you have proven with your example is that if you flatten the data the query engine works on it, which we knew. The idea is that _because_ store API provides hierarchical API (getChildren) the query engine that we provide should be on par and provide hierarchical API (deep: true). Otherwise there is an obvious inconsistency between the two. In other words either we should force stores to be flat or  we should allow hierarchical treatment both at store and query level.
    22
    33Obviously there are solutions from the outside as you shown, but they are not as simple as if the two were consistent. I totally agree users should write their own stores for performance and specific data access (even though I  think it would be good to provide a default memory implementation that covers the hierarchical case) but this does not remove the fact that as we provide them with a hierarchical API on store we should guide them at query level as well by defining a recursive option and implementing it in our query implementation.