[ 
https://issues.apache.org/jira/browse/CAY-2955?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrus Adamchik updated CAY-2955:
---------------------------------
    Description: 
QueryEngine interface is not that useful. Cayenne is all about relational 
databases, and the original abstraction allowed to replace DataNode with a 
non-JDBC backend (like LDAP or NoSQL). We really don't care about this anymore 
(and I am not aware of anyone actually doing it). 

So let's unwind it:

 
* DataDomain wasn't a true QueryEngine, so drop its implementation and 
deprecate "performQueries()"
* Replace uses of QueryEngine with DataNode. 
* remove QueryEngine

Upgrade notes: If somebody really implemented a custom QueryEngine, they can 
try subclassing DataNode and overriding "performQueries()". It won't be as 
pretty, but such an extension is still possible.

 

 

  was:QueryEngine interface has outlived its usefulness. It was an early 
Cayenne abstraction when the stack structure was still evolving. Now  only 
DataNode is a true "QueryEngine". DataDomain is not, though it still clings to 
the implementation. So let's get rid of this interface and use DataNode 
explicitly instead of it.


> Get rid of QueryEngine
> ----------------------
>
>                 Key: CAY-2955
>                 URL: https://issues.apache.org/jira/browse/CAY-2955
>             Project: Cayenne
>          Issue Type: Task
>            Reporter: Andrus Adamchik
>            Assignee: Andrus Adamchik
>            Priority: Minor
>             Fix For: 5.0-M2
>
>
> QueryEngine interface is not that useful. Cayenne is all about relational 
> databases, and the original abstraction allowed to replace DataNode with a 
> non-JDBC backend (like LDAP or NoSQL). We really don't care about this 
> anymore (and I am not aware of anyone actually doing it). 
> So let's unwind it:
>  
> * DataDomain wasn't a true QueryEngine, so drop its implementation and 
> deprecate "performQueries()"
> * Replace uses of QueryEngine with DataNode. 
> * remove QueryEngine
> Upgrade notes: If somebody really implemented a custom QueryEngine, they can 
> try subclassing DataNode and overriding "performQueries()". It won't be as 
> pretty, but such an extension is still possible.
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to