public void performAction(Connection connection, OperationObserver observer)
throws SQLException, Exception {
processedResultSets = 0;
ProcedureTranslator transl = createTranslator(connection);
CallableStatement statement = (CallableStatement) transl.createStatement();
try {
// stored procedure may contain a mixture of update counts and result sets,
// and out parameters. Read out parameters first, then
// iterate until we exhaust all results