Commit Graph

1170 Commits

Author SHA1 Message Date
A. Abram White b7f2721aff When selecting a relation field as a projection, outer join across the relation
even if forceOuter on the original path is false.



git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@449105 13f79535-47bb-0310-9956-ffa450edef68
2006-09-22 22:06:06 +00:00
A. Abram White 7a74bedd70 fix JDBC Abs query function's return type.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@448757 13f79535-47bb-0310-9956-ffa450edef68
2006-09-22 00:52:08 +00:00
A. Abram White d090d717f4 Fix sequence bug I introduced with last sequence synchronization refactoring.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@448708 13f79535-47bb-0310-9956-ffa450edef68
2006-09-21 22:01:57 +00:00
Patrick Linskey d85ea93d3a oops, fixed bum compilation failure.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@448430 13f79535-47bb-0310-9956-ffa450edef68
2006-09-21 02:06:05 +00:00
Patrick Linskey 4efc384cbd added some extension points for sql pluggability
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@448405 13f79535-47bb-0310-9956-ffa450edef68
2006-09-20 23:42:41 +00:00
A. Abram White 480a42df4a Perform JDBC sequence ops outside of synchronization blocks in case of JDBC
hangs.  Also should improve concurrency.



git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@448298 13f79535-47bb-0310-9956-ffa450edef68
2006-09-20 18:40:28 +00:00
A. Abram White cdcfea47d4 Review/cleanup of product derivation work.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@448025 13f79535-47bb-0310-9956-ffa450edef68
2006-09-20 01:29:55 +00:00
Pinaki Poddar 2c31d9c6df 1. Refactoring ConfigurationProvider/ProductDerivation subsystem.
2. Extensibility of OpenJPA via ProductDerivation

Primary modifications are
a) The configuration information resources are located/parsed/loaded via dynamically discovered ProductDerivation services
(instead of ConfigurationProviders). ConfigurationProvider is not enlisted as a service any more.
b) Tools are modified to use ProductDerivations instead of Configurations 
c) ProductDerivation has moved to lib from kernel.
d) ProductDerivation types that are STORE specific are no more defined in lib version.
OpenJPAProductDerivation in kernel package defines them. The type constants have holes. 
e) One test is modified
f) pom.xml is modified as ProductDerivation has moved to lib from kernel 

git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@447664 13f79535-47bb-0310-9956-ffa450edef68
2006-09-19 00:50:57 +00:00
Marc Prud'hommeaux d47e1d1f18 Added "INDEX" to the reserved word set.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@447569 13f79535-47bb-0310-9956-ffa450edef68
2006-09-18 21:25:44 +00:00
Marc Prud'hommeaux b7aa94749e Fixed default type for binaryTypeName, varbinaryTypeName, and longVarbinaryTypeName to be "BLOB" (rather than "VARBINARY", which does not exist as a type for Oracle).
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@447558 13f79535-47bb-0310-9956-ffa450edef68
2006-09-18 21:08:21 +00:00
Marc Prud'hommeaux 944f8ad22c Non-optimistic transactions will no longer perform a version check when committing dirty objects, unless the NonOptimisticVersionCheck compatibility property is set to true. This allows dirty instances enlisted in a non-optimistic transaction to be allowed to overwrite conflicting versions in the database.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@446799 13f79535-47bb-0310-9956-ffa450edef68
2006-09-16 00:44:55 +00:00
Marc Prud'hommeaux 65e0a48a81 Workaround for HSQL bug in treating Long.MAX_VALUE as a double.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@446720 13f79535-47bb-0310-9956-ffa450edef68
2006-09-15 20:35:20 +00:00
A. Abram White 47edcb8edc Don't use a subselect for non-distinct projections of DISTINCT_AUTO queries
with to-many joins in their filter if the projections are all for variable 
paths.  (As opposed to candidate path projections, where the subselect is 
necessary to filter out duplicates caused by relational joins).



git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@443519 13f79535-47bb-0310-9956-ffa450edef68
2006-09-14 23:41:30 +00:00
A. Abram White 7846adbf3f Unused.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@443496 13f79535-47bb-0310-9956-ffa450edef68
2006-09-14 22:10:45 +00:00
A. Abram White a5d552f940 Allow null discriminator values when adding class conditions on outer joins.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@443447 13f79535-47bb-0310-9956-ffa450edef68
2006-09-14 19:36:09 +00:00
A. Abram White 72f7b6b963 Query fixes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@443170 13f79535-47bb-0310-9956-ffa450edef68
2006-09-14 00:05:16 +00:00
Kevin W. Sutter 9650a1a20b Minor updates to comments and doc... While doing the removal of the LockGroup stuff, I came across an entry for
contacting support@solarmetric.com for some customization feature.  While cleaning that up, I also cleaned up any 
other references to @solarmetric.com and @bea.com.

