Java program to reproduce this:

Connection con = getConnection();
System.out.println("Wrong result:");
PreparedStatement stmt = con.prepareStatement(
    "WITH recursive t(f) AS ( "+
    "    SELECT 1             "+
    "    UNION ALL            "+
    "    SELECT t.f + 1       "+
    "    FROM t               "+
    "    WHERE t.f < ?        "+
    ")                        "+
    "SELECT t.f               "+
    "FROM t                   "
);
stmt.setInt(1, 10);
ResultSet rs = stmt.executeQuery();

while (rs.next())
    System.out.println(rs.getInt(1));

System.out.println("Correct result:");
rs = con.createStatement().executeQuery(
    "WITH recursive t(f) AS ( "+
    "    SELECT 1             "+
    "    UNION ALL            "+
    "    SELECT t.f + 1       "+
    "    FROM t               "+
    "    WHERE t.f < 10       "+
    ")                        "+
    "SELECT t.f               "+
    "FROM t                   "
);

while (rs.next())
    System.out.println(rs.getInt(1));

The produced output is:


Wrong result:
1
Correct result:
1
2
3
4
5
6
7
8
9
10

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

Reply via email to