Commit Graph

836 Commits

Author SHA1 Message Date
Marc Prud'hommeaux 6f0a7f67da Added expression-level support for Map.get in queries
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@433460 13f79535-47bb-0310-9956-ffa450edef68
2006-08-22 01:50:43 +00:00
A. Abram White d5bb522c34 No need for parser to populate separate QueryExpressions.aggregate member now
that we can visit the projection values to see if they're aggregates.



git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@433431 13f79535-47bb-0310-9956-ffa450edef68
2006-08-21 23:53:49 +00:00
A. Abram White 9de5395486 Add some query validations on compilation.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@433399 13f79535-47bb-0310-9956-ffa450edef68
2006-08-21 22:29:47 +00:00
A. Abram White 037a45d7e4 Add visitor pattern to query expression trees, and redo a couple of our existing
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
2006-08-19 01:03:35 +00:00
A. Abram White eb2b5e6551 Method visibility fix.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@432447 13f79535-47bb-0310-9956-ffa450edef68
2006-08-18 00:21:04 +00:00
A. Abram White 69b83ac3ff When a query projects and groups on a relation field, make sure to group on
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
2006-08-18 00:17:30 +00:00
A. Abram White 2ccc242679 When a relation mapping uses the expected class of the related type as part of
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
2006-08-16 23:27:04 +00:00
A. Abram White aba057d644 Allow our JPA ConfigurationProviderImpl to find a default persistence unit in
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
2006-08-11 21:07:58 +00:00
A. Abram White 5bef32e516 Make Localizer.Message a static class. Fix implicit type of query path
traversal terminating in byte[], char[] fields.



git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@430146 13f79535-47bb-0310-9956-ffa450edef68
2006-08-09 20:59:45 +00:00
Patrick Linskey 6234f8d3da Changed logging infrastructure to be aware of localization; changed localization to return log-ready Message instances instead of strings. Changed tons of code to use the new logging and localization calls.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@429535 13f79535-47bb-0310-9956-ffa450edef68
2006-08-08 01:42:34 +00:00
A. Abram White 1e6d57eb55 git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@429477 13f79535-47bb-0310-9956-ffa450edef68 2006-08-07 21:02:31 +00:00
A. Abram White f70f99e638 SQL CAST() for comparisons and math functions fixes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@428885 13f79535-47bb-0310-9956-ffa450edef68
2006-08-04 21:14:29 +00:00
A. Abram White eb333839db More work on type promotion and casting in queries. Also, make sure DFG is
in active fetch groups before testing it for post-load callbacks.



git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@428484 13f79535-47bb-0310-9956-ffa450edef68
2006-08-03 19:16:47 +00:00
A. Abram White a6b57c2e9c Fixes to optimization logic for including joined subclass data in initial
SELECT.



git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@428193 13f79535-47bb-0310-9956-ffa450edef68
2006-08-02 23:37:02 +00:00
A. Abram White b2e1912dc7 Fix StoreFacadeTypeRegistry to work when multiple stores are available. Fix
problems with creating a persistence FetchPlan, and with getting max depth.



git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@428069 13f79535-47bb-0310-9956-ffa450edef68
2006-08-02 17:51:43 +00:00
A. Abram White 20d5990098 Fix logic for when to select fk column values of a to-one relation.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@427815 13f79535-47bb-0310-9956-ffa450edef68
2006-08-02 00:19:41 +00:00
A. Abram White a98213071a Use latest stable releases of commmons dependencies. Add missing localized msg.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@427784 13f79535-47bb-0310-9956-ffa450edef68
2006-08-01 23:09:17 +00:00
Pinaki Poddar 021c4b85d5 Added Serialzable interface
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@427685 13f79535-47bb-0310-9956-ffa450edef68
2006-08-01 19:31:13 +00:00
Marc Prud'hommeaux 803e15990d Null check before we put username/password values in the Properties object, since null values are illegal.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@427389 13f79535-47bb-0310-9956-ffa450edef68
2006-08-01 00:55:41 +00:00
A. Abram White a95e7007cf git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@427284 13f79535-47bb-0310-9956-ffa450edef68 2006-07-31 21:23:16 +00:00
A. Abram White 979d2340e9 Cleanup of fetch group metadata and internal runtime APIs. Now that fetch depth
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
2006-07-28 23:48:13 +00:00
Pinaki Poddar 3b6518f174 FetchState is traversed for eagerToMany load/select
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@426702 13f79535-47bb-0310-9956-ffa450edef68
2006-07-28 23:19:43 +00:00
Patrick Linskey 1236605135 removed unneeded imports
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@426228 13f79535-47bb-0310-9956-ffa450edef68
2006-07-27 20:27:45 +00:00
Patrick Linskey 64db310695 corrected some configuration properties that do not allow alternate values
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@426216 13f79535-47bb-0310-9956-ffa450edef68
2006-07-27 19:57:37 +00:00
Marc Prud'hommeaux f75ef7b7f9 Cast to floats and doubles to ensure that we use the correct constructor (e.g., since there is a new BigDecimal(int) constructor in JDK 1.5 that we don't want to accidentally rely on).
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@425822 13f79535-47bb-0310-9956-ffa450edef68
2006-07-26 19:59:12 +00:00
Marc Prud'hommeaux 3c702ef0d1 Added openjpa-project for assembly descriptiors and docs; upped version to 0.9.0
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@425608 13f79535-47bb-0310-9956-ffa450edef68
2006-07-26 04:24:28 +00:00
Patrick Linskey 5556a4085c updated property namespace
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@425553 13f79535-47bb-0310-9956-ffa450edef68
2006-07-25 23:14:45 +00:00
A. Abram White 3b1cb17cba General cleanup of cruft accumulated during separation from Kodo.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@425473 13f79535-47bb-0310-9956-ffa450edef68
2006-07-25 18:14:45 +00:00
Pinaki Poddar 884ff1b863 FetchPlan with recursive scheme.
- 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
2006-07-25 07:10:26 +00:00
Stephen Kim 42136d9d12 removed kodo plugin
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@425138 13f79535-47bb-0310-9956-ffa450edef68
2006-07-24 18:08:30 +00:00
Patrick Linskey ca8633ab49 removed unneeded code; updated configuration metadata; changed visibility of XML-conversion method; moved import to imports rather than fully-qualified class name
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@424456 13f79535-47bb-0310-9956-ffa450edef68
2006-07-21 20:55:44 +00:00
Patrick Linskey 958386b2b2 remove duplicate code
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@424363 13f79535-47bb-0310-9956-ffa450edef68
2006-07-21 15:54:20 +00:00
Patrick Linskey a1f4fd3eb0 changed some more finally and catch blocks that didn't get properly reformatted with earlier reformattings / sed scripts
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@423693 13f79535-47bb-0310-9956-ffa450edef68
2006-07-20 01:15:04 +00:00
Patrick Linskey b108a39e7e removed executable flag from all files in trunk, as per Craig's email to OpenJPA list
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@423647 13f79535-47bb-0310-9956-ffa450edef68
2006-07-19 22:50:34 +00:00
Patrick Linskey aad47c26bd cleaned up some dead code
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@423627 13f79535-47bb-0310-9956-ffa450edef68
2006-07-19 21:56:52 +00:00
Patrick Linskey 7d1c8fccaf OpenJPA JDBC subsystem; reformatted some core OpenJPA code to move catch and finally blocks around.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@423615 13f79535-47bb-0310-9956-ffa450edef68
2006-07-19 21:34:44 +00:00