Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #37313

Re: Testing the functionality of sub classes

From Cecil Westerhof <Cecil@decebal.nl>
Newsgroups comp.lang.java.programmer
Subject Re: Testing the functionality of sub classes
Date 2017-08-20 14:49 +0200
Organization Decebal Computing
Message-ID <87ziaue74o.fsf@munus.decebal.nl> (permalink)
References (1 earlier) <subclasses-20170819193036@ram.dialup.fu-berlin.de> <87y3qffim5.fsf@munus.decebal.nl> <ona7tq$igi$1@dont-email.me> <87pobrf855.fsf@munus.decebal.nl> <slrnopiu4a.o2q.avl@logic.at>

Show all headers | View raw


Andreas Leitgeb <avl@logic.at> writes:

> Cecil Westerhof <Cecil@decebal.nl> wrote:
>> For example: when creating a new ResultSet through a Statement the
>> previous generated should be closed. With the JDBC driver I use for
>> SQLite3 the old ResultSet is not closed, but becomes a copy from the
>> last generated.
>
> Are you sure about the "copy"? I'd rather expect(*) that the driver 
> re-uses the particular ResultSet instance and returns the same ref
> again.  (*: that is: based on your posted observations. Usually, 
> instance re-use is frowned upon, like premature optimisation, but then
> again, DB driver vendors might have optimised it "well-maturely".)

I am not sure: that is also possible. But what is important is that
the old ResultSet did not get closed. So if I run the test for the
super class with for example MySSQL and this closes the ResultSet (I
do not know, but lets pretend) and I do not also test with SQLite3 I
will not find this bug.


> To verify (or disprove) it, you could run it in e.g. eclipse, and see
> if the same (or a new) "id" appears when you execute another query on
> the same Statement.
>
> Even without a debugger, you could print out the System.identityHashCode 
> for the "two" returned ResultSet references.

Just to satisfy my curiosity I executed (I do not like the formatting,
but that is what Eclipse does):
    try (
            Statement stmt = conn.createStatement();
            ResultSet rsOne = stmt.executeQuery("SELECT 12 AS twelve");
            ResultSet rsTwo = stmt.executeQuery("SELECT 'Hello World!' AS message")
            ) {
        System.out.println(stmt);
        System.out.println(rsOne);
        System.out.println(rsTwo);
    }

And this gives:
    org.sqlite.jdbc4.JDBC4Statement@685f4c2e
    org.sqlite.jdbc4.JDBC4ResultSet@7daf6ecc
    org.sqlite.jdbc4.JDBC4ResultSet@7daf6ecc

So yes, it is like you said: the ResultSet is reused. Is also more
logical. I jumped to a conclusion.

-- 
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Testing the functionality of sub classes Cecil Westerhof <Cecil@decebal.nl> - 2017-08-19 19:40 +0200
  Re: Testing the functionality of sub classes Cecil Westerhof <Cecil@decebal.nl> - 2017-08-19 21:44 +0200
    Re: Testing the functionality of sub classes Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-08-19 16:47 -0400
      Re: Testing the functionality of sub classes Cecil Westerhof <Cecil@decebal.nl> - 2017-08-20 01:30 +0200
        Re: Testing the functionality of sub classes Andreas Leitgeb <avl@logic.at> - 2017-08-20 11:50 +0000
          Re: Testing the functionality of sub classes Cecil Westerhof <Cecil@decebal.nl> - 2017-08-20 14:49 +0200
            Re: Testing the functionality of sub classes Cecil Westerhof <Cecil@decebal.nl> - 2017-08-20 15:36 +0200
              Re: Testing the functionality of sub classes Arne Vajhøj <arne@vajhoej.dk> - 2017-08-20 09:46 -0400
                Re: Testing the functionality of sub classes Andreas Leitgeb <avl@logic.at> - 2017-08-20 14:33 +0000
                Re: Testing the functionality of sub classes Arne Vajhøj <arne@vajhoej.dk> - 2017-08-20 11:14 -0400
                Re: Testing the functionality of sub classes Cecil Westerhof <Cecil@decebal.nl> - 2017-08-20 16:35 +0200
                Re: Testing the functionality of sub classes Arne Vajhøj <arne@vajhoej.dk> - 2017-08-20 11:17 -0400
                Re: Testing the functionality of sub classes Cecil Westerhof <Cecil@decebal.nl> - 2017-08-20 18:13 +0200
                Re: Testing the functionality of sub classes Arne Vajhøj <arne@vajhoej.dk> - 2017-08-20 12:28 -0400
                Re: Testing the functionality of sub classes Arne Vajhøj <arne@vajhoej.dk> - 2017-08-20 13:06 -0400
                Re: Testing the functionality of sub classes Cecil Westerhof <Cecil@decebal.nl> - 2017-08-20 19:07 +0200
            Re: Testing the functionality of sub classes Arne Vajhøj <arne@vajhoej.dk> - 2017-08-20 11:21 -0400
              Re: Testing the functionality of sub classes Cecil Westerhof <Cecil@decebal.nl> - 2017-08-20 18:17 +0200
          Re: Testing the functionality of sub classes v_borchert@despammed.com (Volker Borchert) - 2017-08-21 19:53 +0000
    Re: Testing the functionality of sub classes v_borchert@despammed.com (Volker Borchert) - 2017-08-19 21:15 +0000
      Re: Testing the functionality of sub classes Cecil Westerhof <Cecil@decebal.nl> - 2017-08-20 01:36 +0200
    Re: Testing the functionality of sub classes Cecil Westerhof <Cecil@decebal.nl> - 2017-08-20 01:22 +0200

csiph-web