cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: SQLExec query
Date Tue, 27 Jan 2015 11:45:52 GMT
List<Object> is a confusing data structure. When iterating through it you will need to
do instanceof/cast on every entry, and more importantly, you will need to know upfront what
are the valid entries in there. 

With List<QueryResult> you don't do instanceof/cast, and also if say tomorrow we add/change
something in the entry format/type, we simply alter QueryResult API, making the change visible
to the user. 

Andrus


> On Jan 26, 2015, at 6:43 PM, Aristedes Maniatis <ari@maniatis.org> wrote:
> 
> On 26/01/2015 10:26pm, Andrus Adamchik wrote:
>> This form is most generic - it can be a mix of multiple update counts and result
lists. Mostly happens with stored procedures, but in theory can happen with some multi-statement
arbitrary raw SQL:
>> 
>> https://github.com/andrus/cayenne/blob/sqlexec/cayenne-server/src/main/java/org/apache/cayenne/QueryResult.java
> 
> I find this interface very curious. I don't understand what benefit it has over just
returning the list of result objects (be they Cayenne entities or a count of results) directly.
Can you demonstrate how this interface results in cleaner code for the user?
> 
> Ari
> 
> 
> -- 
> -------------------------->
> Aristedes Maniatis
> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
> 


Mime
View raw message