>> 1) When fetching data rows, can I limit the set of fields fetched, i.e. is >> there an equivalent to EOF’s EOFetchSpecification.setRawRowKeyPaths( NSArray >> )? > > Not right now. This is doable with EJBQLQuery (it allows to specify > individual columns, aggregate functions, etc). This functionality is coming > soon to SelectQuery/ObjectSelect (probably in M3).
Great! We use EOF a lot for reporting so this will be really helpful performance/memory wise. > >> 2) When specifying the prefetch, why do I have to addPrefetch( >> A.SOME_REL.joint() ) instead of just doing addPrefetch( “someRel” )? > > You can still use the String. A.SOME_REL form is an alternative that gives > you a compile-time guarantee that your property name is valid . Hmm, doesn’t seem to work. This code performs the expected prefetch: SelectQuery<DataRow> q = SelectQuery.dataRowQuery( SMReceipt.class ); q.addPrefetch( SMReceipt.SHOP.joint() ); List<DataRow> list = objectContext.select( q ); While this doesn’t: SelectQuery<DataRow> q = SelectQuery.dataRowQuery( SMReceipt.class ); q.addPrefetch( SMReceipt.SHOP.getName() ); List<DataRow> list = objectContext.select( q ); Should I file a bug report? >> When traversing further relationships, is this the correct way? : >> >> q.addPrefetch( PrefetchTreeNode.withPath( "shop.chain", 1 ) ); > > q.addPrefetch( A.SHOP.dot(Shop.CHAIN).disjoint()) is probably a cleaner way. Thanks, - hugi