tree interrogation methods to use it. This will allow us to add more
validations at query compilation time (we're missing some that are required for
JDO 2, for example) without having to expand the API of every query
expression/value implementation, in addition to just being more flexible
overall.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@432778 13f79535-47bb-0310-9956-ffa450edef68
the same columns we select. Added Select.groupBy(ClassMapping, ...) API.
Implemented by temporarily putting target Select into "group mode" -- in which
all select() calls are instead routed to groupBy() calls -- and invoking the
same JDBCStoreManager.select() logic we use for the
Select.select(ClassMapping...) call. Having the Select "fake out" its callers
by translating select() calls into groupBy() calls isn't necessarily pretty,
but it allows us to re-use all our existing select logic (not just in
JDBCStoreManager, but in all the class, field, discriminator, version, etc
mapping strategies) rather than creating duplicate logic in parallel groupBy()
methods in all these components.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@432444 13f79535-47bb-0310-9956-ffa450edef68
its join criteria (in addition to the standard foreign key join), make sure
discriminator conditions are appended to the WHERE SQL not only when loading
the relation, but also when traversing it in queries.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@432067 13f79535-47bb-0310-9956-ffa450edef68
persistence.xml when no explicit configuration is given to dev tools. Do this
in a backwards-compatible way that won't break previous behavior or other facade
behavior (JDO). This means you should no longer have to pass
"-p persistence.xml" to tools like the enhancer, nor should you have to specify
a properties argument to the PCEnhancerAgent in the premain for runtime
enhancement.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@430897 13f79535-47bb-0310-9956-ffa450edef68
information is immutable within a fetch instance and cloned on relation
traversal, it was safe to combine fetch state back into the fetch configuration
class and remove the fetch state class for cleaner APIs (no more having some
components use fetch state and others fetch configuration). Also changed
recursion depth logic to more accurately mirror intent (per JDO spec), though
testing is needed.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@426710 13f79535-47bb-0310-9956-ffa450edef68
- modified select building and load cycles in JDBCStoreManager with FetchState traversal
- loadAll(), findAll() methods reverted to their method signature with FetchConfiguration instead of FetchState
- StateManager.postLoad checks for fetch group with postload set to true
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@425312 13f79535-47bb-0310-9956-ffa450edef68