git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@443123 13f79535-47bb-0310-9956-ffa450edef68
2006-09-13 21:05:42 +00:00
Kevin W. Sutter 7bff3b4373 Removed references to LockGroups from the messages, documents, and code since these are not provided as
part of the OpenJPA code drop.

git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@443113 13f79535-47bb-0310-9956-ffa450edef68
2006-09-13 20:35:08 +00:00
A. Abram White a9eaf4683b Formatting.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@443073 13f79535-47bb-0310-9956-ffa450edef68
2006-09-13 18:57:13 +00:00
Kevin W. Sutter 912c1262d6 Removed unused message concerning the number of pooled connections allowed.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@443019 13f79535-47bb-0310-9956-ffa450edef68
2006-09-13 16:39:45 +00:00
A. Abram White 6ac482c68f Fix erroneous change I made yesterday.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@442691 13f79535-47bb-0310-9956-ffa450edef68
2006-09-12 20:06:29 +00:00
A. Abram White d1e7a817d2 Fix failure to close some empty result sets.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@442643 13f79535-47bb-0310-9956-ffa450edef68
2006-09-12 16:41:09 +00:00
A. Abram White 1e95734015 OPENJPA-39 test case. Also query fixes and fix to possible data corruption
issue (yikes!).



git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@442388 13f79535-47bb-0310-9956-ffa450edef68
2006-09-11 23:54:01 +00:00
Marc Prud'hommeaux f56a7555a7 Don't bother using a subselect in bulk UPDATE or DELETE clauses if there is no where condition, since it does the exact same think as an unqulaified bulk operation.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@442385 13f79535-47bb-0310-9956-ffa450edef68
2006-09-11 23:17:27 +00:00
Stephen Kim 1defd23037 Supports for interface query alias metadata
as well as refactoring persistence-aware metadata into non-persistent metadata
to support non-managed interfaces


git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@442363 13f79535-47bb-0310-9956-ffa450edef68
2006-09-11 21:56:55 +00:00
A. Abram White 37aa91d2af Simplify determination of identity type in metadata, also correcting problems
with determining the identity type of hierarchies involving @MappedSuperclasses.



git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@441679 13f79535-47bb-0310-9956-ffa450edef68
2006-09-08 22:45:39 +00:00
A. Abram White 1e5d09ce2f Forgot to add new classes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@441242 13f79535-47bb-0310-9956-ffa450edef68
2006-09-07 21:45:54 +00:00
A. Abram White 7e30623c7b Refactor JDBC query expression tree to allow greater concurrency and to handle
parameters in result clauses of projections.



git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@441158 13f79535-47bb-0310-9956-ffa450edef68
2006-09-07 17:51:05 +00:00
Patrick Linskey 01735b1234 changed @since tags to disambiguate the Kodo information with future releases of OpenJPA by adding a 0. to the beginning of each.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@438566 13f79535-47bb-0310-9956-ffa450edef68
2006-08-30 17:53:55 +00:00
A. Abram White 163cc2a22c Framework for allowing ranges in query strings to be specified as parameters
(not needed for JPQL, but for others).  Also consolidated some internal query
framework APIs.



git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@438338 13f79535-47bb-0310-9956-ffa450edef68
2006-08-30 03:43:16 +00:00
Marc Prud'hommeaux de9352568f Expanded default doubleTypeName to be NUMERIC so it can properly fit a double.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@437982 13f79535-47bb-0310-9956-ffa450edef68
2006-08-29 06:23:13 +00:00
Marc Prud'hommeaux 5ff49b37b9 Removed check for Long.MIN_VALUE, since recent version of HSQL do not have the storage limitation.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@437981 13f79535-47bb-0310-9956-ffa450edef68
2006-08-29 06:14:59 +00:00
A. Abram White 746ebdfdc9 Slightly cleaner and in some cases more efficient exclusion of
persistence-aware types from mapping tool actions.



git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@434473 13f79535-47bb-0310-9956-ffa450edef68
2006-08-24 19:05:51 +00:00
Pinaki Poddar d0f15b881a Modified to ignore p-aware classes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@434303 13f79535-47bb-0310-9956-ffa450edef68
2006-08-24 05:13:20 +00:00
Pinaki Poddar 6e262960ae MappingTool modified to ignore persistence-aware classes
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@434251 13f79535-47bb-0310-9956-ffa450edef68
2006-08-23 23:45:42 +00:00
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
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