Hi, On 6/27/07, Mark Waschkowski <[EMAIL PROTECTED]> wrote:
Regarding your last paragraph, 'potentially expensive operation' is the key part I believe. I still, unfortunately, am unsure of some of the details here and how they relate to the spec. First off, let me state that I think a query not seeing nodes that have been added within the current session is counter-intuitive because of how transaction contexts typically work within a database: if you insert a row into a table, but its not committed yet, you can still 'see' the new row from with your transactional context.
I agree that the behaviour seems strange if you come from a database background, where search (the ubiquitous SELECT) is the one and only way to access content. Typically content repository and JCR in particular offer a set of content traversal methods (like Node.getNode), which makes searching a more restricted use case. A typical access pattern would be to search for content to update, not to update content and then search for the changes. Also, as Felix mentioned many content repositories (including Jackrabbit) use full text indexing that makes index updates potentially expensive. So, since there typically isn't a need to search for unsaved changes, JSR 170 considered it better to exclude transient changes from the search index. BR, Jukka Zitting
