JDBC error: Sparse chunks not yet supported


#1

Hi, I’ve been testing out some JDBC code to access some arrays and some of my calls work, but others don’t, and I can’t figure out what the difference is, or how to get things to work properly.

I’ve created a couple of test arrays in my local instance:

I’ve populated them with data and doing a “(select * from loanIds)” and “(select * from loans)” works perfectly fine from the interactive query through the web interface. I’ve then gone and created a simple java test case to do the same select statements and it works for the ‘loans’ array, but fails on the ‘loanIds’ array. I’m getting the error: “Sparse chunks not yet supported”. I’ve added my test code below that tries to make a simple connection and print out a field in each record.

    @Test
    public void TestSciDB() throws Exception {
        Class.forName("org.scidb.jdbc.Driver");
        Connection connection = DriverManager.getConnection("jdbc:scidb://192.168.20.150/", "scidb", "paradigm4");
        Statement stmt = connection.createStatement();

        String sqlStr = "select * from loanIds";    //doesn't work
//        String sqlStr = "select * from loans";        //does work

        ResultSet rs = stmt.executeQuery(sqlStr);
        while (!rs.isAfterLast()) {
            Long val = rs.getLong("loanId");
            if (val != null)
                System.out.println("val: " + val);
            rs.next();
        }
        rs.close();
        stmt.close();
        connection.close();
    } 

Is there a specific form required for arrays when doing selects from jdbc? Or a way to coerce things to work (like getting rid of nulls)?

Any help would be appreciated, thanks.


#2

For the sparse chunk issue … there’s a bug.

I’m writing up a ticket now.


#3

Thanks cregnier for helping finding the bug.
The problem is solved now. Please get the latest SciDB-JDBC file from downloads.paradigm4.com/client/1 … cidb4j.jar and try again.


#4

Fantastic! Thanks.