X-Received: by 2002:ac8:36d3:: with SMTP id b19mr46503qtc.22.1551371054621; Thu, 28 Feb 2019 08:24:14 -0800 (PST) X-Received: by 2002:a25:d08f:: with SMTP id h137mr146894ybg.469.1551371054407; Thu, 28 Feb 2019 08:24:14 -0800 (PST) Path: csiph.com!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!m21no4799713qta.0!news-out.google.com!o7ni1849qta.1!nntp.google.com!m21no4799710qta.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.java.programmer Date: Thu, 28 Feb 2019 08:24:14 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=84.74.101.34; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r NNTP-Posting-Host: 84.74.101.34 References: <709a1f3b-fc99-4bd0-a8b8-866092bb7ae9@googlegroups.com> <8e1597a2-5c18-4fd1-83a4-7667e4d11e77@googlegroups.com> <23a8128b-5c54-45ba-bfd0-2f7dda078517@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: it's Closeable, but I don't want to close() it yet. From: bursejan@gmail.com Injection-Date: Thu, 28 Feb 2019 16:24:14 +0000 Content-Type: text/plain; charset="UTF-8" Lines: 44 Xref: csiph.com comp.lang.java.programmer:38749 Actually you use try (resource), which does automatically always a close. Its internally implemented with try finally and does exceptiong piggy packing. But JDBC says, if you close a statement, I guess result sets are also closed. And if you close a connection, statements are also closed. So what is this fuzz about? What would be helpful, if the warning from the IDE would be shown as well. Could the OP please give the full test case, including its outcome? On Thursday, February 28, 2019 at 3:52:24 PM UTC+1, Eric Douglas wrote: > On Thursday, February 28, 2019 at 9:19:24 AM UTC-5, Eric Douglas wrote: > > On Thursday, February 28, 2019 at 7:20:35 AM UTC-5, Andreas Leitgeb wrote: > > > The Closeable interface does not provide any concept of opening. > > > Eclipse just sees a local variable of a Closeable type that > > > goes out of scope without .close() being called on it. > > Now, it is possible to confuse Eclipse. I tried this method and got a warning. Is there a better way to do this? > > public void testQuery(final String db_connect_string) { > try (Connection conn = DriverManager.getConnection(db_connect_string)) { > final String queryString = "select * from Log limit 10000 offset ?"; > try (PreparedStatement statement = conn.prepareStatement(queryString, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY)) { > int r = 0; > int r2 = -1; > statement.setInt(1, 0); > ResultSet rs = statement.executeQuery(); > while (r != r2) { > r2 = r; > while (rs.next()) { > r++; > } > rs.close(); > statement.setInt(1, r); > rs = statement.executeQuery(); > } > rs.close(); > } > } catch (SQLException e) { > e.printStackTrace(); > } > }