postgresql с jdbc и хранимыми процедурами (функциями): ResultSet

Я просто попытался вызвать хранимую функцию с сервера (getStat), которая выглядит следующим образом:

create type stat as (type text, location text, number int);
create function getStat() returns setof stat as 'select distinct table1.type, table1.location, table1.number from table1, table2 where table2.finding=10 order by number desc;' language 'sql';

Теперь вот код JDBC:

CallableStatement callable = null;

    String storedProc = "{call getStat(?, ?, ?)}";

    try {
        callable = connection.prepareCall(storedProc);

        callable.registerOutParameter(1, java.sql.Types.VARCHAR);
        callable.registerOutParameter(2, java.sql.Types.VARCHAR);
        callable.registerOutParameter(3, java.sql.Types.INTEGER);

        boolean results = callable.execute();

        System.out.println(callable.getString(1));
        System.out.println(callable.getString(2));
        System.out.println(callable.getInt(3));

        while(results){
            ResultSet rs = callable.getResultSet();
            while(rs.next()){
                System.out.println(rs.getString(1));
                System.out.println(rs.getString(2));
                System.out.println(rs.getInt(3));
            }
            //rs.close();

            results = callable.getMoreResults();
        }

Хорошо, а теперь проблема: когда я звоню, он просто печатает первую строку всей массы, которая должна быть распечатана. Да, это понятно, потому что я выполняю следующий код:

            System.out.println(callable.getString(1));
            System.out.println(callable.getString(2));
            System.out.println(callable.getInt(3));

Но я делаю то же самое в цикле while ... и больше ничего не отображается.

Может быть проблема в чем-то очевидном, но мне этого не хватает :(

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос