Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EclipseLink/DesignDocs/350597"

(New page: <div style="margin:5px;float:right;border:1px solid #000000;padding:5px">__TOC__</div> = Design Specification: <feature-name> = [http://bugs.eclipse.org/350597 ER 350597] == Document His...)
 
Line 1: Line 1:
 
<div style="margin:5px;float:right;border:1px solid #000000;padding:5px">__TOC__</div>
 
<div style="margin:5px;float:right;border:1px solid #000000;padding:5px">__TOC__</div>
= Design Specification: <feature-name> =
+
= Design Specification: JPA 2.1 Arithmetic expressions with Sub-Queries =
  
 
[http://bugs.eclipse.org/350597 ER 350597]
 
[http://bugs.eclipse.org/350597 ER 350597]
Line 11: Line 11:
 
! Version Description & Notes
 
! Version Description & Notes
 
|-  
 
|-  
|  
+
| 04 November 2011
|  
+
| Gordon Yorke
|  
+
| Initial Document Created
 
|}
 
|}
  
 
== Project overview ==
 
== Project overview ==
  
Overview of the project/featureWhy is it desired, what are its goals.
+
The next iteration of the Java Persistence API specification has added requirements for allowing SubQueries within arithmetic expressionsFor example "select e from Employee e where e.salary > (select avg(emp.salary) from Employee emp where emp.managedEmployee is not empty)" .  In the past this was not allowed by the DNF.
  
Goals:
 
* goal 1
 
* goal 2
 
 
== Concepts ==
 
 
Present any concepts relevant to the feature.
 
  
 
== Requirements ==
 
== Requirements ==
 
+
Both the antlr and the java based parsers should be updated to allow and support SubQueries as part of an arithmetic expression.  Support within the internal Expression framework must be verified as well.  Currently the specification only requires this support within the WHERE and HAVING clauses.
The following sections will expand the goals of this project into more concrete requirements.
+
  
 
== Design Constraints ==
 
== Design Constraints ==
Line 37: Line 29:
  
 
== Testing ==
 
== Testing ==
 +
Multiple tests using sub selects within WHERE and Having clauses must be created.  The tests should also mix having the Sub Query on both sides of the arithmetic operator and with numerous operators.
  
 
== API ==
 
== API ==

Revision as of 15:52, 4 November 2011

Design Specification: JPA 2.1 Arithmetic expressions with Sub-Queries

ER 350597

Document History

Date Author Version Description & Notes
04 November 2011 Gordon Yorke Initial Document Created

Project overview

The next iteration of the Java Persistence API specification has added requirements for allowing SubQueries within arithmetic expressions. For example "select e from Employee e where e.salary > (select avg(emp.salary) from Employee emp where emp.managedEmployee is not empty)" . In the past this was not allowed by the DNF.


Requirements

Both the antlr and the java based parsers should be updated to allow and support SubQueries as part of an arithmetic expression. Support within the internal Expression framework must be verified as well. Currently the specification only requires this support within the WHERE and HAVING clauses.

Design Constraints

Design / Functionality

Testing

Multiple tests using sub selects within WHERE and Having clauses must be created. The tests should also mix having the Sub Query on both sides of the arithmetic operator and with numerous operators.

API

GUI

Config files

Documentation

Open Issues

This section lists the open issues that are still pending that must be decided prior to fully implementing this project's requirements.

Issue # Owner Description / Notes

Decisions

This section lists decisions made. These are intended to document the resolution of open issues or constraints added to the project that are important.

Issue # Description / Notes Decision

Future Considerations

During the research for this project the following items were identified as out of scope but are captured here as potential future enhancements. If agreed upon during the review process these should be logged in the bug system.

Back to the top