You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by Kevin Menard <km...@servprise.com> on 2007/10/15 10:04:29 UTC

Re: svn commit: r584611 - in /cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/ apache/cayenne: ObjectId.java access/jdbc/SQLTemplateAction.java util/IndexPropertyList.java

Then I'd probably say that needs to be cleaned up.  I was alerted to the
potential issue from IntelliJ's code inspector.  Then looking at the code,
it was structured a bit oddly.

I could understand breaking on an exception, but from a cleanup block that
runs at a non-deterministic time, it seems very suspect to me.  We can
revert the commit, but it still looks like a place that deserves some amount
of attention.

-- 
Kevin


On 10/15/07 3:23 AM, "Andrus Adamchik" <an...@objectstyle.org> wrote:

> "break" is not really a noop, as we are dealing with "while(true)"
> loop. This may not be coded well, but if I remember correctly the
> intent was to get out of the loop for iterated results, without
> checking for possible update counts. Sure we should not probably put
> it in "finally".
> 
> Andrus
> 
> 
> On Oct 15, 2007, at 1:27 AM, Kevin Menard wrote:
> 
>> Because it was in a finally block.  It appeared as though the break
>> was
>> added because returning from a finally is a big no-no.  But, the
>> break was
>> essentially a noop for that one case.  By inverting the logic and
>> dealing
>> with only the condition you care about, the other is a de facto noop.
>> 
>> Hopefully I explained that well enough.  It's late for me, too.
>> I'm in my
>> German hotel room whittling away time.
>> 
>> -- 
>> Kevin
>> 
>> 
>> On 10/14/07 6:14 PM, "Andrus Adamchik" <an...@objectstyle.org> wrote:
>> 
>>> Hi Kevin,
>>> 
>>> Nice work cleaning up the code tonight!
>>> 
>>> One question - why do you think the break statement below is not
>>> needed? (Keep in mind that it is past 1am in my TZ right now, so I
>>> may be asking stupid/obvious stuff :-))
>>> 
>>> Andrus
>>> 
>>> 
>>> On Oct 15, 2007, at 12:30 AM, kmenard@apache.org wrote:
>>> 
>>>> Modified: cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/
>>>> src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
>>>> URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/
>>>> cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/access/
>>>> jdbc/SQLTemplateAction.java?rev=584611&r1=584610&r2=584611&view=diff
>>>> ====================================================================
>>>> ==
>>>> ========
>>>> --- cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/
>>>> main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
>>>> (original)
>>>> +++ cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/
>>>> main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java Sun
>>>> Oct 14 14:30:39 2007
>>>> @@ -159,10 +157,7 @@
>>>>                                      t1);
>>>>                          }
>>>>                          finally {
>>>> -                            if (iteratedResult) {
>>>> -                                break;
>>>> -                            }
>>>> -                            else {
>>>> +                            if (!iteratedResult) {
>>>>                                  resultSet.close();
>>>>                              }
>>>>                          }
>>> 
>> 
>> -- 
>> 
>> 
>> 
> 

--