SVN trunk pending commit: Bug#259867 - JPQL issues
http://wiki.eclipse.org/EclipseLink/DesignDocs/312146
Fixes several JPQL isssues, as well as adding tests for several JPQL bugs that have not been fixed yet.
Fixes bugs,
- 346729, 331124, 320541, 327848, 328378, 245652, 259867, 243384, 314025
Code review: Chris (pending)
Changes:
- Added _expression_.getFunction/getFunctionWithArguments that take a List, deprecated Vector API.
- Moved getLeafDescriptr/Mapping to _expression_ to avoid duplicated code.
- Added options in platform to require order by in select, and support multiple fields in distinct (Informix requires first, and MySQL supports second).
- Added support to FunctionExpression for normalizing object _expression_ with IN.
- Added support to RelationExpression for normalizing object _expression_ with IN.
- Added support to RelationExpression for normalizing object _expression_ with equals and subselects.
- Fixed count of object expressions to work with complex ids, avoided duplicate codeof prepareObjectAttributeCount.
-
Removed incorrect parameter validation for direct collection in ParameterExpression as does not take into account convertible types.
- Added support for extracting ids from collection parameters in QueryKeyExpression.
- Detected duplicate aggregate fields in order by in SQLSelectStatement.
- Some cleanup of @Overrides and Vector usage in expressions, platform.
- Use correct descriptor clone for aggregate collections in JPQL parsing TypeHelperImpl.
- Fixed writeDeleteFromTargetTableUsingTempTableSql in MySQLPlatform to have correct method signature.
- Set query in QueryException for failed prepares.
- Added tests for known JPQL issues including ones fixed and not fixed (not fixed tests are commented out currently).