You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Igor Sapego (JIRA)" <ji...@apache.org> on 2018/08/21 13:05:00 UTC
[jira] [Created] (IGNITE-9342) The same SQL request with multiple
statements produces different result
Igor Sapego created IGNITE-9342:
-----------------------------------
Summary: The same SQL request with multiple statements produces different result
Key: IGNITE-9342
URL: https://issues.apache.org/jira/browse/IGNITE-9342
Project: Ignite
Issue Type: Bug
Components: jdbc, odbc, sql
Affects Versions: 2.6
Reporter: Igor Sapego
The bug affects ODBC and JDBC. Simply speaking, the following code:
{code:java}
public static void main(String[] args) throws Exception {
IgniteConfiguration cfg = new IgniteConfiguration();
cfg.setLocalHost("127.0.0.1");
try (Ignite ignite = Ignition.start(cfg)) {
try (Connection conn = DriverManager.getConnection("jdbc:ignite:thin://127.0.0.1/")) {
// Populate City table with PreparedStatement.
try (PreparedStatement stmt = conn.prepareStatement("SELECT 1; SELECT 2")) {
System.out.println("First run:");
executeAndFetch(stmt);
System.out.println();
System.out.println("Second run:");
executeAndFetch(stmt);
}
}
}
}
static void executeAndFetch(PreparedStatement stmt) throws SQLException {
ResultSet set = stmt.executeQuery();
System.out.println(">>> First result set:");
while (set.next())
System.out.println(">>> " + set.getInt(1));
System.out.println(">>> Next result set:");
boolean nextRsPresent = stmt.getMoreResults();
if (!nextRsPresent)
System.out.println(">>> Is not present");
else
{
set = stmt.getResultSet();
while (set.next())
System.out.println(">>> " + set.getInt(1));
}
}
{code}
Produces the following output:
{noformat}
First run:
>>> First result set:
>>> 1
>>> Next result set:
>>> 2
Second run:
>>> First result set:
>>> 1
>>> Next result set:
>>> Is not present{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)